唐明,張嬌蓉(西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院,成都 610039)
基于RASL的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證算法
唐明,張嬌蓉
(西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院,成都610039)
云存儲(chǔ);完整性驗(yàn)證;同態(tài)哈希;RASL
云存儲(chǔ)指的是通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能的一個(gè)系統(tǒng),它能保證數(shù)據(jù)的安全性,并節(jié)約存儲(chǔ)空間。通過云存儲(chǔ)服務(wù),用戶可以從云服務(wù)器上便捷、高效地獲取存儲(chǔ)的數(shù)據(jù),同時(shí)也沒有本地存儲(chǔ)和維護(hù)數(shù)據(jù)的負(fù)擔(dān)。云存儲(chǔ)具有低成本、高可用性、高擴(kuò)展性、高可靠性等傳統(tǒng)存儲(chǔ)方式所不具備的特點(diǎn),越來(lái)越多的用戶選擇將數(shù)據(jù)存儲(chǔ)到云服務(wù)器上。
然而,這種新的存儲(chǔ)方式也面臨這新的安全問題,即數(shù)據(jù)完整性。作為用戶方,關(guān)心的安全問題主要包括兩個(gè)方面:首先,用戶會(huì)擔(dān)心存儲(chǔ)在云端的數(shù)據(jù)會(huì)不會(huì)隨著數(shù)據(jù)中心發(fā)生故障而丟失,即數(shù)據(jù)安全性;其次,用戶對(duì)存儲(chǔ)在云端的數(shù)據(jù)會(huì)不會(huì)被窺探也會(huì)有所顧慮,即隱私安全性。用戶將數(shù)據(jù)存儲(chǔ)在云服務(wù)器上后,往往就失去了對(duì)所存儲(chǔ)的數(shù)據(jù)的控制權(quán),因此,若云存儲(chǔ)服務(wù)提供商是不可信或半可信的話,數(shù)據(jù)擁有者可能會(huì)被云存儲(chǔ)服務(wù)提供商欺騙而不能確定存儲(chǔ)在云端的數(shù)據(jù)是否完整。故數(shù)據(jù)擁有者需要一種安全有效的服務(wù)機(jī)制來(lái)確保數(shù)據(jù)被安全、完整地存儲(chǔ)在云端。
云存儲(chǔ)數(shù)據(jù)完整性檢測(cè)的早期方案[2~3]是要求用戶將存儲(chǔ)在云端的數(shù)據(jù)取回本地后再驗(yàn)證其完整性,用戶在存儲(chǔ)和驗(yàn)證之前都需要計(jì)算數(shù)據(jù)的哈希值。然而隨著數(shù)據(jù)量的增加和用戶的增長(zhǎng),該方案的計(jì)算量及通信成本也變的非常大,因此這種方式已不可取。之后,Deswarte等人于2003年提出了基于RSA的哈希函數(shù)的第一個(gè)遠(yuǎn)程完整性數(shù)據(jù)驗(yàn)證方案,即用戶只需要取回部分?jǐn)?shù)據(jù)就能驗(yàn)證存儲(chǔ)數(shù)據(jù)的完整性,并在2008年提出其改進(jìn)方案,使之支持?jǐn)?shù)據(jù)更新操作。2007年,Ateniese等[5]人首次在其可證明持有方案中提出公開審計(jì)的問題,并給出了適用于靜態(tài)數(shù)據(jù)的S-PDP方案和E-PDP方案,為了降低通信開銷與計(jì)算開銷,這兩種方案都使用了同態(tài)標(biāo)簽技術(shù)[6],但該方案均不支持動(dòng)態(tài)審計(jì)與批量審計(jì)。
最近,周銳等人[7]為了保證云存儲(chǔ)數(shù)據(jù)的完整性,提出了一種基于同態(tài)哈希函數(shù)的完整性檢測(cè)算法,該算法在可信第三方的審計(jì)下,通過聚合多個(gè)RSA簽名對(duì)云存儲(chǔ)數(shù)據(jù)完整性進(jìn)行驗(yàn)證,同時(shí)還采用了同態(tài)線性認(rèn)證技術(shù)和隨機(jī)掩蔽技術(shù)實(shí)現(xiàn)隱私保護(hù)。該算法支持?jǐn)?shù)據(jù)完全更新、單項(xiàng)審計(jì)與多項(xiàng)審計(jì),但是不能抵抗周恩光等人提出的已知證據(jù)偽造攻擊。通過該攻擊方法,敵手可以假冒云服務(wù)器,對(duì)用戶記性欺騙,同時(shí)云服務(wù)器也可以在客戶數(shù)據(jù)丟失的情況下,利用該攻擊方法對(duì)客戶進(jìn)行欺騙。
針對(duì)上述方案的不足,本文利用Erway等人提出的基于等級(jí)的認(rèn)證跳表技術(shù)對(duì)周銳等人提出的方案進(jìn)行改進(jìn),并給出了安全性證明及性能分析,改進(jìn)方案能抵抗已知證據(jù)偽造攻擊。
1.1同態(tài)哈希函數(shù)
同態(tài)哈希函數(shù)即一個(gè)具有同態(tài)性質(zhì)的哈希函數(shù),它滿足以下性質(zhì):
(1)同態(tài)性:對(duì)任意的兩個(gè)消息m1,m2及實(shí)數(shù)w1,w2,有H(w1m1+w2m2)=H(m1)w1H(m2)w2。
(2)免碰撞性:攻擊者不存在概率多項(xiàng)式算法可以偽造 (m1,m2,m3,w1,w2),且滿足m3≠w1m1+w2m2使得H(m3)=H(m1)w1H(m2)w2。
1.2基于等級(jí)的認(rèn)證跳表
基于等級(jí)的認(rèn)證跳表[9](Rank-based Authenticated Skip List,RASL)是Erway等人在其支持完全數(shù)據(jù)更新的PDP方案中提出的概念,圖1是RASL中的一個(gè)例子。
圖1 基于等級(jí)的認(rèn)證表
以圖1為例,在RASL中,最左上的節(jié)點(diǎn)w7稱為起始節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)v都包含rgt(v)節(jié)點(diǎn)向右的指針和dwn(v)節(jié)點(diǎn)向下的指針,這兩個(gè)指針主要用來(lái)查詢。對(duì)每個(gè)節(jié)點(diǎn)我們還需定義節(jié)點(diǎn)的等級(jí),即從節(jié)點(diǎn)出發(fā)所能到達(dá)的底層節(jié)點(diǎn)的數(shù)量,記作r(v)。節(jié)點(diǎn)的層數(shù)記作l(v),l(v)=0表示底層節(jié)點(diǎn)。在圖1中,每個(gè)節(jié)點(diǎn)內(nèi)的值即表示該節(jié)點(diǎn)的級(jí)數(shù)。同時(shí)對(duì)每個(gè)節(jié)點(diǎn)v,我們用low (v)和high(v)分別來(lái)表示從該節(jié)點(diǎn)出發(fā),最左和最右可到達(dá)底層節(jié)點(diǎn)的序號(hào)。對(duì)起始節(jié)點(diǎn),我們有r(s)=n,low(s)=1和high(s)=n。利用已知節(jié)點(diǎn)的等級(jí)和相對(duì)應(yīng)的最左及最右可到達(dá)節(jié)點(diǎn)的序號(hào),我們可以到達(dá)底層的任意節(jié)點(diǎn)。
利用周恩光等人[8]提出的已知證據(jù)偽造攻擊的方法,我們可以對(duì)周銳等人提出的審計(jì)方案進(jìn)行類似的攻擊,具體攻擊方法如下:
假設(shè)TPA與CS之間成功進(jìn)行了N次完整性驗(yàn)證,敵手竊聽并保存以下信息:
其中Pi=(μi,σi,Yi)(1≤i≤n)是第i次完整性驗(yàn)證過程中云服務(wù)器發(fā)送的證據(jù)。
則可以在沒有文件F的情況下偽造一個(gè)合法的證據(jù),在偽造過程中,客戶存儲(chǔ)在云端服務(wù)器上的數(shù)據(jù)均未泄漏,即敵手未獲得用戶的任何數(shù)據(jù)。這樣敵手就可以利用偽造的證據(jù)欺騙用戶,使得用戶存儲(chǔ)的數(shù)據(jù)即使被篡改,用戶也無(wú)法通過驗(yàn)證而得知。
KeyGen(1k):輸入安全參數(shù)k,選取大素?cái)?shù)p和q,計(jì)算N=pq和φ(N)=(p-1)(q-1);選取小整數(shù)e滿足1<e<φ(N),且gcd(e,φ(N))=1;利用擴(kuò)展歐幾里德算法,計(jì)算滿足ed≡1modφ(N)的唯一整數(shù)d,1<d<φ(N);選擇安全的同態(tài)哈希函數(shù)H(·):ZN*→ZN*。用戶的私鑰為sk=d,公鑰為pk=(N,e)。
SigGen(sk,F(xiàn)):設(shè)用戶存儲(chǔ)的數(shù)據(jù)為F={m1,m2,…,mn},用戶為數(shù)據(jù)F選取隨機(jī)標(biāo)識(shí)符name∈ZN*,并對(duì)每個(gè)數(shù)據(jù)塊mi計(jì)算簽名σi=(H(name||i)H(mi))d,簽名集合Φ={σ1,σ2,…,σn}。RASL的底層節(jié)點(diǎn)為按順序排列的簽名σi,即x(vi)=σi??蛻粲?jì)算RSAL的起始節(jié)點(diǎn)哈希值Mc(Mc為公開變量),并將{F,Φ}和RASL發(fā)送給云服務(wù)器之后刪除。
Challenge:用戶從集合{1,2,…,n}中隨機(jī)選擇c個(gè)元素組成的集合I={s1,s2,…,sc},其中s1<s2<…<sc。對(duì)i∈I,用戶選擇隨機(jī)值vi∈Zp,并將挑戰(zhàn)消息chal={(i,vi)}s1<i<sc發(fā)送至云服務(wù)器。
VerifyProof(pk,chal,P):驗(yàn)證分為兩步進(jìn)行,收到證據(jù)P后,用戶首先利用證明信息{Π(i)}s1<i<sc對(duì)σi的值及其索引值i進(jìn)行驗(yàn)證。具體驗(yàn)證方法如下:
用戶選取初始值λ0=0,ρ0=0,γ0=0,ε0=0,對(duì)j∈{1,2,…,k},計(jì)算λj=lj,ρj=ρj-1+qj,δj=dj;
若δj=rgt,則rj=h(λj,ρj,γj-1,gj),εj=εj-1;若δj=dwn,則rj=h(λj,ρj,gj,γj-1),εj=εj-1+qj;
經(jīng)過循環(huán)計(jì)算后,若rk≠M(fèi)c,則驗(yàn)證不通過,返回reject;若rk=Mc,則驗(yàn)證通過,返回accept。
本文利用已知證據(jù)偽造攻擊的方法給出了對(duì)文獻(xiàn)[7]的具體攻擊方法,通過攻擊表明該方案不能抵抗已知證據(jù)偽造攻擊。同時(shí),應(yīng)用同態(tài)哈希函數(shù)及RASL等相關(guān)技術(shù),對(duì)原方案進(jìn)行改進(jìn),并提出了基于RASL的云存儲(chǔ)數(shù)據(jù)完整性方案,該方案能抵抗已知證據(jù)偽造攻擊,并且能夠保護(hù)客戶的隱私數(shù)據(jù)不被泄漏。
[1]Deswarte Y,Quisquater J,Sa?dane A.Remote Integrity Checking[M].Integrity and Internal Control in Information Systems VI. Springer US,2004:1~11
[2]Blum M,Evans W,Gemmell P,et al.Checking the Correctness of Memories[J].Algorithmica,1994,12(2-3):225~244
[3]Naor M,Rothblum G N.The Complexity of Online Memory Checking[C].Foundations of Computer Science,2005.FOCS 2005.46thAnnual IEEE Symposium on.IEEE,2005:573~582
[4]秦志光,吳世坤,熊虎.云存儲(chǔ)服務(wù)中數(shù)據(jù)完整性審計(jì)方案綜述[J].信息網(wǎng)絡(luò)安全,2014(7):1~6
[5]Ateniese G,Burns R,Curtmola R,et al.Provable Data Possession at Untrusted Stores[C].Proceedings of the 14th ACM Conference on Computer and Communications Security.Acm,2007:598~609
[6]Ateniese G,Kamara S,Katz J.Proofs of Storage from Homomorphic Identification Protocols[M].Advances in Cryptology-ASIACRYPT 2009.Springer Berlin Heidelberg,2009:319~333
[7]周銳,王曉明.基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法[J].計(jì)算機(jī)工程,2014,40(6):64~69
[8]周恩光,李舟軍,郭華等.一個(gè)改進(jìn)的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證方案[J].電子學(xué)報(bào),2014,42(1):150~154
[9]Erway C,Küpcü A,Papamanthou C,et al.Dynamic Provable Data Possession[A].Proceedings of the 16th ACM Conference on Computer and Communications Security[C].Chicago:Acm,2009:213-222
Cloud Storage;Integrity Verification;Homomorphic Hash;RASL
Integrity Verification Algorithm of Cloud Storage System Based on RASL
TANG Ming,ZHANG JIAO-rong
(School of Computer and Software Engineering,Xihua University,Chengdu 610039)
1007-1423(2015)10-0005-04
10.3969/j.issn.1007-1423.2015.10.002
唐明(1987-),男,湖北天門人,碩士研究生,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)與信息安全系統(tǒng)
2015-03-17
2015-04-08
隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)化存儲(chǔ)將逐漸成為未來(lái)存儲(chǔ)領(lǐng)域的熱點(diǎn)。而目前的云存儲(chǔ)服務(wù)也將是網(wǎng)絡(luò)存儲(chǔ)發(fā)展的必然趨勢(shì)。因此如何確保云存儲(chǔ)環(huán)境下用戶數(shù)據(jù)的完整性成為人們關(guān)注的問題。周銳等人提出基于同態(tài)哈希的云數(shù)據(jù)完整性驗(yàn)證算法中的公開審計(jì)方案。通過對(duì)該方案的分析,發(fā)現(xiàn)該方案容易受到已知證據(jù)偽造攻擊,并給出具體的攻擊方法。為了防止攻擊,利用基于等級(jí)的認(rèn)證跳表技術(shù)(RASL)對(duì)該方案進(jìn)行改進(jìn),并對(duì)本文方案做安全性分析及證明。
張嬌蓉(1988-),女,四川巴中人,碩士研究生,研究方向?yàn)樾蛄性O(shè)計(jì)
With the development of information technology,network storage will gradually become a hot storage areas in the future.The current cloud storage service will be the inevitable trend of development of network storage.Therefore,how to ensure the integrity of user data in cloud storage environments has become an issue of concern.Zhou Rui et al proposed public audit scheme for cloud data integrity verification based on the homomorphic hash.Through the analysis of the scheme,the scheme is vulnerable to the known evidence of forgery attack,and gives a specific attack method.In order to prevent attacks,improves the scheme based on RASL,and the proposed scheme is security by formal proofs.