楊小東,裴喜禎,陳桂蘭,王美丁,王彩芬
(西北師范大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,蘭州 730070)
隨著云存儲(chǔ)技術(shù)的快速發(fā)展,越來越多用戶將數(shù)據(jù)存儲(chǔ)于云服務(wù)器以節(jié)省本地存儲(chǔ)空間。然而數(shù)據(jù)外包到遠(yuǎn)程平臺(tái)后用戶將失去對(duì)數(shù)據(jù)的實(shí)際控制[1],且由于存在硬件故障、軟件錯(cuò)誤以及管理員操作失誤等不可抗因素,用戶數(shù)據(jù)有丟失或損壞的風(fēng)險(xiǎn),因此如何保證用戶外包數(shù)據(jù)的完整性成為近年來云計(jì)算安全研究的熱點(diǎn)[2-4]。
文獻(xiàn)[5]提出一種數(shù)據(jù)可恢復(fù)性證明(Proofs of Retrievability,PoR) 方案,用戶能對(duì)外包數(shù)據(jù)進(jìn)行完整性驗(yàn)證,但該方案驗(yàn)證次數(shù)受到限制。文獻(xiàn)[6]利用短簽名構(gòu)造出有效的PoR方案,可解決驗(yàn)證次數(shù)受限的問題,但該方案不支持?jǐn)?shù)據(jù)動(dòng)態(tài)操作。文獻(xiàn)[7]基于改進(jìn)認(rèn)證跳表提出支持全動(dòng)態(tài)更新的數(shù)據(jù)持有性證明(Provable Data Possession,PDP)方案,但該方案認(rèn)證過程較長(zhǎng)且需大量的計(jì)算與通信開銷。文獻(xiàn)[8]基于Merkel哈希樹(Merkel Hash Tree,MHT)提出支持動(dòng)態(tài)更新的數(shù)據(jù)完整性驗(yàn)證方案,但其中樹的深度會(huì)隨數(shù)據(jù)增多呈指數(shù)增長(zhǎng),且數(shù)據(jù)動(dòng)態(tài)更新的計(jì)算開銷較大。文獻(xiàn)[9]基于多分支路徑樹提出云端數(shù)據(jù)公開審計(jì)方案,但其不支持?jǐn)?shù)據(jù)隱私保護(hù)。上述方案均是對(duì)單用戶的數(shù)據(jù)完整性進(jìn)行驗(yàn)證,未考慮群用戶共享數(shù)據(jù)的公共審計(jì)。針對(duì)該情況,研究人員相繼提出基于環(huán)簽名、群簽名等多用戶公開審計(jì)方案[10-12],但這些方案均不能抵抗合謀攻擊且不支持?jǐn)?shù)據(jù)動(dòng)態(tài)更新。文獻(xiàn)[13]使用代理重簽名技術(shù)設(shè)計(jì)出支持用戶撤銷的云端數(shù)據(jù)完整性驗(yàn)證方案,但該方案無法抵抗合謀攻擊。文獻(xiàn)[14]利用秘密共享技術(shù)提出支持用戶撤銷的數(shù)據(jù)完整性驗(yàn)證方案,然而該方案未考慮數(shù)據(jù)動(dòng)態(tài)更新。以上方案均未對(duì)重要數(shù)據(jù)進(jìn)行備份存儲(chǔ),一旦數(shù)據(jù)丟失會(huì)造成重大經(jīng)濟(jì)損失。為提高數(shù)據(jù)存儲(chǔ)的可靠性,通常采用在云中存儲(chǔ)多個(gè)數(shù)據(jù)副本的方法。文獻(xiàn)[15]設(shè)計(jì)出基于多副本的云端數(shù)據(jù)完整性驗(yàn)證方案,但該方案不支持?jǐn)?shù)據(jù)動(dòng)態(tài)操作。文獻(xiàn)[16-18]提出不同的云端多副本數(shù)據(jù)完整性驗(yàn)證方案,但這些方案仍無法支持用戶撤銷且計(jì)算效率較低。文獻(xiàn)[19-20]分別設(shè)計(jì)出多副本數(shù)據(jù)完整性驗(yàn)證方案,但方案中樹的深度會(huì)隨數(shù)據(jù)塊增多呈指數(shù)增長(zhǎng),導(dǎo)致數(shù)據(jù)動(dòng)態(tài)更新需較大的計(jì)算開銷。
為支持用戶撤銷并減少數(shù)據(jù)動(dòng)態(tài)更新計(jì)算開銷,本文提出一種基于身份的多用戶多副本云端數(shù)據(jù)公開審計(jì)方案。利用秘密共享技術(shù)和重簽名算法實(shí)現(xiàn)用戶安全撤銷,通過多分支路徑樹進(jìn)行數(shù)據(jù)動(dòng)態(tài)更新,并對(duì)該方案的安全性和不同階段的計(jì)算開銷進(jìn)行分析。

定義1(DL假設(shè)) 如果任意多項(xiàng)式時(shí)間算法無法解決群G1上的DL問題,則稱G1上的DL問題是困難的。
圖1為本文所提支持用戶撤銷的多用戶多副本數(shù)據(jù)公開審計(jì)方案的系統(tǒng)模型,該模型主要包括以下方面:1)群用戶(Users)負(fù)責(zé)生成數(shù)據(jù)的標(biāo)簽,上傳數(shù)據(jù)到云服務(wù)器并對(duì)云端數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新;2)私鑰生成中心(Private Key Generator,PKG)負(fù)責(zé)生成系統(tǒng)參數(shù)和用戶私鑰;3)第三方審計(jì)員(Third Party Auditor,TPA)負(fù)責(zé)驗(yàn)證云端數(shù)據(jù)完整性并將結(jié)果發(fā)送給用戶;4)云服務(wù)提供商(Cloud Server Provider,CSP)負(fù)責(zé)存儲(chǔ)用戶數(shù)據(jù)及標(biāo)簽,并響應(yīng)TPA的數(shù)據(jù)驗(yàn)證請(qǐng)求與轉(zhuǎn)換被撤銷用戶的簽名;5)代理者(Proxies)負(fù)責(zé)生成重簽名份額并發(fā)送給云服務(wù)提供商。

圖1 本文方案的系統(tǒng)模型Fig.1 System model of the proposed scheme
本文方案具體介紹如下:
1)系統(tǒng)初始化
輸入安全參數(shù)K,PKG執(zhí)行如下操作:

(3)秘密保存主私鑰,公開系統(tǒng)參數(shù)params={G1,G2,p,g,e,H1,H2,f1,f2,π,Y}。
2)密鑰生成

3)私鑰分發(fā)
用戶收到PKG發(fā)送的私鑰Si后執(zhí)行如下操作:
(1)驗(yàn)證等式gski=RiYH1(IDi,Ri)是否成立,若等式成立,則用戶接受私鑰,否則用戶拒絕。

4)副本數(shù)據(jù)塊生成
為生成副本數(shù)據(jù)塊,用戶執(zhí)行如下操作:

5)數(shù)據(jù)上傳
為生成多分支路徑樹根節(jié)點(diǎn)的簽名和每個(gè)數(shù)據(jù)塊mij的標(biāo)簽,用戶執(zhí)行如下操作:

圖2 多分支路徑樹結(jié)構(gòu)Fig.2 Multi-branch path tree structure

(2)計(jì)算根節(jié)點(diǎn)Ri的簽名IDS(Ri)=H2(Ri)ski。

(5)CSP收到用戶上傳數(shù)據(jù)后,驗(yàn)證根節(jié)點(diǎn)簽名的正確性,若等式e(IDS(Ri),g)=e(H2(Ri),RiYH1(IDi,Ri))成立,則根節(jié)點(diǎn)簽名有效,保存用戶上傳的數(shù)據(jù)。
6)重簽名
若要撤銷群中用戶Ua,則需將用戶Ua的簽名轉(zhuǎn)換為用戶Ub的簽名,群用戶產(chǎn)生重簽名密鑰份額發(fā)送給代理者,代理者產(chǎn)生代理重簽名份額發(fā)送給CSP,CSP產(chǎn)生重簽名,具體步驟如下:


7)挑戰(zhàn)信息生成
為生成挑戰(zhàn)信息,用戶執(zhí)行如下操作:
(1)若用戶Ui要驗(yàn)證存儲(chǔ)在CSP上數(shù)據(jù)塊及其副本的完整性,則可發(fā)送請(qǐng)求給TPA。

8)證據(jù)生成
CSP收到TPA發(fā)送的挑戰(zhàn)信息chal后,執(zhí)行如下操作:
(1)計(jì)算sj=πκ1(i,j)和aj=f2κ2(i,j)。



9)證據(jù)驗(yàn)證
TPA收到CSP發(fā)送的證據(jù)proof后,執(zhí)行如下操作:
數(shù)據(jù)動(dòng)態(tài)更新包括數(shù)據(jù)塊的修改、插入和刪除。
2.3.1 數(shù)據(jù)塊修改



用戶收到CSP發(fā)送的證明proof后,執(zhí)行如下操作:
(1)利用e(IDS(Ri),g)=e(H2(Ri),RiYH1(IDi,Ri))驗(yàn)證根節(jié)點(diǎn)簽名的正確性,若等式不成立,則輸出FALSE,否則繼續(xù)驗(yàn)證。

(3)對(duì)新的根節(jié)點(diǎn)R′i生成簽名IDSski(H2(R′i)),并將簽名信息IDSski(H2(R′))發(fā)送給CSP,完成修改操作。
以上數(shù)據(jù)塊修改操作完成后,得到的多分支路徑樹結(jié)構(gòu)如圖3所示。

圖3 修改數(shù)據(jù)塊后的多分支路徑樹結(jié)構(gòu)Fig.3 Multi-branch path tree structure after modifyingdata block
2.3.2 數(shù)據(jù)塊插入


圖4 插入數(shù)據(jù)塊后的多分支路徑樹結(jié)構(gòu)Fig.4 Multi-branch path tree structure after insertingdata block
2.3.3 數(shù)據(jù)塊刪除


圖5 刪除數(shù)據(jù)塊后的多分支路徑樹結(jié)構(gòu)Fig.5 Multi-branch path tree structure afterdeleting data block
定理1本文方案滿足抗合謀攻擊性,即能夠抵抗云服務(wù)器和已撤消用戶的合謀攻擊。
證明本文方案滿足抗合謀攻擊性的證明過程如下:使用秘密分割技術(shù)[21]將用戶的秘密值1/ski分為n份分發(fā)給群用戶。CSP必須聯(lián)合至少k個(gè)群成員才能恢復(fù)得到重簽名密鑰。若群用戶中至少有k+1個(gè)成員可信,則本文方案可抵抗來自云服務(wù)器和已撤銷用戶的合謀攻擊,實(shí)現(xiàn)安全撤銷。因此,本文方案滿足抗合謀攻擊性。
定理2如果DL假設(shè)成立,則本文方案滿足審計(jì)的健壯性,即只有CSP基于正確數(shù)據(jù)產(chǎn)生的完整性證明proof才可通過TPA驗(yàn)證。
證明本文方案滿足審計(jì)健壯性的證明過程如下:

RiYH1(IDi,Ri))
(1)
假設(shè)CSP基于損壞數(shù)據(jù)M′(M′≠M(fèi))偽造的完整性證明proof={φ*,σ*}也能通過驗(yàn)證,則其滿足式(2):
RiYH1(IDi,Ri))
(2)
(3)
(4)

定理3本文方案滿足數(shù)據(jù)隱私性,即云服務(wù)器無法獲得用戶的原始數(shù)據(jù)。
證明本文方案滿足數(shù)據(jù)隱私性的證明過程如下:用戶的原始數(shù)據(jù)經(jīng)過加密、分塊、隨機(jī)化處理并上傳到云服務(wù)器后,可有效阻止云服務(wù)提供商從密文中恢復(fù)用戶的數(shù)據(jù)內(nèi)容。因此,本文方案滿足數(shù)據(jù)隱私性。
本文方案與文獻(xiàn)[17-19]方案均為多副本數(shù)據(jù)完整性方案,以下對(duì)這4種方案在采用基于身份的簽名、支持?jǐn)?shù)據(jù)動(dòng)態(tài)更新、支持用戶撤銷、抗合謀攻擊方面的功能以及通信開銷與計(jì)算開銷進(jìn)行對(duì)比分析。
表1為本文方案與文獻(xiàn)[17-19]方案在采用基于身份的簽名、支持?jǐn)?shù)據(jù)動(dòng)態(tài)更新、支持用戶撤銷和抗合謀攻擊方面的功能對(duì)比情況。由表1可知:文獻(xiàn)[17-19]方案均基于傳統(tǒng)公鑰密碼體制,存在復(fù)雜的證書管理問題;文獻(xiàn)[18]方案不支持?jǐn)?shù)據(jù)動(dòng)態(tài)更新;文獻(xiàn)[17]方案雖然采用多分支路徑樹實(shí)現(xiàn)了數(shù)據(jù)動(dòng)態(tài)更新,但需要巨大的通信開銷;文獻(xiàn)[19]方案采用MHT實(shí)現(xiàn)了數(shù)據(jù)動(dòng)態(tài)更新,導(dǎo)致樹的深度隨數(shù)據(jù)塊數(shù)量的增加呈指數(shù)增長(zhǎng);文獻(xiàn)[17-19]方案不支持用戶撤銷,且不能抵抗已撤銷用戶和云服務(wù)器的合謀攻擊;本文方案采用基于身份的簽名,實(shí)現(xiàn)了數(shù)據(jù)動(dòng)態(tài)更新、用戶撤銷和抗合謀攻擊的功能。

表1 4種方案的功能對(duì)比Table 1 Function comparison of four schemes


表2 4種方案的通信開銷對(duì)比Table 2 Computational overhead comparison of four schemes
表3為本文方案與文獻(xiàn)[17-19]方案在簽名階段、證據(jù)生成階段以及證據(jù)驗(yàn)證階段的計(jì)算開銷對(duì)比情況。其中,n表示數(shù)據(jù)塊數(shù)量,Texp、Tmul、Tadd、Thash、Tp分別表示1次冪運(yùn)算、1次乘法運(yùn)算、1次加法運(yùn)算、1次哈希運(yùn)算、1次雙線性配對(duì)運(yùn)算所需的時(shí)間。由表3可知:在簽名和證據(jù)驗(yàn)證階段,本文方案的計(jì)算開銷與副本數(shù)量幾乎無關(guān),而文獻(xiàn)[17-19]方案與副本數(shù)量線性相關(guān);在證據(jù)生成階段,本文方案僅需計(jì)算c次取冪運(yùn)算,而文獻(xiàn)[17-18]方案需進(jìn)行cs次取冪運(yùn)算。因此,和文獻(xiàn)[17-19]方案相比,本文方案具有較高的計(jì)算效率。

表3 4種方案的計(jì)算開銷對(duì)比Table 3 Computational overhead comparison of four schemes
對(duì)本文方案和文獻(xiàn)[17-19]方案進(jìn)行仿真實(shí)驗(yàn),對(duì)比4種方案在簽名階段、證據(jù)驗(yàn)證階段的計(jì)算開銷,并用上述方案在簽名階段、證據(jù)驗(yàn)證階段所用時(shí)間作為計(jì)算開銷的評(píng)估指標(biāo)。實(shí)驗(yàn)環(huán)境為Intel?Core i7-5500U CPU、4 GB內(nèi)存以及版本號(hào)為0.4.7的PBC庫。
當(dāng)用戶數(shù)據(jù)塊數(shù)量為20、40、60、80、100且每個(gè)數(shù)據(jù)塊副本數(shù)量為2時(shí),本文方案和文獻(xiàn)[17-19]方案在簽名階段、證據(jù)驗(yàn)證階段的計(jì)算開銷對(duì)比情況分別如圖6、圖7所示。可以看出,隨著用戶數(shù)據(jù)塊數(shù)量的增加,本文方案和文獻(xiàn)[17-19]方案的簽名時(shí)間和證據(jù)驗(yàn)證時(shí)間都呈線性增長(zhǎng),但本文方案相較文獻(xiàn)[17-19]方案在這2個(gè)階段所用時(shí)間的增幅更小,因此,本文方案在簽名和證據(jù)驗(yàn)證階段的計(jì)算開銷更少。 當(dāng)用戶數(shù)據(jù)塊數(shù)量為50且每個(gè)數(shù)據(jù)塊副本數(shù)量為2、4、6、8、10時(shí),本文方案和文獻(xiàn)[17-19]方案在簽名階段、證據(jù)驗(yàn)證階段的計(jì)算開銷對(duì)比情況分別如圖8、圖9所示。可以看出:隨著數(shù)據(jù)塊副本數(shù)量的增加,文獻(xiàn)[17-18]方案的簽名時(shí)間和證據(jù)驗(yàn)證時(shí)間都呈線性增長(zhǎng),文獻(xiàn)[19]方案的簽名時(shí)間呈線性增長(zhǎng)但增幅大于文獻(xiàn)[17-18]方案,其證據(jù)驗(yàn)證時(shí)間雖保持恒定但多于本文方案;本文方案在這2個(gè)階段所用時(shí)間最少,且隨著數(shù)據(jù)塊副本數(shù)量的增加保持恒定。因此,和文獻(xiàn)[17-19]方案相比,本文方案在簽名和證據(jù)驗(yàn)證階段具有更高的計(jì)算效率。

圖6 4種方案在簽名階段的計(jì)算開銷隨數(shù)據(jù)塊數(shù)量的變化情況Fig.6 The change of computational overhead of four schemesin the signature phase with the number of data blocks

圖7 4種方案在證據(jù)驗(yàn)證階段的計(jì)算開銷隨數(shù)據(jù)塊數(shù)量的變化情況Fig.7 The change of computational overhead of four schemesin the evidence verification phase with the numberof data blocks

圖8 4種方案在簽名階段的計(jì)算開銷隨副本數(shù)量的變化情況Fig.8 The change of computational overhead of four schemesin the signature phase with the number of copies

圖9 4種方案在證據(jù)驗(yàn)證階段的計(jì)算開銷隨副本數(shù)量的變化情況Fig.9 The change of computational overhead of four schemesin the evidence verification phase with the number of copies
本文利用秘密分割思想,提出一種多用戶多副本云端數(shù)據(jù)公開審計(jì)方案,結(jié)合代理重簽名算法和多分支路徑樹進(jìn)行群組用戶安全撤銷與云端多副本數(shù)據(jù)動(dòng)態(tài)更新。安全性分析及實(shí)驗(yàn)結(jié)果表明,該方案能抵抗云服務(wù)器和被撤銷用戶的合謀攻擊,有效保護(hù)數(shù)據(jù)的隱私性并滿足審計(jì)健壯性,解決基于傳統(tǒng)公鑰密碼系統(tǒng)的證書管理問題,確保用戶數(shù)據(jù)副本在云端完整存儲(chǔ)。后續(xù)將設(shè)計(jì)格上多用戶多副本云端數(shù)據(jù)公開審計(jì)方案,避免方案安全性依賴于數(shù)學(xué)困難問題,從而更好地抵抗量子攻擊。