公开云环境中身份基代理远程数据完整性证明
2017-12-20秦敬源
王 新,秦敬源
(大连海洋大学 信息工程学院,辽宁 大连 116023)
公开云环境中身份基代理远程数据完整性证明
王 新,秦敬源
(大连海洋大学 信息工程学院,辽宁 大连 116023)
云计算作为一种传统计算的替代方式,发展迅速。因为它可以提供给和商业环境一种灵活的、动态的、有弹性的架构。在公共云环境中,客户端将其数据上传到公有云服务器PCS中,无法控制其远程数据,因此检查远程数据的完整性是至关重要的工作。在原始数据不需下载的情况下,确保用户能够检测其外包数据完整性。在某些情况下,客户没有能力检查其远程数据的完整性,不得不将远程数据完整性检测任务委托给其代理。基于双线性对和计算Diffie-Hellman问题的困难性,设计了身份基代理远程数据完整性证明协议。在该协议中采用身份基的密码体系,减少了对公钥证书的验证,降低了用户和云服务器的储存、通信开销。通过安全性分析和性能分析,表明该协议是可证安全的和高效的。
公开云;身份基;代理;完整性检验
1 概 述
1.1 研究背景
云存储是云计算的一种重要服务,允许数据所有者将数据存储在云服务器中,并通过云服务器向用户提供数据访问。
这种数据的外置服务在给数据所有者带来优势和便利的同时,也带来如下问题[1-2]:
首先,数据所有者将数据存储在云中后,就失去了对数据的物理控制,导致数据的安全性高度依赖于云服务提供商。所以并不能保证数据所有者数据的完整性。
其次,虽然云存储的访问没有物理地点的限制,但在某些情况下,数据所有者会被限制访问互联网而没有能力检查其远程数据。这时,数据所有者将远程数据检查的任务委托给代理,代理根据授权执行远程数据完整性检测协议。当云服务器的响应无法通过验证时,代理将联系云服务提供商,评估损失并根据损失的严重程度讨论赔偿。
由于身份基公钥密码学具有效率方面的优势,不需要进行公钥证书验证,研究人员将身份基公钥密码学引入云计算安全的研究中。综合国内外对云计算、远程数据完整性检测、身份基公钥密码学的研究现状[3-5],不论从理论上还是从应用前景上看,开展公共云环境中身份基代理数据完整性检测的研究都具有重要的学术价值以及广阔的应用前景。
1.2 相关工作
2007年,Ateniese等[6]首次提出了“数据拥有性证明”(Provable Data Possession,PDP)方案。在该方案中,用户可以以一个很高的概率发现远程服务器上的数据存储错误。方案的设计基于RSA公钥加密算法,因此计算开销很大,同时,方案仅支持静态数据检验。后来,他们扩展了原有方案[7],提出了一种动态版本的PDP方案,但新版本也不支持完整的动态操作,如数据插入操作。2008年,Sebe等[8]提出了一种可以进行无限次验证的远程数据完整性检验方案,支持在设置时间与用户存储开销间进行权衡。2009年,Erway等[9]提出了两种动态的PDP方案,其中基于RSA树的认证哈希字典结构的方案通过更大的计算开销提高了错误检验概率。
2010年,Wang等[10]提出了实现隐私保护的公共审计方案。该方案利用同态密钥随机掩码技术保证第三方审计不能从验证过程中获得用户的任何有用信息。2012年,Zhu等[11]将PDP的使用环境从单云扩展到多云。2013年,Wang[12]提出一种代理PDP方案。在该方案中,用户将授权证据嵌入到数据块标签的生成中,以达到只有拥有授权的代理才能完成数据完整性验证的目的,但是方案没有考虑授权的撤销问题。2015年,Wang[13]将基于身份加密体制引入到PDP模型中,设计了一种多云环境下的数据完整性证明方案。
代理公共密钥加密技术已经研究了多年。Mambo等[14]提出了代理签名的概念。之后Hwang等[15]提出了一个基于RSA的门限代理签名方案。Libert等[16]提出了单向密文选择安全代理重加密。Pack等[17]引入了代理缓存。由于代理有大量的应用领域,所以在云计算领域研究代理密码学很重要。
2 预备知识
2.1 双线性对
设G和GT是两个阶为素数q的乘法群,g是G的生成元,双线性映射e:G×G→GT满足下述性质:
(1)可计算性:对任意的u,v∈G,存在有效的算法计算e(u,v);
(2)双线性:对于任意的a,b∈Zq,都满足e(ga,gb)=e(g,g)ab;
(3)非退化性:存在u,v∈G,满足e(u,v)≠1,其中1代表群GT的单位元。
双线性映射e可以通过有限域上椭圆曲线的Weil配对[18]或者Tate配对[19]来构造。
2.2 计算Diffie-Hellman问题
3 构造身份基代理远程数据完整性检测方案
提出的协议包含7个步骤:SetUp,Extract,TagGen,SignVerify,CheckTag,GenProof,CheckProof。
首先,引入一些符号。假设存储的块-标签对的最大数为n,f和Ω是两个伪随机函数,π是一个伪随机置换函数,h是一个加密哈希函数,H是一个有两个输入的加密哈希函数,详细表述如下:
方案的详细步骤如下:
Client通过发送一个证书来授予Proxy进行远程数据完整性检测。这个证书由远程数据完整性检测授权的证据(C,w)(其中C=X(ID,R))和在Client的私钥σ下用(C,w)签名的证书Sign组成。一旦被指定,Proxy可以通过自己的私钥z和((C,w),Sign)来检查Client的远程数据。远程数据完整性检测涉及了与R相关的(C,w)的有效性验证,同时也包含了检查Proxy是否符合指定的(C,w)。另一方面,(Sig,SignVerify)是一个签名-验证算法对,并且Sign=SigR(C,w)。Client发送这个证书-证明对((C,w),Sign)给Proxy。
(3)TagGen:对于F=(m1,m2,…,mn),Client生成每个块mi的标签Tmi,步骤如下:
①Client计算t=H(e(Y,Z)σ,ω),Wi=Ωt(i);
②Client计算Tmi=(h(Wi)umi)σ;
③Client输出(Tmi,mi);
④Client计算关于w的签名Sign=SigR(C,w)。
执行了n次以上步骤之后,所有的块标签都生成了,将它们表示成一个集合Σ=(Tm1,Tm2,…,Tmn)。然后Client将块-标签对集合{(mi,Tmi),1≤i≤n}和证书(C,w)发送给PCS。PCS存储这些块标签对和证书,之后Client在其本地储存中删除这些块-标签对。
(4)SignVerify:根据收到的Client关于证书(C,w)的签名Sign=SigR(C,w),Proxy执行验证算法SignVerify((C,w),Sign,R)。如果有效,Proxy就接受证书(C,w);否则Proxy就拒绝,并且向Client请求一个新的证书-证明对。
(5)CheckTag:对于收到的{(mi,Tmi),1≤i≤n},执行如下步骤:
③如果上式成立,PCS接受这个块-标签对;否则PCS拒绝接受,并且向Client请求一个新的块-标签对。
Proxy将((C,w),Sign)发送给PCS,PCS验证签名SigR(C,w)是否有效。如果有效,则PCS比较这个证书与其存储的(C,w)'是否一致。当(C,w)=(C,w)'并且Proxy的请求符合其证书(C,w)时,PCS执行如下步骤(否则PCS拒绝Proxy的请求):
①对于1≤j≤c,PCS计算选取文件块的参数,通过函数:ij=πk1(j),aj=fk2(j);
(7)CheckProof:根据从PCS收到的回复V,Proxy执行如下步骤:
①Proxy计算t=H(e(R·C,Y)z,w);
③如果上式成立,Proxy输出“success”,否则输出“failure”;
④当PCS的回复不能通过Proxy的验证时,Proxy将会多次重复执行同样的挑战。如果回复仍然不能通过验证,Proxy会联系PCS报告情况。PCS会检查Client存储的数据,并且通过离线备份来恢复丢失的数据。如果PCS失败了,Proxy和PCS将不得不评估损失,以及根据损失程度来讨论赔偿。
4 方案分析
4.1 正确性分析
定理1:如果Client和PCS都是诚实的,而且能够遵守上文的步骤,那么任何块-标签对都可以通过PCS的标签检查。
证明:根据TagGen和CheckTag两个步骤,可知:
H(e(Y,Z)σ,w)=t
那么
e(Ti,g)=e((h(Wi)umi)σ,g)=
定理成立。
定理2:如果Proxy和PCS都是诚实的,而且能够遵守上文的步骤,那么回复V可以通过Proxy的数据持有检查。
证明:设定一个挑战为chal=(c,k1,k2),根据TagGen和GenProof两个步骤,可知;
H(e(Y,Z)σ,w)=t
那么
定理成立。
定理3:如果计算Diffie-Hellman问题在G上成立,在随机预言模型下,本协议是不可被欺骗的。
定理4:当PCS储存了n个块-标签对((m1,T1),(m2,T2),…,(mn,Tn)),d为篡改了的块-标签对的个数,挑战为chal=(c,k1,k2)时,发现篡改的概率PR满足:
证明:假定PCS在n个块-标签对中有d个被篡改了。挑战chal=(c,k1,k2)中代理请求的块数量为c。设R是一个离散随机变量,定义为被PCS篡改的块-标签对和由代理选择的块匹配的数量。将PR定义为PCS篡改的块-标签对和由代理选择的块相匹配至少为一个的概率。于是有:
PR=P{R≥1}=1-P{R=0}=
因此,可得:
概率曲线如图1所示。
图1 概率曲线
定理5:如果PCS事先对所有可能的挑战计算出响应后删除数据,那么PCS将会消耗更多的存储空间。对于n个块,对所有可能的挑战的响应包含了2n-1个块-标签对。因为在n≥2的情况下,2n-1始终大于n,对于理性的PCS是不可行的。
4.2 效率分析
4.2.1 计算效率
在文中方案(ID-PPDP),假设有n个消息块。在Extract阶段,PKG进行一次幂运算,Client进行两次幂运算,一次G上的点乘运算。在TagGen阶段,Client进行一次双线性对运算、2n次幂运算、n次G上的点乘运算和一次证书(C,w)的签名运算。在SignVerify阶段,Proxy进行一次验证签名Sign的运算。在CheckTag阶段,PCS进行2n+1次双线性对运算、n次幂运算、n次G上的点乘运算。在GenProof和CheckProof阶段,PCS进行c次幂运算、c-1次G上的点乘运算,Proxy进行2次双线性对运算、c+1次幂运算、c次G上的点乘运算。其他类似于hash,置换一类的运算可以忽略,因为它们对计算量的影响微不足道。
4.2.2 通信效率
表1 方案对比
5 结束语
文中提出了身份基代理远程数据持有证明,给出了系统模型和安全模型,然后设计了基于双线性对的高效的协议,并且通过安全和性能分析证明了该协议的安全性和高效性。
[1] 冯登国,张 敏,张 妍,等.云计算安全研究[J].软件学报,2011,22(1):71-83.
[2] 张玉清,王晓菲,刘雪峰,等.云计算环境安全综述[J].软件学报,2016,27(6):1328-1348.
[3] 冯朝胜,秦志光,袁丁云.数据安全存储技术[J].计算机学报,2015,38(1):150-163.
[4] 胡德敏,余 星.云存储服务中支持动态数据完整性检测方案[J].计算机应用研究,2014,31(10):3056-3060.
[5] 沈文婷,于 佳,杨光洋,等.具有私钥可恢复能力的云存储完整性检测方案[J].软件学报,2016,27(6):1451-1462.
[6] Ateniese G,Burns R,Curtmola R,et al.Provable data possession at untrusted stores[C]//Proceedings of 14th ACM conference on computer and communication security.[s.l.]:ACM,2007:598-609.
[7] Ateniese G,Dipietro R,Mancini L V,et al.Scalable and efficient provable data possession[C]//Proceedings of fourth international conference on security and privacy in communication networks.[s.l.]:[s.n.],2008.
[8] Sebe F,Domingo-Ferrer J,Martinez-Balleste A,et al.Efficient remote data integrity checking in critical information infrastructures[J].IEEE Transactions on Knowledge and Data Engineering,2008,20(8):1034-1038.
[9] Erway C C,Kupcu A,Papamanthou C,et al.Dynamic provable data possession[C]//Proceedings of 16th ACM conference on computer and communication security.[s.l.]:ACM,2009:213-222.
[10] Wang C,Wang Q,Ren K,et al.Privacy-preserving public auditing for data storage security in cloud computing[C]//29th IEEE international conference on computer communications.[s.l.]:IEEE,2010:1-9.
[11] Zhu Y,Hu H,Ahn G J,et al.Cooperative provable data possession for integrity verification in multicloud storage[J].IEEE Transactions on Parallel and Distributed Systems,2012,23(12):2231-2244.
[12] Wang H.Proxy provable data possession in public clouds[J].IEEE Transactions on Services Computing,2013,6(4):551-559.
[13] Wang H.Identity-based distributed provable data possession in multi-cloud storage[J].IEEE Transactions on Services Computing,2015,8(2):328-340.
[14] Mambo M,Usuda K,Okamoto E.Proxy signatures for delegating signing operation[C]//Proceedings of third ACM conference on computer and communications security.[s.l.]:ACM,1996:48-57.
[15] Hwang M,Lu J,Lin E.A practical (t, n) threshold proxy signature scheme based on the RSA cryptosystem[J].IEEE Transactions on Knowledge and Data Engineering,2003,15(6):1552-1560.
[16] Libert B,Vergnaud D.Unidirectional chosen-ciphertext secure proxy re-encryption[J].IEEE Transactions on Information Theory,2011,57(3):1786-1802.
[17] Pack S,Rutagemwa H,Shen X,et al.Proxy-based wireless data access algorithms in mobile hotspots[J].IEEE Transactions on Vehicular Technology,2008,57(5):3165-3177.
[18] Boneh D,Franklin M.Identity-based encryption from the weil pairing[C]//Proceedings of 21st annual international cryptology conference.[s.l.]:[s.n.],2001:213-229.
[19] Miyaji A,Nakabayashi M,Takano S.New explicit conditions of elliptic curve traces for fr-reduction[J].IEICE Transactions on Fundamentals Electronics Communications & Computer Sciences,2001,84(5):1234-1243.
[20] Kumanduri R.Number theory with computer applications[M].[s.l.]:Prentice Hall,1998.
[21] Miller V.Uses of elliptic curves in cryptography[C]//Proceedings of fifth annual international cryptology conference.[s.l.]:[s.n.],1985:417-426.
[22] Vanstone S.Responses to NISTs proposal[J].Communication of ACM,1992,35:50-52.
RemoteDataIntegrityCheckingofIdentity-basedProxyinPublicCloudEnvironment
WANG Xin,QIN Jing-yuan
(School of Information Engineering,Dalian Ocean University,Dalian 116023,China)
Cloud computing as an alternative to conventional computing has a rapid development because it can provide a flexible,dynamic and resilient infrastructure for both academy and business.In public cloud environment,the clients move their data to Public Cloud Server (PCS).Since remote data are uncontrollable,checking its integrity is of crucial importance.It enables the clients to check whether their outsourced data have been kept intact without downloading the original data.In some cases,the clients are failed to check the integrity of remote data so that they have to delegate their proxy for checking of remote data integrity.Based on the bilinear pairing technique and the hardness of computational Diffie-Hellman problem,a protocol of remote data integrity checking of identity-based proxy is designed where identity-based cryptography system is used to reduce authentication of public key certificates and lower the storage and communication costs of user and public cloud server.Through analysis of security and performance,the protocol proposed is provably secure and efficient.
public cloud;identity-based;proxy;integrity checking
TP39
A
1673-629X(2017)12-0093-05
10.3969/j.issn.1673-629X.2017.12.021
2016-11-30
2017-04-05 < class="emphasis_bold">网络出版时间
时间:2017-08-01
辽宁省自然科学基金(20102042)
王 新(1984-),男,硕士研究生,研究方向为密码学。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1554.056.html