姜 林 美
(華僑大學計算機科學與技術學院 福建 廈門 361021)
多云存儲中基于身份的數據持有性公開證明方案
姜 林 美
(華僑大學計算機科學與技術學院 福建 廈門 361021)
數據持有性證明技術是解決云存儲中數據安全問題的關鍵技術之一,多云存儲下的數據持有性證明則是具有分布式特性的較新的一個研究課題。為了解決目前多云存儲下的數據持有性證明技術方案少、安全性差、計算效率低等問題,提出一個適用于多云存儲的、基于身份的、支持公開證明的數據持有性證明方案,并對方案的正確性、安全性和性能進行了詳細的分析。分析比較結果說明所提方案比其他方案具有更好的性能,尤其具有高得多的計算效率。
數據持有性證明 基于身份 橢圓曲線 雙線性對 多云 云存儲
當前,隨著互聯網的發展與成熟,云計算成為了一個越來越重要的計算機技術研究領域。由于云計算環境構建于一種開放的架構和接口之上,因此可以將多個內部或外部的云服務整合在一起提供協同服務,這種分布式的云計算被Zhu等人稱為“多云”(Multicloud)[1]。云存儲是在云計算技術基礎上延伸和發展出來的一種新的存儲方式[2]。在云存儲中,用戶將自己的數據外包給云存儲服務提供商,在解除存儲管理負擔的同時獲得了按需付費和隨時隨地訪問等益處。然而,從用戶的角度看,云計算本質上就是不安全的[3]。無論云服務提供商采取多強的可靠性措施,數據丟失的事件均有可能發生;此外,為了節約存儲空間,云服務提供商可能丟棄從未被訪問的或極少被訪問的數據[4]。因此,如何確認存儲在云中的數據的正確性和完整性始終是用戶關切的一個重大問題。
為了保證云存儲中的數據的正確性和完整性,2007年,Ateniese等人首次提出了數據持有性證明PDP(Provable Data Posession)模型,并實現了兩個基于RSA的PDP方案[5]。在PDP模型中,云服務器只需訪問文件的一小部分數據即可生成數據完整性證據,客戶則無需下載完整文件即可通過挑戰-應答的方式得到云中數據的概率完整性證明。與此同時,Ari Juels等人提出的POR(Proofs of Retrievability)方案[6]提供了類似的概率完整性證明功能,但只能支持有限次的完整性證明挑戰。此后,Ateniese等人又提出了采用對稱密鑰技術的更高效的S-PDP(Scalable PDP)方案[7],Erway等人則提出了支持完全動態數據更新的DPDP(Dynamic PDP)方案[8]。近些年來,各種各樣的PDP方案[9-13]被相繼提出,這些方案主要致力于改進安全性、計算效率、額外存儲空間和通信效率。然而,這些方案只適用于單云存儲服務,將之應用于分布式的多云環境則效率非常低下。
為了解決多云存儲中的數據持有性證明問題,2010年Zhu等人提出了一個適用于混合云(Hybid Cloud)的PDP方案[14],2012年Zhu等人又提出一個協同(Cooperative)PDP方案(CPDP)[1]對該方案進行了完善,并首次將其適用的這種分布式云計算環境稱為多云(Multicloud)。然而,Wang等人[15]經分析認為CPDP方案存在校驗者被服務方欺騙的安全性問題。2015年,Wang提出了一個基于身份的多云存儲下的PDP方案(ID-DPDP)[16]。ID-DPDP方案雖然克服了服務方欺騙的安全問題,但是卻不適合委托第三方進行公開驗證,同時存在計算效率低下等問題。為此,本文提出了一個高效的基于身份的可公開驗證的PDP方案,即PV-PDP方案。
傳統的可公開驗證的單云PDP架構的一般模型如圖1所示。模型由云服務器、客戶機和第三方驗證者TPV(Third Party Verifier)構成,客戶數據存儲于單一云服務提供商的存儲服務器中。

圖1 單云架構模型
多云存儲與單云存儲最大的不同之處在于:多云存儲中,一個文件的各數據塊分散存儲于多個云服務器中,這些云服務器可能隸屬于不同的云服務提供商。單云架構可以很直觀轉化為一般多云架構模型,如圖2所示。然而,這種模型沒有考慮各云中數據的完整性驗證問題和文件數據塊的聚合問題,因而是相當低效的。

圖2 一般多云架構模型
為提高多云環境下數據持有性證明的效率,本文采用如圖3所示的PV-PDP的架構模型,模型涉及到五個實體,分別闡述如下。

圖3 PV-PDP架構模型
1) 客戶(機)(Client):需要將大量數據交由云服務器保存和維護的數據所有者。
2) 第三方驗證者TPV(Third Party Verifier):一個獨立可信的云服務提供商,它為用戶保存數據驗證參數并提供公開的數據驗證服務。
3) 云服務器CS(Cloud Server):由云服務提供商維護的具有大量存儲空間的服務器,為客戶提供存儲服務。
4) Facade:在客戶機和云服務器之間起橋接作用的云服務器。Facade接收客戶機的存儲請求,將數據分發給實際存儲數據的云服務器;并接收TPV的持有性證明請求,綜合從各云服務器反饋的持有性證明結果,并最終響應TPV。Facade是客戶與云存儲服務之間的唯一交互界面。
5) 私鑰產生器PKG(Private Key Generator):專門用于根據客戶身份標識產生對應私鑰的實體,在本方案中可以是一個可信的第三方密鑰平臺,也可以是客戶端軟件內的一個函數。
五個實體的數據交互關系如下:
1) 存儲過程:客戶機將自身ID傳遞給PKG,PKG計算出對應的私鑰交給客戶機。客戶機將要存儲到云中的文件劃分成小的文件塊,同時計算驗證參數,將兩者同時傳送給Facade,但只將驗證參數傳送給TPV。Facade將客戶機的文件塊和相應的驗證標簽分發給各CS實際存儲,自身保存適當的驗證參數。
2) 證明過程:TPV定期向Facade提出數據持有性證明請求并傳送驗證參數,Facade從CS獲得相應文件塊的驗證數據,并將這些驗證數據組合起來,再將最終的驗證數據傳遞給TPV,TPV根據這些驗證數據給出數據持有性證明結果,并將結果傳送給客戶機。
本文所述PV-PDP的方案基于橢圓曲線上的雙線性對實現,方案由四個階段構成。本節詳述PV-PDP方案的具體設計。
2.1 雙線性對

(1) 雙線性性
?P,P1,P2,Q,Q1,Q2∈G1,有:



(2) 非退化性

(3) 可計算性

通過橢圓曲線上的改良的Weil對[17]和Tate對[18]可以構建這樣的雙線性對。
2.2PV-PDP協議設計
PV-PDP協議包括四個階段,即初始化階段、密鑰生成階段、標簽生成階段和證明階段,詳述如下:
(1) 初始化階段

H:{0,1}*→G1
PKG秘密保存長密鑰x,公開除x之外的所有其他參數{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}后,將它們轉發到相應的云服務器CSm(i),并在映射表T中記錄i和m(i)的對應關系。
(4) 證明階段
證明階段由TPV定時或按需向Facade發起,證明結果由TPV傳送給客戶。證明階段又分為五個步驟:

② 挑戰二:Facade循環計算待挑戰數據塊的索引{vj=πk(j)|1≤j≤c}。然后查找映射表T,得到存儲相應數據塊vj的云服務器的索引。最后,設Mim(vj)為存儲于云服務器CSi的數據塊的索引集合,Facade將各Mi分別傳送給相應的云服務器CSi。
③ 響應一:對所有被挑戰的云服務器CSi,在接收到挑戰數據Mi后,計算:
和:
然后,將響應θi=(Fi,Li)傳送給Facade。
④ 響應二:在收到從云服務器CSi發回的所有響應{θi}后,Facade將各響應數據聚集成最終響應F和L。它們的計算方法如下:
然后,Facade將最終響應θ=(F,L)傳送給PKV。

(1)
如果式(1)成立,則證明存儲于云服務器中的數據是完整的,PKV向客戶發送“success”;否則,說明數據不完整,PKV向客戶發送“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),Facade也可能持有(Fi,Li)。這里,Li=(r+h(u‖i)+h(Fi))·SID。其中,SID為客戶的私鑰,r也是客戶秘密保存的大隨機數,因此Facade和云服務器在不知道SID和r的情況下無法偽造標簽Li。而在無正確Li的情況下偽造任何Fi都將使得式(1)無法成立,即無法通過TPV的驗證。
(2) 防替換攻擊能力
在PDP中,替換攻擊指的是當文件塊Fi損毀時,云服務器或Facade使用另一文件塊標簽對(Fj,Lj)替換(Fi,Li)來響應挑戰。

(3) 防共謀攻擊能力
在多云PDP中,共謀攻擊指的是多個云服務器之間在充分交流數據的情況下成功實行偽造或替換攻擊。
如上所述,PV-PDP方案中Facade實際上負責分發所有云服務器中的數據塊,即具有持有所有云服務器中的數據的能力。既然Facade無法實行偽造或替換攻擊,在云服務器共謀的情況下,這種攻擊對于PV-PDP方案也是無效的。
(4) 支持公開證明的能力
在PDP中,方案是否允許進行公開證明,指的是只有持有私鑰的文件擁有者能進行完整性的證明,還是只需持有公鑰就可以進行完整性證明。
顯然,在PV-PDP方案中,TPV只需擁有三個公鑰,即客戶(文件所有者)的公鑰QID、標簽公鑰u和PKG公鑰Ppub就可以進行完整性證明。因此,本方案具有公開證明的能力。
3.3 性能分析
為便于比較,先來分析一下假如采用如圖2所示的一般多云架構模型的話,持有性驗證過程的異同之處。首先,PV-PDP方案中Facade承擔的工作需分散到客戶端和TPV中去,顯而易見這將增加客戶端的復雜性,犧牲一定的客戶體驗。其次,映射表T必須在客戶端和TPV各存一份。最后,通信過程變為客戶端和TPV分別與各CS通信。
(1) 存儲開銷
這里要計算的是額外存儲,就是整個PDP方案所有過程中用到的所有非原始文件所需的存儲空間。在PV-PDP方案中這包括PKG的長密鑰x和PKG所公開的參數{a,b,q,P,Ppub,e,h,π}、客戶的公鑰QID和私鑰SID、標簽私鑰r和標簽公鑰u、標簽集{Li|i∈n}和映射表T。這些數據中除后兩者({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。因文件塊數為220,映射表的每一表項Ti由兩個20位的整數即可表示,為計算高效,本方案用兩個32位的整數表示,因此其占用的空間為8B,那么映射表占用的總空間就是220×8=8MB。從而可知,TPV和云服務器的額外存儲為原文件大小的64MB/4GB=1.562 5%,Facade的額外存儲為8MB/4GB=0.195 312 5%,對客戶和PKG來說則為可忽略不計的額外存儲。假如采用一般多云架構模型,則總體上將增加一張映射表T的開銷,即存儲開銷將增加0.195 312 5%。
同等情況下,ID-DPDP方案[16]標簽集的大小也是64MB,其映射表項則因包含了塊的名稱和s個子塊的密鑰,存儲量應在12MB以上。此外,ID-DPDP方案需要在客戶端保存映射表,因此其客戶端的存儲開銷比本方案高。綜上所述,從總體上看,本方案的存儲開銷比ID-DPDP方案略低。
(2) 計算開銷
下面分別從客戶端、TPV和云端(包括Facade和云服務器)分析計算開銷。客戶端的計算開銷主要產生于標簽生成階段。在此階段,客戶端要執行n+1次橢圓曲線上的點乘運算和2n次哈希運算。TPV和云端的計算開銷主要產生于證明階段。TPV要執行c次哈希求{vj}和c次哈希求Sv,外加兩次求雙線性對運算。云端則僅需執行c次哈希求{vj}。與ID-DPDP[16]等其他幾個多云PDP方案的計算開銷的比較如表1所示,表中n為文件塊數、s為文件塊內分塊數、c為挑戰塊塊。另外,tb為求雙線性對,te為求模冪,tm為橢圓曲線點乘,th為哈希。由該表可見本方案具有極大優勢。

表1 計算開銷比較

續表1
(3) 通信開銷
在通信開銷上,假如采用一般多云架構模型,設云服務器CSi數量為τ,則將增加的2τ-1次往返雙向的通信開銷。
由于本文提出的PV-PDP方案與ID-DPDP[16]等其他幾個多云PDP方案持有性驗證過程一樣,因此可以認為開銷基本相同。
多云存儲環境下的數據持有性證明與單云環境的不同之處在于其分布式特性。因此多云下的PDP方案應重點考慮多云的高效結合,而不能只是在單云PDP方案上做低效的步驟迭代。本文提出了一個多云存儲環境下的基于身份的數據持有性證明方案,并詳細闡述了方案的實現,繼而分析了方案的正確性、存儲效率和時間效率。結果說明,本文所提方案不僅具有非常好的安全性能、支持第三方公開證明,而且與同類PDP方案相比所需的額外存儲更少,同時具有比同類PDP方案好得多的時間效率。
[1]ZhuYan,HuHongxin,AhnGail-Joon,etal.CooperativeProvableDataPossessionforIntegrityVerificationinMulticloudStorage[J].ParallelandDistributedSystems,IEEETransactionson,2012,23(12):2231-2244.
[2] 付偉,吳曉平,葉清,等.一種基于公鑰分割的多副本持有性證明方案[J].計算機研究與發展,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)。姜林美,講師,主研領域:網絡安全。
TP319
A
10.3969/j.issn.1000-386x.2017.03.053