Data Integrity Proofs in Cloud Storage

advertisement
Data Integrity Proofs in Cloud
Storage
Sravan Kumar R, Ashutosh Saxena
Communication Systems and Networks (COMSNETS),
2011 Third International Conference
Cites:39
Presenter : ้™ณๆ˜ฑๅฎ‰
Date : 2014/12/8
1
Outline
• Introduction
• Related work
• A data integrity proof in cloud scheme
• Conclusion
2
Introduction (1/2)
While developing proofs for data possession at untrusted
cloud storage servers we are often limited by the resources
at the cloud server as well as at the client.
The scheme should be able to produce a proof without the
need for the server to access the entire file or the client
retrieving the entire file from the server.
3
Introduction (2/2)
The problem is further complicated by the fact that the
owner of the data may be a small device, like a PDA or a
mobile phone, which have limited CPU power, battery
power and communication bandwidth.
4
Related Work (1/2)
The simplest POR scheme can be made using a keyed hash
function โ„Ž๐‘˜ (๐น).
By storing multiple hash values for different keys the verifier
can check for the integrity of the file ๐น for multiple times,
each one being an independent proof.
5
Related Work (2/2)
At the verifier side this involves storing as many keys as the
number of checks it want to perform as well as the hash
value of the data file ๐น with each hash key.
As the archive side, each invocation of the protocol requires
the archive to process the entire file ๐น.
6
A data integrity proof in cloud scheme
We present a scheme which does not involve the
encryption of the whole data. We encrypt only few bits of
data per data block thus reducing the computational
overhead on the clients.
In our data integrity protocol the verifier needs to store only
a single cryptographic key and two functions which
generate a random sequence.
7
A data integrity proof in cloud scheme
๏ฐ Setup phase
The file ๐น consist of ๐‘› file blocks.
๐‘š bits
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ‘
๐‘ญ๐Ÿ’
…
…
…
๐‘ญ๐’
(1) Generation of meta-data:
๐‘”(๐‘–, ๐‘—) gives the ๐‘—๐‘กโ„Ž bit in the ๐‘– ๐‘กโ„Ž data block.
The value of ๐‘˜ is in the choice of the verifier and is a secret known only to him.
8
A data integrity proof in cloud scheme
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ‘
๐‘ญ๐Ÿ’
...
…
…
…
๐‘ญ๐’
...
...
๐‘˜ bits
Therefore for each data block we get a set of ๐‘˜ bits and
in total for all the ๐‘› blocks we get ๐‘› ∗ ๐‘˜ bits.
9
A data integrity proof in cloud scheme
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ‘
๐‘ญ๐Ÿ’
๐‘š1
๐‘š2
๐‘š3
๐‘š4
…
…
…
๐‘ญ๐’
๐‘š๐‘›
๐‘š๐‘– represent the ๐‘˜ bits of meta data for the ๐‘– ๐‘กโ„Ž block.
(2) Encrypting the meta data:
โ„Ž is a function which generates a ๐‘˜ bit integer ๐›ผ๐‘– for each ๐‘–.
๐‘€๐‘– = ๐‘š๐‘– ⊕ ๐›ผ๐‘–
10
A data integrity proof in cloud scheme
๐น
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ‘
๐‘ญ๐Ÿ’
…
…
…
๐‘ญ๐’
Meta Data
๏ฐ Verification phase
Suppose the verifier wishes to check the integrity of ๐‘›๐‘กโ„Ž block.
The verifier challenges the cloud storage server by specifying the block
number ๐‘– and a bit number ๐‘— generated by using the function ๐‘” which
only the verifier knows.
The verifier also specifies the position at which the meta data
corresponding the block ๐‘– is appended.
11
A data integrity proof in cloud scheme
๐น
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ
๐‘ญ๐Ÿ‘
๐‘ญ๐Ÿ’
…
…
…
๐‘” ๐‘›, ๐‘— → 1. . ๐‘š , ๐‘– ∈ 1. . ๐‘› , ๐‘— ∈ {1. . ๐‘˜}
๐‘ญ๐’
Meta Data
๐‘˜ bits
Hence the cloud storage server is required to send ๐‘˜ + 1 bits for verification
by the client.
The meta data sent by the cloud is decrypted by using the number ๐›ผ๐‘– and
the corresponding bit in this decrypted meta data is compared with the bit
that is sent by the cloud.
12
Conclusion (1/2)
Our scheme was developed to reduce the computational
and storage overhead of the client as well as to minimize
the computational overhead of the cloud storage server.
We also minimized the size of the proof of data integrity so
as to reduce the network bandwidth consumption.
13
Conclusion (2/2)
At the client we only store two functions, the bit generator
function ๐‘” and โ„Ž which is used for encrypting the data.
The network bandwidth is also minimized as the size of the
proof is comparatively very less (๐‘˜ + 1 bits for one proof).
14
Download