APP下载

多云存储中基于身份的数据持有性公开证明方案

2017-04-14

计算机应用与软件 2017年3期
关键词:多云公钥客户端

姜 林 美

(华侨大学计算机科学与技术学院 福建 厦门 361021)

多云存储中基于身份的数据持有性公开证明方案

姜 林 美

(华侨大学计算机科学与技术学院 福建 厦门 361021)

数据持有性证明技术是解决云存储中数据安全问题的关键技术之一,多云存储下的数据持有性证明则是具有分布式特性的较新的一个研究课题。为了解决目前多云存储下的数据持有性证明技术方案少、安全性差、计算效率低等问题,提出一个适用于多云存储的、基于身份的、支持公开证明的数据持有性证明方案,并对方案的正确性、安全性和性能进行了详细的分析。分析比较结果说明所提方案比其他方案具有更好的性能,尤其具有高得多的计算效率。

数据持有性证明 基于身份 椭圆曲线 双线性对 多云 云存储

0 引 言

当前,随着互联网的发展与成熟,云计算成为了一个越来越重要的计算机技术研究领域。由于云计算环境构建于一种开放的架构和接口之上,因此可以将多个内部或外部的云服务整合在一起提供协同服务,这种分布式的云计算被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方案。

1 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根据这些验证数据给出数据持有性证明结果,并将结果传送给客户机。

2 PV-PDP方案

本文所述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 PV-PDP方案分析

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方案持有性验证过程一样,因此可以认为开销基本相同。

4 结 语

多云存储环境下的数据持有性证明与单云环境的不同之处在于其分布式特性。因此多云下的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

猜你喜欢

多云公钥客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
向日葵·成长·礼物
神奇的公钥密码
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究
何氏“十全大补粥”
新华社推出新版客户端 打造移动互联新闻旗舰
一种公开密钥RSA算法的实现