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