A Double-Efficient Integrity Verification Scheme to Cloud Storage Data Deng Hongyao, Song Xiuli, Tao jingsong 2014 TELKOMNIKA Indonesian Journal of Electrical Engineering Presenter : 陳昱安 Date : 2014/10/6 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 2 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 3 Introduction This paper proposed two integrity verification schemes based on Schnorr Signature Scheme. Safety integrity verification scheme (SIVS). Efficient integrity verification scheme (EIVS). 4 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 5 Schnorr Signature Scheme (1/3) Supposed 𝑝 and 𝑞 are two big prime, and 𝑝 − 1 is a multiple of 𝑞; 𝑔 is a generator of 𝑍𝑝∗ , and 𝑔𝑞 = 1 mod 𝑝. 𝑥 is private key of 𝑍𝑞∗ . 𝑦 is a public key and 𝑦 = 𝑔 𝑥 mod 𝑝. ℎ(∙) is an approved cryptographic hash function. 6 Schnorr Signature Scheme (2/3) If a signer signs the message 𝑚, then he chooses randomly a secret number 𝑟 ∈ 𝑍𝑞∗ and computes 𝑢 = 𝑔𝑟 (mod 𝑝) 𝑒 = ℎ(𝑚||𝑢) 𝑠 = 𝑥𝑒 + 𝑟 (mod 𝑞) The signer sends the message 𝑚 and the signatures (𝑒, 𝑠) to the receiver. 7 Schnorr Signature Scheme (3/3) If the receiver has received 𝑚 and (𝑒, 𝑠), then he first Computes 𝑢′ = 𝑔 𝑠 𝑦 −𝑒 (mod 𝑝) And checks the following equation: ? 𝑒 = ℎ(𝑚||𝑢′ ) If the equation is true, then the signature is valid. Otherwise, the signature is invalid. 8 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 9 Safety Integrity Verification Scheme Based on Schnorr Signature 𝑚1 USER message 𝑚2 ∙∙∙ 𝑚𝑛 Safety Integrity Verification Scheme Based on Schnorr Signature Challenge Response USER Safety Integrity Verification Scheme Based on Schnorr Signature Request Response USER Safety Integrity Verification Scheme Based on Schnorr Signature (1/8) Notation 𝑝 is 1024-bit prime; 𝑞 is 160-bit prime 𝑥 is private key of 𝑍𝑞∗ . 𝑦 is a public key and 𝑦 = 𝑔 𝑥 mod 𝑝. ℎ(∙) is an approved cryptographic hash function. 𝑓(∙) is a pseudo-random function. ∅(∙) is a pseudo-random permutation 𝑘1 , 𝑘2 , 𝑘3 ← {0,1}𝑘 are three keys, where k is the length of the three keys. 13 Safety Integrity Verification Scheme Based on Schnorr Signature (2/8) Pro-processing Phase 𝐹 = (𝑚1 , 𝑚2 , … , 𝑚𝑛 ) 𝑟𝑖 = 𝑓𝑘1 𝑟 + 𝑖 , (1 ≤ 𝑖 ≤ 𝑛) 𝑢𝑖 = 𝑔𝑟𝑖 (mod 𝑝) 𝑠𝑖 = 𝑥𝑚𝑖 + 𝑟𝑖 (mod 𝑞) , (1 ≤ 𝑖 ≤ 𝑛) 𝐸 = ℎ(𝑚1 | 𝑚2 | … ||𝑚𝑛 ) The user sends 𝐹 = (𝑚1 , 𝑚2 , … , 𝑚𝑛 ) and 𝑈 = (𝑢1 , 𝑢2 , … , 𝑢𝑛 ) to the cloud storage server. The user stores S = (𝑠1 , 𝑠2 , … , 𝑠𝑛 ) and hash value 𝐸 on the local. 14 Safety Integrity Verification Scheme Based on Schnorr Signature (3/8) Challenge Phase The user‘s challenge values are 𝐶ℎ𝑎𝑙(𝑓𝐼𝐷, 𝑐, 𝑘2 , 𝑘3 , 𝑦), where 𝑓𝐼𝐷 is identity number of the file 𝐹; 𝑐 is the number of challenged blocks, 1 ≤ 𝑐 ≤ 𝑛 ; 𝑘2 and 𝑘3 re chosen randomly for each challenge; 𝑦 is the user’s public key. 15 Safety Integrity Verification Scheme Based on Schnorr Signature (4/8) Response Phase After the cloud storage server has received the challenge values 𝐶ℎ𝑎𝑙(𝑓𝐼𝐷, 𝑐, 𝑘2 , 𝑘3 , 𝑦), he uses pseudo-random permutation to generate indices of challenged blocks 𝑖𝑗 = ∅𝑘2 (𝑗) , (1 ≤ 𝑗 ≤ 𝑐, 1 ≤ 𝑖𝑗 ≤ 𝑛). Also, he uses pseudo-random function to derive coefficients 𝛼𝑗 = 𝑓𝑘3 (𝑗) , (1 ≤ 𝑗 ≤ 𝑐, 𝛼𝑗 ∈ 𝑍𝑞∗ ). 16 Safety Integrity Verification Scheme Based on Schnorr Signature (5/8) In pro-processing phase, the cloud storage server holds the set of file blocks 𝐹 = (𝑚1 , 𝑚2 , … , 𝑚𝑛 ) and the set of verification blocks 𝑈 = (𝑢1 , 𝑢2 , … , 𝑢𝑛 ) . Grounded on the block indices 𝑖𝑗 (1 ≤ 𝑗 ≤ 𝑐), he chooses the subset of file blocks 𝐹 = (𝑚𝑖1 , 𝑚𝑖2 , … , 𝑚𝑖𝑐 ) and the subset of verification blocks 𝑈 = (𝑢𝑖1 , 𝑢𝑖2 , … , 𝑢𝑖𝑐 ) , then computes: The cloud storage server sends response values (𝑇, σ) to the user, and takes them as the proofs of possessing file 𝐹. 17 Safety Integrity Verification Scheme Based on Schnorr Signature (6/8) Verification Phase The user computes indices of challenged blocks 𝑖𝑗 = ∅𝑘2 (𝑗) and random coefficients 𝛼𝑗 = 𝑓𝑘3 (𝑗) , (1 ≤ 𝑗 ≤ 𝑐). Then the user chooses the subset of the signatures 𝑆 = (𝑠𝑖1 , 𝑠𝑖2 , … , 𝑠𝑖𝑐 ) from 𝑆 = (𝑠1 , 𝑠2 , … , 𝑠𝑛 ) which has been saved previously on the local. Further, the user computes ? Then he checks the following equation: 𝜎 = 𝑔𝑤 𝑇 (mod 𝑝). 18 Safety Integrity Verification Scheme Based on Schnorr Signature (7/8) 19 Safety Integrity Verification Scheme Based on Schnorr Signature (8/8) Retrieve File Phase At a later time, when the user needs his file 𝐹 , he sends a request message 𝑟𝑒𝑞(𝑓𝐼𝐷) to the cloud storage server. Then the cloud server sends back file blocks 𝐹 ′ = (𝑚1 ′ , 𝑚2 ′ , … , 𝑚𝑛 ′ ) to the user. The user uses hash function to compute 𝐸 ′ = ℎ(𝑚1 ′ | 𝑚2 ′ | … ||𝑚𝑛 ′ ) to check. 20 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 21 Efficient Integrity Verification Scheme Based on Schnorr Signature (1/3) Pro-processing Phase 𝑢𝑖 = 𝑔𝑟𝑖 (mod 𝑝) 𝑒𝑖 = ℎ 𝑚𝑖 ||𝑢𝑖 𝑠𝑖 = 𝑥𝑒𝑖 + 𝑟𝑖 (mod 𝑞) , (1 ≤ 𝑖 ≤ 𝑛) 𝐸 = 𝑒1 | 𝑒2 | … ||𝑒𝑛 Here, EIVS doesn't use file blocks 𝑚𝑖 (1 ≤ 𝑖 ≤ 𝑛) to compute signatures 𝑠𝑖 (1 ≤ 𝑖 ≤ 𝑛) , but uses hash values 𝑒𝑖 to compute signatures. 22 Efficient Integrity Verification Scheme Based on Schnorr Signature (2/3) Response Phase In response phase, all values of 𝛼𝑗 (1 ≤ 𝑗 ≤ 𝑐) are set to 1, here, the cloud storage server computes: Now, the scheme doesn't add all file blocks 𝑚𝑖 (1 ≤ 𝑖 ≤ 𝑛) to generate 𝑣, but add all hash values 𝑒𝑖 1 ≤ 𝑖 ≤ 𝑛 to generate it. 23 Efficient Integrity Verification Scheme Based on Schnorr Signature (3/3) Verification Phase In verification phase, all values of 𝛼𝑗 (1 ≤ 𝑗 ≤ 𝑐) are set to 1 , then the user computes: Here, the user checks if below equation holds: 24 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 25 Security and Performance Analysis EIVS scheme substitutes hash values 𝑒𝑖 for file blocks 𝑚𝑖 to generate signatures 𝑠𝑖 and 𝑣 also, all values of coefficients 𝛼𝑗 (1 ≤ 𝑗 ≤ 𝑐) are set to 1, so it improves operation speed and reduces computational costs. But EIVS scheme can only verify the cloud storage server stores well the sum of hash values, and cannot guarantee that the cloud storage server preserves intact all file blocks. 26 Security Analysis (1/4) SIVS scheme gives double integrity verification guarantee to cloud storage data. 1. in response and verification phase, the user checks response values (𝑇, σ) to judge whether all file blocks are preserved intact in the cloud storage server. 2. In retrieve file phase, the user compares hash values 𝐸 ′ with 𝐸 to judge whether some file blocks have been altered in network transmitting or on cloud storage. 27 Security Analysis (2/4) If the user and the cloud storage server chooses the subset of file blocks 𝐹 = (𝑚𝑖1 , 𝑚𝑖2 , … , 𝑚𝑖𝑐 ) as challenged blocks, but the cloud storage server has lost file blocks (𝑚𝑖𝑗 , … , 𝑚𝑖𝑘 ), where {𝑖𝑗 , … , 𝑖𝑘 } ⊆ {𝑖1 , … , 𝑖𝑐 }. Accordingly, the cloud storage server falsifies file blocks (𝑏𝑖𝑗 , … , 𝑏𝑖𝑘 ) with (𝑚𝑖𝑗 , … , 𝑚𝑖𝑘 ) replacement, then he computes: 28 Security Analysis (3/4) After the user has received response values (𝑇 ′ , σ) , he computes the value of 𝑤 , and verifies the relation : If the relation is true, then 𝑇 = 𝑇 ′ (mod 𝑝), this means . If we could find out 𝐴 ≠ 𝐵 ∈ 𝑍𝑞∗ to let 𝑦 −𝐴 = 𝑦 −𝐵 (mod 𝑝), ′ Then 𝑦 −𝑣 = 𝑦 −𝑣 (mod 𝑝), but this is impossible. 29 Security Analysis (4/4) In retrieve file phase, we suppose the cloud storage server has lost original file blocks (𝑚𝑙 , … , 𝑚𝑡 ). The cloud storage server substitutes fake file blocks (𝑏𝑙 , … , 𝑏𝑡 ) for file blocks (𝑚𝑙 , … , 𝑚𝑡 ) and send them to the user. The user first computes hash value and check equation : 30 Performance Analysis In the four schemes, if we suppose the size of each file block |𝑚𝑖 | is the same, and total number of file blocks 𝑛 is also the same. Moreover, the number of challenged file blocks 𝑐 is also the same. 31 Outline • Introduction • Schnorr Signature Scheme • Safety Integrity Verification Scheme Based on Schnorr Signature • Efficient Integrity Verification Scheme Based on Schnorr Signature • Security and Performance Analysis • Conclusion 32 Conclusion In view of communication costs and computation costs of current integrity verification schemes are too high, this paper proposes two integrity verification schemes SIVS and EIVS based on Schnorr Signature. If the files need to be stored in cloud for a long time, SIVS scheme will be used to verify the integrity of the file. But in short term, EIVS scheme will be used. 33