楊同豪,李俊全,郁濱
解放軍信息工程大學(xué),鄭州450001
一種共享數(shù)據(jù)完整性驗證方案的分析與改進(jìn)
楊同豪,李俊全,郁濱
解放軍信息工程大學(xué),鄭州450001
首先分析了一種云計算環(huán)境下公開可驗證的共享數(shù)據(jù)完整性驗證方案,指出其無法抵抗數(shù)據(jù)恢復(fù)攻擊和完整性偽造攻擊,從而存在數(shù)據(jù)泄露和完整性欺騙的風(fēng)險。在此基礎(chǔ)上提出一個安全性增強的改進(jìn)方案并對其進(jìn)行了安全性分析和性能開銷分析,分析結(jié)果表明該方案保持了數(shù)據(jù)存儲安全性和隱私保護(hù)性,并且能夠高效實現(xiàn)共享數(shù)據(jù)的完整性驗證,具備較高的安全性和驗證效率。
云計算;共享數(shù)據(jù);安全存儲;數(shù)據(jù)完整性;公開可驗證
在云計算環(huán)境下,用戶將大量數(shù)據(jù)存儲于云服務(wù)器中,當(dāng)需要對數(shù)據(jù)進(jìn)行完整性驗證時,傳統(tǒng)方案需先將數(shù)據(jù)下載至用戶本地,這將顯著增加用戶的通信與計算開銷,同時也失去了云存儲的應(yīng)用價值[1-2]。因此,如何安全高效進(jìn)行數(shù)據(jù)完整性驗證成為影響云存儲進(jìn)一步推廣應(yīng)用的重要因素[3]。云存儲數(shù)據(jù)完整性驗證方案需要考慮的因素主要有計算及通信開銷、數(shù)據(jù)隱私性、公開可驗證性和批量處理能力等[4-5]。而針對云環(huán)境下的共享數(shù)據(jù),由于其可以被多用戶進(jìn)行修改及簽名,共享數(shù)據(jù)的完整性驗證還需要考慮用戶更新、用戶身份信息保護(hù)以及數(shù)據(jù)重簽名等問題[6]。
目前,針對云存儲數(shù)據(jù)的完整性驗證已提出多種方案。典型方案主要有支持公開可驗證的數(shù)據(jù)持有可證明方案(Proofs of Data Possession,PDP)[7]和面向用戶單獨驗證的數(shù)據(jù)恢復(fù)可證明方案(Proofs of Retrievability,POR)[8]。PDP方案改進(jìn)后能夠支持動態(tài)數(shù)據(jù)更新操作[9-10],但其通信和計算復(fù)雜度較高,驗證效率和實用性不高?;贐LS簽名[11]的POR方案[12]能夠支持公開驗證,但利用上述方案在進(jìn)行數(shù)據(jù)完整性驗證的過程中會造成數(shù)據(jù)擁有者身份信息的泄露。近來,相關(guān)學(xué)者提出了能夠保護(hù)數(shù)據(jù)擁有者身份信息的共享數(shù)據(jù)完整性驗證方案[13-14],但方案[13]中的通信開銷將隨用戶數(shù)量的增多而線性增長,當(dāng)用戶數(shù)量較多時方案效率不高,而方案[14]則缺乏對公開可驗證性的支持。
文獻(xiàn)[15]提出一種面向云存儲的共享數(shù)據(jù)完整性驗證方案,方案開銷小、效率高,同時還能夠支持公開可驗證和用戶身份信息保護(hù)。此外,基于Shamir門限秘密共享的思想[16],該方案還可以進(jìn)行支持動態(tài)用戶更新及批量驗證的擴展。方案主要利用一個群組用戶可信的安全中間人來實現(xiàn)共享數(shù)據(jù)的簽名和匿名化,從而達(dá)到用戶身份信息保護(hù)的目的,但該方案仍存在一定的安全缺陷;同樣的,文獻(xiàn)[17]中的方案也存在此類問題。由此,本文在分析此類典型方案流程的基礎(chǔ)上,提出一個能夠抵抗數(shù)據(jù)恢復(fù)攻擊和完整性偽造攻擊的共享數(shù)據(jù)完整性驗證方案,解決了數(shù)據(jù)泄露和完整性欺騙問題,具備較高的安全性。
典型的共享數(shù)據(jù)完整性驗證方案系統(tǒng)模型如圖1所示,其主要包括數(shù)據(jù)擁有者(Data Owner)、數(shù)據(jù)使用者(Data User)、云服務(wù)器(Cloud Sever)和安全中間人(Security Mediator)四種實體。數(shù)據(jù)擁有者生成數(shù)據(jù)并將其上傳至云服務(wù)器,數(shù)據(jù)使用者能夠從云服務(wù)器中獲取共享數(shù)據(jù)并對其完整性進(jìn)行驗證,云服務(wù)器為數(shù)據(jù)擁有者和使用者等用戶提供數(shù)據(jù)存儲及共享服務(wù),安全中間人可為數(shù)據(jù)擁有者提供數(shù)據(jù)簽名等安全服務(wù)。
圖1 方案系統(tǒng)模型
2.1典型流程分析
為實現(xiàn)匿名化的共享數(shù)據(jù)存儲,數(shù)據(jù)擁有者首先將原始數(shù)據(jù)進(jìn)行盲化后統(tǒng)一交由安全中間人進(jìn)行簽名。此后,數(shù)據(jù)擁有者對此盲化簽名信息進(jìn)行解盲并將其作為數(shù)據(jù)簽名與原始數(shù)據(jù)合并提交至云服務(wù)器存儲。當(dāng)需要對共享數(shù)據(jù)進(jìn)行完整性驗證時,公開驗證者向云服務(wù)器發(fā)送挑戰(zhàn)信息,云服務(wù)器生成相應(yīng)響應(yīng)信息并將其返回至公開驗證者,驗證者據(jù)此判斷共享數(shù)據(jù)的完整性。此類方案的典型流程主要包括7個步驟[15],具體實現(xiàn)過程如下。
(1)參數(shù)建立:選定一個安全參數(shù)λ,生成公開參數(shù)(G1,G2,e,p,g,H,u1,u2,…,uk)。其中,G1,G2是階為p的乘法群,g為G1的生成元,e為雙線性映射e:G1×G1→G2,H為哈希函數(shù)H:{0,1}*→G1,u1,u2,…,uk為從群G1中選擇的k個隨機數(shù)。安全中間人生成私鑰sk=y∈Zp及公鑰pk=gy∈G1。數(shù)據(jù)擁有者將原始數(shù)據(jù)M進(jìn)行如下劃分:M=(m1,m2,…,mn),mi=(mi,1,mi,2,…,mi,k),其中mi,l∈Zp。
(2)數(shù)據(jù)盲化:數(shù)據(jù)擁有者隨機選取r∈Zp,為數(shù)據(jù)塊mi生成盲化數(shù)據(jù),并將其發(fā)送至安全中間人。
并將其返回至數(shù)據(jù)擁有者。
(4)數(shù)據(jù)解盲:數(shù)據(jù)擁有者計算σi=·pk-r=(H(idi)·,對盲化簽名進(jìn)行解盲得到最終數(shù)據(jù)簽名信息。此后,數(shù)據(jù)擁有者將原始數(shù)據(jù)M=(m1,m2,…,mn)及其對應(yīng)簽名信息(σ1,σ2,…,σn)上傳至云服務(wù)器。
(5)挑戰(zhàn):公開驗證者生成挑戰(zhàn)信息C={(idi,βi)}i∈I,{I:i∈I|1≤i≤n}并將其發(fā)送至云服務(wù)器。其中,idi為數(shù)據(jù)塊(m1,m2,…,mn)的索引,βi∈Zp為公開驗證者選取的隨機數(shù)。
(6)響應(yīng):收到挑戰(zhàn)信息后,云服務(wù)器計算σ*=,并將響應(yīng)信息R=(σ*,α1, α2,…,αk)返回至公開驗證者。
2.2問題提出
上述典型流程能夠以較小的計算及通信開銷實現(xiàn)對云存儲中共享數(shù)據(jù)的完整性驗證,且方案支持公開驗證、用戶更新、用戶身份信息保護(hù)及批量驗證等特性。但是,通過分析發(fā)現(xiàn)方案存在數(shù)據(jù)泄露及完整性欺騙等安全問題。
(1)數(shù)據(jù)泄露風(fēng)險:方案的公開可驗證性使得任意用戶均可發(fā)起完整性驗證挑戰(zhàn),此時攻擊者可以通過自行發(fā)起驗證挑戰(zhàn)或截獲合法用戶的挑戰(zhàn)響應(yīng)數(shù)據(jù)等方式得到正確的挑戰(zhàn)及響應(yīng)信息,而當(dāng)?shù)玫阶銐蚨嗟奶魬?zhàn)及響應(yīng)信息后,攻擊者可以恢復(fù)出合法用戶的共享數(shù)據(jù)。即方案無法抵抗數(shù)據(jù)恢復(fù)攻擊。
數(shù)據(jù)恢復(fù)攻擊:首先,攻擊者通過自行發(fā)起驗證挑戰(zhàn)或截獲合法用戶的挑戰(zhàn)響應(yīng)數(shù)據(jù)得到以下n次挑戰(zhàn)及響應(yīng)信息:{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),當(dāng)βj,i不存在時,令其為0即可。
(2)完整性欺騙風(fēng)險:當(dāng)保存有足夠多的完整性驗證信息時,攻擊者可以在接收到任意完整性驗證挑戰(zhàn)后偽造出正確的響應(yīng)信息。此缺陷將使得攻擊者能夠假冒合法的云服務(wù)器欺騙用戶,或者惡意云服務(wù)器(已保存足夠多完整性驗證信息)在數(shù)據(jù)丟失等完整性破壞的情況下對用戶進(jìn)行欺騙。即方案無法抵抗完整性偽造攻擊。
完整性偽造攻擊:在已保存有n次挑戰(zhàn)及響應(yīng)信息的基礎(chǔ)上,攻擊者接收到新挑戰(zhàn)信息。令,則存在aj,1≤j≤n使得β′=a1β1+ a2β2+…+anβn,即,則攻擊者可為新挑戰(zhàn)信息返回響應(yīng)R′=(σ*′,,',…,),其正確性可由以下等式得出:
即當(dāng)收到任意完整性驗證挑戰(zhàn)后,攻擊者在既無共享數(shù)據(jù)也無用戶合法簽名的基礎(chǔ)上,僅通過其得到的n次完整性驗證信息便偽造出了正確的響應(yīng)。
基于上述分析,本章提出一個安全性增強的改進(jìn)方案,該方案系統(tǒng)模型及安全性基礎(chǔ)等均與典型方案相同。但安全增強方案為驗證響應(yīng)信息加入了隨機擾亂,從而使攻擊者無論得到多少完整性挑戰(zhàn)與響應(yīng)信息,均無法得出原始共享數(shù)據(jù),而利用改進(jìn)后的完整性驗證等式依然能夠進(jìn)行共享數(shù)據(jù)的完整性驗證。該安全增強方案能夠保護(hù)共享數(shù)據(jù)的隱私性,同時抵抗完整性偽造攻擊,能夠提高共享數(shù)據(jù)完整性驗證的安全性。
安全增強方案流程包括參數(shù)建立、數(shù)據(jù)盲化、盲化簽名、數(shù)據(jù)解盲、挑戰(zhàn)、響應(yīng)及驗證等7個步驟。與典型方案流程相比,參數(shù)建立過程中僅加入一個哈希函數(shù)h:G1→Zp作為方案新增公開參數(shù),而涉及數(shù)據(jù)匿名化的數(shù)據(jù)盲化、盲化簽名和數(shù)據(jù)解盲等3個步驟均與典型流程相同,挑戰(zhàn)、響應(yīng)及驗證等3個步驟的改進(jìn)方法如圖2所示。
圖2 改進(jìn)方案的挑戰(zhàn)、響應(yīng)及驗證流程
此改進(jìn)方案依然可以進(jìn)行支持動態(tài)用戶更新及批量驗證的擴展,其方法與原方案相同,在此不再細(xì)述。
安全增強方案的安全性分析主要包括數(shù)據(jù)存儲安全性和隱私保護(hù)性的分析與證明,證明過程基于以下兩個假設(shè)。
(1)對未知的a,b∈Zp,給定g,ga,gb∈G1,計算gab∈G1是困難的,即計算性Diffie-Hellman問題。
(2)對未知的a∈Zp,給定g,ga∈G1,得出a是困難的,即離散對數(shù)問題。
4.1存儲安全性
云環(huán)境下共享數(shù)據(jù)的存儲安全性主要由完整性驗證方案的正確性與完備性來保證,方案的正確性顯而易見,后文主要證明其完備性。
引理1[11]方案中采用的BLS簽名方案是存在性不可偽造的。
定理1云服務(wù)器能通過數(shù)據(jù)完整性驗證當(dāng)且僅當(dāng)其真實存儲了用戶的完整數(shù)據(jù)。
證明(1)充分條件證明,即完整性驗證方案的正確性證明。
由上文完整性驗證等式的推導(dǎo)過程,充分條件顯然成立,即當(dāng)云服務(wù)器真實存儲了用戶的完整數(shù)據(jù)時,其能夠通過數(shù)據(jù)完整性驗證。
(2)必要條件證明,即完整性驗證方案的完備性證明。
采用反證法,如果云服務(wù)器沒有存儲完整的用戶數(shù)據(jù),則不能通過完整性驗證。
在隨機預(yù)言機模型下,將云服務(wù)器視為敵手,挑戰(zhàn)者控制隨機預(yù)言機H(·)的輸出并回答云服務(wù)器提出的哈希查詢。將證明如果敵手以一個不可忽略的概率通過完整性驗證,則能夠解決計算性Diffie-Hellman問題,即給定g,ga,h∈G1,能夠輸出ha∈G1。
隨機選取x,y1,y2,…,yk∈Zp并且令pk=ga,ul= gxhyl,l∈[1,k]。針對任意idi,選擇ri∈Zp并控制隨機預(yù)言機H(·)的輸出為。當(dāng)接收到云服務(wù)器提出的簽名查詢時,輸出:
針對挑戰(zhàn)者提出的完整性驗證挑戰(zhàn),云服務(wù)器輸出R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)作為響應(yīng)信息并且其滿足:
針對相同的ri∈Zp,敵手返回R′=(σ*′,γ1,γ2,…,γk,作為完整性響應(yīng)信息并且其滿足:
式(2)除以式(1),得到:
所以有:
因此,除非敵手真實存儲了用戶的完整數(shù)據(jù),否則其將以一個可忽略的概率通過數(shù)據(jù)完整性驗證。即證明了云服務(wù)器能通過數(shù)據(jù)完整性驗證僅當(dāng)其真實存儲了用戶的完整數(shù)據(jù)。證畢。
4.2隱私保護(hù)性
隱私保護(hù)性主要指完整性驗證方案無消息泄露,驗證者無法通過驗證響應(yīng)信息恢復(fù)出用戶數(shù)據(jù)。
定理2在數(shù)據(jù)完整性驗證過程中,公開驗證者不能夠從響應(yīng)信息R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)中獲得原始數(shù)據(jù)。
表1 性能對比分析
因此,從云服務(wù)器返回的響應(yīng)信息R=(σ*,γ1,γ2,…,γk,α1,α2,…,αk)中,公開驗證者無法得到與原始數(shù)據(jù)相關(guān)的信息。證畢。
通過以上安全性分析可知,安全增強方案具備數(shù)據(jù)存儲安全性與隱私保護(hù)性,能夠抵抗數(shù)據(jù)恢復(fù)攻擊和完整性偽造攻擊,提高了共享數(shù)據(jù)完整性驗證過程的安全水平。
安全增強方案的性能分析主要從通信及計算開銷兩方面進(jìn)行分析。
(1)通信開銷。在數(shù)據(jù)盲化、盲化簽名及數(shù)據(jù)解盲階段,針對數(shù)據(jù)塊M=(m1,m2,…,mn),數(shù)據(jù)擁有者與安全中間人之間的通信開銷為2n|p|,|p|為Zp中元素的數(shù)據(jù)長度,此過程中的通信開銷與典型方案相同。在驗證及響應(yīng)階段,通信開銷為n|id|+(n+2k+1)|p|,與典型方案相比僅增加了k|p|即由(γ1,γ2,…,γk)帶來的通信量。由此,安全增強方案的總通信開銷為n|id|+(3n+2k+1)|p|。
(2)計算開銷。由于指數(shù)運算和雙線性對運算相比于其他運算需要更多的資源,因此計算開銷分析主要針對此兩種運算進(jìn)行。以ExpG1表示一次群G1上的指數(shù)運算,Pair表示一次雙線性映射e:G1×G1→G2上的雙線性對運算。數(shù)據(jù)塊M=(m1,m2,…,mn)在數(shù)據(jù)盲化、盲化簽名及數(shù)據(jù)解盲階段所帶來的計算開銷為n(k+3)ExpG1+ 2nPair,與典型方案相同。在驗證及響應(yīng)階段,驗證者所需計算開銷為(n+2k)ExpG1+2Pair,與典型方案相比增加了k ExpG1。由此,安全增強方案的總計算開銷為(nk+4n+2k)ExpG1+2(n+1)Pair。
典型方案與安全增強方案的性能對比分析如表1所示。
本章主要針對安全增強方案的通信與計算開銷進(jìn)行分析,分析結(jié)果表明,安全增強方案依然能夠保持較小的通信與計算開銷,擁有較大的性能優(yōu)勢。
共享數(shù)據(jù)的云端存儲需要綜合考慮數(shù)據(jù)的隱私性、完整性驗證的準(zhǔn)確性以及完備性等安全因素。由于驗證發(fā)起方身份的不確定性,公開可驗證的數(shù)據(jù)完整性驗證方案所面臨的安全威脅更加嚴(yán)峻。本文分析了一種典型的云環(huán)境下共享數(shù)據(jù)完整性驗證方案,指出其在安全方面存在的不足,并提出了一種安全性增強的改進(jìn)方案,安全性分析及性能開銷分析的結(jié)果顯示本文方案能夠提高數(shù)據(jù)完整性驗證的安全性,同時依然保持較小的通信及計算開銷。
[1]馮朝勝,秦志光,袁丁.云數(shù)據(jù)安全存儲技術(shù)[J].計算機學(xué)報,2015,38(1):150-163.
[2]顏湘濤,李益發(fā).基于消息認(rèn)證函數(shù)的云端數(shù)據(jù)完整性檢測方案[J].電子與信息學(xué)報,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—),男,博士研究生,研究領(lǐng)域為網(wǎng)絡(luò)空間數(shù)據(jù)安全;李俊全(1965—),男,博士,研究員,研究領(lǐng)域為密碼學(xué)和網(wǎng)絡(luò)空間安全等;郁濱(1964—),男,博士,教授,研究領(lǐng)域為信息安全、無線網(wǎng)絡(luò)安全技術(shù)和視覺密碼等。E-mail:youngtonghao@163.com
2015-03-15
2015-10-20
1002-8331(2015)22-0016-06