姜 林 美
(華僑大學計算機科學與技術(shù)學院 福建 廈門 361021)
多云存儲中基于身份的數(shù)據(jù)持有性公開證明方案
姜 林 美
(華僑大學計算機科學與技術(shù)學院 福建 廈門 361021)
數(shù)據(jù)持有性證明技術(shù)是解決云存儲中數(shù)據(jù)安全問題的關(guān)鍵技術(shù)之一,多云存儲下的數(shù)據(jù)持有性證明則是具有分布式特性的較新的一個研究課題。為了解決目前多云存儲下的數(shù)據(jù)持有性證明技術(shù)方案少、安全性差、計算效率低等問題,提出一個適用于多云存儲的、基于身份的、支持公開證明的數(shù)據(jù)持有性證明方案,并對方案的正確性、安全性和性能進行了詳細的分析。分析比較結(jié)果說明所提方案比其他方案具有更好的性能,尤其具有高得多的計算效率。
數(shù)據(jù)持有性證明 基于身份 橢圓曲線 雙線性對 多云 云存儲
當前,隨著互聯(lián)網(wǎng)的發(fā)展與成熟,云計算成為了一個越來越重要的計算機技術(shù)研究領域。由于云計算環(huán)境構(gòu)建于一種開放的架構(gòu)和接口之上,因此可以將多個內(nèi)部或外部的云服務整合在一起提供協(xié)同服務,這種分布式的云計算被Zhu等人稱為“多云”(Multicloud)[1]。云存儲是在云計算技術(shù)基礎上延伸和發(fā)展出來的一種新的存儲方式[2]。在云存儲中,用戶將自己的數(shù)據(jù)外包給云存儲服務提供商,在解除存儲管理負擔的同時獲得了按需付費和隨時隨地訪問等益處。然而,從用戶的角度看,云計算本質(zhì)上就是不安全的[3]。無論云服務提供商采取多強的可靠性措施,數(shù)據(jù)丟失的事件均有可能發(fā)生;此外,為了節(jié)約存儲空間,云服務提供商可能丟棄從未被訪問的或極少被訪問的數(shù)據(jù)[4]。因此,如何確認存儲在云中的數(shù)據(jù)的正確性和完整性始終是用戶關(guān)切的一個重大問題。
為了保證云存儲中的數(shù)據(jù)的正確性和完整性,2007年,Ateniese等人首次提出了數(shù)據(jù)持有性證明PDP(Provable Data Posession)模型,并實現(xiàn)了兩個基于RSA的PDP方案[5]。在PDP模型中,云服務器只需訪問文件的一小部分數(shù)據(jù)即可生成數(shù)據(jù)完整性證據(jù),客戶則無需下載完整文件即可通過挑戰(zhàn)-應答的方式得到云中數(shù)據(jù)的概率完整性證明。與此同時,Ari Juels等人提出的POR(Proofs of Retrievability)方案[6]提供了類似的概率完整性證明功能,但只能支持有限次的完整性證明挑戰(zhàn)。此后,Ateniese等人又提出了采用對稱密鑰技術(shù)的更高效的S-PDP(Scalable PDP)方案[7],Erway等人則提出了支持完全動態(tài)數(shù)據(jù)更新的DPDP(Dynamic PDP)方案[8]。近些年來,各種各樣的PDP方案[9-13]被相繼提出,這些方案主要致力于改進安全性、計算效率、額外存儲空間和通信效率。然而,這些方案只適用于單云存儲服務,將之應用于分布式的多云環(huán)境則效率非常低下。
為了解決多云存儲中的數(shù)據(jù)持有性證明問題,2010年Zhu等人提出了一個適用于混合云(Hybid Cloud)的PDP方案[14],2012年Zhu等人又提出一個協(xié)同(Cooperative)PDP方案(CPDP)[1]對該方案進行了完善,并首次將其適用的這種分布式云計算環(huán)境稱為多云(Multicloud)。然而,Wang等人[15]經(jīng)分析認為CPDP方案存在校驗者被服務方欺騙的安全性問題。2015年,Wang提出了一個基于身份的多云存儲下的PDP方案(ID-DPDP)[16]。ID-DPDP方案雖然克服了服務方欺騙的安全問題,但是卻不適合委托第三方進行公開驗證,同時存在計算效率低下等問題。為此,本文提出了一個高效的基于身份的可公開驗證的PDP方案,即PV-PDP方案。
傳統(tǒng)的可公開驗證的單云PDP架構(gòu)的一般模型如圖1所示。模型由云服務器、客戶機和第三方驗證者TPV(Third Party Verifier)構(gòu)成,客戶數(shù)據(jù)存儲于單一云服務提供商的存儲服務器中。
圖1 單云架構(gòu)模型
多云存儲與單云存儲最大的不同之處在于:多云存儲中,一個文件的各數(shù)據(jù)塊分散存儲于多個云服務器中,這些云服務器可能隸屬于不同的云服務提供商。單云架構(gòu)可以很直觀轉(zhuǎn)化為一般多云架構(gòu)模型,如圖2所示。然而,這種模型沒有考慮各云中數(shù)據(jù)的完整性驗證問題和文件數(shù)據(jù)塊的聚合問題,因而是相當?shù)托У摹?/p>
圖2 一般多云架構(gòu)模型
為提高多云環(huán)境下數(shù)據(jù)持有性證明的效率,本文采用如圖3所示的PV-PDP的架構(gòu)模型,模型涉及到五個實體,分別闡述如下。
圖3 PV-PDP架構(gòu)模型
1) 客戶(機)(Client):需要將大量數(shù)據(jù)交由云服務器保存和維護的數(shù)據(jù)所有者。
2) 第三方驗證者TPV(Third Party Verifier):一個獨立可信的云服務提供商,它為用戶保存數(shù)據(jù)驗證參數(shù)并提供公開的數(shù)據(jù)驗證服務。
3) 云服務器CS(Cloud Server):由云服務提供商維護的具有大量存儲空間的服務器,為客戶提供存儲服務。
4) Facade:在客戶機和云服務器之間起橋接作用的云服務器。Facade接收客戶機的存儲請求,將數(shù)據(jù)分發(fā)給實際存儲數(shù)據(jù)的云服務器;并接收TPV的持有性證明請求,綜合從各云服務器反饋的持有性證明結(jié)果,并最終響應TPV。Facade是客戶與云存儲服務之間的唯一交互界面。
5) 私鑰產(chǎn)生器PKG(Private Key Generator):專門用于根據(jù)客戶身份標識產(chǎn)生對應私鑰的實體,在本方案中可以是一個可信的第三方密鑰平臺,也可以是客戶端軟件內(nèi)的一個函數(shù)。
五個實體的數(shù)據(jù)交互關(guān)系如下:
1) 存儲過程:客戶機將自身ID傳遞給PKG,PKG計算出對應的私鑰交給客戶機??蛻魴C將要存儲到云中的文件劃分成小的文件塊,同時計算驗證參數(shù),將兩者同時傳送給Facade,但只將驗證參數(shù)傳送給TPV。Facade將客戶機的文件塊和相應的驗證標簽分發(fā)給各CS實際存儲,自身保存適當?shù)尿炞C參數(shù)。
2) 證明過程:TPV定期向Facade提出數(shù)據(jù)持有性證明請求并傳送驗證參數(shù),F(xiàn)acade從CS獲得相應文件塊的驗證數(shù)據(jù),并將這些驗證數(shù)據(jù)組合起來,再將最終的驗證數(shù)據(jù)傳遞給TPV,TPV根據(jù)這些驗證數(shù)據(jù)給出數(shù)據(jù)持有性證明結(jié)果,并將結(jié)果傳送給客戶機。
本文所述PV-PDP的方案基于橢圓曲線上的雙線性對實現(xiàn),方案由四個階段構(gòu)成。本節(jié)詳述PV-PDP方案的具體設計。
2.1 雙線性對
(1) 雙線性性
?P,P1,P2,Q,Q1,Q2∈G1,有:
(2) 非退化性
(3) 可計算性
通過橢圓曲線上的改良的Weil對[17]和Tate對[18]可以構(gòu)建這樣的雙線性對。
2.2PV-PDP協(xié)議設計
PV-PDP協(xié)議包括四個階段,即初始化階段、密鑰生成階段、標簽生成階段和證明階段,詳述如下:
(1) 初始化階段
H:{0,1}*→G1
PKG秘密保存長密鑰x,公開除x之外的所有其他參數(shù){a,b,q,P,Ppub,e,h,π}。
(2) 密鑰生成階段
客戶向PKG提供自己的身份ID,PKG計算QID=H(ID)和SID=x·QID。PKG通過安全通道將QID和SID傳送給客戶,以QID為客戶的公鑰,以SID為客戶的私鑰。
(3) 標簽生成階段
Facade在收到{Fi|i∈n}和{Li|i∈n}后,將它們轉(zhuǎn)發(fā)到相應的云服務器CSm(i),并在映射表T中記錄i和m(i)的對應關(guān)系。
(4) 證明階段
證明階段由TPV定時或按需向Facade發(fā)起,證明結(jié)果由TPV傳送給客戶。證明階段又分為五個步驟:
② 挑戰(zhàn)二:Facade循環(huán)計算待挑戰(zhàn)數(shù)據(jù)塊的索引{vj=πk(j)|1≤j≤c}。然后查找映射表T,得到存儲相應數(shù)據(jù)塊vj的云服務器的索引。最后,設Mim(vj)為存儲于云服務器CSi的數(shù)據(jù)塊的索引集合,F(xiàn)acade將各Mi分別傳送給相應的云服務器CSi。
③ 響應一:對所有被挑戰(zhàn)的云服務器CSi,在接收到挑戰(zhàn)數(shù)據(jù)Mi后,計算:
和:
然后,將響應θi=(Fi,Li)傳送給Facade。
④ 響應二:在收到從云服務器CSi發(fā)回的所有響應{θi}后,F(xiàn)acade將各響應數(shù)據(jù)聚集成最終響應F和L。它們的計算方法如下:
然后,F(xiàn)acade將最終響應θ=(F,L)傳送給PKV。
(1)
如果式(1)成立,則證明存儲于云服務器中的數(shù)據(jù)是完整的,PKV向客戶發(fā)送“success”;否則,說明數(shù)據(jù)不完整,PKV向客戶發(fā)送“failure”。
3.1 正確性證明
定理1 在PV-PDP方案中,如果任何文件塊和標簽塊均完整,則式(1)一定成立。
證明 當TPV收到最終響應θ=(F,L)后,首先有:
和計算得到的:
另有初始化階段計算得到:
u=r·QID
和密鑰生成階段計算得到:
SID=x·QID
和標簽生成階段計算得到:
Ppub=x·P
于是,從式(1)右邊開始推導有:
可見式(1)完全成立,證畢。
3.2 安全性分析
(1) 防偽造攻擊能力
在PV-PDP方案中,各云服務器CS端保存了部分的文件塊和標簽對(Fi,Li),F(xiàn)acade也可能持有(Fi,Li)。這里,Li=(r+h(u‖i)+h(Fi))·SID。其中,SID為客戶的私鑰,r也是客戶秘密保存的大隨機數(shù),因此Facade和云服務器在不知道SID和r的情況下無法偽造標簽Li。而在無正確Li的情況下偽造任何Fi都將使得式(1)無法成立,即無法通過TPV的驗證。
(2) 防替換攻擊能力
在PDP中,替換攻擊指的是當文件塊Fi損毀時,云服務器或Facade使用另一文件塊標簽對(Fj,Lj)替換(Fi,Li)來響應挑戰(zhàn)。
(3) 防共謀攻擊能力
在多云PDP中,共謀攻擊指的是多個云服務器之間在充分交流數(shù)據(jù)的情況下成功實行偽造或替換攻擊。
如上所述,PV-PDP方案中Facade實際上負責分發(fā)所有云服務器中的數(shù)據(jù)塊,即具有持有所有云服務器中的數(shù)據(jù)的能力。既然Facade無法實行偽造或替換攻擊,在云服務器共謀的情況下,這種攻擊對于PV-PDP方案也是無效的。
(4) 支持公開證明的能力
在PDP中,方案是否允許進行公開證明,指的是只有持有私鑰的文件擁有者能進行完整性的證明,還是只需持有公鑰就可以進行完整性證明。
顯然,在PV-PDP方案中,TPV只需擁有三個公鑰,即客戶(文件所有者)的公鑰QID、標簽公鑰u和PKG公鑰Ppub就可以進行完整性證明。因此,本方案具有公開證明的能力。
3.3 性能分析
為便于比較,先來分析一下假如采用如圖2所示的一般多云架構(gòu)模型的話,持有性驗證過程的異同之處。首先,PV-PDP方案中Facade承擔的工作需分散到客戶端和TPV中去,顯而易見這將增加客戶端的復雜性,犧牲一定的客戶體驗。其次,映射表T必須在客戶端和TPV各存一份。最后,通信過程變?yōu)榭蛻舳撕蚑PV分別與各CS通信。
(1) 存儲開銷
這里要計算的是額外存儲,就是整個PDP方案所有過程中用到的所有非原始文件所需的存儲空間。在PV-PDP方案中這包括PKG的長密鑰x和PKG所公開的參數(shù){a,b,q,P,Ppub,e,h,π}、客戶的公鑰QID和私鑰SID、標簽私鑰r和標簽公鑰u、標簽集{Li|i∈n}和映射表T。這些數(shù)據(jù)中除后兩者({Li|i∈n}和T)之外,均為極小的常量,其開銷可以忽略不計。標簽集{Li|i∈n}存儲于TPV和云服務器,映射表T則存儲于Facade,下面對這兩者的存儲量進行推算。
假設文件F的大小為4GB,文件分塊大小為4KB,則整個文件劃分為n=220個文件塊。每個文件塊Fi對應一個標簽Li以及映射表的一個表項Ti。Li=(r+h(u‖i)+h(Fi))·SID為有限域橢圓曲線上的一個點,由橫縱坐標表示。假設采用256位的橢圓曲線(安全強度相當于3 072位RSA)。則橫縱坐標各需32B存儲,因此每個標簽Li占64B,那么標簽集占的總空間就是220×64=64MB。因文件塊數(shù)為220,映射表的每一表項Ti由兩個20位的整數(shù)即可表示,為計算高效,本方案用兩個32位的整數(shù)表示,因此其占用的空間為8B,那么映射表占用的總空間就是220×8=8MB。從而可知,TPV和云服務器的額外存儲為原文件大小的64MB/4GB=1.562 5%,F(xiàn)acade的額外存儲為8MB/4GB=0.195 312 5%,對客戶和PKG來說則為可忽略不計的額外存儲。假如采用一般多云架構(gòu)模型,則總體上將增加一張映射表T的開銷,即存儲開銷將增加0.195 312 5%。
同等情況下,ID-DPDP方案[16]標簽集的大小也是64MB,其映射表項則因包含了塊的名稱和s個子塊的密鑰,存儲量應在12MB以上。此外,ID-DPDP方案需要在客戶端保存映射表,因此其客戶端的存儲開銷比本方案高。綜上所述,從總體上看,本方案的存儲開銷比ID-DPDP方案略低。
(2) 計算開銷
下面分別從客戶端、TPV和云端(包括Facade和云服務器)分析計算開銷??蛻舳说挠嬎汩_銷主要產(chǎn)生于標簽生成階段。在此階段,客戶端要執(zhí)行n+1次橢圓曲線上的點乘運算和2n次哈希運算。TPV和云端的計算開銷主要產(chǎn)生于證明階段。TPV要執(zhí)行c次哈希求{vj}和c次哈希求Sv,外加兩次求雙線性對運算。云端則僅需執(zhí)行c次哈希求{vj}。與ID-DPDP[16]等其他幾個多云PDP方案的計算開銷的比較如表1所示,表中n為文件塊數(shù)、s為文件塊內(nèi)分塊數(shù)、c為挑戰(zhàn)塊塊。另外,tb為求雙線性對,te為求模冪,tm為橢圓曲線點乘,th為哈希。由該表可見本方案具有極大優(yōu)勢。
表1 計算開銷比較
續(xù)表1
(3) 通信開銷
在通信開銷上,假如采用一般多云架構(gòu)模型,設云服務器CSi數(shù)量為τ,則將增加的2τ-1次往返雙向的通信開銷。
由于本文提出的PV-PDP方案與ID-DPDP[16]等其他幾個多云PDP方案持有性驗證過程一樣,因此可以認為開銷基本相同。
多云存儲環(huán)境下的數(shù)據(jù)持有性證明與單云環(huán)境的不同之處在于其分布式特性。因此多云下的PDP方案應重點考慮多云的高效結(jié)合,而不能只是在單云PDP方案上做低效的步驟迭代。本文提出了一個多云存儲環(huán)境下的基于身份的數(shù)據(jù)持有性證明方案,并詳細闡述了方案的實現(xiàn),繼而分析了方案的正確性、存儲效率和時間效率。結(jié)果說明,本文所提方案不僅具有非常好的安全性能、支持第三方公開證明,而且與同類PDP方案相比所需的額外存儲更少,同時具有比同類PDP方案好得多的時間效率。
[1]ZhuYan,HuHongxin,AhnGail-Joon,etal.CooperativeProvableDataPossessionforIntegrityVerificationinMulticloudStorage[J].ParallelandDistributedSystems,IEEETransactionson,2012,23(12):2231-2244.
[2] 付偉,吳曉平,葉清,等.一種基于公鑰分割的多副本持有性證明方案[J].計算機研究與發(fā)展,2015(7):1672-1681.
[3]RenKui,WangCong,WangQian.SecurityChallengesforthePublicCloud[J].InternetComputing,IEEE,2012,16(1):69-73.
[4]YangK,JiaXH.Datastorageauditingserviceincloudcomputing:challenges,methodsandopportunities[J].WorldWideWeb-InternetAndWebInformationSystems,2012,15(4):409-428.
[5]AtenieseGiuseppe,BurnsRandal,CurtmolaReza,etal.Provabledatapossessionatuntrustedstores[C]//Alexandria,VA,Unitedstates:Proceedingsofthe14thACMConferenceonComputerandCommunicationsSecurity,2007:598-610.
[6]JuelsAri,KaliskiJr,BurtonS.Pors:Proofsofretrievabilityforlargefiles[C]//Alexandria,VA,Unitedstates:Proceedingsofthe14thACMConferenceonComputerandCommunicationsSecurity,2007:584-597.
[7]AtenieseGiuseppe,PietroRobertoDi,ManciniLuigiV,etal.Scalableandefficientprovabledatapossession[C]//Istanbul,Turkey:Proceedingsofthe4thinternationalconferenceonSecurityandprivacyincommunicationnetowrks,2008.
[8]ErwayChris,KupcuAlptekin,PapamanthouCharalampos,etal.Dynamicprovabledatapossession[C]//Chicago,IL,Unitedstates:Proceedingofthe16thAcmConferenceonComputerandCommunicationsSecurity,2009:213-222.
[9]ChenBo,CurtmolaReza.Robustdynamicprovabledatapossession[C]//Macau,China:2012IEEE32ndInternationalConferenceonDistributedComputingSystemsWorkshops,2012:515-525.
[10]ChenLanxiang,GuoGongde.Anefficientremotedatapossessioncheckingincloudstorage[J].InternationalJournalofDigitalContentTechnologyanditsApplications,2011,5(4):43-50.
[11]YuYong,ZhangYafang,NiJianbing,etal.Remotedatapossessioncheckingwithenhancedsecurityforcloudstorage[J].FutureGenerationComputerSystems,2015,52:77-84.
[12]WangJunxiang,LiuShengli.Dynamicprovabledatapossessionwithbatch-updateverifiability[C]//Beijing,China:2012IEEEInternationalConferenceonIntelligentControl,AutomaticDetectionandHigh-EndEquipment,2012:108-113.
[13]GrittiClémentine,SusiloWilly,PlantardThomas.EfficientDynamicProvableDataPossessionwithPublicVerifiabilityandDataPrivacy[M].InformationSecurityandPrivacy,FooErnest,StebilaDouglas,SpringerInternationalPublishing,2015:9144,395-412.
[14]ZhuYan,WangHuaixi,HuZexing,etal.Efficientprovabledatapossessionforhybridclouds[C]//Chicago,IL,Unitedstates:Proceedingsofthe17thACMConferenceonComputerandCommunicationsSecurity,2010:756-758.
[15]WangHuaqun,ZhangYuqing.Ontheknowledgesoundnessofacooperativeprovabledatapossessionschemeinmulticloudstorage[J].IEEETransactionsonParallelandDistributedSystems,2014,25(1):264-267.
[16]WangHuaqun.Identity-BasedDistributedProvableDataPossessioninMulticloudStorage[J].IEEETransactionsonServicesComputing,2015,8(2):328-340.
[17]BonehD,FranklinM.Identity-basedencryptionfromtheWeilpairing[J].SIAMJournalOnComputing,2003,32(3):586-615.
[18]BarretoPaulosLM,KimHaey,LynnBen,etal.EfficientAlgorithmsforPairing-BasedCryptosystems[C]//AdvancesinCryptology-CRYPTO2002,YungMoti,SpringerBerlinHeidelberg,2002:2442,354-369.
[19]BarsoumAyadF,HasanMAnwar.Integrityverificationofmultipledatacopiesoveruntrustedcloudservers[C]//Ottawa,ON,Canada:2012 12thIEEE/ACMInternationalSymposiumonCluster,CloudandGridComputing,2012:829-834.
PROVABLE DATA POSSESSION SCHEME TO PUBLIC BASED ON IDENTITYFOR MULTI-CLOUD STORAGE
Jiang Linmei
(SchoolofComputerScienceandTechnology,HuaqiaoUniversity,Xiamen361021,Fujian,China)
Provable data possession (PDP) is one of the key technologies to solve the security problems that exist in cloud storage, while PDP for multi-cloud is a new research subject with distributed computing characteristic. Nevertheless, there are few PDP schemes for multi-cloud proposed so far. What’s more, there are many defects such as inability to resist collusive attack and low computation efficiency in the existing schemes. To address these weaknesses, a PDP scheme based on identity for multi-cloud which supports public verification is proposed, and the correctness of the scheme is proved. Moreover, security feature and performance analysis are made to illustrate that the proposed scheme takes higher performance, especially much advanced computation efficiency than the other multi-cloud PDP schemes.
Provable data possession Identity-based Elliptic curve Bilinear paring Multi-cloud Cloud storage
2015-12-02。廈門市重大科技計劃項目(3502Z20131019)。姜林美,講師,主研領域:網(wǎng)絡安全。
TP319
A
10.3969/j.issn.1000-386x.2017.03.053