張 逢,文 斌,閆一非,曾昭武,周 偉
(1.海南師范大學信息科學技術(shù)學院,海南 海口 571158;2.海南師范大學云計算與大數(shù)據(jù)研究中心,海南 ???571158; 3.數(shù)據(jù)科學與智慧教育教育部重點實驗室(海南師范大學),海南 ???571158)
隨著5G、人工智能、云計算和物聯(lián)網(wǎng)等技術(shù)的融合創(chuàng)新,數(shù)據(jù)存儲需求迅速增加。用戶將數(shù)據(jù)外包給遠程云存儲服務(wù)器,但數(shù)據(jù)的安全性和計算可信度取決于云存儲服務(wù)器的信譽。然而,數(shù)據(jù)可能泄露或丟失[1],傳統(tǒng)的完整性審核技術(shù)在云環(huán)境中并不適用。為了保證外包數(shù)據(jù)的完整性,Juels等人[2]提出了“可檢索性證明”PoR(Proof of Retrievability)方案,該方案在數(shù)據(jù)中嵌入哨點值以進行數(shù)據(jù)完整性審計。Ateniese等人[3]引入了可證明數(shù)據(jù)擁有PDP(Provable Data Possession)的概念,并引入了第三方審計TPA(Third-Party Auditor)來驗證公共場景中數(shù)據(jù)的正確性,然而這些操作不支持數(shù)據(jù)動態(tài)性。為了支持數(shù)據(jù)動態(tài)性,Ateniese等人[4]提出了第一個支持部分數(shù)據(jù)動態(tài)性的PDP方案。隨后,許多數(shù)據(jù)完整性審計方案專注于支持完整的數(shù)據(jù)動態(tài)。Wang等人[5]開發(fā)了一種基于默克爾哈希樹MHT(Merkle Hash Tree)的方法,以支持公共審計和全面的數(shù)據(jù)動態(tài)。然而,如果塊索引未得到正確性驗證,惡意云存儲服務(wù)器可以通過選擇另一個塊及其有效性證明來欺騙云用戶。之后,Barsoum等人[6]提出了第一個基于改進的MHT的動態(tài)多副本PDP方案,稱為基于樹的多副本PDP,即TB-PMDDP(Tree-Based Provable Multi-copy Dynamic Data Possession)。然而,該方案不驗證塊的位置,導致無法抵抗替換攻擊。為了解決這個問題,Liu等人[7]提出了一種基于MHT的新型認證數(shù)據(jù)結(jié)構(gòu),解決了經(jīng)典MHT中塊索引缺乏認證的問題。但是,此方法需要單獨驗證所有副本以查找損壞的副本,導致計算和通信開銷隨著副本數(shù)量的增加而線性增加。Shen等人[8]設(shè)計了一種結(jié)合雙鏈接信息表和位置數(shù)組的動態(tài)結(jié)構(gòu),以有效地支持數(shù)據(jù)動態(tài),但未考慮數(shù)據(jù)新鮮度。
為了增強數(shù)據(jù)的可靠性和持久性,Curtmola等人[9]提出了基于RSA(Rivest-Shamir-Adleman)標簽的多副本解決方案,但僅適用于靜態(tài)文件。為了識別損壞的副本,Barsoum等人[10]開發(fā)了一種不支持動態(tài)操作的多副本解決方案。Zhu等人[11]提出了協(xié)作PDP方案,用于在多云環(huán)境中檢查數(shù)據(jù)完整性。該方案指定一個云存儲服務(wù)器作為組織者,通過與其他云服務(wù)提供商的交互來完成審計過程。但是,該方案存在一個缺陷,即使所有外包數(shù)據(jù)都受到損害,惡意云服務(wù)提供商仍然可以生成有效證明。He等人[12]提出了一個專門為多云存儲設(shè)計的可公開驗證的批量審計方案。該方案也引入了組織者,在不同的云服務(wù)提供商之間分發(fā)數(shù)據(jù)文件,并協(xié)助分配質(zhì)詢請求,并在審計階段合并不同提供商生成證明。Wang[13]提出了基于身份的分布式PDP方案ID-DPDP(IDentity-based Distributed Provable Data Possession),其中組織者負責轉(zhuǎn)發(fā)塊標簽并向云服務(wù)提供商發(fā)送請求,然后在多云存儲場景中組合來自不同提供商的證明。然而,Peng等人[14]發(fā)現(xiàn)ID-DPDP方案未能實現(xiàn)其聲稱的安全目標,因為即使所有數(shù)據(jù)都被丟棄,云服務(wù)提供商仍然可以生成有效證明,隨后提出了一個新的解決方案來解決這個問題。然而,Lan等人[15]指出,在文獻[14]的解決方案中,惡意云服務(wù)提供商仍然可以在沒有完整的外包數(shù)據(jù)的情況下生成有效證明,從而引入安全漏洞。在文獻[15]中他們提供了一個修改方案來解決該問題。此外,Li等人[16]將多副本存儲策略與區(qū)塊鏈技術(shù)相結(jié)合,引入了適用于分布式存儲服務(wù)的可公開驗證結(jié)構(gòu),解決了與集中存儲相關(guān)的單點故障問題。Zhou等人[17]利用隨機掩碼技術(shù)生成可區(qū)分的副本塊,并提出了一種具有改進Merkle哈希樹的多副本數(shù)據(jù)完整性審計方案,用于動態(tài)操作。然而,他們的完整性審計方案M2HT(Multicopy Merkle Hash Tree)并沒有專門識別哪個副本塊已損壞。Li等人[18]提出了一種基于身份的多云存儲多副本PDP方案,然而該方案需要向不同的云服務(wù)提供商交付不同的副本,從而導致額外的存儲和通信開銷。多副本方案中大多數(shù)PDP協(xié)議都是基于PKI(Public Key Infrastructure)技術(shù),這給證書管理成本帶來了沉重的負擔。
本文基于文獻[19]的身份加密,提出了一種新的基于身份的多云多副本PDP協(xié)議IDM2PDP(IDentity-based Multi-cloud Multi-copy Provable Data Possession)。該協(xié)議基于身份加密來簡化證書管理,并設(shè)計了一種新的安全數(shù)據(jù)結(jié)構(gòu),稱為雙層默克爾哈希樹D-MHT(Double Merkle Hash Tree)。D-MHT不僅支持數(shù)據(jù)的動態(tài)修改,而且還可以保證副本的一致性和新鮮度,且可以定位損壞的數(shù)據(jù)塊,便于通過其他副本對損壞的數(shù)據(jù)塊進行恢復,提高存儲的健壯性。IDM2PDP還支持同一用戶多文件的批處理審計。每個云存儲服務(wù)器都維護一個D-MHT。D-MHT的根哈希與其對應(yīng)的云存儲服務(wù)器的唯一標識符進行關(guān)聯(lián)。在總簽名上,所有的根哈希及其對應(yīng)的云服務(wù)提供商的唯一標識符與秘密時間戳、文件唯一標識符、用戶的唯一標識符進行關(guān)聯(lián),以確保文件與D-MHT之間的關(guān)聯(lián)性和標簽的新鮮度,從而確保根哈希的標簽無法被生成或替換。性能評估和實驗評估結(jié)果表明,相對于PDP-D[18],IDM2PDP效率更高、計算成本更低。
本文需要用到一些符號說明如表1所示。
Table 1 Symbols description表1 符號說明
考慮2個q階的乘法循環(huán)群G和GT,其中q是素數(shù)。e:G×G→GT為雙線性映射,滿足如下性質(zhì):
(2)非退化性:?P,Q∈G,e(P,Q)≠1;
(3)可計算性:?P,Q∈G,存在一種有效的算法可以計算e(P,Q)。
本文所提出的方案IDM2PDP的系統(tǒng)模型如圖1所示,該模型包括5個實體:
(1)私鑰生成器PKG(Private Key Generator):負責生成系統(tǒng)的公共參數(shù)、主公鑰、主密鑰以及數(shù)據(jù)所有者的私鑰。
(2)數(shù)據(jù)所有者DO(Data Owner):指擁有大量數(shù)據(jù)文件但資源有限的個人、公司或商業(yè)組織等實體。
(3)第三方審計(TPA):指對DO數(shù)據(jù)進行完整性審計的實體,減輕了DO數(shù)據(jù)審計的計算負擔。
(4)云存儲服務(wù)器CSS(Cloud Storage Ser- ver):指具有足夠計算能力和無限存儲空間的實體,負責保存外包數(shù)據(jù)。
(5)云管理服務(wù)器CMS(Cloud Manage Ser- ver):在存儲文件副本時,DO將文件副本發(fā)送給CMS,CMS根據(jù)DO的請求,將不同的副本分發(fā)給目標CSS。需要審計文件完整性時,DO委托TPA,TPA將挑戰(zhàn)發(fā)送給CMS,CMS將挑戰(zhàn)分發(fā)給目標CSS。收到所有CSS返回的證明后,CMS聚合完整證明并回復給TPA。
Figure 1 System model圖1 系統(tǒng)模型
本文假設(shè)CSS和CMS是半可信實體,它們能遵循協(xié)議,但在數(shù)據(jù)損壞的情況下可能向TPA提供虛假信息。TPA也被認為是半可信實體,能誠實地執(zhí)行數(shù)據(jù)完整性驗證并將真實結(jié)果返回給DO,但對DO的數(shù)據(jù)有好奇心。
定義1(IDM2PDP方案) 該方案包括9個多項式時間算法:Setup,Extract,CopyGen,TagGen,AuthGen,ChalGen,ProofGen,ProofAgg,ProofVerify。
(1)Setup(1λ):該算法由PKG執(zhí)行,輸入安全參數(shù)λ,輸出主密鑰和系統(tǒng)公共參數(shù)。
(2)Extract(param,x,Uid):該算法由PKG完成,輸入主秘鑰x、DO的唯一標識Uid和系統(tǒng)公共參數(shù)param,輸出DO私鑰sk。
(3)CopyGen(F,N):DO執(zhí)行該算法生成文件副本。輸入原始文件F和備份數(shù)N,輸出F的副本集D={Fi}1≤i≤N。
(4)TagGen(D,σid,Uid,Fid):該算法由DO運行,為每個副本Fi生成標簽。輸入為副本集D={Fi}1≤i≤N、DO密鑰σid、用戶唯一標識Uid和文件唯一標識Fid。輸出為標簽集θ={ψi}1≤i≤N,其中ψi={ψij}1≤j≤n,以及文件簽名sigF和所有D-MHT樹根的總簽名sigR。
(5)AuthGen(TPAid,Fid,σid):該算法由DO運行,創(chuàng)建TPA的授權(quán)信息。輸入TPA的唯一標識TPAid和DO的密鑰σid,生成挑戰(zhàn)信息Chal=(num,k1,k2)、授權(quán)信息auth,并計算授權(quán)簽名sigauth,用于防止非法TPA進行完整性審計。
(6)ChalGen(sigauth,auth):該算法由TPA執(zhí)行,發(fā)送Chal和auth及其簽名sigauth給CMS。
(7)ProofGen(FSc,TSc,Chal):該算法由CSS執(zhí)行,設(shè)其唯一標識符為Cidc。輸入為文件副本集FSc、對應(yīng)標簽集TSc和Chal。輸出為完整性證明Pc。
(8)ProofAgg({Pc}(1≤c≤L)):由CMS運行,聚合所有CSS的完整性證明。輸入每個CSS的完整性證明集合{Pc}(1≤c≤L),其中L為CSS的個數(shù),輸出最終完整性證明Pf。
(9)ProofVerify(Uid,h,Chal,Pf):TPA執(zhí)行該算法,通過驗證完整性證明Pf檢驗數(shù)據(jù)的完整性。輸入為挑戰(zhàn)Chal、DO的唯一標識Uid、文件的秘密信息h和完整性證明Pf。只有當Pf通過驗證時才會輸出1,否則輸出0。
定義2一個IDM2PDP協(xié)議是安全的,如果對于任何概率多項式時間PPT的對手A在一組文件塊上贏得IDM2PDP游戲的概率是可以忽略的。
對手A和挑戰(zhàn)者C之間的IDM2PDP博弈可以描述為:
(1)初始階段:挑戰(zhàn)者C運行Setup(1λ),將(param,mpk)發(fā)送給對手A,并保留主密鑰msk。
(2)副本生成階段:C執(zhí)行CopyGen獲取原始文件的所有副本。
(3)查詢階段:對手A自適應(yīng)地向挑戰(zhàn)者C發(fā)出若干個不同的查詢:
①哈希查詢:對手A隨時進行哈希函數(shù)查詢。挑戰(zhàn)者C用相應(yīng)的哈希值回應(yīng)對手A。
②標簽查詢:對手A以隨機方式進行塊標簽對查詢。挑戰(zhàn)者C接收到對手A的查詢mij后,執(zhí)行TagGen計算標簽ψij并發(fā)送回對手A。
(4)證據(jù)驗證:對手A執(zhí)行ProofGen和ProofAgg,為文件中任何身份為ID的塊生成完整性證明。對手A將證明發(fā)送給挑戰(zhàn)者C。挑戰(zhàn)者C執(zhí)行ProofVerify算法檢查這些證明,并將結(jié)果返回給對手A。
(5)偽造階段:對手A根據(jù)Chal指示的數(shù)據(jù)塊,計算并返回完整性證明Pf。若通過證明,則表示對手A在IDM2PDP博弈中獲勝。
(1)Setup(1λ):PKG生成主密鑰和系統(tǒng)公共參數(shù)。
③PKG發(fā)布系統(tǒng)參數(shù)param=(G,GT,q,g,e,H1,H2,Y,f,π)。
(2)Extract(param,x,Uid):PKG計算該算法并將私鑰發(fā)送給DO,DO檢查收到的私鑰的有效性。
②DO使用TagGen驗證私鑰,若通過驗證gσid=Rid·YH2(Rid,Uid),則接受skid。
Figure 2 Construction process of D-MHT圖2 D-MHT構(gòu)建過程
(6)ChalGen(sigauth,auth):TPA發(fā)送Chal=(num,k1,k2)和auth及其簽名sigauth給CMS。CMS收到后,首先驗證TPA的合法性。若通過驗證,則根據(jù)Fid搜索對應(yīng)的Tab,并將Chal發(fā)送到每個CSS。假設(shè)Cidc存儲的副本集及其對應(yīng)的標簽集為FSc和TSc,副本數(shù)量為βc,對應(yīng)的副本索引為ISc。
(1)
(2)
(3)
(4)
并回復證明Pc={σc,{μck}(1≤k≤s),Ωc}給CMS,其中Ωc=(Cidc,H(mwtt),AIsub(wt),AImaster(t))t∈P,AIsub(wt)是第t棵子樹的第wt節(jié)點的輔助信息,包括從第wt個節(jié)點生成到根節(jié)點rj所需的相關(guān)節(jié)點信息。同樣,AImaster(t)是主樹中第t個節(jié)點的輔助信息。
(9)ProofVerify(Uid,h,Chal,Pf):收到Pf后,TPA首先通過式(5)檢查文件簽名sigF是否為DO的有效簽名。如果無效,TPA拒絕證明并告知DO。
(5)
如果簽名有效,則TPA恢復使用U、Rid和st。接下來TPA使用{Ωc}1≤c≤L驗證所有副本是否一致。首先使用(H(mwtt),AIsub(wt))生成子樹的根rj,再使用(rj,AImaster(t))生成對應(yīng)于Cidc的主樹根Rc。同理獲得其他Cid的主樹根,并使用Cidc和Rc計算B=H(Cidc‖Rc){1≤c≤L},最后計算HR=H(B‖F(xiàn)id‖Uid‖st)。然后通過式(6)驗證簽名:
(6)
(7)
如果CMS誠實地響應(yīng)Pf,則所提出的協(xié)議是準確的。另一方面,如果已刪除任意文件塊或未對文件塊進行任何修改,則式(7)將不成立。
3.5.1 修改
對于文件F={mj}1≤j≤n,假設(shè)在st′時,將mj修改為m′j,DO執(zhí)行以下操作:
(2)CMS根據(jù)Tab,將新的數(shù)據(jù)塊和標簽分發(fā)給涉及到的Cidc。CSS收到后執(zhí)行以下操作:
①將mij替換為m′ij。
②將ψij替換為ψ′ij。
③將H(mij)替換為H(m′ij),生成新的第j個子樹,并生成新的主樹根R′c。
④回復Pc={rj,AImaster(j),Rc}給CMS。
(3)CMS將Pf=({Pc}1≤c≤L,sigR,sigF,Rid,U)返回給DO。 當DO收到Pf時,首先根據(jù)式(5)檢查文件簽名sigF的有效性,接著根據(jù)式(6)驗證每個Cidc的D-MHT根Rc。如果通過驗證,DO根據(jù)Tab生成每個Cidc對應(yīng)的第j棵子樹,并得到子樹根r′j。然后使用{r′j,AImaster(j)}計算每個Cidc的新主樹根R′c,并利用所有主樹根生成新簽名sig′R=H(B′‖F(xiàn)id‖Uid‖st′)σid,其中B′=H(Cidc‖Rc′){1≤c≤L}。完成所有主樹根的簽名后,DO更新文件F的簽名。更新h中的st為st′,并計算sig′F=(H1(h))σid作為文件F的簽名。DO將{sig′R,sig′F}發(fā)送到CMS。最后DO對新塊執(zhí)行默認的完整性審核協(xié)議。如果驗證通過,則DO可以從其本地系統(tǒng)中刪除{m′ij,sig′F,sig′R}。
3.5.2 插入
假設(shè)DO在st′時刻插入一個數(shù)據(jù)塊m′j,必須執(zhí)行以下操作:
(2)CMS根據(jù)Tab將新的數(shù)據(jù)塊和標簽分發(fā)給相關(guān)的Cidc,CSS收到后執(zhí)行以下操作:
①生成新塊組成的新子樹,計算新子根r′j,將其于原先位置的根rj作為兄弟葉節(jié)點,并生成主樹的新根哈希R′c(參見圖3)。
②向CMS回復Pc={rj,AImaster(j),Rc}。
Figure 3 Insertion process of a new data block m′j in D-MHT圖3 D-MHT中新數(shù)據(jù)塊m′j的插入過程
(3)CMS將證據(jù)Pf=({Pc}1≤c≤L,sigR,sigF,Rid,U)返回給DO。當DO收到Pf時,首先根據(jù)式(5)檢查文件簽名sigF的有效性;接著再根據(jù)式(6)驗證每個Cidc的D-MHT的根Rc。如果驗證通過,DO根據(jù)Tab生成每個Cidc對應(yīng)的第j棵子樹,得到子樹根r′j;然后使用{r′j,AImaster(j))}計算每個Cidc的新主樹根R′c,并利用所有主樹根生成新的簽名sig′R=H(B′‖F(xiàn)id‖Uid‖st′)σid,其中B′=H(Cidc‖R′c){1≤c≤L}。完成所有主樹根的簽名后,DO更新文件F的簽名。將h中的st更新為st′,并計算sig′F=(H1(h))σid作為文件F的簽名。DO將{sig′R,sig′F}發(fā)送到CMS。最后DO對新塊執(zhí)行默認的完整性審核協(xié)議。如果驗證通過,則DO可以從其本地系統(tǒng)中刪除{m′ij,sig′F,sig′R}。
3.5.3 刪除
對于文件F={mj}1≤j≤n,若在系統(tǒng)時間st′刪除mj,DO需執(zhí)行以下操作:刪除的最初幾個步驟類似于插入的。數(shù)據(jù)刪除消息為(D,j),其中D特指“Deletion”。每個Cidc從其主樹中刪除第j棵子樹。父節(jié)點的相對索引值和哈希值也會更新。之后的所有的刪除步驟與插入步驟類似,故在此省略。
定理1(正確性) 在IDM2PDP方案中,如果DO、授權(quán)的TPA、CMS和CSS在完整性審計過程中表現(xiàn)誠實,TPA就能驗證數(shù)據(jù)的完整性。
證明具體來說,證明IDM2PDP的正確性等價于證明式(7)成立。具體證明過程如式(8)所示:
(8)
□
根據(jù)式(8)可以確保式(7)的正確性。
定理2(安全性) 在IDM2PDP方案中,未經(jīng)授權(quán)的實體無法在審計過程中從收集的信息中獲取DO的任何數(shù)據(jù)內(nèi)容。
證明假設(shè)哈希函數(shù)是抗碰撞的,所選簽名算法是安全的。
(1)單個標簽是不可偽造的,因為沒有DO的秘密信息st。
(9)
與實際證明的式(10)進行比較,至少有一個μk′=μk。
(10)
□
定理3(支持授權(quán)審計) 在IDM2PDP方案中,若TPA未經(jīng)DO授權(quán),或授權(quán)已經(jīng)逾期,則TPA不能向CMS發(fā)起挑戰(zhàn)。
證明TPA首先將其身份TPAid發(fā)送到DO以獲取授權(quán)信息auth。隨后,TPA將隨機挑戰(zhàn)Chal,連同auth和sigauth一起發(fā)送到CMS。收到挑戰(zhàn)后,CMS驗證認證的有效性,如果驗證失敗,CMS將拒絕該挑戰(zhàn)。
□
設(shè)Tpair、Texp和Tmul分別表示群G中1次配對、取冪和乘法運算的時間。其他操作,如Zq中的哈希、加法和乘法的時間可以省略,因為它們的時間幾乎可以忽略不計。假設(shè)DO在L個CSS上存儲了N個副本,第c個CSS的副本數(shù)為βc,每個副本有n個塊,每個塊被分成s個扇區(qū)。若有num個挑戰(zhàn),為了生成N個副本,算法CopyGen需要運行N次加密算法E。假設(shè)E的時間為TE,那么CopyGen的計算成本為N×TE。那么為所有副本生成所有標簽,算法TagGen的時間開銷為Nn(2Texp+Tmul)+sTexp。算法ChalGen花費的時間很小,可以忽略不計。每個CSS都運行ProofGen來生成完整性證明,ProofGen的時間開銷為numβc(Texp+Tmul)。CMS運行算法ProofAgg花費LTmul來聚合所有證明。為了檢查文件完整性,TPA運行算法ProofVerify,其時間開銷為3Tpair+(N+s+3)Texp+(N+s+3)Tmul。本文對IDM2PDP方案與PDP-D[18]方案在計算開銷和功能方面進行了比較,具體情形分別如表2和表3所示。其中,βc為最大副本數(shù)。
Table 2 Time comparison between PDP-D and IDM2PDP表2 IDM2PDP與PDP-D時間比較
Table 3 Functional comparison between PDP-D and IDM2PDP表3 IDM2PDP與PDP-D功能比較
本文實驗使用了GMP(GNU Multiple Precision)庫6.2.1版本[20]和PBC(Pairing-Based Cryptography)庫0.5.14版本[21]進行A型配對,使用加密庫OpenSSL(Open Secure Sockets Layer)3.0.7版本[22]來實現(xiàn)哈希操作中的SHA256(Secure Hash Algorithm 256-bit)和加密操作AES(Advanced Encryption Standard)來實現(xiàn)加密。該協(xié)議在同一臺計算機上運行。機器配置為:WSL2 Ubuntu 22.04.2LTS操作系統(tǒng)、2.80 GHz Intel?CoreTMCPU i7-7700HQ和16 GB RAM。
PDP方案的主要計算開銷集中在生成和驗證階段,因為涉及到雙線性配對、指數(shù)運算和乘法運算等時間成本較高的操作。為了確保損壞數(shù)據(jù)的檢測概率超過0.99,根據(jù)文獻[5]設(shè)置相關(guān)參數(shù):n=5000和num=460。由于方案還涉及扇區(qū),設(shè)置s=50。由于PDP-D方案不支持多個CSS,且即便有多個CSS進行,也只需要比較一個CSS即可,因此對于IDM2PDP方案,設(shè)置L=1。每個數(shù)據(jù)塊最多存儲20字節(jié),因此存儲能力因方案而異。對于PDP-D,準備的文件大小約為97 KB,而本文方案準備的文件大小為4 MB。
實驗結(jié)果通過10次實驗得出。圖4為TagGen的時間開銷。從圖4可以看出,在TagGen階段,時間開銷隨著N增大而增大,與PDP-D相比,IDM2PDP效率更高。
Figure 4 Time cost of TagGen圖4 TagGen時間開銷
圖5和圖6分別為ProofGen和ProofVerify的時間開銷。從圖5可以看出,在ProofGen階段,時間開銷隨著副本數(shù)N的增加而增大,但在相同的副本數(shù)下,IDM2PDP效率提高了約50%。從圖6可以看出,在ProofVerify階段,盡管IDM2PDP的時間開銷與N呈線性關(guān)系,但與PDP-D相比,IDM2PDP驗證效率提高了約20%。實驗結(jié)果表明,在相同的備份數(shù)和塊數(shù)下,IDM2PDP有更大的存儲能力和更低的計算成本,因此比PDP-D更優(yōu)。
Figure 5 Time cost of ProofGen圖5 ProofGen時間開銷
Figure 6 Time cost of ProofVerify圖6 ProofVerify時間開銷
本文提出了一種基于身份的多云多副本云數(shù)據(jù)完整性審計協(xié)議(IDM2PDP),用于檢查多云存儲服務(wù)器上的多個副本。在CDH假設(shè)下,證明了該協(xié)議的安全性。該協(xié)議的顯著特征是通過D-MHT可以確認CSS所管理的副本的一致性和新鮮性,并且能夠確定受損塊。每個CSS的D-MHT根哈希與其Cid關(guān)聯(lián),并在最后的總簽名sigR中關(guān)聯(lián)時間戳、Fid和Uid,保證了數(shù)據(jù)的新鮮性和文件、DO以及所有根哈希之間的對應(yīng)關(guān)系,彌補了現(xiàn)有方案的不足。該協(xié)議能有效支持數(shù)據(jù)隱私保護、數(shù)據(jù)公共審計、數(shù)據(jù)動態(tài)和數(shù)據(jù)新鮮性。實驗結(jié)果和安全性證明表明,IDM2PDP是一種安全高效的審計方案。下一步工作將解決基于身份的多云多副本審計中替換攻擊的問題,以實現(xiàn)更加安全的方案。