6.9.2. Homomorphic tag methods

Homomorphic tag mathods 1/1

(from   : 2  reviewed in   : 1 )

Setup

  • \(N = pq\) is the RSA modulus (\(p, q\) are primes)
  • \(g\) is a generator of \(QR_N\) (\(QR_N\) is the set of quadratic residues modulo \(N\))
  • Public key \(pk = (N, g, e)\), secret key \(sk = (d, v, x)\), \(v, x \in_R Z_N\) and \(ed = 1 \mod (p-1)(q-1)\)
  • \(\pi\) is a pseudo-random permutation, \(f_x\) is a pseudo-random function keyed with the secret key \(x\), and \(H\) is a hash function
  • File \(F = {b_1, b_2, \ldots , b_m}\)
  • \(E_K\) is an encryption algorithm under a key \(K\)

Data Owner:

  • Obtains an encrypted file \(\tilde{F}\) by encrypting the original file \(F\) using the encryption key \(K: \tilde{F} = {\tilde{b}_1, \tilde{b}_2, \ldots, \tilde{b}_m}\), where \(\tilde{b}_j = E_K(b_j)\), \(1 \leq j \leq m\).
  • Uses the encrypted file \(\tilde{F}\) to create a set of tags \(\{T_j\}_{1\leq j\leq m}\) for all copies used in the verification process: \(T_j = (H(v||j) \cdot g^{\tilde{b}_j} )^d \mod N\)
  • Generates \(n\) distinct replicas \(\{\hat{F}_i\}_{1\leq i\leq n}\), \(\hat{F}_i = \{\hat{b}_{i,1},\hat{b}_{i,2}, \ldots, \hat{b}_{i,m}\}\), using random masking: \(\{\) \(for (i = 1 \) to \(n)\) do \(\{\) \(for (j = 1\) to \(m)\) do \(\{\)1. Computes a random value \(r_{i,j} = f_x(i||j)\); 2. Computes the replicas block \(\hat{b}_{i,j} =\tilde{b}_j + r_{i,j}\) //(added as large integers in \(Z)\}\}\}.\);
  • Data owner sends the specific replica \(\hat{F}_i\) to a specific server \(S_i, 1 \leq i \leq n\).

Checking possession of replica \(\hat{F}_z= \{\hat{b}_{z,1},\hat{b}_{z,2}, \ldots, \hat{b}_{z,m}\}\)

Owner:

  • Picks a key \(k\) for the \(\pi\) function, \(c\) - number of blocks to be challenged, and \(g_s = g^s \mod N\), \((s \in_R Z_N)\).
  • Sends \(c,k, g_s\) to \(S_z\) to the server \(S_z\).
Server \(S_z\):
  • Computes the challenged block indices: \(j_u = \pi_{k} (u)_{1\leq u\leq c}\).
  • Computes \(T = \prod_{u=1}^{c} T_{j_u} \mod N\).
  • Computes \(\rho = g_s^{\sum^{c}_{u=1} \hat{b}_{z,{j_u}}} \mod N\).
  • Sends \(T, \rho\) to the owner.
Owner:
  • Computes indices of the challenged block: \(j_u = \pi_{k} (u)_{1\leq u\leq c}\).
  • Computes the sum of the random values used to obtain the blocks in the replica \(\hat{F}_z\): \(r_{chal} = \sum_{u=1}^{c} r_{z,{j_u}}\)
  • Accepts if \(((T^e/\prod_{u=1}^{c} H(v||j_u)) \cdot g^{r_{chal}})^{s} == \rho \mod N\).

Bibliography 1/1

1

Barsoum, A.F., Hasan, M.A.: (Provable possession and replication of data over cloud servers)

Barsoum, A.F., Hasan, M.A.

2

Curtmola, R., Khan, O., Burns, R.C., Ateniese, G.: MR-PDP: multiple-replica provable data possession.

In: 28th IEEE International Conference on Distributed Computing Systems (ICDCS 2008), 17-20 June 2008, Beijing, China, IEEE Computer Society (2008) 411{420. http://dx.doi.org/10.1109/ICDCS.2008.68




Projekt Cloud Computing – nowe technologie w ofercie dydaktycznej Politechniki Wrocławskiej (UDA.POKL.04.03.00-00-135/12)jest realizowany w ramach Programu Operacyjnego Kapitał Ludzki, Priorytet IV. Szkolnictwo wyższe i nauka, Działanie 4.3. Wzmocnienie potencjału dydaktycznego uczelni w obszarach kluczowych w kontekście celów Strategii Europa 2020, współfinansowanego ze środków Europejskiego Funduszu Społecznego i budżetu Państwa