毛向杰,張 品
(杭州電子科技大學(xué) 通信工程學(xué)院,杭州 310018)
近年來,云計(jì)算[1]的快速發(fā)展為用戶降低了大量的本地存儲空間并減輕了數(shù)據(jù)管理負(fù)擔(dān)[2],使用戶能夠通過不同設(shè)備在不同位置方便地訪問云端數(shù)據(jù),并且可以隨時(shí)分享這些數(shù)據(jù)。但是,由于用戶未在物理端對數(shù)據(jù)進(jìn)行存儲,因此該模式面臨外部威脅,如云數(shù)據(jù)的存儲安全性問題。云存儲安全必須保證用戶能夠存儲數(shù)據(jù)并且無需擔(dān)心是否要驗(yàn)證其完整性,因此,高效驗(yàn)證云數(shù)據(jù)的完整性非常重要[3]。
云端存儲的各種數(shù)據(jù)效用不同,一些數(shù)據(jù)會被經(jīng)常性查看,而一些數(shù)據(jù)幾乎不會被查看。以私有云為例,用戶將日常生活中用到的數(shù)據(jù)在云端備份,如書籍壓縮包、視頻壓縮包等資料常會在首次存進(jìn)云盤后被查看,然后就幾乎不會再被查看,也不會被更新。高頻率訪問的數(shù)據(jù)種類有限,通常為用戶拍攝的照片、電影和音樂等。在云數(shù)據(jù)的硬件存儲中,會根據(jù)數(shù)據(jù)訪問頻率及規(guī)律將存儲的數(shù)據(jù)分為熱數(shù)據(jù)、溫?cái)?shù)據(jù)和冷數(shù)據(jù),其中,冷數(shù)據(jù)所占比例高達(dá)80%[4]。
一般數(shù)據(jù)的機(jī)密性通常由數(shù)據(jù)加密[5]和匿名機(jī)制[6]等方法來保證,在云存儲技術(shù)出現(xiàn)后,研究者提出新的方法來保障云數(shù)據(jù)的安全性?,F(xiàn)有的數(shù)據(jù)完整性驗(yàn)證方案主要分為數(shù)據(jù)可恢復(fù)性證明(POR)方案[7]和數(shù)據(jù)持有性證明(PDP)方案[8]兩類。在POR方案中,用戶不僅可以驗(yàn)證遠(yuǎn)程數(shù)據(jù)的完整性,而且可以通過使用糾刪碼來完整地恢復(fù)損壞的云端數(shù)據(jù)。與POR方案相比,由于PDP方案未使用糾刪碼,因此其效率更高。
為達(dá)到更高的驗(yàn)證效率,現(xiàn)有多數(shù)PDP方案使用同態(tài)驗(yàn)證標(biāo)簽(Homomorphic Verifiable Tags,HVTs),主要包括基于MAC[9]、基于RSA[10]和基于BLS[11]3種PDP完整性驗(yàn)證方案。其中,MAC只能進(jìn)行有限次驗(yàn)證且輔助信息過多。在相同的安全強(qiáng)度下,BLS簽名[12]具有較短的簽名位數(shù),約為160 bit,相比RSA簽名的1 024 bit要少很多,此外,其具有同態(tài)的特性,能夠?qū)⒍鄠€(gè)簽名聚合為一個(gè)[13],這也減少了整個(gè)驗(yàn)證過程的計(jì)算代價(jià)和通信開銷?;贐LS簽名的方案采用輕量級第三方審計(jì)模型,滿足云存儲輕量級設(shè)計(jì)要求,降低了用戶的計(jì)算負(fù)擔(dān)。
在云存儲技術(shù)快速發(fā)展的背景下,云數(shù)據(jù)的日益增長使用戶有了新的需求,數(shù)據(jù)不再是靜態(tài)形式,而需要經(jīng)常進(jìn)行插入、刪除等動態(tài)操作,因此,PDP方案的設(shè)計(jì)不能僅局限于解決靜態(tài)數(shù)據(jù)的完整性驗(yàn)證問題。文獻(xiàn)[14]提出動態(tài)數(shù)據(jù)持有性證明(Dynamic Provable Data Possession,DPDP)方案,DPDP方案對PDP方案的較大改進(jìn)是支持動態(tài)數(shù)據(jù)操作,近年來研究者通過不斷改進(jìn)現(xiàn)有的DPDP方案,使其性能得到不斷提升。目前主流的DPDP方案都使用認(rèn)證數(shù)據(jù)結(jié)構(gòu)(Authenticated Data Structure,ADS)進(jìn)行完整性審計(jì),如基于默克爾哈希樹(Merkle Hash Tree,MHT)[15-16]、基于跳表[17]、基于多分支樹(Large Branching Tree,LBT)[18]等多種DPDP完整性驗(yàn)證方案。對于數(shù)據(jù)的隱私保護(hù),文獻(xiàn)[19]采用隨機(jī)掩碼技術(shù)提高方案的安全性,并采用索引表機(jī)制實(shí)現(xiàn)數(shù)據(jù)的動態(tài)更新,減少了計(jì)算和通信開銷。
由于多數(shù)云數(shù)據(jù)不需要動態(tài)更新,因此為提高審計(jì)效率,可以考慮對不涉及動態(tài)更新的數(shù)據(jù)使用PDP驗(yàn)證方案,從而省去較多的驗(yàn)證環(huán)節(jié)。本文提出一種數(shù)據(jù)混合HPDP方案,對無需進(jìn)行動態(tài)操作的數(shù)據(jù)選擇PDP驗(yàn)證,而需要更新的數(shù)據(jù)則使用效率較高的LBT方案,從而降低計(jì)算開銷和通信負(fù)擔(dān),提高驗(yàn)證效率。
雙線性映射的定義為:e:G×G→GT,其中,G和GT為GDH(Gap Diffie-Hellman)群,即乘法循環(huán)群,該雙線性映射具有以下性質(zhì):
1)雙線性:
?x,y∈G?e(xa,yb)=e(x,y)ab
(1)
2)可計(jì)算性:e存在并且能夠高效計(jì)算。
3)非退化性:
?x∈G,x≠0?e(x,x)≠1
(2)
本文方案模型使用混合驗(yàn)證策略,其為文獻(xiàn)[20]方案的改進(jìn)。如圖1所示,該模型由數(shù)據(jù)所有者(Data Owner,DO)、云服務(wù)供應(yīng)商(Cloud Service Provider,CSP)和第三方審計(jì)(Third Party Auditor,TPA)組成。其中,DO負(fù)責(zé)對數(shù)據(jù)初始化,委托TPA對數(shù)據(jù)進(jìn)行審計(jì);CSP提供數(shù)據(jù)的存儲服務(wù),管理DO的數(shù)據(jù),具有較強(qiáng)的計(jì)算存儲能力,并且應(yīng)答TPA發(fā)來的挑戰(zhàn),返回證明給TPA;TPA是由用戶委托的完整性審計(jì)實(shí)體,負(fù)責(zé)向CSP發(fā)起挑戰(zhàn)信息并且驗(yàn)證CSP返回的證明是否正確,然后將審計(jì)結(jié)果返回給DO。對于靜態(tài)數(shù)據(jù)文件,DO在進(jìn)行初始化時(shí)采用基于BLS-PDP的完整性驗(yàn)證方案;對于動態(tài)數(shù)據(jù)文件,DO在進(jìn)行初始化時(shí)選擇基于LBT-DPDP的數(shù)據(jù)完整性驗(yàn)證方案。
圖1 云數(shù)據(jù)完整性審計(jì)系統(tǒng)架構(gòu)Fig.1 Architecture of cloud data integrity audit system
數(shù)據(jù)審計(jì)過程通常分為以下3個(gè)階段:
1)Setup階段。數(shù)據(jù)的擁有者預(yù)處理文件,先執(zhí)行密鑰生成算法生成公私鑰對,再將文件分塊,利用標(biāo)簽生成算法生成元數(shù)據(jù)。將處理后的文件發(fā)送到云服務(wù)器,刪除本地存儲的文件副本。
2)Challenge階段。數(shù)據(jù)的擁有者向第三方審計(jì)發(fā)起驗(yàn)證請求,第三方審計(jì)隨機(jī)生成要驗(yàn)證的數(shù)據(jù)塊的下標(biāo),向云服務(wù)器發(fā)起挑戰(zhàn)。
3)Check-proof階段。云服務(wù)器收到挑戰(zhàn)后運(yùn)行證明算法生成證明并返回給第三方審計(jì)。第三方審計(jì)使用驗(yàn)證算法來驗(yàn)證返回的證明是否正確,將驗(yàn)證結(jié)果0/1(0代表數(shù)據(jù)被破壞,1代表數(shù)據(jù)完好)返回給數(shù)據(jù)的擁有者。
本文方案在設(shè)計(jì)時(shí)考慮的重點(diǎn)是對于整個(gè)云存儲性質(zhì)的判定,考慮用戶存儲數(shù)據(jù)的類型以及使用云存儲的場景,通過了解用戶對于存儲的具體要求制定相應(yīng)的存儲策略,從而在用戶進(jìn)行數(shù)據(jù)審計(jì)時(shí)選取合適的審計(jì)方案。本文為每個(gè)用戶提供2種審計(jì)方案,用戶在進(jìn)行數(shù)據(jù)預(yù)處理上傳時(shí)選擇一種審計(jì)方案來進(jìn)行預(yù)處理。如果上傳一些靜態(tài)文件,后續(xù)不需要進(jìn)行插入、刪除和修改操作,直接使用BLS-PDP方案處理數(shù)據(jù);如果是動態(tài)文件,則使用LBT-PDP方案。
為對不同類型的數(shù)據(jù)進(jìn)行相應(yīng)的審計(jì),可以采用分區(qū)存儲或者標(biāo)記的方法。本文使用分區(qū)存儲的方法將云存儲分為動態(tài)存儲區(qū)和靜態(tài)存儲區(qū)。在用戶發(fā)起挑戰(zhàn)請求時(shí),如果選取的數(shù)據(jù)在靜態(tài)存儲區(qū),使用BLS-PDP方案進(jìn)行驗(yàn)證,反之則使用LBT-DPDP方案驗(yàn)證。
整個(gè)方案模型仍按第三方審計(jì)模型設(shè)計(jì),只是用戶端的數(shù)據(jù)處理方式有所不同。DO會根據(jù)上傳數(shù)據(jù)的類型來選擇不同的驗(yàn)證方案,選定驗(yàn)證方案后對數(shù)據(jù)進(jìn)行相應(yīng)的初始化處理并上傳到CSP,在數(shù)據(jù)進(jìn)行完整性驗(yàn)證時(shí)也會按照方案的不同執(zhí)行不同的審計(jì)流程。對于數(shù)據(jù)初始化階段,2種方案只存在很小的差別。對于挑戰(zhàn)-應(yīng)答階段,大致流程基本相同,但具體細(xì)節(jié)不同,LBT-DPDP方案的計(jì)算開銷與通信代價(jià)更大。此外,LBT-DPDP方案中還存在數(shù)據(jù)動態(tài)操作階段。本文方案的整體流程如圖2所示。
圖2 混合驗(yàn)證方案流程Fig.2 Procedure of hybrid verification scheme
本文方案為混合驗(yàn)證方案,由PDP方案實(shí)現(xiàn)靜態(tài)數(shù)據(jù)審計(jì),由DPDP方案實(shí)現(xiàn)動態(tài)數(shù)據(jù)審計(jì)。
1)靜態(tài)審計(jì)
對于靜態(tài)數(shù)據(jù),不涉及動態(tài)操作,需要考慮的是審計(jì)的開銷,在這種情況下,使用BLS-PDP方案更能節(jié)省系統(tǒng)的計(jì)算代價(jià)與通信開銷;針對數(shù)據(jù)量大、數(shù)據(jù)更新頻繁的動態(tài)數(shù)據(jù),顯然使用LBT-DPDP方案更合適。靜態(tài)審計(jì)的具體步驟如下:
(1)KeyGen(1k)→(pk,sk)。在系統(tǒng)初始化時(shí),由DO在本地執(zhí)行。1k為輸入的安全參數(shù),返回一對公私鑰(pk,sk)。
(2)TagBlock(sk,F)→{T}。TagBlock(·)算法由DO執(zhí)行,生成元數(shù)據(jù)T,即同態(tài)簽名標(biāo)簽集。該算法的輸入?yún)?shù)包括私鑰sk和數(shù)據(jù)文件F,返回認(rèn)證的元數(shù)據(jù)T。
(3)GenProof(pk,F′,T,chal)→P。該算法由CSP運(yùn)行,生成完整性證明P。輸入?yún)?shù)包括公鑰pk、處理后的文件F′、挑戰(zhàn)請求chal和認(rèn)證元數(shù)據(jù)集合T,返回證明P。
(4)CheckProof(pk,chal,P)→(1,0)。該算法由驗(yàn)證者TPA運(yùn)行,對CSP返回的證明P進(jìn)行判斷。輸入?yún)?shù)為公鑰pk、挑戰(zhàn)請求chal及證明P。返回驗(yàn)證結(jié)果1或0,1表明數(shù)據(jù)完整,0表示數(shù)據(jù)被破壞。
整個(gè)驗(yàn)證過程無需考慮數(shù)據(jù)的更新操作,在DO初始化上傳數(shù)據(jù)之后,后續(xù)的完整性審計(jì)工作完全交給TPA完成,大幅降低了DO的計(jì)算負(fù)擔(dān),同時(shí)整個(gè)驗(yàn)證的通信量也得到大幅減少,其對數(shù)據(jù)的審計(jì)是一次性生成元數(shù)據(jù),可以進(jìn)行無數(shù)次的審計(jì)。此外,由于使用的是HVTs,因此BLS-PDP方案在擁有同態(tài)優(yōu)勢的同時(shí),生成元數(shù)據(jù)時(shí)占用的內(nèi)存更少,每個(gè)數(shù)據(jù)塊只占用20 Byte,從而減少了通信開銷。
2)動態(tài)審計(jì)
對于需要進(jìn)行動態(tài)更新的動態(tài)審計(jì),本文選用LBT-DPDP方案以高效地執(zhí)行動態(tài)操作。文獻(xiàn)[20]方案在動態(tài)審計(jì)時(shí)使用的是跳表,但是LBT相比跳表更高效,因此,本文方案使用LBT-DPDP作為動態(tài)審計(jì)的方法。LBT支持大規(guī)模的數(shù)據(jù)插入操作,其為動態(tài)更新最常使用的操作。動態(tài)審計(jì)的具體步驟如下:
(1)KeyGen(1k)→{sk,pk}。該算法由DO運(yùn)行,輸入安全參數(shù)1k,返回私鑰sk和公鑰pk。
(2)TagGen(sk,F)→{T}。該算法由DO運(yùn)行并產(chǎn)生元數(shù)據(jù),將數(shù)據(jù)文件F和私鑰sk作為輸入并輸出標(biāo)簽集T,T是數(shù)據(jù)塊{mi}上簽名{τi}的集合。
(3)Update(F,Info,Ω,pk)→{F′,P}。該算法由CSP運(yùn)行并應(yīng)答TPA的更新請求。采用數(shù)據(jù)文件F,更新信息Info,以前的輔助信息Ω和公鑰pk作為輸入。輸出的是數(shù)據(jù)文件F的新版本F′及其證明P。CSP將證明P發(fā)送給TPA。
(4)VerifyUpdate(P,pk)→{1,0}。該算法由TPA運(yùn)行并驗(yàn)證CSP是否正確更新了數(shù)據(jù)。輸入包含來自CSP的證明P和公鑰pk。如果證明有效則輸出接受結(jié)果1,反之輸出拒絕結(jié)果0。
(5)Challenge(·)→{chal}。TPA運(yùn)行該算法啟動挑戰(zhàn)并發(fā)送CSP的挑戰(zhàn)信息chal。
(6)GenProof(F′,T,chal,pk)→{P}。該算法由CSP運(yùn)行,將數(shù)據(jù)文件F′、元數(shù)據(jù)T、挑戰(zhàn)信息chal以及公鑰pk作為輸入,輸出證明信息P。
(7)VerifyProof(P,pk)→{1,0}。TPA運(yùn)行該算法來驗(yàn)證來自CSP的證明信息P。如果證明正確輸出1,反之輸出0。
每一種檢驗(yàn)云存儲數(shù)據(jù)完整性的方案都有各自的優(yōu)缺點(diǎn),有不同的適用場景,沒有哪一種方案能夠滿足所有的存儲需求且性能最優(yōu)。因此,沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)來對每一種方案進(jìn)行評價(jià),但是可以通過組合方案的方法發(fā)揮出各自方案的優(yōu)點(diǎn),下文從通信開銷和計(jì)算開銷2個(gè)方面來分析BLS-PDP方案與LBT-DPDP方案在針對不同數(shù)據(jù)類型時(shí)的優(yōu)勢。
計(jì)算開銷主要來自于實(shí)體DO、TPA和CSP,它們在不同階段產(chǎn)生的計(jì)算開銷決定了整個(gè)方案的驗(yàn)證效率。在初始化階段,主要是由DO對數(shù)據(jù)進(jìn)行預(yù)處理產(chǎn)生的計(jì)算開銷,整個(gè)初始化階段會因?yàn)椴捎貌煌姆桨付胁煌挠?jì)算復(fù)雜度。對于BLS-PDP方案而言,不用構(gòu)造樹形結(jié)構(gòu)而只需生成元數(shù)據(jù)即可,因此,計(jì)算開銷大幅降低,時(shí)間復(fù)雜度為O(1)。而LBT-DPDP方案則需要構(gòu)建LBT,整個(gè)過程的時(shí)間復(fù)雜度為O(logkn)。因此,對于DO而言,在初始化階段,2種方案的計(jì)算復(fù)雜度不同,BLS-PDP方案在初始化階段對數(shù)據(jù)的處理效率更高。
在動態(tài)更新階段,LBT-DPDP方案進(jìn)行修改操作時(shí)需要執(zhí)行1次指數(shù)級計(jì)算操作,進(jìn)行插入操作時(shí)需要2次指數(shù)級計(jì)算,進(jìn)行刪除操作時(shí)不需要計(jì)算,而BLS-PDP方案沒有動態(tài)更新操作。
在完整性審計(jì)階段,對數(shù)據(jù)的處理不同于初始化階段的數(shù)據(jù)一次性處理和動態(tài)更新階段的針對性處理,因?yàn)檫@2個(gè)階段的處理次數(shù)是有限制的,而完整性審計(jì)階段是一個(gè)周期性重復(fù)的過程,只要數(shù)據(jù)存儲在CSP,就會不斷地進(jìn)行完整性審計(jì),因此,完整性驗(yàn)證是整個(gè)方案中計(jì)算量最多的環(huán)節(jié),也決定了整個(gè)方案的驗(yàn)證效率。假設(shè)數(shù)據(jù)塊的總數(shù)為n,挑戰(zhàn)的數(shù)據(jù)塊數(shù)目為c,LBT-DPDP方案的審計(jì)過程需要的計(jì)算為2c次加法和2c次乘法,此外每次審計(jì)都要遍歷LBT,因此,總的時(shí)間復(fù)雜度為O(logkn)。BLS-PDP的TPA審計(jì)過程只需要對隨機(jī)抽取的c個(gè)數(shù)據(jù)塊進(jìn)行驗(yàn)證即可,沒有其他復(fù)雜的計(jì)算,時(shí)間復(fù)雜度為O(c),而c的值約為460,數(shù)值不大,因此,整個(gè)時(shí)間復(fù)雜度可以表示為O(1)。
BLS的完整性審計(jì)計(jì)算速度遠(yuǎn)快于LBT,大幅節(jié)約了整個(gè)系統(tǒng)的計(jì)算資源,并且兩者計(jì)算速度的差異會隨著數(shù)據(jù)量的增大而增大,滿足線性關(guān)系。因此,對于海量的云端數(shù)據(jù)而言,本文混合方案能夠節(jié)約計(jì)算資源,提高整個(gè)云端數(shù)據(jù)的審計(jì)效率。
通信開銷主要在于信息的交互,因?yàn)閿?shù)據(jù)上傳的通信開銷只會在數(shù)據(jù)初始化階段,所以整個(gè)驗(yàn)證過程的通信代價(jià)都取決于挑戰(zhàn)-應(yīng)答階段,即TPA與CSP之間為進(jìn)行完整性驗(yàn)證而相互傳遞信息的開銷大小。LBT-DPDP方案在CSP產(chǎn)生證明信息時(shí),構(gòu)建ADS需要大量輔助信息,這使得通信代價(jià)大幅提高。而BLS-PDP方案因?yàn)椴淮嬖跇湫谓Y(jié)構(gòu),無需太多輔助信息來產(chǎn)生證明,因此,其通信代價(jià)遠(yuǎn)低于LBT-DPDP方案。
LBT-DPDP方案的完整性驗(yàn)證需要構(gòu)建認(rèn)證路徑以及大量的輔助信息,從被選取的數(shù)據(jù)塊對應(yīng)的葉子節(jié)點(diǎn)一直向根節(jié)點(diǎn)移動,中間通過的路徑的節(jié)點(diǎn)都為驗(yàn)證該數(shù)據(jù)塊正確性的輔助信息,時(shí)間復(fù)雜度為O(logkn)。而BLS-PDP方案只需要傳輸c個(gè)數(shù)據(jù)塊的信息就可以達(dá)到審計(jì)的目的,并且因?yàn)槭褂肏TVs,可以將多個(gè)數(shù)據(jù)塊的信息聚合為一個(gè),所以通信的時(shí)間復(fù)雜度為O(1)。BLS-PDP方案的通信開銷遠(yuǎn)小于LBT-DPDP方案,減輕了TPA與CSP的通信負(fù)擔(dān)。
現(xiàn)有多種審計(jì)方案的性能比較結(jié)果如表1和表2所示,其中,c為隨機(jī)抽取的數(shù)據(jù)塊數(shù)目,f為數(shù)據(jù)塊損壞的比例,n為文件分塊數(shù),k為LBT的出度,a為動態(tài)文件百分比??梢钥闯?BLS-PDP方案除了不能進(jìn)行動態(tài)更新,在整個(gè)驗(yàn)證過程中效率明顯高于LBT-DPDP方案,節(jié)約了整個(gè)系統(tǒng)的計(jì)算資源,減少了通信開銷,并且整個(gè)CSP存儲的靜態(tài)數(shù)據(jù)越多,BLS-PDP方案的性能優(yōu)勢越大,而對于需要動態(tài)更新的動態(tài)數(shù)據(jù),LBT-DPDP方案具有支持批操作以及審計(jì)過程中輔助信息更少的優(yōu)點(diǎn)。由此可見,2種方案的結(jié)合可使云數(shù)據(jù)的審計(jì)更高效。
表1 7種審計(jì)方案的功能對比Table 1 Function comparison of seven audit schemes
表2 7種審計(jì)方案的復(fù)雜度對比Table 2 Complexity comparison of seven audit schemes
為驗(yàn)證本文混合驗(yàn)證方案的性能優(yōu)勢,在Windows10環(huán)境中使用Java實(shí)現(xiàn)方案基本功能,PC機(jī)的配置為英特爾酷睿四核,CPU i5-4200M,主頻2.50 GHz,內(nèi)存4 GB。方案中使用的加解密算法、簽名和哈希均從PBC庫和OpenSSL庫中調(diào)取。實(shí)驗(yàn)輸入采用1 600個(gè)隨機(jī)生成的數(shù)據(jù)文件,總大小為1 GB,結(jié)果取10次實(shí)驗(yàn)的平均值。
為驗(yàn)證本文混合方案的TPA驗(yàn)證效率優(yōu)于單一動態(tài)驗(yàn)證方案,分別實(shí)現(xiàn)BLS-PDP和LBT-DPDP驗(yàn)證方案,并將三者進(jìn)行對比,LBT-DPDP驗(yàn)證方案默認(rèn)使用最大出度16。實(shí)驗(yàn)步驟如下:
1)質(zhì)詢數(shù)據(jù)塊數(shù)量為460,混合驗(yàn)證方案的TPA驗(yàn)證時(shí)間與數(shù)據(jù)的類型有關(guān),設(shè)定不同的動態(tài)數(shù)據(jù)占比,驗(yàn)證TPA時(shí)間與動態(tài)數(shù)據(jù)占比的關(guān)系。
2)假定動態(tài)數(shù)據(jù)與靜態(tài)數(shù)據(jù)各占50%,質(zhì)詢數(shù)據(jù)塊數(shù)量為460,比較3種驗(yàn)證方案在不同數(shù)據(jù)塊大小下TPA的驗(yàn)證時(shí)間。
3)同樣設(shè)置動態(tài)數(shù)據(jù)與靜態(tài)數(shù)據(jù)各占50%,數(shù)據(jù)塊分塊大小為4 kB,比較3種方案總的審計(jì)時(shí)間,驗(yàn)證本文方案的審計(jì)效率是否具有優(yōu)勢。
動態(tài)數(shù)據(jù)所占百分比對TPA驗(yàn)證時(shí)間的影響如圖3所示??梢钥闯?全為靜態(tài)數(shù)據(jù)與全為動態(tài)數(shù)據(jù)的驗(yàn)證時(shí)間分別為數(shù)據(jù)混合狀態(tài)驗(yàn)證時(shí)間的下限與上限,動態(tài)數(shù)據(jù)越多,驗(yàn)證時(shí)間也越長,驗(yàn)證時(shí)間與動態(tài)數(shù)據(jù)的占比接近呈線性關(guān)系。
圖3 動態(tài)數(shù)據(jù)占比對TPA驗(yàn)證時(shí)間的影響Fig.3 Effect of percentages of dynamic data on TPA verification time
3種方案的TPA驗(yàn)證時(shí)間比較如圖4所示,從圖4可以看出,BLS-PDP方案時(shí)間最短,其不涉及復(fù)雜的ADS生成與驗(yàn)證,LBT-DPDP方案時(shí)間最長,而本文方案介于兩者之間,且與動態(tài)文件與靜態(tài)文件各自所占比例有關(guān),靜態(tài)文件越多,本文方案的驗(yàn)證時(shí)間越短,效率越高,節(jié)省的系統(tǒng)資源越多。
圖4 3種方案的TPA驗(yàn)證時(shí)間對比Fig.4 TPA verification time comparison of three schemes
文獻(xiàn)[20]方案與本文方案的審計(jì)時(shí)間對比如圖5所示??梢钥闯?與文獻(xiàn)[20]方案相比,因?yàn)長BT比跳表高效,所以在相同的數(shù)據(jù)塊大小情況下,本文方案審計(jì)時(shí)間較少,且隨著審計(jì)數(shù)據(jù)塊的增多,LBT審計(jì)節(jié)省的時(shí)間越多,總體的審計(jì)效率更高。
圖5 本文方案與文獻(xiàn)[20]方案的審計(jì)時(shí)間對比Fig.5 Audit time comparison between the proposed scheme and the scheme in literature[20]
本文提出一種云平臺數(shù)據(jù)完整性混合驗(yàn)證方案。根據(jù)用戶存儲數(shù)據(jù)的類型選用不同的審計(jì)方案,對靜態(tài)類型文件與動態(tài)類型文件分別使用BLS-PDP方案和LBT-DPDP方案,從而提高審計(jì)效率,發(fā)揮不同審計(jì)方案的優(yōu)勢。性能分析與實(shí)驗(yàn)結(jié)果表明,該方案能夠減少完整性驗(yàn)證過程中的計(jì)算量與通信代價(jià)。下一步將研究具體的PDP與DPDP選擇方法,同時(shí)降低TPA與CSP的通信量。此外,還將考慮解決方案的兼容性問題,使2種方案能夠?qū)崿F(xiàn)代碼復(fù)用和模塊共用。