EP3375129B1

Method for re-keying an encrypted data file

Abstract

This record has no abstract on file.

EP3375129B1, drawing sheet 1
Sheet 1 of 8

Term

9.2 yearsleft in the term

Expires 8 December 2035.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

5 claims: 4 independent, 1 dependent

  1. 1
    A method for re-keying encrypted and deduplicated data, wherein a data file (f) is stored chunkwise on a cloud storage entity, 'SE', each of the data file chunks being encrypted with a dedicated global private key (k), and each of the data file chunks having a corresponding secret (x i ) stored at a corresponding index in a key table, the key table being stored locally by an assist server, the method comprising a client performing a non-interactive Diffie-Hellman key exchange using a public key y = g x of an assist server, 'AS', and a hash value (h = H(f)) of a data file chunk to be re-keyed, thereby obtaining a chunk index y h ;said client computing a blinded hash value ĥ = h*g 1 r for some random value r, wherein g 1 is a generator of a group of order p;said client sending a re-key request to said AS, comprising said chunk index y h and said blinded hash value ( ĥ );said AS, upon receiving said request, updating said key table at said chunk index with a new generated secret (x i ) and a corresponding new public key y i =g 1 xi ;said AS computing a signature ( ŝ ) as the power of the blinded hash value to the new randomly generated secret (x i );said AS sending said signature ( ŝ ) together with said new public key y i ;said client, upon receiving said signature ( ŝ ) together with said new public key y i , computing an unblinded signature (s) as the product of said received signature and the power of the received new public key to the opposite of the random value r;said client generating said dedicated global private key (k) as the hash of the unblended signature (s);said client re-encrypting said data file chunk based on the dedicated global private key and requesting said AS to store the re-encrypted chunk in said SE.
  2. 3
    A system for re-keying encrypted and deduplicated data, comprising a cloud storage entity, 'SE', for chunkwise storing a data file (f), each of the data file chunks being encrypted with a dedicated global private key (k), and each of the data file chunks having a corresponding secret (x i ) stored at a corresponding index in a key table, a client and an assist server, 'AS', having a public key y=g x and wherein said key table being stored locally by said AS, and wherein said client performing a non-interactive Diffie-Hellman key exchange using said public key y = g x of said 'AS' and a hash value (h = H(f)) of a data file chunk to be re-keyed, thereby obtaining a chunk index y h ;said client computing a blinded hash value ĥ = h*g 1 r for some random value r, wherein g 1 is a generator of a group of order p;said client sending a re-key request to said AS, comprising said chunk index y h and said blinded hash value ( ĥ );said AS, upon receiving said request, updating said key table at said chunk index with a new randomly generated secret (x i ) and a corresponding new public key y i = g 1 xi ;said AS computing a signature ( ŝ ) as the power of the blinded hash value to the new randomly generated secret (x i );said AS sending said signature ( ŝ ) together with said new public key y i ;said client, upon receiving said signature ( ŝ ) together with said new public key y i , computing an unblinded signature (s) as the product of said received signature and the power of the received new public key to the opposite of the random value r;said client generating said dedicated global private key (k) as the hash of the unblended signature (s);said client re-encrypting said data file chunk based on the dedicated global private key and requesting said AS to store the re-encrypted chunk in said SE.
  3. 4
    An assist server, 'AS', for assisting re-keying encrypted and deduplicated of a data file (f) to be stored chunkwise, providing a public key y = g x to a client, storing a key table said key table storing a corresponding secret (x i ) stored at a corresponding index for each of the data file chunks being encrypted with a dedicated global private key (k), said AS being adapted to receive a re-key request from said client comprising a chunk index y h and a blinded hash value ( ĥ ), wherein the blinded hash value is computed by the client as h*g 1 r for some random value r and the chunk index is computed by the client as the output of non-interactive Diffie-Hellman exchange based on the public key y=g x of the assist server, wherein h is the hash value of the data file chunk to be re-keyed and g 1 is a generator of a group of order p, to update said key table at said chunk index with a new randomly generated secret (x i ) and a corresponding new public key y i = g 1 xi ;to compute a signature ( ŝ ) as the power of the blinded hash value to the new randomly generated secret (x i );to send said signature ( ŝ ) together with said new public key y i to said client, and to receive a request from said client to store a re-encrypted chunk by said client in a cloud storage entity.
  4. 5
    A non-transitory computer readable medium storing a program which, when executed by a computer, causes the computer to execute, as the assist server or as the client, a method according to one of the claims 1-2.