WO2016050287A1 - Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme - Google Patents
Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme Download PDFInfo
- Publication number
- WO2016050287A1 WO2016050287A1 PCT/EP2014/070986 EP2014070986W WO2016050287A1 WO 2016050287 A1 WO2016050287 A1 WO 2016050287A1 EP 2014070986 W EP2014070986 W EP 2014070986W WO 2016050287 A1 WO2016050287 A1 WO 2016050287A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- chunks
- encrypted
- chunk
- randomness
- stored
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Definitions
- the present invention relates to a method for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme stored on one or more servers.
- the present invention further relates to a system for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme stored on one or more servers.
- AII-or-Nothing Encryption AONE has immerged as one of the methods that can be used to strengthen confidentiality of data.
- the AII-or-Nothing Encryption AONE provides semantic security of the data while ensuring that the data can only be recovered if and only if all the ciphertext blocks are available for download by a given client.
- AII-or-Nothing Encryption AONE does not solely rely on the secrecy of the encryption but also requires that any adversary has access to all the data in order to acquire any meaningful bit of the input plaintext. Therefore, AII-or-Nothing Encryption AONE ensures a transparent key management process and complements information dispersal techniques that can be used to efficiently store the data in a distributed storage like a cloud.
- AII-or-Nothing Encryption schemes are for example disclosed in the non-patent literature of R. Rivest, "AII-or-Nothing Encryption and The Package Transform" in Proceedings of Fast Software Encryption, pages 210-218, 1997, in the non-patent literature of Anand Desai", The Security of All-Or-Nothing Encryption: Protecting against Exhaustive Key Search", in Proceedings of CRYPTO, 2000 as well as in the non-patent literature of Ghassan Karame, Claudio Soriente, Krzysztof Lichota, Srdjan Capkun, Technical Report, available from: http://eprint.iacr.org/2014/ 556.pdf.
- Such an AII-or-Nothing Encryption AONE may be performed by the following procedures
- Key generation On input a security parameter, the key generation algorithm outputs a key K.
- Decryption routine On input key K, and the entire ciphertext blocks, the decryption algorithm AONDec outputs the plaintext blocks p. If all ciphertext blocks are not available, then the decryption algorithm outputs NULL.
- An AII-or-Nothing Encryption AONE entails that each encryption block of the data depends on the data in its entirety, coming at odds with performing file updates. For example a plaintext file of size of 5 TB cannot be easily updated since it is not workable to simply decrypt and re-encrypt a entire 5 TB every time the new file update needs to be performed.
- the method is characterized by the steps of
- step f) Decrypting said determined chunks based on the result of step e) ,
- clainn 8 a systenn for at least partially updating data encrypted with an all-or- noting encryption scheme stored on one or more servers is defined.
- the system is characterized by
- step f) Decrypting said determined chunks based on the result of step e) , g) Updating the decrypted chunks,
- said randomness is used as initial seed for the AONE initialization vector of the AII-or-Nothing Encryption scheme - IVANOE - .
- the IVAONE is derived from said randomness. This provides a simple and efficient way for providing respectively deriving the IVAONE.
- the IVAONE for an (i+1 )-th chunk is determined based on performing a hash-function on the IVAONE for the i-th chunk, wherein the IVAONE for the first chunk is determined by calculating said hash-function on the randomness.
- the randomness is encrypted using as encryption key an XOR-combination of all ciphertext blocks output in step b) - XOREK - and said encrypted randomness is stored in all servers wherein for decrypting according to step e) XOREK is used. This ensures that entity needs to access all blocks in order to compute the XOR-combination and to decrypt the randomness which is then used to decrypt each underlying AII-or-Nothing encryption AONE.
- a fast-fourier-transform All-Or- Nothing transform - FFT-AONT - is applied prior or after the encryption using the AONE. Therefore a fast-fourier-transform procedure and an encryption procedure is performed. This ensures that the entity which has been revoked needs to store the randomness, the encryption key and all the blocks of a chunk in order to recover partial the data instead of only having one access to all blocks: The entity can then partially decrypt data if it additionally stores the randomness and the encryption key and additional internal states for example.
- all data encrypted with the all-or- nothing encryption scheme stored on said one or more servers is determined to be updated. This ensures that an adversary who has access to the data and which has been revoked later on needs the store the encryption key and all the data blocks in order to recover any bit of information.
- FIG. 1 shows a conventional system
- Fig. 2 a system according to a first embodiment of the present invention
- Fig. 3 a system according to a second embodiment of the present invention
- Fig. 4 steps of a method according to a third embodiment of the present invention.
- Fig. 1 shows a conventional system.
- Fig. 1 a conventional system based on access control is provided enabling partial updates of a file.
- an updating entity UE wants to partially updating a file F.
- the file F has been encrypted and stored on a plurality of servers SV1 -SV4 by the following steps:
- N 4 servers SV1 -SV4 - the original plaintext file F is divided into original m plaintext blocks which are in turn divided into N equal sized chunks so that each chunk contains m/N blocks of the original plaintext blocks and wherein N is the number of servers, here 4.
- an AII-or-Nothing encryption AONE is applied on each separate chunk C, preferably by using a AII-or-Nothing encryption scheme as disclosed in the non-patent literature of Ghassan Karame, Claudio Soriente, Krzysztof Lichota, Srdjan Capkun, Technical Report, Available from: https://eprint.iacr.org/2014/ 556.pdf.
- a AII-or-Nothing Encryption scheme can be used.
- FIG. 2 shows a system according to a first embodiment of the present invention.
- Fig. 1 allows for partial updates of a file but relaxes the notion of the AII-or-Nothing principle.
- Each output block by the AII-or-Nothing encryption of Fig. 1 only depends on the encryption of m/N other blocks.
- a lightweight cryptography based method according to an embodiment of the present invention is shown:
- the first step of this embodiment is identical to the first step disclosed in Fig. 1 .
- the AII-or-Nothing encryption AONE is applied on each separate chunk C using an encryption key K.
- an additional randomness R is embedded in the creation of each AII-or-Nothing Encryption AONE.
- the randomness R is used as an initial seed for the initialization vector IV in all AII-or-Nothing Encryption AONE.
- the initialization vector is not included in the ciphertext but is only derived from the randomness R.
- the initialization vector for the first chunk may be set to H(R), i.e. a hash function is computed over the randomness R.
- the initialization vector for chunk 2 is H(H(R)) and so on.
- the XOR operation of all blocks is computed.
- the randomness R is encrypted using the new key as an XOR-combination of all Ti: T1 XOR T2 XOR... XOR Tn.
- the encrypted randomness is stored on all the servers SV1 -SV4. This ensures that an adversary entity needs to access all blocks in order to compute T1 XOR T2 XOR ... XOR Tn and to decrypt the randomness R which is then used to decrypt each underlying AII-or-Nothing Encryption AONE.
- the method shown in Fig. 2 inherently supports partial file updating. If some part of chunk j needs to be updated only chunk j is decrypted in re-encrypted using AONE in stored appropriately on the servers SV1 -SV4.
- Fig. 3 shows a system according to a second embodiment of the present invention.
- a method according to the embodiment of Fig. 2 ensures that to require a single plaintext block any entity has to have access to all ciphertext blocks. However once the entity had one access to all blocks then the entity can partially decrypt data if it additionally stores the randomness R and the encryption key K and additional internal state for example.
- the embodiment of the method shown in Fig. 3 comprises the same steps as described in the description of Fig. 2.
- a Fast-Fourier Transform AII- or-Nothing Encryption to each chunk is provided.
- the Fast-Fourier Transform AII-or-Nothing Encryption can be applied to the data in its entirety. This ensures that an adversary having access to the data and revoking later on needs to store the encryption key and all data blocks in order to recover any bit of information.
- Algorithm I Algorithm of FFT-AONT.
- E(X, Y, Z) is a. block cipher that encrypts Y ⁇ Z using key X.
- Fig. 4 shows steps of a method according to a third embodiment of the present invention.
- a first step S1 the data comprising a first number of m plaintext blocks is divided into a second number N of equal sized chunks, wherein the second number is based on the number of servers on which said data is to be stored, such that each chunk comprises m/N blocks of the plaintext blocks.
- each of the chunks is encrypted using an All-Or-Nothing Encryption Scheme with an encryption key, wherein an additional randomness per chunk is embedded into the All-Or-Nothing Encryption scheme, and a plurality of ciphertext blocks for each chunk is output.
- a third step S3 the encrypted chunks are stored on the N servers such that the i- th ciphertext block of each encrypted chunk is stored on the i-th server, and wherein a result of a predetermined function performed on said randomness for all encrypted chunks is stored with each encrypted chunk.
- a fourth step S4 one or more parts of one or more chunks which need to be updated if any are determined.
- a fifth step S5 said function is reverted by accessing all the chunks to acquire the randomness of said determined one or more chunks.
- step S6 said determined chunks based on the result of step S5 are decrypted.
- step S7 the decrypted chunks are updated.
- step S8 the updated chunks using said All-Or-Nothing Encryption scheme are re-encrypted, and
- step S9 the re-encrypted chunks are stored according to step S3.
- the servers SV1 -SV4 shown in the Fig. 1 -3 can for example be part of a multi- cloud storage system leveraging a number of commodity cloud providers with the goal of distributing trust across different administrative domains.
- Such a "cloud of clouds" model is receiving increasing attention nowadays with leading cloud storage providers offering products for multi-cloud systems.
- Fig. 1 -4 a system of 4 storage servers SV1 , SV2, SV3, SV4 and a collection of users represented by updating entities UE are assumed as well as that the servers SV1 -SV4 appropriately authenticates the users.
- the present invention enables to provide the use of AII-or-Nothing Encryption schemes with a lightweight encryption technique in order to efficiently support partial file updates on data which has been encrypted using AII-or-Nothing Encryption techniques.
- the present invention enhances existing AII-or-Nothing encryption schemes by combination of access control mechanisms and lightweight cryptography to resist against an internal adversary who can steal parts of the internal memory of the encryption/decryption routines.
- the present invention has inter alia the following advantages:
- the present invention enables to enhance the security of "hot files” These "hot files” are often accessed, updated and modified.
- the present invention has further the advantage to inherently support partial file updates and still maintain a decent level of security when compared to the security provisions of conventional AII-or-Nothing encryption schemes.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
The present invention relates to a method for at least partially updating data encrypted with an all-or-nothing encryption scheme stored on one or more servers, comprising the steps of: a) Dividing the data comprising a first number of m plaintext blocks into a second number N of equal sized chunks, wherein the second number is based on the number of servers on which said data is to be stored, such that each chunk comprises m/N blocks of the plaintext blocks, b) Encrypting each of the chunks using an All-Or-Nothing Encryption scheme with an encryption key, wherein an additional randomness per chunk is embedded into the All-Or-Nothing Encryption scheme, and outputting a plurality of ciphertext blocks for each chunk, c) Storing the encrypted chunks on the N servers such that the i-th ciphertext block of each encrypted chunk is stored on the i-th server, and wherein a result of a predetermined function performed on said randomness for all encrypted chunks is stored with each encrypted chunk, d) Determining one or more parts of one or more chunks which need to be updated if any e) Reverting said function by accessing all the chunks to acquire the randomness of said determined one or more chunks, f) Decrypting said determined chunks based on the result of step e), g) Updating the decrypted chunks, h) Re-encrypting the updated chunks using said All-Or-Nothing Encryption scheme, and i) Storing the re-encrypted chunks according to step c).
Description
METHOD AND SYSTEM FOR AT LEAST PARTIALLY
UPDATING DATA ENCRYPTED WITH AN ALL-OR-NOTHING
ENCRYPTION SCHEME
The present invention relates to a method for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme stored on one or more servers. The present invention further relates to a system for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme stored on one or more servers.
Although applicable to servers in any kind of network infrastructure, the present invention will be described with regard to a cloud security network infrastructure.
Cloud security is gaining increasing importance in many applications and services nowadays. AII-or-Nothing Encryption AONE has immerged as one of the methods that can be used to strengthen confidentiality of data. The AII-or-Nothing Encryption AONE provides semantic security of the data while ensuring that the data can only be recovered if and only if all the ciphertext blocks are available for download by a given client. As such AII-or-Nothing Encryption AONE does not solely rely on the secrecy of the encryption but also requires that any adversary has access to all the data in order to acquire any meaningful bit of the input plaintext. Therefore, AII-or-Nothing Encryption AONE ensures a transparent key management process and complements information dispersal techniques that can be used to efficiently store the data in a distributed storage like a cloud.
AII-or-Nothing Encryption schemes are for example disclosed in the non-patent literature of R. Rivest, "AII-or-Nothing Encryption and The Package Transform" in Proceedings of Fast Software Encryption, pages 210-218, 1997, in the non-patent literature of Anand Desai", The Security of All-Or-Nothing Encryption: Protecting Against Exhaustive Key Search", in Proceedings of CRYPTO, 2000 as well as in
the non-patent literature of Ghassan Karame, Claudio Soriente, Krzysztof Lichota, Srdjan Capkun, Technical Report, available from: http://eprint.iacr.org/2014/ 556.pdf. Such an AII-or-Nothing Encryption AONE may be performed by the following procedures
Key generation: On input a security parameter, the key generation algorithm outputs a key K.
Encryption routine: On input plaintext p which is comprised of m blocks of size I bits each, and on input an encryption key K, the encryption routine AONEnc outputs n=m+1 blocks of ciphertext.
Decryption routine. On input key K, and the entire ciphertext blocks, the decryption algorithm AONDec outputs the plaintext blocks p. If all ciphertext blocks are not available, then the decryption algorithm outputs NULL.
An AII-or-Nothing Encryption AONE entails that each encryption block of the data depends on the data in its entirety, coming at odds with performing file updates. For example a plaintext file of size of 5 TB cannot be easily updated since it is not workable to simply decrypt and re-encrypt a entire 5 TB every time the new file update needs to be performed.
A conventional method is for example shown in Fig. 1. relying on the access control layer at the server side as a deterrent. However one of the drawbacks is that the notion of All-Or-Nothing is relaxed. Indeed, each block output by All-Or- Nothing Encryption only depends on the encryption of m/N other blocks therefore security of the encrypted data is not high.
It is therefore an objective of the present invention to provide a method and a system for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme supporting partial file updates on content that has been encrypted by using an AII-or-Nothing Encryption AONE.
It is a further objective of the present invention to provide a method and a system for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme which strengthen the overall security of the encrypted data.
It is an even further objective of the present invention to provide a method and a system for at least partially updating data encrypted with an AII-or-Nothing Encryption scheme enabling an implementation in an easy way and a sufficient performance.
The aforementioned objectives are accomplished by a method of claim 1 and a system of claim 8.
In claim 1 a method for at least partially updating data encrypted with an all-or- nothing encryption scheme stored on one or more servers is defined.
According to claim 1 the method is characterized by the steps of
a) Dividing the data comprising a first number of m plaintext blocks into a second number N of equal sized chunks, wherein the second number is based on the number of servers on which said data is to be stored, such that each chunk comprises m/N blocks of the plaintext blocks,
b) Encrypting each of the chunks using an All-Or-Nothing Encryption Scheme with an encryption key, wherein an additional randomness per chunk is embedded into the All-Or-Nothing Encryption scheme, and outputting a plurality of ciphertext blocks for each chunk,
c) Storing the encrypted chunks on the N servers such that the i-th ciphertext block of each encrypted chunk is stored on the i-th server, and wherein a result of a predetermined function performed on said randomness for all encrypted chunks is stored with each encrypted chunk,
d) Determining one or more parts of one or more chunks which need to be updated if any,
e) Reverting said function by accessing all the chunks to acquire the randomness of said determined one or more chunks,
f) Decrypting said determined chunks based on the result of step e) ,
g) Updating the decrypted chunks,
h) Re-encrypting the updated chunks using said All-Or-Nothing Encryption scheme, and
i) Storing the re-encrypted chunks according to step c).
In clainn 8 a systenn for at least partially updating data encrypted with an all-or- noting encryption scheme stored on one or more servers is defined.
According to claim 8 the system is characterized by
an updating entity arranged to perform the following steps:
a) Dividing the data comprising a first number of m plaintext blocks into a second number N of equal sized chunks, wherein the second number is based on the number of servers on which said data is to be stored, such that each chunk comprises m/N blocks of the plaintext blocks,
b) Encrypting each of the chunks using an All-Or-Nothing Encryption scheme with an encryption key, wherein an additional randomness per chunk is embedded into the All-Or-Nothing Encryption scheme, and outputting a plurality of ciphertext blocks for each chunk,
c) Storing the encrypted chunks on the N servers such that the i-th ciphertext block of each encrypted chunk is stored on the i-th serve, and wherein a result of a predetermined function performed on said randomness for all encrypted chunks is stored with each encrypted chunk,
d) Determining one or more parts of one or more chunks which need to be updated if any
e) Reverting said function by accessing all the chunks to acquire the randomness of said determined one or more chunks,
f) Decrypting said determined chunks based on the result of step e) , g) Updating the decrypted chunks,
h) Re-encrypting the updated chunks using said All-Or-Nothing Encryption scheme, and
i) Storing the re-encrypted chunks according to step c).
According to the invention it has been recognized that in particular partial-only file updates are inherently supported.
According to the invention it has been even further recognized that a higher level of security compared to conventional security provisions of conventional All-or- Nothing Encryption schemes is provided.
According to the invention it has been even further recognized that efficiency is enhanced since files which are often accessed, updated and modified can be more easily updated without having to decrypt and re-encrypt the complete files without reducing the level of security.
According to the invention it has been even further recognized that resistance against an internal adversary is provided who can steal parts of the internal memory of the encryption/decryption procedures. According to the invention it has been even further recognized that a simple and easy-to-implement method and system are provided for updating files.
Further features, advantages and preferred embodiments are described in the following subclaims.
According to a preferred embodiment said randomness is used as initial seed for the AONE initialization vector of the AII-or-Nothing Encryption scheme - IVANOE - . This enhances the AII-or-Nothing principle, therefore enhancing the security. According to a further preferred embodiment the IVAONE is derived from said randomness. This provides a simple and efficient way for providing respectively deriving the IVAONE.
According to a further preferred embodiment the IVAONE for an (i+1 )-th chunk is determined based on performing a hash-function on the IVAONE for the i-th chunk, wherein the IVAONE for the first chunk is determined by calculating said hash-function on the randomness. This allows in an easy and efficient way to derive the IVAONE from the randomness.
According to a further preferred embodiment the randomness is encrypted using as encryption key an XOR-combination of all ciphertext blocks output in step b) - XOREK - and said encrypted randomness is stored in all servers wherein for decrypting according to step e) XOREK is used. This ensures that entity needs to access all blocks in order to compute the XOR-combination and to decrypt the randomness which is then used to decrypt each underlying AII-or-Nothing encryption AONE.
According to a further preferred embodiment a fast-fourier-transform All-Or- Nothing transform - FFT-AONT - is applied prior or after the encryption using the AONE. Therefore a fast-fourier-transform procedure and an encryption procedure is performed. This ensures that the entity which has been revoked needs to store the randomness, the encryption key and all the blocks of a chunk in order to recover partial the data instead of only having one access to all blocks: The entity can then partially decrypt data if it additionally stores the randomness and the encryption key and additional internal states for example.
According to a further preferred embodiment all data encrypted with the all-or- nothing encryption scheme stored on said one or more servers is determined to be updated. This ensures that an adversary who has access to the data and which has been revoked later on needs the store the encryption key and all the data blocks in order to recover any bit of information.
There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end it is to be referred to the patent claims subordinate to patent claim 1 on the one hand and to the following explanation of preferred embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the preferred embodiments of the invention by the aid of the figure, generally preferred embodiments and further developments of the teaching will be explained.
In the drawings
Fig. 1 shows a conventional system;
Fig. 2 a system according to a first embodiment of the present invention; Fig. 3 a system according to a second embodiment of the present invention and
Fig. 4 steps of a method according to a third embodiment of the present invention.
Fig. 1 shows a conventional system.
In Fig. 1 a conventional system based on access control is provided enabling partial updates of a file.
In Fig. 1 an updating entity UE wants to partially updating a file F. The file F has been encrypted and stored on a plurality of servers SV1 -SV4 by the following steps:
In a first step and assuming that they are N servers - here in Fig. 1 N=4 servers SV1 -SV4 - the original plaintext file F is divided into original m plaintext blocks which are in turn divided into N equal sized chunks so that each chunk contains m/N blocks of the original plaintext blocks and wherein N is the number of servers, here 4.
In a second step an AII-or-Nothing encryption AONE is applied on each separate chunk C, preferably by using a AII-or-Nothing encryption scheme as disclosed in the non-patent literature of Ghassan Karame, Claudio Soriente, Krzysztof Lichota, Srdjan Capkun, Technical Report, Available from: https://eprint.iacr.org/2014/ 556.pdf. Of course any AII-or-Nothing Encryption scheme can be used.
In a further step the AII-or-Nothing Encryption scheme outputs a plurality of ciphertext blocks for each chunk, denoted by q, wherein the index i denotes the
number of the ciphertext block and the index j denotes the chunk. For all chunks j=1 , N, the i-th ciphertext block q is stored in server Si.
If it is determined that some part in chunk j needs to be updated only chunk j is decrypted and re-encrypted using the AII-or-Nothing Encryption AONE and then stored appropriately on the servers SV1 -SV4. An adversary needs to break into all servers SV1 -SV4 and acquire the encryption key in order to be able to decrypt any bit of plaintext. For example this helps in resisting against an adversary who can compromise internal memory. Using the AII-or-Nothing Encryption scheme as e.g. disclosed in the non-patent literature of Ghassan Karame, Claudio Soriente, Krzysztof Lichota, Srdjan Capkun, Technical Report, Available from: https://eprint.iacr.org/2014/556.pdf the adversary has to compromise 128N bits of data in order to be able to access any ciphertext of choice later on. Fig. 2 shows a system according to a first embodiment of the present invention.
The method shown in Fig. 1 allows for partial updates of a file but relaxes the notion of the AII-or-Nothing principle. Each output block by the AII-or-Nothing encryption of Fig. 1 only depends on the encryption of m/N other blocks. In the following a lightweight cryptography based method according to an embodiment of the present invention is shown:
The first step of this embodiment is identical to the first step disclosed in Fig. 1 . In a second step the AII-or-Nothing encryption AONE is applied on each separate chunk C using an encryption key K. In addition to the method disclosed in Fig. 1 an additional randomness R is embedded in the creation of each AII-or-Nothing Encryption AONE. The randomness R is used as an initial seed for the initialization vector IV in all AII-or-Nothing Encryption AONE. In the following the initialization vector is not included in the ciphertext but is only derived from the randomness R.
For example the initialization vector for the first chunk may be set to H(R), i.e. a hash function is computed over the randomness R. The initialization vector for chunk 2 is H(H(R)) and so on. In a next step for each chunk the XOR operation of all blocks is computed. By denoting Ti the XOR of all blocks in chunk i, the randomness R is encrypted using the new key as an XOR-combination of all Ti: T1 XOR T2 XOR... XOR Tn. The encrypted randomness is stored on all the servers SV1 -SV4. This ensures that an adversary entity needs to access all blocks in order to compute T1 XOR T2 XOR ... XOR Tn and to decrypt the randomness R which is then used to decrypt each underlying AII-or-Nothing Encryption AONE.
The method shown in Fig. 2 inherently supports partial file updating. If some part of chunk j needs to be updated only chunk j is decrypted in re-encrypted using AONE in stored appropriately on the servers SV1 -SV4.
Fig. 3 shows a system according to a second embodiment of the present invention. A method according to the embodiment of Fig. 2 ensures that to require a single plaintext block any entity has to have access to all ciphertext blocks. However once the entity had one access to all blocks then the entity can partially decrypt data if it additionally stores the randomness R and the encryption key K and additional internal state for example.
In the following an embodiment is shown ensuring that the entity which has been revoked needs to store the randomness R, the encryption key K and all the blocks of a chunk in order to recover partial data: In general the embodiment of the method shown in Fig. 3 comprises the same steps as described in the description of Fig. 2. However in contrast to the method in Fig. 2 a Fast-Fourier Transform AII- or-Nothing Encryption to each chunk is provided. Also the Fast-Fourier Transform AII-or-Nothing Encryption can be applied to the data in its entirety. This ensures that an adversary having access to the data and revoking later on needs to store the encryption key and all data blocks in order to recover any bit of information.
ln the following a procedure for performing a Fast-Fourier Transform AII-or-Noth transform is shown. It is assumed that E(X, Y, Z) is a block cipher encrypting (Y II Z) using the key X. fo
end for
end for
end for
Algorithm I: Algorithm of FFT-AONT. Here, we assume that E(X, Y, Z) is a. block cipher that encrypts Y\\Z using key X.
Fig. 4 shows steps of a method according to a third embodiment of the present invention. In Fig. 4 in a first step S1 the data comprising a first number of m plaintext blocks is divided into a second number N of equal sized chunks, wherein the second number is based on the number of servers on which said data is to be stored, such that each chunk comprises m/N blocks of the plaintext blocks. In a second step S2 each of the chunks is encrypted using an All-Or-Nothing Encryption Scheme with an encryption key, wherein an additional randomness per chunk is embedded into the All-Or-Nothing Encryption scheme, and a plurality of ciphertext blocks for each chunk is output. In a third step S3 the encrypted chunks are stored on the N servers such that the i- th ciphertext block of each encrypted chunk is stored on the i-th server, and wherein a result of a predetermined function performed on said randomness for all encrypted chunks is stored with each encrypted chunk.
In a fourth step S4 one or more parts of one or more chunks which need to be updated if any are determined.
In a fifth step S5 said function is reverted by accessing all the chunks to acquire the randomness of said determined one or more chunks.
In a sixth step S6 said determined chunks based on the result of step S5 are decrypted. In a seventh step S7 the decrypted chunks are updated.
In an eighth step S8 the updated chunks using said All-Or-Nothing Encryption scheme are re-encrypted, and In a ninth step S9 the re-encrypted chunks are stored according to step S3.
The servers SV1 -SV4 shown in the Fig. 1 -3 can for example be part of a multi- cloud storage system leveraging a number of commodity cloud providers with the goal of distributing trust across different administrative domains. Such a "cloud of clouds" model is receiving increasing attention nowadays with leading cloud storage providers offering products for multi-cloud systems.
In Fig. 1 -4 a system of 4 storage servers SV1 , SV2, SV3, SV4 and a collection of users represented by updating entities UE are assumed as well as that the servers SV1 -SV4 appropriately authenticates the users.
In summary the present invention enables to provide the use of AII-or-Nothing Encryption schemes with a lightweight encryption technique in order to efficiently support partial file updates on data which has been encrypted using AII-or-Nothing Encryption techniques.
Further the present invention enhances existing AII-or-Nothing encryption schemes by combination of access control mechanisms and lightweight
cryptography to resist against an internal adversary who can steal parts of the internal memory of the encryption/decryption routines.
The present invention has inter alia the following advantages: The present invention enables to enhance the security of "hot files" These "hot files" are often accessed, updated and modified.
The present invention has further the advantage to inherently support partial file updates and still maintain a decent level of security when compared to the security provisions of conventional AII-or-Nothing encryption schemes.
Many modifications and other embodiments of the invention set forth herein will come to mind the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
C l a i m s
A method for at least partially updating data (F) encrypted with an all-or- nothing encryption scheme stored on one or more servers (SV),
characterized by the steps of:
a) Dividing (S1 ) the data (F) comprising a first number of m plaintext blocks into a second number N of equal sized chunks (C), wherein the second number (N) is based on the number of servers (SV) on which said data (F) is to be stored, such that each chunk (C) comprises m/N blocks of the plaintext blocks,
b) Encrypting (S2) each of the chunks (C) using an All-Or-Nothing Encryption scheme (AONE) with an encryption key, wherein an additional randomness (R) per chunk (C) is embedded into the All-Or-Nothing Encryption scheme (AONE), and outputting a plurality of ciphertext blocks for each chunk (C)
c) Storing (S3) the encrypted chunks (C) on the N servers (SV) such that the i-th ciphertext block of each encrypted chunk (C) is stored on the i-th server (SV), and wherein a result of a predetermined function performed on said randomness (R) for all encrypted chunks (C) is stored with each encrypted chunk (C),
d) Determining (S4) one or more parts of one or more chunks (C) which need to be updated if any
e) Reverting (S5) said function by accessing all the chunks (C) to acquire the randomness (R) of said determined one or more chunks (C), f) Decrypting (S6) said determined chunks (C) based on the result of step e),
g) Updating (S7) the decrypted chunks (C),
h) Re-encrypting (S8) the updated chunks (C) using said All-Or-Nothing Encryption scheme (AONE), and
i) Storing (S9) the re-encrypted chunks (C) according to step c).
The method according to claim 1 , characterized in that said randomness (R) is used as initial seed for the AONE initialization vector of the All-Or-Nothing Encryption scheme - IVAONE -.
The method according to claim 2, characterized in that the IVAONE is derived from said randomness (R).
The method according to claim 3, characterized in that the IVAONE for an (i+1 )-th chunk (C) is determined based on performing a hash-function (H) on the IVAONE for the i-th chunk (C), wherein the IVAONE for the first chunk (C) is determined by calculating said hash-function (H) on the randomness (R).
The method according to one of the claims 2-4, characterized in that the randomness (R) is encrypted using as encryption key an XOR-combination of all ciphertext blocks output in step b) - XOREK - and said encrypted randomness is stored on all servers (SV) wherein for decrypting according to step f) XOREK is used.
The method according to one of the claims 1-5, characterized in that a Fast- Fourier-Transform All-Or-Nothing transform - FFT-AONT - is applied prior or after the encryption using the AONE.
The method according to claim 6, characterized in that all data encrypted with the all-or-nothing encryption scheme stored on said one or more servers (SV) is determined to be updated.
A system for at least partially updating data (F) encrypted with an all-or- nothing encryption scheme stored on one or more servers (SV),
characterized by
an updating entity arranged to perform the following steps:
a) Dividing (S1 ) the data (F) comprising a first number of m plaintext blocks into a second number N of equal sized chunks (C), wherein the second number (N) is based on the number of servers (SV) on which said data (F) is to be stored, such that each chunk (C) comprises m/N blocks of the plaintext blocks,
b) Encrypting (S2) each of the chunks (C) using an All-Or-Nothing Encryption scheme (AONE) with an encryption key, wherein an additional randomness (R) per chunk (C) is embedded into the All-Or-Nothing Encryption scheme (AONE), and outputting a plurality of ciphertext blocks for each chunk (C)
c) Storing (S3) the encrypted chunks (C) on the N servers (S) such that the i- th ciphertext block of each encrypted chunk (C) is stored on the i-th server (SV), and wherein a result of a predetermined function performed on said randomness (R) for all encrypted chunks (C) is stored with each encrypted chunk (C),
d) Determining (S4) one or more parts of one or more chunks (C) which need to be updated if any,
e) Reverting (S5) said function by accessing all the chunks (C) to acquire the randomness (R) of said determined one or more chunks (C), f) Decrypting (S6) said determined chunks (C) based on the result of step e),
g) Updating (S7) the decrypted chunks (C),
h) Re-encrypting (S8) the updated chunks (C) using said All-Or-Nothing Encryption scheme (AONE), and
i) Storing (S9) the re-encrypted chunks (C) according to step c).
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14789186.5A EP3202080A1 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
CN201480081433.2A CN106576039B (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted using an all or no encryption scheme |
US15/514,851 US10348486B2 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
PCT/EP2014/070986 WO2016050287A1 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
US16/423,209 US10728021B2 (en) | 2014-09-30 | 2019-05-28 | Method and system for encrypting data with an all-or-nothing encryption scheme having additional randomness |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2014/070986 WO2016050287A1 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/514,851 A-371-Of-International US10348486B2 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
US16/423,209 Continuation US10728021B2 (en) | 2014-09-30 | 2019-05-28 | Method and system for encrypting data with an all-or-nothing encryption scheme having additional randomness |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016050287A1 true WO2016050287A1 (en) | 2016-04-07 |
Family
ID=51794846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2014/070986 WO2016050287A1 (en) | 2014-09-30 | 2014-09-30 | Method and system for at least partially updating data encrypted with an all-or-nothing encryption scheme |
Country Status (4)
Country | Link |
---|---|
US (2) | US10348486B2 (en) |
EP (1) | EP3202080A1 (en) |
CN (1) | CN106576039B (en) |
WO (1) | WO2016050287A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10380360B2 (en) * | 2016-03-30 | 2019-08-13 | PhazrlO Inc. | Secured file sharing system |
FR3059446B1 (en) * | 2016-11-25 | 2019-07-05 | Institut Mines-Telecom / Telecom Bretagne | METHOD OF INSERTING DATA TO THE STREAM IN A TATUE DATA BASE AND ASSOCIATED DEVICE. |
US11334676B2 (en) | 2018-04-25 | 2022-05-17 | The Regents Of The University Of California | Compact key encoding of data for public exposure such as cloud storage |
GB201807612D0 (en) * | 2018-05-10 | 2018-06-27 | Rolls Royce Plc | Structured file encryption process |
US11695541B2 (en) * | 2020-12-07 | 2023-07-04 | International Business Machines Corporation | Implementing resilient deterministic encryption |
CN114721613B (en) * | 2022-06-08 | 2022-08-16 | 和众印网南京信息科技有限公司 | Remote control method and system for printing machine |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110182424A1 (en) * | 2010-01-28 | 2011-07-28 | Cleversafe, Inc. | Sequencing encoded data slices |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623549A (en) * | 1995-01-30 | 1997-04-22 | Ritter; Terry F. | Cipher mechanisms with fencing and balanced block mixing |
US7184549B2 (en) * | 2000-01-14 | 2007-02-27 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program |
JP2003271054A (en) * | 2002-03-14 | 2003-09-25 | Matsushita Electric Ind Co Ltd | Data enciphering device and data deciphering device |
JP4254178B2 (en) * | 2002-09-11 | 2009-04-15 | 富士ゼロックス株式会社 | Distributed storage control apparatus and method |
JP4046067B2 (en) | 2003-11-04 | 2008-02-13 | ソニー株式会社 | Manufacturing method of solid-state imaging device |
CN101375284B (en) * | 2004-10-25 | 2012-02-22 | 安全第一公司 | Secure data parser method and system |
CN105978683A (en) * | 2005-11-18 | 2016-09-28 | 安全第公司 | Secure data parser method and system |
US8868930B2 (en) * | 2006-05-31 | 2014-10-21 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
WO2008105944A2 (en) * | 2006-09-29 | 2008-09-04 | Linx Technologies, Inc. | Encoder and decoder apparatus and methods |
JP2009049731A (en) * | 2007-08-21 | 2009-03-05 | Hitachi Ltd | Encryption method, decryption method, and key management method |
EP2148462A1 (en) * | 2008-07-22 | 2010-01-27 | University College Cork | A differential side-channel analysis countermeasure |
US8744071B2 (en) * | 2009-04-20 | 2014-06-03 | Cleversafe, Inc. | Dispersed data storage system data encryption and encoding |
US9483656B2 (en) * | 2009-04-20 | 2016-11-01 | International Business Machines Corporation | Efficient and secure data storage utilizing a dispersed data storage system |
US10447474B2 (en) * | 2009-04-20 | 2019-10-15 | Pure Storage, Inc. | Dispersed data storage system data decoding and decryption |
US8656187B2 (en) * | 2009-04-20 | 2014-02-18 | Cleversafe, Inc. | Dispersed storage secure data decoding |
US20100331088A1 (en) * | 2009-06-29 | 2010-12-30 | Daniel Jason Culbert | Method and System for Real Time Collaborative Story Generation and Scoring |
US9774678B2 (en) * | 2009-10-29 | 2017-09-26 | International Business Machines Corporation | Temporarily storing data in a dispersed storage network |
US9900150B2 (en) * | 2009-10-30 | 2018-02-20 | International Business Machines Corporation | Dispersed storage camera device and method of operation |
US9413529B2 (en) * | 2009-10-30 | 2016-08-09 | International Business Machines Corporation | Distributed storage network and method for storing and retrieving encryption keys |
US9015499B2 (en) * | 2010-11-01 | 2015-04-21 | Cleversafe, Inc. | Verifying data integrity utilizing dispersed storage |
US8799334B1 (en) * | 2011-03-30 | 2014-08-05 | Emc Corporation | Remote verification of file protections for cloud data storage |
US8495387B2 (en) * | 2011-10-31 | 2013-07-23 | Spectra Logic Corporation | Encryption redundancy in a storage element array |
CN102624708A (en) * | 2012-02-23 | 2012-08-01 | 浙江工商大学 | Efficient data encryption, updating and access control method for cloud storage |
WO2014109059A1 (en) * | 2013-01-11 | 2014-07-17 | 株式会社日立製作所 | Data encryption storage system and method |
US9785614B2 (en) * | 2013-01-23 | 2017-10-10 | Nec Corporation | Fast Fourier transform device, fast Fourier transform method, and recording medium storing fast Fourier transform program |
WO2015173905A1 (en) * | 2014-05-14 | 2015-11-19 | 三菱電機株式会社 | Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program |
-
2014
- 2014-09-30 WO PCT/EP2014/070986 patent/WO2016050287A1/en active Application Filing
- 2014-09-30 EP EP14789186.5A patent/EP3202080A1/en not_active Ceased
- 2014-09-30 CN CN201480081433.2A patent/CN106576039B/en active Active
- 2014-09-30 US US15/514,851 patent/US10348486B2/en active Active
-
2019
- 2019-05-28 US US16/423,209 patent/US10728021B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110182424A1 (en) * | 2010-01-28 | 2011-07-28 | Cleversafe, Inc. | Sequencing encoded data slices |
Non-Patent Citations (5)
Title |
---|
ANAND DESAI: "The Security of All-Or-Nothing Encryption: Protecting Against Exhaustive Key Search", PROCEEDINGS OF CRYPTO, 2000 |
CLAUDIO SORIENTE ET AL: "Commune: Shared Ownership in an Agnostic Cloud", 25 November 2013 (2013-11-25), XP055191297, Retrieved from the Internet <URL:http://arxiv.org/abs/1311.6236> * |
GHASSAN KARAME; CLAUDIO SORIENTE; KRZYSZTOF LICHOTA; SRDJAN CAPKUN, TECHNICAL REPORT, Retrieved from the Internet <URL:http://eprint.iacr.org/2014/ 556. pdf> |
GHASSAN O KARAME ET AL: "Securing Cloud Data in the New Attacker Model", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20140718:123221, 16 July 2014 (2014-07-16), pages 1 - 19, XP061016652 * |
R. RIVEST: "All-or-Nothing Encryption and The Package Transform", PROCEEDINGS OF FAST SOFTWARE ENCRYPTION, 1997, pages 210 - 218 |
Also Published As
Publication number | Publication date |
---|---|
US10348486B2 (en) | 2019-07-09 |
US10728021B2 (en) | 2020-07-28 |
CN106576039A (en) | 2017-04-19 |
CN106576039B (en) | 2020-07-28 |
US20170237552A1 (en) | 2017-08-17 |
US20190342075A1 (en) | 2019-11-07 |
EP3202080A1 (en) | 2017-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728021B2 (en) | Method and system for encrypting data with an all-or-nothing encryption scheme having additional randomness | |
US11381398B2 (en) | Method for re-keying an encrypted data file | |
EP3058678B1 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
Shao et al. | Fine-grained data sharing in cloud computing for mobile devices | |
CN105024802B (en) | Multi-user's multi-key word based on Bilinear map can search for encryption method in cloud storage | |
US20160087790A1 (en) | Method and system for encrypting data | |
CN110719295B (en) | Identity-based food data security-oriented proxy re-encryption method and device | |
CN106375346A (en) | Condition-based broadcast agent re-encryption data protection method for cloud environment | |
US10733317B2 (en) | Searchable encryption processing system | |
US11108543B2 (en) | Method for encrypting data for distributed storage | |
Surv et al. | Framework for client side AES encryption technique in cloud computing | |
Mendonca | Data security in cloud using AES | |
KR20120002729A (en) | Search system and method in multi-user | |
Lei et al. | Towards efficient re-encryption for secure client-side deduplication in public clouds | |
CN113792315A (en) | Cloud data access control method and system supporting block-level encryption and de-duplication | |
Pareek et al. | Proxy re-encryption scheme for access control enforcement delegation on outsourced data in public cloud | |
Siva et al. | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm | |
Zhou et al. | Identity-based batch provable data possession with detailed analyses | |
Wang et al. | An Encryption Scheme with Hidden Keyword Search for Outsourced Database | |
US20220321329A1 (en) | Dictionary-attack-resistant database encryption | |
Hanash | Homomorphic encryption of text documents | |
VB | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm. | |
Merabet et al. | REED-Based Scheme to Revoke Access in Electronic Health Records Sharing Systems | |
Wang et al. | A dynamic access control scheme for outsourced database | |
Jivanyan et al. | Implementation Aspects of Search Functionality Over Encrypted Cloud Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14789186 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014789186 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014789186 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |