代理动态操作的云数据拥有性证明方案

2016-10-14 11:08任化强
电子科技大学学报 2016年5期
关键词:服务提供者哈希完整性

赵 洋,任化强,熊 虎,陈 阳



代理动态操作的云数据拥有性证明方案

赵 洋,任化强,熊 虎,陈 阳

(1. 电子科技大学信息与软件工程学院 成都 610054)

传统支持动态操作的云存储系统中,对于云中动态文件的动态操作所产生的计算和通信开销是由用户完全承担的,这给用户带来了相应的计算和通信压力。为了解决该问题,构造了云环境下第三方代理动态操作的数据拥有性证明方案,方案中引入了一个功能强大的第三方审计者,用户不仅能委托其承担审计工作而且能够使其代理完成动态操作的任务,在任务处理的过程,系统能够保证用户的数据在第三方审计者中的隐私性。从安全和性能分析可以看出该方案能高效安全地完成审计任务。

代理动态操作; 云存储安全; Merkle哈希树; 第三方代理审计

云存储系统能够给用户提供可靠的、自定义的、资源利用率最大化的服务。用户可以将自己的本地数据存储在云端,在不同地点通过网络访问云端数据。这样的数据存储方式有很多优点:节约了用户的本地存储空间与维护复杂度,用户可以更加灵活的访问自己的数据并获得更加强大的计算能力而不必担心硬件和软件等条件的限制。

云计算在给用户带来便利性的同时,由于用户并不真正存储数据,从而难以保证数据的完整性和可用性。首先,云存储服务器会不可避免地受到外界和内部的攻击,而使数据存在丢失与篡改等安全问题。其次,云服务提供商可能会为了获取更大利益,而刻意删除、更改用户数据。这些问题都会使数据的完整性和可用性难以保证,同时在传统的支持动态操作的云存储系统中,对于云中动态文件的动态操作所产生的计算和通信开销是由用户完全承担的,这给用户带来了相应的计算和通信压力。为了解决上述问题,本文构造了一种代理动态操作的云数据拥有性证明方案。该方案为了减轻用户的计算和通信负担,引入了一个功能强大的第三方审计者,用户不仅能够委托其承担审计工作还能使其代理完成动态操作的任务。在动态操作过程中用户只需承担计算插入与修改操作时的数据块签名和很小的通信消耗,动态操作的验证等工作则由第三方审计者代理完成。本文的方案是基于双线性映射和Merkle哈希树实现的,第三方审计者和用户无需下载云中数据即可完成验证。同时系统也保证了用户的数据在第三方审计者中的隐私性,使第三方审计者无法获取用户的数据。

1 相关工作

随着云计算的快速发展和基于对云端数据安全性的担忧,国内外研究者设计了多种不同的解决方案用于实现云数据完整性审计[1-13]。这些方案中有使用哈希和签名技术对全部数据审计的方案和使用概率统计检测的方案,前者需要用户在本地拥有数据备份,这些方案的效率比较低。使用同态标签技术的方案典型的有文献[1]的PDP(provable data possession)方案,其通过使用挑战-响应协议和概率检测,实现对半可信的云服务器中的数据进行完整性验证,概率性检测使其效率大大提高,在不获取全部数据时即可高概率地进行完整性审计。PDP方案适合于静态文件的验证,当用户的数据进行插入、删除和修改等操作后,并不能提供正确的验证结果。为了满足数据动态审计的要求,文献[3]扩展了PDP方案,提出了一个动态版的数据拥有性证明方案(dynamic provable data possession, DPDP),但是该方案仍然不能支持完整的动态操作,难以抵御欺骗攻击。文献[12]基于等级的认证跳表和RSA树的结构,首次构造了一个完整的DPDP方案,但是该方案可能导致数据块泄露。文献[5]提出了一个带隐私保护的审计方案,支持外部审计者审计用户在云服务器上的数据,但是方案的分块策略带来了大量的额外存储开销。文献[7]提出了一个综合性的方案,使用Merkle哈希树(MHT)来支持完整的数据操作并支持公共验证,但在动态操作的过程中需要用户全程参与,给用户带来了计算负担,同时也存在庞大的额外存储开销的问题。文献[6]解决了数据分块带来大量额外存储开销的问题,但其用来代理用户执行动态操作的授权应用端(AA)拥有用户的私钥,这样会导致方案存在单点失效与私钥泄露的风险。

基于以上的相关工作,本文提出一个综合性的方案。该方案通过对私钥分配的设计让第三方审计者代理用户进行动态操作,避免了文献[6]中AA带来的安全隐患,减少了用户的计算和通信消耗,使用户在移动端也能高效方便地对文件进行动态操作。

2 系统安全模型与预备知识

2.1 安全定义

定义1 在审计的过程中如果云服务提供者发送正确的证据,第三方审计者审计时会通过验证。

定义2 云服务提供者不能够伪造出数据块的签名通过第三方审计者的验证。

定义3 云服务提供者不能够伪造出动态操作后的证据通过第三方审计者对动态操作的验证。

定义4 第三方审计者根据已有数据无法获取用户的私密数据。

2.2 系统模型和安全模型

代理动态操作的云数据拥有性证明方案有3个实体,分别是用户端(cloud user, CU)、云服务提供商(cloud server provider, CSP)和第三方审计平台(third party auditor, TPA),系统整体架构如图1所示。

图1 支持第三方审计和动态操作的云存储系统架构

首先CU将拥有的本地数据传送给CSP,当CSP收到用户元数据和标签等信息后进行保存。在完整性审计时,CU将完整性验证任务交于第三方验证者代理执行,这样CU在没有网络情况下也可以对云端的数据进行检测。CU与TPA签订好代理协议后将代理信息发送给CSP,CSP确认TPA代理审计的合法性后,TPA将会代理用户周期的执行完整性审计和动态操作审计的任务。在进行完整性审计时TPA将对CSP进行挑战,CSP根据挑战信息生成相应的证据传送给TPA进行验证。当CU对云端数据进行增删改操作时,CU首先把操作信息发送给CSP,CSP收到更新信息后对用户云端的数据进行相应的动态操作,同时CSP将产生的证据发送给TPA进行验证完成动态操作。

2.3 双线性映射

2.4 Merkle哈希树

Merkle哈希树(MHT)是一种树型的数据结构,该结构的每一个节点都是哈希值,其中叶子节点是原始数据块的哈希值,每一个内部节点是其孩子节点数据联接后计算得到的哈希值。Merkle哈希树可以高效安全地证明数据集是否被损坏与修改[15],同时也可以支持数据动态操作验证。本文方案的Merkle哈希树结构如图2所示,叶子节点由二级分区的文件块的哈希构成。在应用中还要用哈希树的辅助信息的概念,如图2所示当知道叶子节点时需要辅助信息获取哈希树的根,即相应节点的辅助信息。

图2 Merkle哈希树结构示例

3 方案提出

3.1 符号引入

3.2 方案的构造

方案中用户将完整性审计和动态操作工作委托TPA完成。为了支持这些性能,用户生成了两个私钥,一个由用户拥有用于对文件块进行签名,完成完整性审计功能;另一个由用户和TPA共同拥有用于对MHT的根进行签名,完成动态操作。

改进动态操作方案的云存储系统由3个阶段组成:初始化、审计和动态操作。

1) 初始化阶段。

2) 审计阶段。

CSP:CSP收到TPA发送的挑战信息chal,运行函数生成证据。首先CSP执行选择一个随机数,其中为每次审计时随机选取,然后令,,,。CSP生成证据:

当挑战信息中的数据块和签名在CSP中存放正确时验证通过。

3) 动态操作阶段。

方案中的动态操作是基于Merkle哈希树实现的,动态操作后的验证工作由TPA代理实现。动态操作流程如图3所示。

图3 动态操作执行流程

插入操作:当用户要在原有文件中插入一个新文件块时,用户将插入位置、文件块、文件块签名和操作符“insert”发送给CSP进行动态操作。同时用户将要插入的信息、“insert”和发送给TPA进行验证时使用,然后CSP根据用户发送来的操作符判断用户要进行的操作。CSP执行函数对文件进行更新。首先CSP将插入到原文件的第文件块处生成新的,并保存文件块签名,生成新的签名集合,然后CSP根据Merkle哈希树的构造生成新的MHT根。CSP将更新后的证据,发送给TPA,由TPA执行函数验证更新是否成功。验证过程首先计算出MHT旧的根,然后验证,如果不相等输出false,验证正确则继续进一步验证。进一步验证时,TPA根据和生成新的根,如果和不相等输出,相等则TPA对新的根进行签名发送给CSP完成动态操作,然后输出。

修改操作和删除操作的步骤同插入操作,在这里不再叙述。

4 安全性分析

本文方案分3个部分进行安全性分析,以证明方案的可靠性。

1) 审计过程的安全性。

定理1 在审计的过程中如果云服务提供者发送正确的证据,第三方审计者审计时通过验证。

证明:如果CSP发送的证据正确则:

其推导过程如下:

定理2 在审计的过程中云服务提供者不能够伪造出数据块的签名通过TPA的验证。

2) 动态操作的安全性。

定理3 云服务提供者不能够伪造出动态操作后的证据通过第三方审计者对动态操作的验证。

证明:如果要伪造证据通过动态操作的验证,必须伪造旧的MHT的根的签名:和其MHT的辅助函数,这需要云服务提供者获得,根据DHP(Diffie-Hellman problem),CSP在知道公共参数和的情况下,计算出密钥tsk是困难的。

3) 用户的隐私安全。

定理4 第三方审计者根据已有数据无法获取到用户的私密数据。

证明:第三方审计者拥有挑战证据和公共参数,根据密码学中哈希函数的单向性,TPA在MHT根的签名,辅助信息和叶子节点中提取不到文件块的信息,同时在中由于随机数的存在,无法获得中的信息。

5 性能分析

本文介绍的代理动态操作云数据拥有性证明方案,相对于同样使用MHT的动态操作方案[7],用户减少了更新证据和MHT根签名的通信消耗,同时用户也无需对和MHT的旧根进行验证,减少了和生成新MHT根与验证的计算消耗。本文方案中这些动态操作步骤全部由TPA进行代理执行,在进行删除操作时用户没有计算消耗,只需发送操作序号和删除标识即可完成整个操作,减少了用户的计算和通信压力,使用户在移动端也能高效方便地对文件进行动态操作。下面介绍本文方案和相关方案其他性能方面的对比。

表1给出了相关方案和本文方案的比较,可以看出本文方案与同样拥有代理动态操作的文献[6]方案相比,本文方案解决了其单点失效的安全问题。同时由于本文方案采用MHT实现动态操作,在文件块较多的情况下比文献[6]中的索引哈希表性能更稳定高效,MHT动态操作复杂度为,索引哈希表插入和删除的复杂度为。表2为动态操作中MHT与索引哈希表的性能对比,试验中,数据块个数为1 000 000,操作项数为200。从表2中可以看出当很大时本文的动态操作性能相对于文献[6]是高效的。

表1 相关方案与本文方案的比较

属性相关方案 文献[2]文献[3]文献[4]文献[5]文献[6]文献[7]文献[12]本文方案 私有审计√√√√√√√√ 第三方审计×××√√√√√ 完整的动态操作×××√√√√√ 代理动态操作××××√××√ 安全问题欺骗攻击[6]数据块泄露[5]单点失效数据块泄露[6]

在表2的对比中可以看出MHT动态操作的总体性能要优于索引哈希表,索引哈希表是采用Java中ArrayList结构实现的,相当于数组的实现需要连续的存储空间,所以其更新的效率很高。由于MHT的树结构,当数据块很多时其性能也很稳定高效,总体优于索引哈希表。

表2 动态操作中MHT与索引哈希表的性能对比

在文献[5]中文件分块相当于本文的二级文件块,为了减少签名带来的额外存储空间本文方案采用了文献[6]中的文件分块技术,只存储一级文件块的签名,从表3可以看出其性能仍然和文献[5]中方案一样高效。

表3 本文方案与文献[5]审计的计算时间对比

图4为二级文件块的划分块数与计算签名,GenProof和VerifyProof运行时间的变化图,其中一级文件块数为20,块大小为160字节。

本文实验是在Intel Core 2,2.20 GHz的处理器,3.00 GB RAM,32位的Windows 7操作系统下基于Java语言下完成的,所使用的密码学库是Java Pairing- Based Cryptography Library (JPBC)版本为2.0.0。

6 结束语

本文构造了一个代理动态操作的云数据拥有性证明方案,该方案通过对私钥分配的设计让第三方审计者代理用户进行动态操作,避免了文献[6]中AA带来的安全隐患,减少了用户的计算和通信消耗,使用户在移动端也能对文件进行动态操作。在性能分析中可以看出,本文方案使用户能够高效方便地对云中数据进行动态操作和完整性审计。

参 考 文 献

[1] ATENIESE G, BURNS R, CURTMOLA R, et al. Provable data possession at untrusted stores[C]//Proceedings of the 14th ACM Conference on Computer and Communications Security. [S.l.]: ACM, 2007: 598-609.

[2] JUELS A, KALISKI Jr B S. PORs: Proofs of retrievability for large files[C]//Proceedings of the 14th ACM Conference on Computer and Communications Security. [S.l.]: ACM, 2007: 584-597.

[3] ATENIESE G, DI PIETRO R, MANCINI L V, et al. Scalable and efficient provable data possession [C]//Proceedings of the 4th International Conference on Security and Privacy in Communication Netowrks. [S.l.]: ACM, 2008: 9.

[4] SHACHAM H, WATERS B. Compact proofs of retrievability[M]//PIEPRZYK J. Advances in Cryptology- ASIACRYPT 2008. Berlin Heidelberg: Springer, 2008: 90-107.

[5] WANG C, WANG Q, REN K, et al. Privacy-preserving public auditing for data storage security in cloud computing[C]// INFOCOM, 2010 Proceedings IEEE. [S.l.]: IEEE, 2010: 1-9.[6] ZHU Y, WANG H, HU Z, et al. Dynamic audit services for integrity verification of outsourced storages in clouds[C]//Proceedings of the 2011 ACM Symposium on Applied Computing. [S.l.]: ACM, 2011: 1550-1557.

[7]WANG Qian, WANG Cong, LI Jin, et al. Enabling public verifiability and data dynamics for storage security in cloud computing[J]. European Symposium on Computer Security- Esorics, 2009, 22(5): 355-370.

[8] BOWERS K D, JUELS A, OPREA A. Proofs of retrievability: Theory and implementation[C]//Proceedings of the 2009 ACM Workshop on Cloud Computing Security. [S.l.]: ACM, 2009: 43-54.

[9] CHANG E C, XU J. Remote integrity check with dishonest storage server[J]. European Symposium on Research in Computer Security: Computer Security, 2008, 5283: 223-237.

[10]SHAH M A, SWAMINATHAN R, BAKER M. Privacy- preserving audit and extraction of digital contents[R]. [S.l.]: Hewlett-Packard Development Company, 2008.

[11] SCHWARZ T S J, MILLER E L. Store, forget, and check: Using algebraic signatures to check remotely administered storage[C]//Conference on Distributed Computing Systems, 2006. [S.l.]: IEEE, 2006: 12.

[12]ERWAY C, KÜPÇÜ A, PAPAMANTHOU C, et al. Dynamic provable data possession[C]//Proceedings of the 16th ACM Conference on Computer and Communications security. [S.l.]: ACM, 2009: 213-222.

[13]BOWERS K D, JUELS A, OPREA A. HAIL: a high-availability and integrity layer for cloud storage[C]// Proceedings of the 16th ACM Computer and Communications Security. [S.l.]: ACM, 2009: 187-198.

[14] BONEH D, LYNN B, SHACHAM H. Short signatures from the Weil pairing[J]. Journal of Cryptology, 2004, 17(4): 297-319.

[15] MERKLE R C. Protocols for public key cryptosystems [C]//2012 IEEE Symposium on Security and Privacy. [S.l.]: IEEE Computer Society, 1980: 122-122.

编 辑 漆 蓉

Provable Cloud Data Possession Scheme via Third-Party Proxy Dynamic Operations

ZHAO Yang, REN Hua-qiang, XIONG Hu, and CHEN Yang

(1. School of Information and Software Engineering, University of Electronic Science and Technology of China Chengdu 610054)

In the traditional cloud storage system which supports dynamic operations, the computing and communication cost derived from the dynamic operations to the file is undertaken by the user completely. It brings user the corresponding pressure on computation and communication. In order to solve this problem, we design a provable data possession scheme via third-party proxy dynamic operations in clouds. In this scheme we bring in a powerful third-party auditor, the users can delegate it to perform the audit and fulfill the dynamic operations. In this processing, the system can ensure the user's data privacy in the third party auditor. Finally, the security and performance analysis show that our scheme can complete the audit task efficiently and securely.

agent dynamic operation; cloud storage security; Merkle Hash tree (MHT); the third-party audit

TP309

A

10.3969/j.issn.1001-0548.2016.05.015

2015-04-07;

2015-08-24

国家863项目(2015AA016007);国家自然科学基金(61472064)

赵洋(1973-),男,博士,副教授,主要从事信息安全、移动互联网应用方面的研究.

猜你喜欢
服务提供者哈希完整性
基于特征选择的局部敏感哈希位选择算法
石油化工企业设备完整性管理
哈希值处理 功能全面更易用
网络服务提供者的侵权责任研究
文件哈希值处理一条龙
网络服务提供者的侵权责任研究
论网络服务提供者连带责任的理论困境
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
论网络服务提供者的侵权责任
精子DNA完整性损伤的发生机制及诊断治疗