楊同豪,李俊全,郁濱
解放軍信息工程大學,鄭州450001
一種共享數據完整性驗證方案的分析與改進
楊同豪,李俊全,郁濱
解放軍信息工程大學,鄭州450001
首先分析了一種云計算環境下公開可驗證的共享數據完整性驗證方案,指出其無法抵抗數據恢復攻擊和完整性偽造攻擊,從而存在數據泄露和完整性欺騙的風險。在此基礎上提出一個安全性增強的改進方案并對其進行了安全性分析和性能開銷分析,分析結果表明該方案保持了數據存儲安全性和隱私保護性,并且能夠高效實現共享數據的完整性驗證,具備較高的安全性和驗證效率。
云計算;共享數據;安全存儲;數據完整性;公開可驗證
在云計算環境下,用戶將大量數據存儲于云服務器中,當需要對數據進行完整性驗證時,傳統方案需先將數據下載至用戶本地,這將顯著增加用戶的通信與計算開銷,同時也失去了云存儲的應用價值[1-2]。因此,如何安全高效進行數據完整性驗證成為影響云存儲進一步推廣應用的重要因素[3]。云存儲數據完整性驗證方案需要考慮的因素主要有計算及通信開銷、數據隱私性、公開可驗證性和批量處理能力等[4-5]。而針對云環境下的共享數據,由于其可以被多用戶進行修改及簽名,共享數據的完整性驗證還需要考慮用戶更新、用戶身份信息保護以及數據重簽名等問題[6]。
目前,針對云存儲數據的完整性驗證已提出多種方案。典型方案主要有支持公開可驗證的數據持有可證明方案(Proofs of Data Possession,PDP)[7]和面向用戶單獨驗證的數據恢復可證明方案(Proofs of Retrievability,POR)[8]。PDP方案改進后能夠支持動態數據更新操作[9-10],但其通信和計算復雜度較高,驗證效率和實用性不高?;贐LS簽名[11]的POR方案[12]能夠支持公開驗證,但利用上述方案在進行數據完整性驗證的過程中會造成數據擁有者身份信息的泄露。近來,相關學者提出了能夠保護數據擁有者身份信息的共享數據完整性驗證方案[13-14],但方案[13]中的通信開銷將隨用戶數量的增多而線性增長,當用戶數量較多時方案效率不高,而方案[14]則缺乏對公開可驗證性的支持。
文獻[15]提出一種面向云存儲的共享數據完整性驗證方案,方案開銷小、效率高,同時還能夠支持公開可驗證和用戶身份信息保護。此外,基于Shamir門限秘密共享的思想[16],該方案還可以進行支持動態用戶更新及批量驗證的擴展。方案主要利用一個群組用戶可信的安全中間人來實現共享數據的簽名和匿名化,從而達到用戶身份信息保護的目的,但該方案仍存在一定的安全缺陷;同樣的,文獻[17]中的方案也存在此類問題。由此,本文在分析此類典型方案流程的基礎上,提出一個能夠抵抗數據恢復攻擊和完整性偽造攻擊的共享數據完整性驗證方案,解決了數據泄露和完整性欺騙問題,具備較高的安全性。
典型的共享數據完整性驗證方案系統模型如圖1所示,其主要包括數據擁有者(Data Owner)、數據使用者(Data User)、云服務器(Cloud Sever)和安全中間人(Security Mediator)四種實體。數據擁有者生成數據并將其上傳至云服務器,數據使用者能夠從云服務器中獲取共享數據并對其完整性進行驗證,云服務器為數據擁有者和使用者等用戶提供數據存儲及共享服務,安全中間人可為數據擁有者提供數據簽名等安全服務。

圖1 方案系統模型
2.1典型流程分析
為實現匿名化的共享數據存儲,數據擁有者首先將原始數據進行盲化后統一交由安全中間人進行簽名。此后,數據擁有者對此盲化簽名信息進行解盲并將其作為數據簽名與原始數據合并提交至云服務器存儲。當需要對共享數據進行完整性驗證時,公開驗證者向云服務器發送挑戰信息,云服務器生成相應響應信息并將其返回至公開驗證者,驗證者據此判斷共享數據的完整性。此類方案的典型流程主要包括7個步驟[15],具體實現過程如下。
(1)參數建立:選定一個安全參數λ,生成公開參數(G1,G2,e,p,g,H,u1,u2,…,uk)。其中,G1,G2是階為p的乘法群,g為G1的生成元,e為雙線性映射e:G1×G1→G2,H為哈希函數H:{0,1}*→G1,u1,u2,…,uk為從群G1中選擇的k個隨機數。安全中間人生成私鑰sk=y∈Zp及公鑰pk=gy∈G1。數據擁有者將原始數據M進行如下劃分:M=(m1,m2,…,mn),mi=(mi,1,mi,2,…,mi,k),其中mi,l∈Zp。
(2)數據盲化:數據擁有者隨機選取r∈Zp,為數據塊mi生成盲化數據,并將其發送至安全中間人。
并將其返回至數據擁有者。
(4)數據解盲:數據擁有者計算σi=·pk-r=(H(idi)·,對盲化簽名進行解盲得到最終數據簽名信息。此后,數據擁有者將原始數據M=(m1,m2,…,mn)及其對應簽名信息(σ1,σ2,…,σn)上傳至云服務器。
(5)挑戰:公開驗證者生成挑戰信息C={(idi,βi)}i∈I,{I:i∈I|1≤i≤n}并將其發送至云服務器。其中,idi為數據塊(m1,m2,…,mn)的索引,βi∈Zp為公開驗證者選取的隨機數。
(6)響應:收到挑戰信息后,云服務器計算σ*=,并將響應信息R=(σ*,α1, α2,…,αk)返回至公開驗證者。
2.2問題提出
上述典型流程能夠以較小的計算及通信開銷實現對云存儲中共享數據的完整性驗證,且方案支持公開驗證、用戶更新、用戶身份信息保護及批量驗證等特性。但是,通過分析發現方案存在數據泄露及完整性欺騙等安全問題。
(1)數據泄露風險:方案的公開可驗證性使得任意用戶均可發起完整性驗證挑戰,此時攻擊者可以通過自行發起驗證挑戰或截獲合法用戶的挑戰響應數據等方式得到正確的挑戰及響應信息,而當得到足夠多的挑戰及響應信息后,攻擊者可以恢復出合法用戶的共享數據。即方案無法抵抗數據恢復攻擊。
數據恢復攻擊:首先,攻擊者通過自行發起驗證挑戰或截獲合法用戶的挑戰響應數據得到以下n次挑戰及響應信息:{C1={(idi,β1,i)}i∈I,R1=(σ1*,α1,1,α1,2,…,α1,k)},{C2={(idi,β2,i)}i∈I,R2=(σ2*,α2,1,α2,2,…,α2,k)},…,{Cn={(idi,βn,i)}i∈I,Rn=(σn*,αn,1,αn,2,…,αn,k)}。β2=(β2,1,β2,2,…,β2,n),…,βn=(βn,1,βn,2,…,βn,n),當βj,i不存在時,令其為0即可。

(2)完整性欺騙風險:當保存有足夠多的完整性驗證信息時,攻擊者可以在接收到任意完整性驗證挑戰后偽造出正確的響應信息。此缺陷將使得攻擊者能夠假冒合法的云服務器欺騙用戶,或者惡意云服務器(已保存足夠多完整性驗證信息)在數據丟失等完整性破壞的情況下對用戶進行欺騙。即方案無法抵抗完整性偽造攻擊。
完整性偽造攻擊:在已保存有n次挑戰及響應信息的基礎上,攻擊者接收到新挑戰信息。令,則存在aj,1≤j≤n使得β′=a1β1+ a2β2+…+anβn,即,則攻擊者可為新挑戰信息返回響應R′=(σ*′,,',…,),其正確性可由以下等式得出:

即當收到任意完整性驗證挑戰后,攻擊者在既無共享數據也無用戶合法簽名的基礎上,僅通過其得到的n次完整性驗證信息便偽造出了正確的響應。
基于上述分析,本章提出一個安全性增強的改進方案,該方案系統模型及安全性基礎等均與典型方案相同。但安全增強方案為驗證響應信息加入了隨機擾亂,從而使攻擊者無論得到多少完整性挑戰與響應信息,均無法得出原始共享數據,而利用改進后的完整性驗證等式依然能夠進行共享數據的完整性驗證。該安全增強方案能夠保護共享數據的隱私性,同時抵抗完整性偽造攻擊,能夠提高共享數據完整性驗證的安全性。
安全增強方案流程包括參數建立、數據盲化、盲化簽名、數據解盲、挑戰、響應及驗證等7個步驟。與典型方案流程相比,參數建立過程中僅加入一個哈希函數h:G1→Zp作為方案新增公開參數,而涉及數據匿名化的數據盲化、盲化簽名和數據解盲等3個步驟均與典型流程相同,挑戰、響應及驗證等3個步驟的改進方法如圖2所示。

圖2 改進方案的挑戰、響應及驗證流程

此改進方案依然可以進行支持動態用戶更新及批量驗證的擴展,其方法與原方案相同,在此不再細述。
安全增強方案的安全性分析主要包括數據存儲安全性和隱私保護性的分析與證明,證明過程基于以下兩個假設。
(1)對未知的a,b∈Zp,給定g,ga,gb∈G1,計算gab∈G1是困難的,即計算性Diffie-Hellman問題。
(2)對未知的a∈Zp,給定g,ga∈G1,得出a是困難的,即離散對數問題。
4.1存儲安全性
云環境下共享數據的存儲安全性主要由完整性驗證方案的正確性與完備性來保證,方案的正確性顯而易見,后文主要證明其完備性。
引理1[11]方案中采用的BLS簽名方案是存在性不可偽造的。
定理1云服務器能通過數據完整性驗證當且僅當其真實存儲了用戶的完整數據。
證明(1)充分條件證明,即完整性驗證方案的正確性證明。
由上文完整性驗證等式的推導過程,充分條件顯然成立,即當云服務器真實存儲了用戶的完整數據時,其能夠通過數據完整性驗證。
(2)必要條件證明,即完整性驗證方案的完備性證明。
采用反證法,如果云服務器沒有存儲完整的用戶數據,則不能通過完整性驗證。
在隨機預言機模型下,將云服務器視為敵手,挑戰者控制隨機預言機H(·)的輸出并回答云服務器提出的哈希查詢。將證明如果敵手以一個不可忽略的概率通過完整性驗證,則能夠解決計算性Diffie-Hellman問題,即給定g,ga,h∈G1,能夠輸出ha∈G1。
隨機選取x,y1,y2,…,yk∈Zp并且令pk=ga,ul= gxhyl,l∈[1,k]。針對任意idi,選擇ri∈Zp并控制隨機預言機H(·)的輸出為。當接收到云服務器提出的簽名查詢時,輸出:

針對挑戰者提出的完整性驗證挑戰,云服務器輸出R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)作為響應信息并且其滿足:

針對相同的ri∈Zp,敵手返回R′=(σ*′,γ1,γ2,…,γk,作為完整性響應信息并且其滿足:

式(2)除以式(1),得到:

所以有:


因此,除非敵手真實存儲了用戶的完整數據,否則其將以一個可忽略的概率通過數據完整性驗證。即證明了云服務器能通過數據完整性驗證僅當其真實存儲了用戶的完整數據。證畢。
4.2隱私保護性
隱私保護性主要指完整性驗證方案無消息泄露,驗證者無法通過驗證響應信息恢復出用戶數據。
定理2在數據完整性驗證過程中,公開驗證者不能夠從響應信息R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)中獲得原始數據。

表1 性能對比分析

因此,從云服務器返回的響應信息R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)中,公開驗證者無法得到與原始數據相關的信息。證畢。
通過以上安全性分析可知,安全增強方案具備數據存儲安全性與隱私保護性,能夠抵抗數據恢復攻擊和完整性偽造攻擊,提高了共享數據完整性驗證過程的安全水平。
安全增強方案的性能分析主要從通信及計算開銷兩方面進行分析。
(1)通信開銷。在數據盲化、盲化簽名及數據解盲階段,針對數據塊M=(m1,m2,…,mn),數據擁有者與安全中間人之間的通信開銷為2n|p|,|p|為Zp中元素的數據長度,此過程中的通信開銷與典型方案相同。在驗證及響應階段,通信開銷為n|id|+(n+2k+1)|p|,與典型方案相比僅增加了k|p|即由(γ1,γ2,…,γk)帶來的通信量。由此,安全增強方案的總通信開銷為n|id|+(3n+2k+1)|p|。
(2)計算開銷。由于指數運算和雙線性對運算相比于其他運算需要更多的資源,因此計算開銷分析主要針對此兩種運算進行。以ExpG1表示一次群G1上的指數運算,Pair表示一次雙線性映射e:G1×G1→G2上的雙線性對運算。數據塊M=(m1,m2,…,mn)在數據盲化、盲化簽名及數據解盲階段所帶來的計算開銷為n(k+3)ExpG1+ 2nPair,與典型方案相同。在驗證及響應階段,驗證者所需計算開銷為(n+2k)ExpG1+2Pair,與典型方案相比增加了k ExpG1。由此,安全增強方案的總計算開銷為(nk+4n+2k)ExpG1+2(n+1)Pair。
典型方案與安全增強方案的性能對比分析如表1所示。
本章主要針對安全增強方案的通信與計算開銷進行分析,分析結果表明,安全增強方案依然能夠保持較小的通信與計算開銷,擁有較大的性能優勢。
共享數據的云端存儲需要綜合考慮數據的隱私性、完整性驗證的準確性以及完備性等安全因素。由于驗證發起方身份的不確定性,公開可驗證的數據完整性驗證方案所面臨的安全威脅更加嚴峻。本文分析了一種典型的云環境下共享數據完整性驗證方案,指出其在安全方面存在的不足,并提出了一種安全性增強的改進方案,安全性分析及性能開銷分析的結果顯示本文方案能夠提高數據完整性驗證的安全性,同時依然保持較小的通信及計算開銷。
[1]馮朝勝,秦志光,袁丁.云數據安全存儲技術[J].計算機學報,2015,38(1):150-163.
[2]顏湘濤,李益發.基于消息認證函數的云端數據完整性檢測方案[J].電子與信息學報,2013,35(2):310-313.
[3]Yang T H,Yu B.Study of cryptography-based cyberspace data security[C]//5th IEEE International Conference on Computing,Communication and Networking Technologies,Hefei,China,2014:289-295.
[4]Hao Z,Zhong S,Yu N H.A privacy-preserving remote data integrity checking protocol with data dynamics and publicverifiability[J].IEEETransactionsonKnowledge and Data Engineering,2011,23(9):1432-1437.
[5]Juels A,Oprea A.New approaches to security and avail-ability for cloud data[J].Communications of the ACM,2013,56(2):64-73.
[6]Wang B Y,Li B C,Li H.Public auditing for shared data with efficient user revocation in the cloud[C]//32nd IEEE International Conference on Computer Communications,Turin,Italy,2013:2904-2912.
[7]Ateniese G,Di Pietro R,Mancini L V,et al.Scalable and efficient provable data possession[C]//4th International Conference on Security and Privacy in Communication Netowrks,Istanbul,Turkey,2008:1-10.
[8]Juels A,Kaliski Jr B S.PORs:Proofs of retrievability for large files[C]//14th ACM Conference on Computer and CommunicationsSecurity,Alexandria,VA,USA,2007:584-597.
[9]Erway C C,Kupcu A,Papamanthou C,et al.Dynamic provable data possession[C]//2009 ACM Workshop on Cloud Computing Security,Chicago,IL,USA,2009:213-222.
[10]Wang Q,Wang C,Ren K,et al.Enabling public auditability and data dynamics for storage security in cloud computing[J].IEEE Transactions on Parallel and Distributed Systems,2011,22(5):847-859.
[11]Boneh D,Lynn B,Shacham H.Short signatures from the Weil pairing[J].Journal of Cryptology,2004,17(4):297-319.
[12]Shacham H,Waters B.Compact proofs of retrievability[J]. Journal of Cryptology,2013,26(3):442-483.
[13]Wang B Y,Li B C,Li H.Oruta:privacy-preserving public auditing for shared data in the cloud[C]//5th IEEE InternationalConferenceonCloudComputing,Honolulu,HI,USA,2012:295-302.
[14]Wang B Y,Li B C,Li H.Knox:privacy-preserving auditing for shared data with large groups in the cloud[C]//10th International Conference on Applied Cryptography and Network Security,Singapore,2012:507-525.
[15]Wang B Y,Chow S S,Li M,et al.Storing shared data on the cloud via security-mediator[C]//33rd IEEE International Conference on Distributed Computing Systems,Philadelphia,PA,USA,2013:124-133.
[16]Shamir A.How to share a secret[J].Communications of the ACM,1979,22(11):612-613.
[17]Wang B Y,Li B C,Li H.Panda:Public auditing for shared data with efficient user revocation in the cloud[J].IEEE Transactions on Services Computing,2015,8(1):92-106.
Analysis and improvement of shared data integrity verification sheme.
YANG Tonghao,LI Junquan,YU Bin
PLA Information Engineering University,Zhengzhou 450001,China
Firstly,a shared data integrity verification sheme which supports public verifiability in the cloud is analyzed. The analysis shows that the sheme is vulnerable to data recovery attack and integrity forgery attack,which bring the risk of privacy disclosure and integrity deception.Then,on the basis of this analysis,an improved sheme with security enhancement is proposed.Finally,the security analysis and performance analysis of this improved sheme are made.The results indicate that this sheme can keep the security and privacy of data storage while implement shared data integrity verification efficiently. Thus this scheme provides a higher level of security along with high efficiency.
cloud computing;shared data;security storage;data integrity;public verifiability
A
TP309
10.3778/j.issn.1002-8331.1503-0172
全軍軍事類研究生資助課題(No.2014JY170)。
楊同豪(1987—),男,博士研究生,研究領域為網絡空間數據安全;李俊全(1965—),男,博士,研究員,研究領域為密碼學和網絡空間安全等;郁濱(1964—),男,博士,教授,研究領域為信息安全、無線網絡安全技術和視覺密碼等。E-mail:youngtonghao@163.com
2015-03-15
2015-10-20
1002-8331(2015)22-0016-06