王少辉,潘笑笑,王志伟,肖甫,王汝传
对基于身份云数据完整性验证方案的分析与改进
王少辉1,2,潘笑笑1,2,王志伟1,2,肖甫1,2,王汝传1,2
(1. 南京邮电大学计算机学院、软件学院、网络空间安全学院,江苏 南京 210003; 2. 江苏省无线传感网高技术研究重点实验室,江苏 南京 210003)
个人或企业将数据外包给远程云服务器,在获得运营便利的同时也失去了对数据的本地控制权,无法直接保证数据的完整性和隐私性。分析了Zhang等和Xu等提出的基于身份云数据完整性验证方案的安全性。分析表明Zhang等所提方案易遭受密钥恢复攻击,云服务器利用存储的用户数据可恢复出用户的私钥,而Xu等所提方案不能满足健壮性的安全要求。在Xu等方案的基础上,提出了一个改进的云数据完整性验证方案,分析表明新方案可提供健壮性和隐私性的安全需求,并且可提供与Xu等所提方案相同的通信和计算开销。
云存储;基于身份密码系统;数据完整性;隐私性
云存储具有低成本、高扩展、海量存储、便捷存取的优点,越来越多的个人或企业选择将数据存放在云端,这样用户可以节约大量的存储、管理以及维护成本,但是随之带来的问题是用户无法对数据直接控制,从而不能确保存储在云中数据的完整性和隐私性。云环境下导致数据损坏的因素主要包括以下方面。1)云服务提供商不完全可信。出于经济原因,云服务提供商可能会删除用户很少或从未访问的数据,以便可以节省空间存储其他用户数据从而获取更多收入。2)由于云服务器的故障、管理失误或对手恶意攻击,云服务器中存储的数据可能会被破坏。但是,云服务提供商为了维护良好的声誉可能会故意隐藏数据丢失的事实。在云存储中,数据完整性和隐私性已成为用户最关心的问题,因为即使很少一部分数据的损坏也可能会造成不可估量的损失。因此,如何解决云存储中所面临的数据完整性验证问题已经成为了目前学术界和企业界研究的一个热点,具有较高的研究价值和应用前景。
Deswarte等[1]在2003年提出了基于散列函数的云数据完整性验证方案,它允许客户端使用相同的元数据进行多次挑战,但是该协议必须对存储的整个文件进行取幂,计算成本过高。Oprea等[2]在2005年提出了一个支持块级数据完整性验证的方案,但是该方案仍存在过高的通信成本和计算成本。Ateniese等[3-4]在2007年最先对可证明数据持有审计方案(PDP,provable data possession)进行了形式化建模。该方案引入第三方审计者(TPA,third-party auditor)提供验证服务,从而能够有效减轻用户的负担。方案可以使TPA在不下载数据到本地的情况下验证数据的完整性,并提出分块思想降低生成验证元的计算成本。同时,Juels等[5]最先对数据可恢复证明问题(POR, proof of retrievability)进行了形式化建模,提出了基于哨兵的POR验证机制,该机制不仅能够识别远程数据是否损坏而且能够对已经损坏的数据文件进行恢复。2008年,Shacham等[6-7]提出了两种使用纠错码技术的高效紧缩的POR方案。这两种POR方案都支持任意次验证并且支持无状态认证,即认证过程中认证者不需要保存认证状态,最后通过引用同态验证标签将证明信息有效地缩小为一个较小的值。
上述方案均在公钥基础设施PKI(public key infrastructure)架构下设计。Shamir[8]在1984年创新性地提出了基于身份的密码系统,用于解决传统PKI密码体制带来的证书生成、验证、存储和注销等问题。在基于身份密码体制中,将标示用户身份的唯一信息(如用户的IP地址)作为用户的公钥,用户的私钥由可信的私钥生成中心(PKG, public key generator)利用用户的身份信息和自己的主密钥计算得到。2001年,Boneh等[9]利用双线性对构建了第一个安全实用的基于身份的加密方案,随后基于身份的加密方案设计引起了密码学界的广泛关注。
目前,大部分基于身份云数据完整性验证方案主要利用双线性运算这一工具,如2016年,Zhang等[10]基于Waters签名,利用双线性运算在标准模型中提出了一个基于身份的公共验证方案。该方案具有固定的通信开销和计算成本。双线性运算比RSA算法中的模幂运算需要更多的计算开销。为了提高验证效率,Yu等[11]利用RSA算法提出了基于身份的高效远程数据完整性验证方案。随后Zhang等[12]指出Yu等的方案仅适用于单个用户场景,而且没有考虑密钥泄露的问题。Zhang等通过对密钥在固定时间间隔进行更新,提出了一个能够抵御密钥泄露攻击的数据完整性验证方案。最近Xu等[13]指出了Yu等[11]的方案没有考虑数据的隐私性问题,它容易受到来自TPA或外部攻击者的数据恢复攻击。
本文对基于身份云数据完整性验证方案进行了研究,首先对文献[12]和文献[13]所提方案的安全性进行了分析,通过分析指出文献[12]方案容易遭受私钥恢复攻击,云服务器通过分析用户存储的数据可以恢复并得到用户私钥;而文献[13]所提方案不满足健壮性要求,即服务器即使没有完整无误地保存用户数据,也可以成功伪造证据通过TPA的验证。进而在文献[13]方案的基础上提出了一个改进的基于身份云数据完整性验证方案,通过分析证明该方案能有效满足隐私性和健壮性要求,而在效能方面,新方案具有与文献[13]方案相同的通信、计算成本。
如图1所示,基于身份云数据完整性验证模型主要由如下4个部分组成。
1) 用户:用户是拥有大量数据需要存储在云服务器的个人或组织,通常用户带宽、存储和计算能力有限。
2) 云服务器:拥有大量的存储空间和强大的计算能力以维护用户存储的数据,并为用户提供数据访问服务。一般假设云服务器并不完全可信,因为云服务器可能会为了自己的利益删除很少被访问的用户数据。
3) 第三方审计者(TPA):代替用户与云服务器完成交互,能够检查存储在云服务器上用户数据的完整性。TPA由可信部门监督和管理,提供可信、公正公平的审计结果。但是假定TPA是诚实而好奇(curious but honest)的,因此必须保证TPA无法通过审计过程获得用户的隐私数据。
4) 私钥生成中心(PKG):是完全可信的机构,根据用户的身份信息为其生成用户私钥。
图1 系统模型
首先给出可忽略概率的概念。
云数据完整性验证方案需要满足隐私性和健壮性的安全需求,下面本文给出两个安全需求的形式化定义。
定义2(隐私性) 本文通过挑战者和敌手之间的如下游戏来定义隐私性,游戏过程如下所示。
2) 质询:敌手自适应地向挑战者进行如下质询,包括Extract质询、TagGen质询和Audit质询。
③ Audit质询:通过此质询,敌手和服务器将执行交互,执行数据的完整性验证算法。
是可以忽略的。本文称基于身份云数据完整性验证方案满足隐私性,
定义3(健壮性) 通过挑战者和敌手之间的如下游戏来定义健壮性,其中初始化和质询操作同隐私性的定义,这里不再赘述。
如果概率为
是可以忽略的,则称基于身份云数据完整性验证方案满足健壮性。
本节对文献[12]和文献[13]中所提方案进行详尽地安全分析,分析指出文献[12]方案存在私钥恢复攻击,服务器能利用存储的数据和标签信息得到用户在时刻的私钥。而文献[13]则不满足健壮性的要求,即使服务器没有存储数据,也能生成合法的证明信息通过TPA的验证。
文献[12]的方案主要针对用户私钥的泄露问题,这里只简单介绍与安全性分析相关的Setup、Extract和TagGen等算法,其他算法具体可以参考文献[12]。
3) TagGen。在时间段,身份为的用户执行以下步骤将数据文件外包到云端。
安全分析:下面指出上述方案易遭受私钥恢复攻击,攻击方法如下所示。
然后式(1)除以式(2)得
文献[13]提出的基于身份云数据完整性认证方案由以下算法构成。
6) Verify。TPA验证下面的等式是否成立。
如果成立则返回1,表明验证通过。否则表明数据没有被服务器保存完整,返回0。
安全分析:下面给出对上述方案的攻击,可以看出方案[13]不能满足健壮性的安全需求,云服务器可以在任意修改甚至删除用户数据后仍能生成合法的证明消息通过TPA的验证,令TPA相信服务器正确存储了用户数据。
在Verify算法中,TPA诚实的执行验证过程,此时
在本节中,基于文献[13]的方案,本文提出了一个改进的基于身份云数据完整性验证方案,并给出了改进方案的安全性分析和效能比较。
改进的基于身份云数据完整性认证方案由6个算法组成,其中,算法Setup、Extract、TagGen和Challenge与文献[13]的方案一致,这里不再赘述,ProofGen和Verify算法改进如下所示。
2) Verify。TPA验证下面等式是否成立
如果成立则返回1,表明验证通过。否则返回0表明数据没有被服务器保存完整。
本节中,本文分别对方案的正确性、健壮性和隐私性进行说明。
正确性。由方案可知,此时
从而如果云服务器正确保存用户数据,生成的验证信息能够通过TPA的验证。
健壮性。新方案的健壮性基于如下的RSA假设。
定理1 如果RSA假设成立,则改进的基于身份云数据完整性验证方案满足健壮性安全需求。
即
隐私性。最后我们简要证明新方案满足隐私性的安全需求。
分别从通信成本和计算成本这两个方面将新方案与文献[13]中的方案进行了比较。假设在两种方案中,存储相同的数据文件,而TPA产生的挑战信息一样。从通信开销来看,新方案在各阶段和文献[13]的方案一致,故两种方案具有相同的通信开销。
可以看出在ProofGen算法和Verify算法中,本文的新方案与文献[13]方案具有相同的计算复杂度。
本文的方案与文献[13]方案在TagGen和Challenge阶段的计算时间相同,下面给出两种方案在ProofGen和Verify两种算法中的性能实验比较。本文使用Java语言对两种方案的ProofGen算法和Verify算法进行实现。模拟在Win7系统中实现,处理器为Intel 3230 M,主频为2.6 GHz,内存为8 GB,选择的文件大小为1 MB,分块大小为4 KB,指定TPA每次分别随机选择不同数量的数据块检查外包数据的完整性。为了减少误差,每个阶段记录100次执行时间,最终取平均值。表2给出了TPA每次随机选择200个数据块检查外包数据完整性的实验结果对比情况,可以看出两种方案在ProofGen算法和Verify算法中具有几乎相同的运行时间。
表1 计算成本比较
表2 TPA选择200个挑战块计算时间
当TPA选择不同的挑战块数目时,图2给出了在ProofGen算法中新方案和文献[13]方案的计算时间比较,可以看出新方案和文献[13]方案的计算成本几乎相同。
图2 ProofGen阶段的计算时间对比
同样地,当TPA选择不同的挑战块数量块时,两种方案中Verify算法的计算时间比对如图3所示。从图3中可以看出新方案额外计算开销与选取数据块的数量线性相关。在一次完整性验证过程中选取的挑战块数量有限,新方案在可以提供更高的安全需求的同时,具有和Xu等方案基本一致的计算开销。
图3 Verify阶段的计算时间对比
在云存储应用环境下,用户无法确保存储在远端云服务器中的数据是完整的,如何验证远程数据的完整性是云安全领域研究的一个热点问题。本文分析了两种基于身份的云存储数据完整性验证方案的安全性,分析结果指出文献[12]的方案易遭受密钥恢复攻击,云服务器可以利用存储的数据信息计算得到用户的私钥;而文献[13]不能提供健壮性的安全需求,云服务器即使在丢失数据的情况下依然可以伪造证据通过TPA的验证。基于文献[13]的设计方法,本文提出一个新的改进方案,分析表明新方案在提供与文献[13]相同通信和计算开销的条件下,能提供更高的安全需求。针对基于身份密码系统下,云存储数据完整性验证方案存在的密钥泄露问题,外包数据的动态更新等问题将是我们下一步的研究重点。
[1] DESWARTE Y, QUISQUATER J, SAIDANE A. Remote integrity checking[M]//Integrity and Internal Control in Information Systems VI. 2004: 1-11.
[2] OPREA A, REITER M K, YANG K. Space-efficient block storage integrity[C]// Internet Society, Network and Distributed System Security Symposium. 2005: 1-12.
[3] ATENIESE G, BURNS R, CURTMOLA R, et al. Provable data possession at untrusted stores[C]//ACM Conference on Computer and Communications Security. 2007: 598-609.
[4] ATENIESE G, BURNS R, CURTMOLA R, et al. Remote data checking using Provable data possession[J]. ACM Transactions on Information & System Security(TISSEC), 2011, 14(1): 1-34.
[5] JUELS A. Pors: proofs of retrievability for large files[C]// ACM Conference on Computer and Communications Security. 2007: 584-597.
[6] SHACHAM H, WATERS B. Compact proofs of retrievability[C]// Asiacrypt LNCS 5350. 2008: 90-107.
[7] SHACHAM H, WATERS B. Compact proofs of retrievability[J]. Journal of Cryptology, 2013, 26(3): 442-483.
[8] SHAMIR A. Identity-based cryptosystems and signature schemes[C]// Crypto. 1984: 47-53.
[9] BONEH D, FRANKLIN M K. Identity based encryption from the weil pairing[J]. Siam Journal on Computing, 2001, 32(3): 213-229.
[10] ZHANG J, DONG Q. Efficient ID-based public auditing for the outsourced data in cloud storage[J]. Information Sciences, 2016, 343-344(C):1-14.
[11] YU Y, XUE L, MAN H A, et al. Cloud data integrity checking with an identity-based auditing mechanism from RSA[J]. Future Generation Computer Systems, 2016, 62(C):85-91.
[12] ZHANG J, LI P, SUN Z, et al. ID-based data integrity auditing scheme from RSA with resisting key exposure[C]// International Conference on Provable Security. 2016: 83-100.
[13] XU Z, WU L, KHAN M K, et al. A secure and efficient public auditing scheme using RSA algorithm for cloud storage[J]. Journal of Supercomputing, 2017(4):1-25.
Analysis and improvement on identity-based cloud data integrity verification scheme
WANG Shaohui1,2, PAN Xiaoxiao1,2, WANG Zhiwei1,2, XIAO Fu1,2, WANG Ruchuan1,2
1. College of Computer, Nanjing University of Posts and Telecommunications, Nanjing 210003, China 2. Key Laboratory of Jiangsu High Technology Research for Wireless Sensor Network, Nanjing 210003, China
Many individuals or businesses outsource their data to remote cloud. Cloud storage provides users the advantages of economic convenience, but data owners no longer physically control over the stored data, which introduces new security challenges, such as no security guarantees of integrity and privacy. The security of two identity-based cloud data integrity verification schemes by Zhang et al and Xu et al respectively are analysed. It shows that Zhang et al.’s scheme is subjected to secret key recovery attack for the cloud servers can recover user’s private key only utilizing stored data. And Xu et al.’s scheme cannot satisfy security requirements of soundness. Based on Xu et al.'s scheme, a modified identity-based cloud data integrity verification scheme is proposed. A comprehensive analysis shows the new scheme can provide the security requirements of soundness and privacy, and has the same communication overhead and computational cost as Xu et al.’s scheme.
cloud storage, identity-based cryptosystem, data integrity, privacy
TP393
A
10.11959/j.issn.1000-436x.2018229
王少辉(1977−),男,山东潍坊人,博士,南京邮电大学副教授,主要研究方向为密码学、信息安全。
潘笑笑(1993−),男,安徽宿州人,南京邮电大学硕士生,主要研究方向为云安全。
王志伟(1976−),男,江苏扬州人,博士,南京邮电大学教授,主要研究方向为信息安全、密码学。
肖甫(1980−),男,湖南邵阳人,博士,南京邮电大学副教授,主要研究方向为无线传感器网络、信息安全等。
王汝传(1943−),男,安徽合肥人,博士,南京邮电大学教授,主要研究方向为信息安全、无线传感器网络等。
2017−12−22;
2018−10−11
国家自然科学基金资助项目(No.61373006, No.61373139, No.61672016, No.61872192);江苏省科技支撑计划基金资助项目(No.61003236)
The National Natural Science Foundation of China (No.61373006, No.61373139, No.61672016, No.61872192), The Scientific of Technolgical Suppovt Project of Jiangsu Province (No.61003236)