徐光偉 白艷珂 燕彩蓉 楊延彬 黃永鋒
(東華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 上海 201620)
(gwxu@dhu.edu.cn)
大數(shù)據(jù)存儲(chǔ)中數(shù)據(jù)完整性驗(yàn)證結(jié)果的檢測(cè)算法
徐光偉 白艷珂 燕彩蓉 楊延彬 黃永鋒
(東華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 上海 201620)
(gwxu@dhu.edu.cn)
云存儲(chǔ)作為云計(jì)算中最為廣泛的應(yīng)用之一,給用戶帶來(lái)了便利的接入和共享數(shù)據(jù)的同時(shí),也產(chǎn)生了數(shù)據(jù)損壞和丟失等方面的數(shù)據(jù)完整性問(wèn)題.現(xiàn)有的遠(yuǎn)程數(shù)據(jù)完整性驗(yàn)證中都是由可信任的第三方來(lái)公開執(zhí)行數(shù)據(jù)完整性驗(yàn)證,這使得驗(yàn)證者有提供虛假偽造的驗(yàn)證結(jié)果的潛在威脅,從而使得數(shù)據(jù)完整性驗(yàn)證結(jié)果不可靠,尤其是當(dāng)他與云存儲(chǔ)提供者合謀時(shí)情況會(huì)更糟.提出一種數(shù)據(jù)驗(yàn)證結(jié)果的檢測(cè)算法以抵御來(lái)自不可信驗(yàn)證結(jié)果的偽造欺騙攻擊,算法中通過(guò)建立完整性驗(yàn)證證據(jù)和不可信檢測(cè)證據(jù)的雙證據(jù)模式來(lái)執(zhí)行交叉驗(yàn)證,通過(guò)完整性驗(yàn)證證據(jù)來(lái)檢測(cè)數(shù)據(jù)的完整性,利用不可信檢測(cè)證據(jù)判定數(shù)據(jù)驗(yàn)證結(jié)果的正確性,此外,構(gòu)建檢測(cè)樹來(lái)確保驗(yàn)證結(jié)果的可靠性.理論分析和模擬結(jié)果表明:該算法通過(guò)改善有效的驗(yàn)證結(jié)果來(lái)保證驗(yàn)證結(jié)果的可靠性和提高驗(yàn)證效率.
數(shù)據(jù)完整性驗(yàn)證;不可信驗(yàn)證結(jié)果;驗(yàn)證結(jié)果檢測(cè);雙證據(jù);檢測(cè)樹
云計(jì)算是基于互聯(lián)網(wǎng)相關(guān)服務(wù)的可動(dòng)態(tài)擴(kuò)展的虛擬化資源,它通過(guò)網(wǎng)絡(luò)方便地按需接入和較小代價(jià)可使得用戶獲取服務(wù)提供者的網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)和應(yīng)用等資源池中的可配置計(jì)算資源[1].云存儲(chǔ)作為云計(jì)算中最有潛力的一種應(yīng)用,是通過(guò)互聯(lián)網(wǎng)可動(dòng)態(tài)擴(kuò)展虛擬化存儲(chǔ)的一種方式.云存儲(chǔ)在給用戶帶來(lái)方便的同時(shí),也會(huì)因?yàn)橛脩羰チ藢?duì)自己數(shù)據(jù)的絕對(duì)控制權(quán),而使得用戶數(shù)據(jù)的可用性和安全性受到威脅.在云存儲(chǔ)的服務(wù)模式下,擁有可接入網(wǎng)絡(luò)的用戶設(shè)備既可以隨時(shí)隨地訪問(wèn)自己存儲(chǔ)在云服務(wù)器中的數(shù)據(jù),又能方便地按照一定規(guī)則與其他用戶設(shè)備之間共享數(shù)據(jù).云存儲(chǔ)在為用戶帶來(lái)便利的同時(shí),也會(huì)因自身的問(wèn)題如病毒攻擊、操作失誤和來(lái)自網(wǎng)絡(luò)的惡意攻擊等,損壞或丟失用戶存儲(chǔ)的數(shù)據(jù).甚至當(dāng)數(shù)據(jù)損失發(fā)生時(shí),云存儲(chǔ)服務(wù)提供者(cloud storage provider, CSP)為維護(hù)自身利益和聲譽(yù),常隱瞞數(shù)據(jù)丟失或損壞.非預(yù)期的數(shù)據(jù)丟失或損壞會(huì)給數(shù)據(jù)完整性和可靠性帶來(lái)災(zāi)難性后果[2].為避免云存儲(chǔ)中的數(shù)據(jù)損失,使用戶在有限的計(jì)算能力下確保大規(guī)模數(shù)據(jù)存儲(chǔ)的完整性,Deswarte等人[3]提出一種基于加密的方法來(lái)驗(yàn)證遠(yuǎn)程數(shù)據(jù)的完整性,此后,遠(yuǎn)程數(shù)據(jù)存儲(chǔ)的完整性驗(yàn)證成為解決這種問(wèn)題的關(guān)鍵技術(shù)[4].
目前很多數(shù)據(jù)完整性驗(yàn)證算法被提出[5-25],這些算法主要分為可證明的數(shù)據(jù)持有技術(shù)(provable data possession, PDP)和可恢復(fù)證明技術(shù)(proof of retrievablity, POR)兩大類,分別從驗(yàn)證的可公開性、動(dòng)態(tài)數(shù)據(jù)、無(wú)狀態(tài)驗(yàn)證、無(wú)塊驗(yàn)證、批量驗(yàn)證、隱私保護(hù)、數(shù)據(jù)機(jī)密性、多云多副本驗(yàn)證等方面進(jìn)行了研究,但這些算法都基于數(shù)據(jù)驗(yàn)證者(data verifier,DV)會(huì)提供可靠的驗(yàn)證結(jié)果而忽視了其不可信所帶來(lái)的問(wèn)題.這是由于在實(shí)際的開放云存儲(chǔ)環(huán)境中,并不存在絕對(duì)可靠的數(shù)據(jù)驗(yàn)證者,他們也會(huì)因自私或惡意而對(duì)數(shù)據(jù)驗(yàn)證結(jié)果的準(zhǔn)確性和可靠性造成危害.本文提出一種數(shù)據(jù)驗(yàn)證結(jié)果的檢測(cè)算法以抵御來(lái)自不可信驗(yàn)證結(jié)果的偽造欺騙攻擊,主要貢獻(xiàn)有4個(gè)方面:
1) 生成完整性驗(yàn)證證據(jù)來(lái)檢測(cè)數(shù)據(jù)的完整性;
2) 生成不可信檢測(cè)證據(jù)來(lái)判定數(shù)據(jù)驗(yàn)證結(jié)果的正確性;
3) 通過(guò)構(gòu)建驗(yàn)證結(jié)果的檢測(cè)樹來(lái)抵御偽造欺騙攻擊和驗(yàn)證結(jié)果的不可篡改性;
4) 利用雙證據(jù)來(lái)執(zhí)行交叉驗(yàn)證以確保數(shù)據(jù)完整性驗(yàn)證結(jié)果的可靠性.
遠(yuǎn)程數(shù)據(jù)完整性驗(yàn)證隨著云存儲(chǔ)應(yīng)用的不斷普及,越來(lái)越受到科學(xué)界和工業(yè)界的關(guān)注.自從Ateniese等人[5]和Juels等人[6]分別提出PDP和POR驗(yàn)證方案以來(lái),出現(xiàn)了大量的遠(yuǎn)程數(shù)據(jù)完整性驗(yàn)證算法.
Ateniese等人[5]首次提出數(shù)據(jù)持有性證明的PDP模型,并利用RSA同態(tài)技術(shù)來(lái)驗(yàn)證遠(yuǎn)程存儲(chǔ)數(shù)據(jù)的完整性,方案中采用隨機(jī)抽樣技術(shù)進(jìn)行概率性驗(yàn)證,以減少數(shù)據(jù)驗(yàn)證過(guò)程中的計(jì)算量和通信量,但這種方法并不支持遠(yuǎn)程數(shù)據(jù)的動(dòng)態(tài)操作.Juels等人[6]首次探索可恢復(fù)證明的 POR模型來(lái)確保遠(yuǎn)程數(shù)據(jù)存儲(chǔ)可持有和可提取.Hovav等人[7]提出一種支持?jǐn)?shù)據(jù)恢復(fù)的緊湊型POR.Erway等人[8]提出一種基于Rank的跳躍列表結(jié)構(gòu)實(shí)現(xiàn)支持全動(dòng)態(tài)(數(shù)據(jù)插入、刪除、增加、修改等)操作的PDP方案,但卻不能很好地保護(hù)用戶數(shù)據(jù)的隱私.為了提高遠(yuǎn)程數(shù)據(jù)驗(yàn)證的效率,Wang等人[9]利用Merkle Hash樹構(gòu)建了一種支持批量驗(yàn)證的方案,并同時(shí)支持?jǐn)?shù)據(jù)的動(dòng)態(tài)操作和公開校驗(yàn).后來(lái),Wang等人[10]進(jìn)一步利用隨機(jī)掩碼、加密盲化技術(shù)設(shè)計(jì)了一種能夠保護(hù)數(shù)據(jù)隱私的可公開驗(yàn)證方案,它不僅可以防止惡意攻擊者獲得用戶數(shù)據(jù)的真實(shí)內(nèi)容,也可以防止將真實(shí)內(nèi)容泄露給第三方驗(yàn)證者.Zhu等人[11]考慮多個(gè)云服務(wù)提供商在協(xié)同存儲(chǔ)和共同維護(hù)客戶數(shù)據(jù)的情況下,提出一種基于同態(tài)驗(yàn)證響應(yīng)和Hash索引層次的合作PDP方案.Yang等人[12]提出了一種高效和隱私保護(hù)的數(shù)據(jù)審計(jì)協(xié)議,以支持在沒(méi)有任何可信的組織者組織的情況下,多數(shù)據(jù)所有者和多個(gè)云存儲(chǔ)的數(shù)據(jù)動(dòng)態(tài)操作和批量審計(jì).Wang等人[13]使用代理重簽名技術(shù)允許云服務(wù)器在個(gè)別用戶撤銷簽名時(shí)代表仍然存在的用戶執(zhí)行對(duì)存儲(chǔ)數(shù)據(jù)的重簽名.我們?cè)谖墨I(xiàn)[14]中提出一種概率驗(yàn)證的算法以抵御遠(yuǎn)程數(shù)據(jù)存儲(chǔ)數(shù)據(jù)完整性遭受破壞時(shí)的欺騙攻擊.譚霜等人[25]提出一種基于格的數(shù)據(jù)完整性驗(yàn)證方法.
但上述這些算法都是在假設(shè)驗(yàn)證者完全可信的前提下,或者校驗(yàn)者只會(huì)竊取用戶的隱私數(shù)據(jù),并不會(huì)對(duì)數(shù)據(jù)驗(yàn)證本身有任何欺騙行為.只是在Armknecht等人[23]的工作中假定驗(yàn)證者在未執(zhí)行數(shù)據(jù)驗(yàn)證任務(wù)時(shí)給出欺騙數(shù)據(jù)所有者的驗(yàn)證結(jié)果,從而提出一種判定數(shù)據(jù)驗(yàn)證者的驗(yàn)證結(jié)果是否可信的檢測(cè)算法.算法中在用戶上傳文件之前,驗(yàn)證者也對(duì)文件生成一份驗(yàn)證標(biāo)簽.在挑戰(zhàn)時(shí),服務(wù)器對(duì)來(lái)自數(shù)據(jù)所有者和驗(yàn)證者的2個(gè)不同標(biāo)簽也生成相應(yīng)的驗(yàn)證證據(jù),以此來(lái)判斷驗(yàn)證者的結(jié)果是否保持一致.但這種算法需要在數(shù)據(jù)上傳之前,首先需要指定驗(yàn)證者身份(這有明顯的合謀攻擊之嫌),并且該驗(yàn)證者也需要存儲(chǔ)每次驗(yàn)證的日志文件(這將占用驗(yàn)證者的存儲(chǔ)空間).
數(shù)據(jù)的完整性是數(shù)據(jù)所有者進(jìn)行遠(yuǎn)程數(shù)據(jù)存儲(chǔ)時(shí)最為關(guān)注的核心,本文將研究數(shù)據(jù)存儲(chǔ)提供者和數(shù)據(jù)驗(yàn)證者都不可信時(shí)的驗(yàn)證檢測(cè)算法,以盡可能少的檢測(cè)計(jì)算、存儲(chǔ)和傳輸開銷,保證其可靠性和有效性.
2.1驗(yàn)證模型
我們選取現(xiàn)有的數(shù)據(jù)驗(yàn)證算法中普遍采用的基于第三方的可公開驗(yàn)證模型來(lái)描述數(shù)據(jù)完整性驗(yàn)證的過(guò)程和數(shù)據(jù)流向,如圖1所示:
Fig. 1 Data verification model圖1 數(shù)據(jù)驗(yàn)證模型圖
驗(yàn)證模型主要包括3個(gè)實(shí)體,即數(shù)據(jù)所有者(data owner, DO)、云存儲(chǔ)提供者和驗(yàn)證者.CSP為DO提供自由存取的數(shù)據(jù)存儲(chǔ)服務(wù)時(shí),也根據(jù)協(xié)議享受數(shù)據(jù)驗(yàn)證服務(wù).當(dāng)應(yīng)DV的請(qǐng)求對(duì)CSP發(fā)起數(shù)據(jù)完整性挑戰(zhàn)后,CSP根據(jù)DV提供的驗(yàn)證參數(shù)進(jìn)行計(jì)算,然后將證據(jù)返回給DV,DV比較數(shù)據(jù)證據(jù)和DO提供的數(shù)據(jù)標(biāo)簽來(lái)判定相應(yīng)的存儲(chǔ)數(shù)據(jù)是否完整或已損壞.數(shù)據(jù)驗(yàn)證過(guò)程由如下5個(gè)階段來(lái)描述.
1) KeyGen(·)→(sk,pk).DO利用密鑰生成算法產(chǎn)生公私密鑰對(duì)(其中sk為私鑰,pk為公鑰),并對(duì)外公布公鑰pk信息.
2) TagGen(sk,M)→Φ.DO利用自己的私鑰sk對(duì)數(shù)據(jù)塊集合M中的第i個(gè)數(shù)據(jù)塊mi(i∈[1,n])計(jì)算其相應(yīng)的數(shù)據(jù)標(biāo)簽ti,最后將所有的數(shù)據(jù)標(biāo)簽信息放入標(biāo)簽集合Φ中,即Φ={ti}.
3) ChalGen(M)→Ω.DV接受DO發(fā)布的數(shù)據(jù)驗(yàn)證任務(wù),對(duì)其中所包含的待驗(yàn)證數(shù)據(jù)塊mi產(chǎn)生挑戰(zhàn)隨機(jī)數(shù)vi,并和其相應(yīng)的數(shù)據(jù)塊索引組成挑戰(zhàn)集合Ω={i,vi},向CSP發(fā)起挑戰(zhàn).
4) ProofGen(M,Φ,Ω)→P.CSP接受DV的挑戰(zhàn)后,根據(jù)挑戰(zhàn)集合Ω和待驗(yàn)證的數(shù)據(jù)塊集合M、標(biāo)簽集合Φ等計(jì)算得到待驗(yàn)證數(shù)據(jù)塊的數(shù)據(jù)完整性證據(jù)集合,并將這些證據(jù)返回給DV作為判定依據(jù).
5) Verify(Ω,P,pk)→truefalse.DV利用DO的公鑰pk,Ω,P來(lái)判定CSP提供的數(shù)據(jù)完整性證據(jù),并將判定結(jié)果發(fā)送給DO.
本文做了如下一些假設(shè):
1) DV主動(dòng)承擔(dān)數(shù)據(jù)驗(yàn)證任務(wù)而不受CSP和DO控制,且DV數(shù)量足夠多可保證驗(yàn)證任務(wù)都能被執(zhí)行.
2) DV的不可信行為表現(xiàn)為返回給DO的驗(yàn)證結(jié)果是偽造的.其原因可能是自私或惡意(如自身設(shè)備性能和能耗受限等),使得他在無(wú)力承擔(dān)這些數(shù)據(jù)驗(yàn)證任務(wù)而做出偽證.
2.2對(duì)手模型
正如引言所述,現(xiàn)有的數(shù)據(jù)驗(yàn)證主要是針對(duì)云存儲(chǔ)提供者可能存在的數(shù)據(jù)損壞欺騙行為.而執(zhí)行數(shù)據(jù)驗(yàn)證任務(wù)的DV也可能返回虛假偽造的驗(yàn)證結(jié)果.此時(shí),由于現(xiàn)有的數(shù)據(jù)驗(yàn)證模型中沒(méi)有應(yīng)對(duì)的檢測(cè)機(jī)制,會(huì)導(dǎo)致DO在面對(duì)驗(yàn)證者的驗(yàn)證結(jié)果時(shí)只能盲目服從,而喪失了自己作為數(shù)據(jù)完整性驗(yàn)證的主體作用.此外,如果不可信CSP和DV進(jìn)行合謀欺騙,那會(huì)對(duì)DO造成更大的損失.
2.3問(wèn)題提出
從數(shù)據(jù)驗(yàn)證模型和對(duì)手攻擊中可以看出,需要在現(xiàn)有的模型中增加對(duì)不可信驗(yàn)證結(jié)果的檢測(cè),以解決現(xiàn)有算法中的3個(gè)問(wèn)題:
1) 識(shí)別CSP提供的不可信驗(yàn)證數(shù)據(jù);
2) 識(shí)別DV提供的不可信驗(yàn)證結(jié)果;
3) 識(shí)別不可信CSP和DV的合謀攻擊.
為便于描述,一些符號(hào)定義為:Q是挑戰(zhàn)集合;ti是數(shù)據(jù)塊mi的標(biāo)簽;P是完整性驗(yàn)證證據(jù);P′是不可信檢測(cè)證據(jù);sk是私鑰;pk1,pk2是2個(gè)公鑰;e是群G1,G2到群GT的雙線性映射;TP{·}是標(biāo)簽證據(jù);DP{·}是實(shí)際數(shù)據(jù)證據(jù).
3.1不可信驗(yàn)證結(jié)果的檢測(cè)證據(jù)生成
傳統(tǒng)的數(shù)據(jù)驗(yàn)證方案中,CSP接受DV的挑戰(zhàn)后,在ProofGen(·)階段根據(jù)挑戰(zhàn)集合Q和待驗(yàn)證的數(shù)據(jù)塊mi組成的數(shù)據(jù)集合M、標(biāo)簽集合Φ等計(jì)算待驗(yàn)證數(shù)據(jù)塊的數(shù)據(jù)完整性證據(jù)集合P,并將其返回給DV作為判定依據(jù).在我們的算法中,增加一個(gè)不可信驗(yàn)證結(jié)果的檢測(cè)證據(jù)以判別DV的虛假驗(yàn)證結(jié)果.
定義1. 完整性驗(yàn)證證據(jù). CSP接受DV的挑戰(zhàn)后,發(fā)送給DV的面向待驗(yàn)證數(shù)據(jù)所生成的完整性擁有的驗(yàn)證證據(jù),被標(biāo)記為P.
定義2. 不可信檢測(cè)證據(jù). CSP接受DV的挑戰(zhàn)后,發(fā)送給DO的面向DV的不可信驗(yàn)證結(jié)果的檢測(cè)證據(jù), 被標(biāo)記為P′.
為此,在ProofGen(·)階段,CSP除計(jì)算完整性驗(yàn)證證據(jù)以外,還要增加一個(gè)不可信驗(yàn)證結(jié)果的檢測(cè)證據(jù)P′,具體過(guò)程如下:
1) 在KeyGen(·)階段,在安全參數(shù)確定后,通過(guò)執(zhí)行概率性算法多產(chǎn)生一個(gè)公鑰pk2.
2) 在ProofGen(·)階段,不可信檢測(cè)證據(jù)P′={TP2,DP2}中實(shí)際數(shù)據(jù)證據(jù)DP2的計(jì)算公式為
其中,vi為p中選取的對(duì)應(yīng)于每個(gè)數(shù)據(jù)塊mi的一個(gè)隨機(jī)數(shù),r為p中任意選取的隨機(jī)數(shù),u為群G1中的一個(gè)元素,g2為群G2的生成元,R為挑戰(zhàn)標(biāo)記.
不可信檢測(cè)證據(jù)P′={TP2,DP2}中標(biāo)簽證據(jù)TP2的計(jì)算公式為
3)CSP發(fā)送檢測(cè)證據(jù)P′給DO作為不可信驗(yàn)證結(jié)果的檢測(cè)依據(jù).這些證據(jù)的生成算法見4.3節(jié).
3.2不可信驗(yàn)證結(jié)果的檢測(cè)
云存儲(chǔ)環(huán)境下的數(shù)據(jù)驗(yàn)證中,通常數(shù)據(jù)的驗(yàn)證量比較大.此外,驗(yàn)證者的設(shè)備能力差異,都制約著所有數(shù)據(jù)驗(yàn)證任務(wù)由一個(gè)DV來(lái)執(zhí)行,因此,驗(yàn)證任務(wù)可由多個(gè)DV采用分布式處理的方式來(lái)執(zhí)行.在此,我們以一個(gè)DV所完成的數(shù)據(jù)驗(yàn)證結(jié)果為例,來(lái)研究其不可信驗(yàn)證結(jié)果的檢測(cè)方法.為避免檢測(cè)過(guò)程中DV為應(yīng)對(duì)DO的檢測(cè)而臨時(shí)篡改數(shù)據(jù),我們引入Merkle Hash樹技術(shù)[26]來(lái)建立驗(yàn)證結(jié)果的檢測(cè)樹.
Merkle Hash樹是一棵二叉樹,其每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)數(shù)據(jù)塊mi的驗(yàn)證結(jié)果Ri,每個(gè)非葉子節(jié)點(diǎn)值為其子節(jié)點(diǎn)的Hash值,最后構(gòu)成檢測(cè)樹由DV發(fā)送給DO.為區(qū)分不同數(shù)據(jù)塊的驗(yàn)證結(jié)果,我們用每個(gè)數(shù)據(jù)塊mi的身份標(biāo)識(shí)mi,id和DV的驗(yàn)證結(jié)果(truefalse)組合而成,即mi→Ri.給定一個(gè)k位返回值的Hash函數(shù)f:{0,1}→{0,1}k,例如Hash函數(shù)MD5和SHA-2.樹中的非葉子節(jié)點(diǎn)H(Ri‖Ri+1)的值為其左右2個(gè)子節(jié)點(diǎn)Ri和Ri+1級(jí)聯(lián)后的Hash值,即H(Ri‖Ri+1)=f(Ri+Ri+1),其中的“+”表示級(jí)聯(lián)運(yùn)算.如圖2所示,我們建立了一個(gè)由8個(gè)被驗(yàn)證數(shù)據(jù)塊組成的檢測(cè)樹,其中的葉子節(jié)點(diǎn)R1和R2分別是數(shù)據(jù)塊m1和m2的驗(yàn)證結(jié)果,非葉子節(jié)點(diǎn)H(R1‖R2)是2個(gè)葉子節(jié)點(diǎn)R1和R2級(jí)聯(lián)后的Hash值.依次從葉子節(jié)點(diǎn)向根節(jié)點(diǎn)級(jí)聯(lián)運(yùn)算,最后得到根節(jié)點(diǎn)的Hash值φ=H(R1‖R8) .
Fig. 2 Check tree of verification results圖2 驗(yàn)證結(jié)果的檢測(cè)樹
不可信驗(yàn)證結(jié)果的檢測(cè)原理是:當(dāng)DV執(zhí)行完驗(yàn)證任務(wù)后,發(fā)送每個(gè)數(shù)據(jù)塊的驗(yàn)證結(jié)果和檢測(cè)樹的根節(jié)點(diǎn)值φ給DO.若DO懷疑來(lái)自DV的驗(yàn)證結(jié)果,他任意抽取一個(gè)數(shù)據(jù)塊的驗(yàn)證結(jié)果進(jìn)行檢測(cè).為方便描述,任意選取一個(gè)數(shù)據(jù)塊mi來(lái)研究其檢測(cè)過(guò)程.
DO得到DV對(duì)數(shù)據(jù)塊mi的驗(yàn)證結(jié)果Ri后.他首先利用來(lái)自CSP的TP2,DP2,pk2檢測(cè)驗(yàn)證結(jié)果Ri的正確性.如果Ri不正確,那么表明DV提供了虛假的驗(yàn)證結(jié)果;如果Ri正確,這也不能證明DV是誠(chéng)實(shí)的,因?yàn)榭赡苁窃谒灰筇峁┰摂?shù)據(jù)塊的驗(yàn)證結(jié)果時(shí)重新計(jì)算所得的.此時(shí),DO利用正確的Ri和相應(yīng)的各兄弟節(jié)點(diǎn),重新構(gòu)造一顆從該葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的樹,并獲得重構(gòu)后的根節(jié)點(diǎn)值φ′,由于Hash函數(shù)是單向函數(shù),通過(guò)比較根節(jié)點(diǎn)的值φ和φ′是否相等,可以判定葉子節(jié)點(diǎn)對(duì)應(yīng)的驗(yàn)證結(jié)果是否真實(shí).我們以圖2中的葉子節(jié)點(diǎn)R4為例敘述其過(guò)程.
DO收到DV發(fā)送的根節(jié)點(diǎn)φ值后,隨機(jī)選擇一個(gè)葉子節(jié)點(diǎn)R4來(lái)檢測(cè)驗(yàn)證結(jié)果.DO利用DV提供的R3,H(R1‖R2),H(R1‖R4),H(R5‖R8)值重構(gòu)從葉子節(jié)點(diǎn)R4到根節(jié)點(diǎn)的路徑(圖2中虛線箭頭所指路徑),并重新計(jì)算根節(jié)點(diǎn)的值φ′.如果重新計(jì)算的φ′與DV原來(lái)發(fā)送的φ值相等,即φ′=φ,則表示DV的驗(yàn)證結(jié)果是真實(shí)的,否則是虛假的.
3.3不可信驗(yàn)證的檢測(cè)算法
本文提出的算法不僅能驗(yàn)證CSP存儲(chǔ)的數(shù)據(jù)完整性,還能檢測(cè)DV的驗(yàn)證結(jié)果的可靠性和有效性.
為此,需要在傳統(tǒng)的數(shù)據(jù)驗(yàn)證模型基礎(chǔ)上進(jìn)行必要的完善.在圖3中,相對(duì)于現(xiàn)有模型,我們?cè)黾恿瞬襟E④(檢測(cè)證據(jù)的生成和發(fā)送)和步驟⑥(驗(yàn)證結(jié)果的檢測(cè)).不可信驗(yàn)證結(jié)果的檢測(cè)流程如圖4所示:
Fig. 3 Check scheme of untrusted verification results圖3 不可信驗(yàn)證結(jié)果的檢測(cè)方案
Fig. 4 Check process of untrusted verification results圖4 不可信驗(yàn)證結(jié)果的檢測(cè)過(guò)程
群G1,G2,GT是具有相同大素?cái)?shù)p階的乘法循環(huán)群,g1,g2分別是群G1,G2的生成元,p是模p的剩余類,e:G1×G2→GT是群G1,G2到GT的雙線性映射,h:{0,1}*→G1是一個(gè)Hash映射.算法的詳細(xì)描述如下:
1) KeyGen(λ)→(sk,pk1,pk2).在給定輸入安全參數(shù)后,執(zhí)行一個(gè)概率性算法,生成DO的私有密鑰sk和公有密鑰{pk1,pk2}.隨機(jī)選擇sk∈p作為DO的私有密鑰,相應(yīng)的公鑰為pk1=,pk2=,并將{pk1,pk2}公開.
2) TagGen(sk,M)→Φ.DO讀取經(jīng)加密重新編碼后的文件M和自己的私鑰sk,生成文件M中各數(shù)據(jù)塊mi的相應(yīng)標(biāo)簽ti.為了增加數(shù)據(jù)處理的安全性,在p中隨機(jī)選擇一個(gè)隨機(jī)數(shù)a,并計(jì)算u=.DO將已加密的數(shù)據(jù)文件M按照約定分割成固定大小的n個(gè)數(shù)據(jù)塊,然后對(duì)每一個(gè)數(shù)據(jù)塊mi(i∈[1,n]),計(jì)算其相應(yīng)的數(shù)據(jù)標(biāo)簽
ti=(h(Wi)×umi)s k,
其中Wi=Mi d‖i,且Mi d是文件M的標(biāo)識(shí),i是數(shù)據(jù)塊的索引號(hào),‖代表數(shù)據(jù)的連接操作.將所有生成的數(shù)據(jù)塊標(biāo)簽ti放入標(biāo)簽集合Φ.隨后將數(shù)據(jù)文件M和標(biāo)簽集合Φ一起上傳至CSP的空間保存.
3) ChalGen(M)→Ω.DV選取數(shù)據(jù)文件M中的c≤n個(gè)數(shù)據(jù)塊發(fā)起挑戰(zhàn),并產(chǎn)生相應(yīng)的挑戰(zhàn)信息.該算法根據(jù)DO的請(qǐng)求,在數(shù)據(jù)文件M中隨機(jī)選取c個(gè)索引號(hào),組成挑戰(zhàn)數(shù)據(jù)塊索引集合Q.并為每一個(gè)待驗(yàn)證的數(shù)據(jù)塊索引i在p中任意選取一個(gè)隨機(jī)數(shù)vi與之對(duì)應(yīng),即產(chǎn)生二元組(i,vi)(i∈Q).另在p中選取一個(gè)隨機(jī)數(shù)r,計(jì)算挑戰(zhàn)標(biāo)記最后將所有的二元組(i,vi)和挑戰(zhàn)標(biāo)記放在一起組成挑戰(zhàn)Ω={(i,vi)i∈Q,R},并向CSP發(fā)起數(shù)據(jù)完整性挑戰(zhàn).
4) ProofGen(M,Φ,Ω)→(P1,P2).CSP根據(jù)數(shù)據(jù)文件M和數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)簽集合Φ,以及來(lái)自DV的挑戰(zhàn)信息Ω,計(jì)算相應(yīng)的數(shù)據(jù)完整性證據(jù)P1(包括標(biāo)簽證據(jù)TP1和數(shù)據(jù)證據(jù)DP1)和驗(yàn)證結(jié)果檢測(cè)證據(jù)P2中的數(shù)據(jù)證據(jù)DP2.數(shù)據(jù)完整性證據(jù)P1中的標(biāo)簽證據(jù)TP1計(jì)算公式為
數(shù)據(jù)完整性證據(jù)P1中的數(shù)據(jù)證據(jù)DP1計(jì)算公式為
CSP將數(shù)據(jù)完整性證據(jù)P1=(TP1,DP1)發(fā)送給DV.同時(shí),CSP按照式(1)和式(2)計(jì)算驗(yàn)證結(jié)果檢測(cè)證據(jù)P2=(TP2,DP2)并發(fā)送給DO.
5) VerifyData(Ω,P1,pk1)→(i,truefalse).DV接收到CSP發(fā)送的數(shù)據(jù)完整性證據(jù)P1后,利用數(shù)據(jù)完整性驗(yàn)證算法驗(yàn)證數(shù)據(jù)的完整性,根據(jù)挑戰(zhàn)信息Ω 和公鑰pk1做出數(shù)據(jù)是否完整的判斷,如果數(shù)據(jù)完整則輸出true,否則輸出false.其判斷公式為
如果式(6)成立,則向DO報(bào)告數(shù)據(jù)完整,否則報(bào)告數(shù)據(jù)損壞,輸出數(shù)據(jù)完整性的驗(yàn)證結(jié)果Ri={i,truefalse}.
此外,DV構(gòu)建驗(yàn)證結(jié)果的檢測(cè)樹,并計(jì)算根節(jié)點(diǎn)的φ值,與Ri一起發(fā)送給DO.
6) ResultCheck(Ri,DP2,φ)→YN.DO利用CSP發(fā)送的驗(yàn)證結(jié)果檢測(cè)證據(jù)P2、檢測(cè)DV發(fā)送的驗(yàn)證結(jié)果Ri和檢測(cè)樹的φ值,判定驗(yàn)證結(jié)果的正確性.DV首先利用CSP發(fā)送的驗(yàn)證結(jié)果檢測(cè)證據(jù)P2中的TP2和DP2來(lái)判定公式
是否滿足.如果式(7)不成立,則說(shuō)明數(shù)據(jù)是不完整的;如果成立,則需要根據(jù)檢測(cè)樹來(lái)進(jìn)一步判定DV是否提供虛假檢測(cè)結(jié)果.
DO任意選擇一個(gè)數(shù)據(jù)塊的驗(yàn)證結(jié)果Ri,利用DV發(fā)來(lái)的該節(jié)點(diǎn)在檢測(cè)樹中的所有兄弟節(jié)點(diǎn),重構(gòu)檢測(cè)樹并計(jì)算根節(jié)點(diǎn)值φ′.比較φ與φ′的值,若
φ′=φ,
則說(shuō)明DV正確執(zhí)行了驗(yàn)證任務(wù)并輸出Y,否則說(shuō)明其未按照約定執(zhí)行驗(yàn)證任務(wù)并輸出N.
經(jīng)過(guò)VerifyData(·)和ResultCheck(·)的檢測(cè),可識(shí)別CSP和DV是否提供了可信的驗(yàn)證結(jié)果.
3.4分段檢測(cè)的支持
考慮到數(shù)據(jù)在分塊的基礎(chǔ)上還有進(jìn)一步劃分?jǐn)?shù)據(jù)段的方式[12],為提高檢測(cè)證據(jù)生成的適應(yīng)性,我們也提供了這種方式下的生成方法.假設(shè)數(shù)據(jù)塊mi被分成s個(gè)數(shù)據(jù)段mij(j∈[1,s]),則不可信檢測(cè)證據(jù)的生成過(guò)程如下:
DO在p中選取s個(gè)隨機(jī)數(shù),即a1,a2,…,as∈p,并計(jì)算uj=∈G1.利用這些參數(shù)對(duì)所有數(shù)據(jù)段進(jìn)行聚合處理,即檢測(cè)證據(jù)的生成過(guò)程如下:
1)DO計(jì)算相應(yīng)的數(shù)據(jù)塊mi的標(biāo)簽為
檢測(cè)證據(jù)中數(shù)據(jù)證據(jù)的計(jì)算為
4.1檢測(cè)的正確性分析
檢測(cè)算法是否能夠?qū)?shù)據(jù)完整性的DV提供的驗(yàn)證結(jié)果進(jìn)行檢測(cè),依賴于算法的正確性,即式(6)和式(7)是否成立.式(7)的正確性證明如下.
證明.
證畢.
式(6)的正確性證明與式(7)證明相似,此處省略.
4.2抵御攻擊能力分析
本文提出的遠(yuǎn)程數(shù)據(jù)完整性驗(yàn)證的檢測(cè)算法,其安全性建立在離散對(duì)數(shù)的假設(shè)之上.我們首先給出安全性定義域假設(shè).
計(jì)算性Diffie-Hellman問(wèn)題(簡(jiǎn)稱CDH問(wèn)題): 設(shè)a∈將g1,∈G1,h∈G1作為輸入,輸出ha∈G1.
計(jì)算性離散對(duì)數(shù)問(wèn)題(簡(jiǎn)稱DL問(wèn)題) 群G是具有素?cái)?shù)(p)階的循環(huán)群,g是群G的生成元,即g=G,?γ∈G,輸入γ,輸出a∈使得ga=γ.
定義3. 離散對(duì)數(shù)計(jì)算假設(shè)(簡(jiǎn)稱DL假設(shè)).存在一個(gè)可以忽略的概率εgt;0,任意敵手利用一個(gè)可能的多項(xiàng)式時(shí)間算法Θ在群G上求解DL問(wèn)題的概率滿足:
P(Θ(g,γ)=a|ga=γ)lt;ε .
求解DL問(wèn)題的可能性等價(jià)于在中隨機(jī)選擇一個(gè)元素進(jìn)行碰撞攻擊,即對(duì)于元素γ=ga,在中隨機(jī)選取一個(gè)元素a′,使得γ=ga′,由于|G|=|p,所以必須有a=a′,那么明顯,其碰撞的概率為P(·)=1p(p為一個(gè)足夠大的素?cái)?shù)),因此滿足P(·)lt;ε .也就是說(shuō),對(duì)于任何一個(gè)可能的多項(xiàng)式算法,求解DL問(wèn)題的概率幾乎是可以忽略的,即任意敵手求解DL問(wèn)題的概率接近于0.那么,在DL假設(shè)成立的情況下,在群G上解決DL問(wèn)題在計(jì)算上是不可能或者困難的.
云存儲(chǔ)提供者偽造攻擊:CSP試圖通過(guò)DV的數(shù)據(jù)完整性驗(yàn)證,即滿足式(6)的驗(yàn)證,正如在文獻(xiàn)[8]中描述的,在計(jì)算上是不可行的,CSP無(wú)法進(jìn)行隱藏偽造攻擊,本文將不再贅述其分析過(guò)程.
驗(yàn)證者偽造驗(yàn)證結(jié)果攻擊:DV試圖通過(guò)DO對(duì)其驗(yàn)證結(jié)果的檢測(cè),即滿足式(7)和式(8)的驗(yàn)證.對(duì)于式(7),其中的關(guān)鍵數(shù)據(jù)DP2,TP2盡管都是由CSP產(chǎn)生的,但根據(jù)同態(tài)驗(yàn)證的原理,它們是無(wú)法偽造的.對(duì)于式(8),根據(jù)檢測(cè)樹的構(gòu)建原理,DV一旦提供了φ值后,DO生成φ′值時(shí),他是無(wú)法參與偽造的.因此,從上述分析可以看出,DV也無(wú)法偽造驗(yàn)證結(jié)果進(jìn)行攻擊.
此外,DO不必每次親自檢測(cè)數(shù)據(jù)的完整性,否則就喪失了DV執(zhí)行數(shù)據(jù)驗(yàn)證的作用.因此,DO對(duì)DV的驗(yàn)證結(jié)果執(zhí)行的是隨機(jī)檢測(cè)方式,即隨機(jī)對(duì)DV返回的驗(yàn)證結(jié)果進(jìn)行檢測(cè).此時(shí),DV在每次驗(yàn)證后提交給DO的每個(gè)數(shù)據(jù)塊驗(yàn)證結(jié)果可通過(guò)檢測(cè)的概率是1/2.當(dāng)DO執(zhí)行多個(gè)數(shù)據(jù)塊(如x塊)檢測(cè)后,驗(yàn)證結(jié)果能夠通過(guò)檢測(cè)的概率是(1/2)x.例如當(dāng)x≥5時(shí),DV的驗(yàn)證結(jié)果能夠通過(guò)用戶驗(yàn)證的概率小于5%.所以DO執(zhí)行一定數(shù)量的數(shù)據(jù)塊完整性驗(yàn)證結(jié)果的檢測(cè)后,就能識(shí)別不可信的DV.
實(shí)驗(yàn)在1臺(tái)雙CPU(主頻Xeon E5-2403 1.8 GHz)、8 GB內(nèi)存的服務(wù)器上搭建云存儲(chǔ)服務(wù)環(huán)境,采用2臺(tái)CPU(主頻Intel Core i5-4210M 2.60 GHz)、8 GB內(nèi)存的筆記本電腦分別作為數(shù)據(jù)所有者和驗(yàn)證者.檢測(cè)算法用Java語(yǔ)言編寫,利用JPBC函數(shù)庫(kù)實(shí)現(xiàn).為測(cè)試我們提出算法的有效性,命名提出的算法為CIVR(check algorithm of incredible verification results),并選擇算法W-POR[12]和Fortress[23]作對(duì)比分析.實(shí)驗(yàn)中測(cè)試數(shù)據(jù)為20次的平均值.
1) 驗(yàn)證能力
Fig. 5 Verification capability圖5 驗(yàn)證能力
驗(yàn)證能力指的是驗(yàn)證相同數(shù)量的數(shù)據(jù)塊時(shí)所耗費(fèi)的計(jì)算時(shí)間,讓每個(gè)數(shù)據(jù)塊大小為32 KB,其實(shí)驗(yàn)結(jié)果如圖5所示:
從圖5可以看出,CIVR的數(shù)據(jù)驗(yàn)證能力與Fortress相似,但都稍遜于W-POR.其原因在于CIVR和Fortress都需要服務(wù)器生成2對(duì)驗(yàn)證證據(jù),而W-POR在數(shù)據(jù)驗(yàn)證過(guò)程中只產(chǎn)生1對(duì)驗(yàn)證證據(jù),這節(jié)省了服務(wù)器生成證據(jù)的計(jì)算開銷,也節(jié)省了數(shù)據(jù)驗(yàn)證的時(shí)間.但考慮到實(shí)際云計(jì)算環(huán)境中云服務(wù)器的強(qiáng)大運(yùn)算能力,生成證據(jù)的時(shí)間差別可以由分布式計(jì)算來(lái)彌補(bǔ).
2) 存儲(chǔ)開銷
存儲(chǔ)開銷指的是數(shù)據(jù)驗(yàn)證過(guò)程中各驗(yàn)證方所產(chǎn)生的驗(yàn)證數(shù)據(jù)存儲(chǔ)量.3種算法的實(shí)驗(yàn)結(jié)果如圖6所示.可以看出,CIVR和W-POR的存儲(chǔ)開銷相似,且都近似為Fortress的一半,且它們與實(shí)際數(shù)據(jù)的大小成正比關(guān)系,隨著數(shù)據(jù)塊數(shù)的增加,它們也線性增加.這些算法的存儲(chǔ)開銷差別主要體現(xiàn)在數(shù)據(jù)標(biāo)簽的存儲(chǔ)量上.由于在Fortress中,云存儲(chǔ)提供者除了要保存數(shù)據(jù)所有者計(jì)算的一套標(biāo)簽外,還要保存驗(yàn)證者計(jì)算的一套標(biāo)簽,在相同數(shù)據(jù)塊數(shù)量和每個(gè)標(biāo)簽大小相同時(shí),存儲(chǔ)總量增加了1倍.
Fig. 6 Storage cost圖6 存儲(chǔ)開銷
3) 傳輸開銷
傳輸開銷指的是數(shù)據(jù)驗(yàn)證過(guò)程中各驗(yàn)證方之間所產(chǎn)生的驗(yàn)證數(shù)據(jù)傳輸量.3種算法的實(shí)驗(yàn)結(jié)果如圖7所示.可以看出,CIVR和W-POR的傳輸開銷都比Fortress的小,且CIVR略微高于W-POR.在驗(yàn)證傳輸開銷的構(gòu)成中,主要有數(shù)據(jù)塊標(biāo)簽的傳輸量,以及驗(yàn)證時(shí)各種驗(yàn)證參數(shù)和驗(yàn)證證據(jù)的傳輸量.其中,F(xiàn)ortress需要傳輸2套標(biāo)簽,所以傳輸量會(huì)比其他2個(gè)算法接近高出一倍.此外,由于在CIVR和Fortress在驗(yàn)證時(shí)都需要傳輸2對(duì)證據(jù)(或標(biāo)簽),因此,它們這部分的傳輸量都要高于W-POR.但由于批量處理集成后的2對(duì)證據(jù)(或標(biāo)簽)的傳輸量非常小,其大小近似于一個(gè)數(shù)據(jù)塊的標(biāo)簽大小,所以相對(duì)于W-POR的傳輸量增加是可以忽略的.
Fig. 7 Transmission cost圖7 傳輸開銷
4) 驗(yàn)證的可靠性
驗(yàn)證的可靠性指的是驗(yàn)證者提供的所有驗(yàn)證結(jié)果中,可以確保驗(yàn)證結(jié)果具有可靠性的數(shù)量占接受驗(yàn)證的數(shù)據(jù)量的比值.讓在接受驗(yàn)證的數(shù)據(jù)塊中都存在云存儲(chǔ)提供者和驗(yàn)證者的合謀欺騙,在此情況下3種算法的實(shí)驗(yàn)結(jié)果如圖8所示.可以看出,CIVR和Fortress可以達(dá)到100%,而W-POR算法為0.這主要是因?yàn)镃IVR和Fortress不僅能分別識(shí)別云存儲(chǔ)提供者的不可信驗(yàn)證結(jié)果,而且還能識(shí)別驗(yàn)證者的不可信驗(yàn)證結(jié)果;然而,W-POR只能抵御公開數(shù)據(jù)完整性驗(yàn)證中不可信云存儲(chǔ)提供者的欺騙攻擊.
Fig. 8 Reliability of verification results圖8 驗(yàn)證結(jié)果的可靠性
綜上所述,CIVR結(jié)合了W-POR和Fortress的優(yōu)點(diǎn),且避免了Fortress由于增加了1套數(shù)據(jù)標(biāo)簽和日志文件的額外存儲(chǔ)量.此外,CIVR在密鑰的管理上也區(qū)別于Fortress.在Fortress中,當(dāng)驗(yàn)證者在接受數(shù)據(jù)所有者的質(zhì)疑時(shí),需要公開自己的私鑰而使得所有上傳到云存儲(chǔ)提供者空間中的數(shù)據(jù)標(biāo)簽失效.而CIVR的私鑰一直不被公開,所以安全性更高.
為避免數(shù)據(jù)完整性驗(yàn)證中因驗(yàn)證結(jié)果被偽造欺騙而導(dǎo)致驗(yàn)證結(jié)果的不可靠問(wèn)題,本文提供一種數(shù)據(jù)驗(yàn)證結(jié)果的檢測(cè)算法以抵御這種不可信驗(yàn)證結(jié)果的偽造欺騙攻擊,算法中引入雙驗(yàn)證證據(jù)來(lái)交叉檢測(cè)驗(yàn)證結(jié)果,并構(gòu)建檢測(cè)樹來(lái)保證檢測(cè)的可靠性.該算法在驗(yàn)證過(guò)程中進(jìn)一步保證了驗(yàn)證的可靠性.未來(lái),我們將進(jìn)一步優(yōu)化算法提高算法的驗(yàn)證能力.
[1]Mell P, Grance T. NIST definition of cloud computing, 800-145[R]. Gaithersburg, MD: NIST Special Publication, 2016
[2]Li Mingqiang, Shu Jiwu. Preventing silent data corruptions from propagating during data reconstruction[J]. IEEE Trans on Computers, 2010, 59(12): 1611-1624
[3]Deswarte Y, Quisquater J, Sa?dane A. Remote integrity checking[C]Proc of the 6th Working Conf on Integrity and Internal Control in Information Systems(IICIS’04). London: Chapman amp; Hall, 2004: 1-11
[4]Ren Kui, Wang Cong, Wang Qian. Security challenges for the public cloud[J]. IEEE Internet Computing, 2012, 16(1): 69-73
[5]Ateniese G, Burns R, Curtmola R, et al. Provable data possession at untrusted Stores[C]Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 598-609
[6]Juels A, Burton S. Pors: Proofs of retrievability for large files[C]Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 584-597
[7]Hovav S, Brent W. Compact proofs of retrievability[C]Proc of the 14th Int Conf on the Theory and Application of Cryptology and Information Security. Berlin: Springer, 2008: 90-107
[8]Erway C, Küp?ü A, Papamanthou C, et al. Dynamic provable data possession[C]Proc of the 16th ACM Conf on Computer and Communications Security. New York: ACM, 2009: 213-222
[9]Wang Qian, Wang Cong, Ren Kui, et al. Enabling public auditability and data dynamics for storage security in cloud computing[J]. IEEE Trans on Parallel and Distributed Systems, 2011, 22(5): 847-859
[10]Wang Cong, Chow S, Wang Qian, et al. Privacy-preserving public auditing for secure cloud storage[J]. IEEE Trans on Computers, 2013, 62( 2): 362-375
[11]Zhu Yan, Hu Hongxin, Ahn G, et al. Cooperative provable data possession for integrity verification in multicloud storage[J]. IEEE Trans on Parallel and Distributed Systems, 2012, 23(12): 2231-2244
[12]Yang Kan, Jia Xiaohua. An efficient and secure dynamic auditing protocol for data storage in cloud computing[J]. IEEE Trans on Parallel and Distributed Systems, 2013, 24(9): 1717-1726
[13]Wang Boyang, Li Baochun, Li Hui. Public auditing for shared data with efficient user revocation in the cloud[C]Proc of IEEE INFOCOM. Piscataway, NJ: IEEE, 2013: 2904-2912
[14]Xu Guangwei, Yang Yanbin, Yan Cairong, et al. A probabilistic verification algorithm against spoofing attacks on remote data storage[J]. International Journal of High Performance Computing and Networking, 2016, 9(3): 218-229
[15] Ren Yongjun, Yang Zhengqi, Wang Jin, et al. Attributed based provable data possession in public cloud storage[C]Proc of the 10th Int Conf on Intelligent Information Hiding and Multimedia Signal Processing (IIH-MSP). Piscataway, NJ: IEEE, 2014: 710-713
[16]Yu Xiaojun, Wen Qiaoyan. MF-PDP: Multi-function provable data possession scheme in cloud computing[C]Proc of the 3rd IEEE Int Conf on Cloud Computing and Intelligence Systems. Piscataway, NJ: IEEE, 2014: 597-603
[17] Ren Yongjun, Shen Jian, Wang Jin, et al. Outsourced data tagging via authority and delegable auditing for cloud storage[C]Proc of the Int Carnahan Conf on Security Technology (ICCST). Piscataway, NJ: IEEE, 2015: 131-134
[18] Thao T, Kho L, Lim A. SW-POR: A novel POR scheme using Slepian-Wolf coding for cloud storage[C]Proc of Ubiquitous Intelligence and Computing, the 11th IEEE Int Conf on Autonomic and Trusted Computing, and the 14th IEEE Int Conf on Scalable Computing and Communications. Piscataway, NJ: IEEE, 2014: 464-472
[19]Huang Kun, Liu Jian, Xian Ming, et al. Enabling dynamic proof of retrievability in regenerating-coding-based cloud storage[C]Proc of IEEE Int Conf on Communications Workshops (ICC). Piscataway, NJ: IEEE, 2014: 712-717
[20]Omote K, Thao T. A new efficient and secure POR scheme based on network coding[C]Proc of the 28th IEEE Int Conf on Advanced Information Networking and Applications. Piscataway, NJ: IEEE, 2014: 98-105
[21]Liu Dongxi, Zic J. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators[C]Proc of IEEE TrustcomBigDataSEISPA, Vol1. Piscataway, NJ: IEEE, 2015: 897-904
[22]Liu Chang, Yang Chi, Zhang Xuyuan, et al. External integrity verification for outsourced big data in cloud and IoT: A big picture[J]. Future Generation Computer Systems, 2015, 49: 58-67
[23]Armknecht F, Bohli J, Karame G, et al. Outsourced proofs of retrievability[C]Proc of ACM SIGSAC Conf on Computer and Communications Security (CCS’14). New York: ACM, 2014: 831-843
[24]Sookhak M, Talebian H, Ahmed E, et al. A review on remote data auditing in single cloud server: Taxonomy and open issues[J]. Journal of Network and Computer Applications, 2014, 43(5): 121-141
[25] Tan Shuang, He Li, Chen Zhikun, et al. A method of provable data integrity based on lattice in cloud storage[J]. Journal of Computer Research and Development, 2015, 52(8): 1862-1872 (in Chinese) (譚霜, 何力, 陳志坤, 等. 云存儲(chǔ)中一種基于格的數(shù)據(jù)完整性驗(yàn)證方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2015, 52(8): 1862-1872)
[26]Merkle R. A digital signature based on a conventional encryption function[G]LNCS 293: Proc of Advances in Cryptology—CRYPTO’87. Berlin: Springer, 1987: 369-378
XuGuangwei, born in 1969. PhD, associate professor. His main research interests include the data integrity verification and data privacy protection, parallel and distributed computing, QoS of the wireless and sensor networks.
BaiYanke, born in 1993. Master candidate. Her main research interests include the verification of data integrity and data security.
YanCairong, born in 1978. PhD, associate professor. Her main research interests include parallel and distributed computing, cloud computing, and big data processing.
YangYanbin, born in 1991. Master candidate. His main research interests include the verification of data integrity and data security.
HuangYongfeng, born in 1971. PhD, associate professor. His main research interests include parallel and distributed computing, and big data processing.
CheckAlgorithmofDataIntegrityVerificationResultsinBigDataStorage
Xu Guangwei, Bai Yanke, Yan Cairong, Yang Yanbin, and Huang Yongfeng
(College of Computer Science and Technology, Donghua University, Shanghai 201620)
Cloud storage is one of the most widely used applications in cloud computing. It makes it convenient for users to access and share the data yet producing data integrity issues such as data corruption and loss. The existing remote data verification algorithms are based on the trusted third party who works as a public verifier to verify the outsourced data integrity. In this case, the verifier has a potential threat to provide false verification results, which cannot ensure the reliability of data verification. Especially, the situation can be even worse while the verifier is in collusion with the cloud storage providers. In this paper, we propose a check algorithm of incredible verification results in data integrity verification (CIVR) to resist the attacks of forgery and deception in incredible verification results. We utilize double verification proofs, i.e., integrity verification proof and incredible check proof, to execute the cross check. The integrity verification proof is to verify whether the data are intact. The incredible check proof is to check whether the verification results are correct. Moreover, the algorithm constructs the check tree to ensure the reliability of verification results. Theoretical analysis and simulation results show that the proposed algorithm can guarantee the reliability of verification results and increase the efficiency by improving the valid verification.
data integrity verification; incredible verification results; verification results checking; dual proofs; check tree
2016-11-15;
2017-06-27
上海自然科學(xué)基金項(xiàng)目(15ZR1400900,15ZR1400300,16ZR1401100);上海市教育科研項(xiàng)目(C160076);國(guó)家自然科學(xué)基金項(xiàng)目(61402100,61772128);同濟(jì)大學(xué)高密度人居環(huán)境生態(tài)與節(jié)能教育部重點(diǎn)實(shí)驗(yàn)室種子基金項(xiàng)目;東華大學(xué)中央高校基本科研業(yè)務(wù)費(fèi)專項(xiàng)資金項(xiàng)目(2232015D3-29)
This work was supported by the Natural Science Foundation of Shanghai (15ZR1400900, 15ZR1400300, 16ZR1401100), Shanghai Education and Scientific Research Project (C160076), the National Natural Science Foundation of China (61402100, 61772128), the Key Laboratory of Ecology and Energy-Saving Study of Dense Habitat of Ministry of Education (Tongji University), and the Fundamental Research Funds for the Central Universities of Donghua University (2232015D3-29).
燕彩蓉(cryan@dhu.edu.cn)
TP391