工程科学学报 Chinese Journal of Engineering 基于索引存根表的云存储数据完整性审计 赵海春姚宣霞郑雪峰 Cloud storage data integrity audit based on an index-stub table ZHAO Hai-chun,YAO Xuan-xia,ZHENG Xue-feng 引用本文: 赵海春,姚宣霞,郑雪峰.基于索引存根表的云存储数据完整性审计U].工程科学学报,2020,42(4):490-499.doi: 10.13374j.issn2095-9389.2019.09.15.008 ZHAO Hai-chun,YAO Xuan-xia,ZHENG Xue-feng.Cloud storage data integrity audit based on an indexstub table[J].Chinese Journal of Engineering,.2020,42(4:490-499.doi:10.13374.issn2095-9389.2019.09.15.008 在线阅读View online::https://doi..org10.13374/.issn2095-9389.2019.09.15.008 您可能感兴趣的其他文章 Articles you may be interested in 基于微晶刚玉砂轮的20 CrMnTit齿轮成型磨削表面完整性 Surface integrity of form grinding 20CrMnTi gear based on a new microcrystalline corundum wheel 工程科学学报.2018.40(3:357 https:/doi.org10.13374j.issn2095-9389.2018.03.012 基于云理论的油气管道滑坡危险性综合评价 Comprehensive evaluation of landslide risks of oil and gas pipelines based on cloud theory 工程科学学报.2018.40(4:427htps:/doi.org10.13374.issn2095-9389.2018.04.005 基于属性值集中度的分类数据聚类有效性内部评价指标 A new internal clustering validation index for categorical data based on concentration of attribute values 工程科学学报.2019,41(⑤):682 https::/1doi.org/10.13374.issn2095-9389.2019.05.015 基于云理论的隧道结构健康诊断方法 Health diagnosis method of shield tunnel structure based on cloud theory 工程科学学报.2017,395:794 https:1doi.org10.13374.issn2095-9389.2017.05.019 基于近邻的不均衡数据聚类算法 Clustering Algorithm for Imbalanced Data based on Nearest Neighbor 工程科学学报.优先发表https:/ldoi.org10.13374.issn2095-9389.2019.10.09.003 基于聚类欠采样的集成不均衡数据分类算法 Imbalanced data ensemble classification based on cluster-based under-sampling algorithm 工程科学学报.2017,398:1244 https:/doi.org/10.13374.issn2095-9389.2017.08.015
基于索引存根表的云存储数据完整性审计 赵海春 姚宣霞 郑雪峰 Cloud storage data integrity audit based on an index–stub table ZHAO Hai-chun, YAO Xuan-xia, ZHENG Xue-feng 引用本文: 赵海春, 姚宣霞, 郑雪峰. 基于索引存根表的云存储数据完整性审计[J]. 工程科学学报, 2020, 42(4): 490-499. doi: 10.13374/j.issn2095-9389.2019.09.15.008 ZHAO Hai-chun, YAO Xuan-xia, ZHENG Xue-feng. Cloud storage data integrity audit based on an indexstub table[J]. Chinese Journal of Engineering, 2020, 42(4): 490-499. doi: 10.13374/j.issn2095-9389.2019.09.15.008 在线阅读 View online: https://doi.org/10.13374/j.issn2095-9389.2019.09.15.008 您可能感兴趣的其他文章 Articles you may be interested in 基于微晶刚玉砂轮的20CrMnTi齿轮成型磨削表面完整性 Surface integrity of form grinding 20CrMnTi gear based on a new microcrystalline corundum wheel 工程科学学报. 2018, 40(3): 357 https://doi.org/10.13374/j.issn2095-9389.2018.03.012 基于云理论的油气管道滑坡危险性综合评价 Comprehensive evaluation of landslide risks of oil and gas pipelines based on cloud theory 工程科学学报. 2018, 40(4): 427 https://doi.org/10.13374/j.issn2095-9389.2018.04.005 基于属性值集中度的分类数据聚类有效性内部评价指标 A new internal clustering validation index for categorical data based on concentration of attribute values 工程科学学报. 2019, 41(5): 682 https://doi.org/10.13374/j.issn2095-9389.2019.05.015 基于云理论的隧道结构健康诊断方法 Health diagnosis method of shield tunnel structure based on cloud theory 工程科学学报. 2017, 39(5): 794 https://doi.org/10.13374/j.issn2095-9389.2017.05.019 基于近邻的不均衡数据聚类算法 Clustering Algorithm for Imbalanced Data based on Nearest Neighbor 工程科学学报.优先发表 https://doi.org/10.13374/j.issn2095-9389.2019.10.09.003 基于聚类欠采样的集成不均衡数据分类算法 Imbalanced data ensemble classification based on cluster-based under-sampling algorithm 工程科学学报. 2017, 39(8): 1244 https://doi.org/10.13374/j.issn2095-9389.2017.08.015
工程科学学报.第42卷.第4期:490-499.2020年4月 Chinese Journal of Engineering,Vol.42,No.4:490-499,April 2020 https://doi.org/10.13374/j.issn2095-9389.2019.09.15.008;http://cje.ustb.edu.cn 基于索引-存根表的云存储数据完整性审计 赵海春)四,姚宣霞),郑雪峰2) 1)内蒙古民族大学计算机科学与技术学院,通辽0280002)北京科技大学计算机与通信工程学院.北京100083 ☒通信作者,E-mail:sccezhaohc@163.com 摘要近年来研究人员提出了各种针对云存储数据进行完整性审计的方案.其中,在一部分基于同态认证码、数据块随机 抽样和随机掩码等技术提出的云存储公共审计方案中,用户需要存储和维护一个与文件中数据块的索引信息有关的二维表 当用户的外包数据需要频繁地进行更新时,为了防止因相同的块索引值被重复使用而遭受伪造攻击,使得设计和维护这个二 维表变得繁琐.针对此问题,本文首先提出了一个结构简单且易于维护的索引-存根表结构,并基于该结构提出了一个具有 隐私保护属性的云存储第三方审计方案,该方案能够有效地支持对外包数据进行各种数据块级的远程动态操作.然后,在随 机预言机模型下,对方案提供的数据完整性保证给出了形式化的安全证明.对方案中审计协议的隐私保护属性也给出了形式 化的安全分析.最后,针对方案的性能进行了理论分析和相关的实验比较,结果表明该方案是高效的 关键词云存储:隐私保护:数据完整性:第三方审计:索引一存根表 分类号TP393.0 Cloud storage data integrity audit based on an index-stub table ZHAO Hai-chun,YAO Xuan-xi.ZHENG Xue-feng? 1)School of Computer Science and Technology,Inner Mongolia University for Nationalities,Tongliao 028000,China 2)School of Computer and Communication Engineering.University of Science and Technology Beijing.Beijing 100083.China Corresponding author,E-mail:sccezhaohc@163.com ABSTRACT With the development of cloud computing technology,more individuals and organizations have chosen cloud services to store and maintain their data and reduce the burden on local storage and corresponding maintenance costs.However,although the cloud computing infrastructure is more powerful and reliable than personal computing devices,the cloud storage server is not completely trusted due to various internal and external threats;therefore,users need to regularly check whether their data stored in the cloud server are intact.Therefore,in recent years,researchers have proposed a variety of schemes for data integrity auditing in cloud storage.Among them,in a part of public auditing schemes for cloud storage based on homomorphic authenticators,random sampling of data blocks,and random masking techniques,users need to store and maintain a two-dimensional (2D)table related to the index information of data blocks in the file.When a user's outsource data need to be frequently updated to avoid forgery attacks due to the similar index value of data block being reused,the design and maintenance of the 2D table become cumbersome.In this study,to solve the abovementioned problem,an index-stub table structure was first proposed,which is simple and easy to maintain.On the basis of this structure,a third- party auditor auditing scheme with a privacy-preserving property was proposed for cloud storage.This scheme can effectively support various remote dynamic operations for outsource data at the block level.Then,a formal security proof for data integrity guarantee provided by the scheme was given under the random oracle model.A formal security analysis was also given for the privacy-preserving property of the audit protocol.Finally,the performance of the scheme was theoretically analyzed and compared with relevant experiments.Results indicate that the scheme has high efficiency. 收稿日期:2019-09-15 基金项目:国家自然科学基金资助项目(61872038)
基于索引‒存根表的云存储数据完整性审计 赵海春1) 苣,姚宣霞2),郑雪峰2) 1) 内蒙古民族大学计算机科学与技术学院,通辽 028000 2) 北京科技大学计算机与通信工程学院,北京 100083 苣通信作者,E-mail:sccezhaohc@163.com 摘 要 近年来研究人员提出了各种针对云存储数据进行完整性审计的方案. 其中,在一部分基于同态认证码、数据块随机 抽样和随机掩码等技术提出的云存储公共审计方案中,用户需要存储和维护一个与文件中数据块的索引信息有关的二维表. 当用户的外包数据需要频繁地进行更新时,为了防止因相同的块索引值被重复使用而遭受伪造攻击,使得设计和维护这个二 维表变得繁琐. 针对此问题,本文首先提出了一个结构简单且易于维护的索引–存根表结构,并基于该结构提出了一个具有 隐私保护属性的云存储第三方审计方案,该方案能够有效地支持对外包数据进行各种数据块级的远程动态操作. 然后,在随 机预言机模型下,对方案提供的数据完整性保证给出了形式化的安全证明,对方案中审计协议的隐私保护属性也给出了形式 化的安全分析. 最后,针对方案的性能进行了理论分析和相关的实验比较,结果表明该方案是高效的. 关键词 云存储;隐私保护;数据完整性;第三方审计;索引–存根表 分类号 TP393.0 Cloud storage data integrity audit based on an index–stub table ZHAO Hai-chun1) 苣 ,YAO Xuan-xia2) ,ZHENG Xue-feng2) 1) School of Computer Science and Technology, Inner Mongolia University for Nationalities, Tongliao 028000, China 2) School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China 苣 Corresponding author, E-mail: sccezhaohc@163.com ABSTRACT With the development of cloud computing technology, more individuals and organizations have chosen cloud services to store and maintain their data and reduce the burden on local storage and corresponding maintenance costs. However, although the cloud computing infrastructure is more powerful and reliable than personal computing devices, the cloud storage server is not completely trusted due to various internal and external threats; therefore, users need to regularly check whether their data stored in the cloud server are intact. Therefore, in recent years, researchers have proposed a variety of schemes for data integrity auditing in cloud storage. Among them, in a part of public auditing schemes for cloud storage based on homomorphic authenticators, random sampling of data blocks, and random masking techniques, users need to store and maintain a two-dimensional (2D) table related to the index information of data blocks in the file. When a user’s outsource data need to be frequently updated to avoid forgery attacks due to the similar index value of data block being reused, the design and maintenance of the 2D table become cumbersome. In this study, to solve the abovementioned problem, an index–stub table structure was first proposed, which is simple and easy to maintain. On the basis of this structure, a thirdparty auditor auditing scheme with a privacy-preserving property was proposed for cloud storage. This scheme can effectively support various remote dynamic operations for outsource data at the block level. Then, a formal security proof for data integrity guarantee provided by the scheme was given under the random oracle model. A formal security analysis was also given for the privacy-preserving property of the audit protocol. Finally, the performance of the scheme was theoretically analyzed and compared with relevant experiments. Results indicate that the scheme has high efficiency. 收稿日期: 2019−09−15 基金项目: 国家自然科学基金资助项目 (61872038) 工程科学学报,第 42 卷,第 4 期:490−499,2020 年 4 月 Chinese Journal of Engineering, Vol. 42, No. 4: 490−499, April 2020 https://doi.org/10.13374/j.issn2095-9389.2019.09.15.008; http://cje.ustb.edu.cn
赵海春等:基于索引-存根表的云存储数据完整性审计 491 KEY WORDS cloud storage;privacy preserving;data integrity;third party auditing;index-stub table 由于云计算有诸多优势,许多个人和组织选 Kaliski提出了一个“可取回性证明”(PoR)模型,并 择将其数据和业务流程转移到云存储中,以减轻 提出了一个PoR方案,通过使用抽样检查和纠错 本地存储的负担并降低相应的维护成本-习然 码等技术,确保了对外包数据的可拥有性和可取回 而,与传统的系统相比,用户对存储在云中的数据 性.但是,用户能够执行的验证次数是预先确定 失去了直接的物理控制.因此,尽管云计算基础设 的,而且方案未能支持公共可审计性.在此基础上, 施比个人计算设备更加强大和可靠,但由于云计算 Shacham等I设计了一个CPoR(Compact PoR)模 存在着各种内部和外部的威胁,数据安全和隐私保 型,并在Juels--Kaliski模型中给出了CPoR模型能够 护问题仍然是用户采用云服务的核心考虑因素) 抵御任意敌手的安全性证明.文中基于BLS签名技 由于云存储服务器(Cloud storge server,CSS) 术提出了一个公共可验证的CPoR方案.2009年, 可能是不完全可信的,因此,用户需要定期检查其 Erway等基于跳跃表结构,提出了支持动态数据 存储在云中的数据是否完好无损.由于用户一般 操作的PDP(Dynamic PDP,DPDP).该方案利用跳 只有有限的计算、存储空间和网络带宽等资源,因 跃表结构来确保数据块签名的完整性,并通过数据 此,可以将数据完整性验证的任务委托给一个专 块签名的完整性来保证数据块的完整性.该方案 业的第三方审计者(Third party auditor,TPA)来完 能够有效地支持外包数据的动态操作.2011年, 成6然而,这将导致用户数据及相关信息在审 Wang等1(提出了一个能够同时支持动态数据操作 计过程中会泄漏给TPA,由此引出了隐私保护的 和公共可审计的方案,方案中的认证信息是通过 问题.近年来,研究人员基于同态认证码、随机掩 Merkle哈希树(MHT)进行管理的,树中叶节点的数 码和数据块随机抽样等技术,提出了隐私保护的 据项值为Hm).然而,Liu等在文献[6]中指出,由于 云存储公共审计方案,以实现远程检查外包数据 该方案中的MHT没有包含块索引信息,所以,该结 的完整性5,-其中,一些方案中,由于在数据块 构不能够验证数据块的索引值,由此可能会导致替换 签名的构造中包含了与块索引相关的信息,例如, 攻击.同时,Lu等提出了一个基于自上而下的多副 H(namelli)、H(B:IVaR)和H(IDFIIBNill VN)-,y.如 本MHT的云存储大数据公共审计方案,该方案支持 果该哈希值出现重复,可能会遭受数据块签名的 动态数据更新.2013年,通过利用随机掩码技术对响 伪造攻击0.因此,使得设计和维护相关的索引表 应信息进行盲化处理,Wang等)又提出了隐私保护 变得繁琐.针对这个问题,本文中提出了一个结构 的公共审计方案.然而,文中对动态数据操作部分没 简单且易于维护的索引-存根表(Index-stub table,. 有给出清晰的描述.Yu等在文献[7刀中提出了一个 IST)结构,并基于该结构提出了一个隐私保护的 基于身份的支持完美数据隐私保护的远程云存储审 云存储公共审计方案.该方案能够有效地支持远 计方案.Mo等在文献[8]中提出了一个云存储中不 程数据的动态更新及在审计过程中数据的隐私保 可否认的数据拥有验证方案,该方案不仅可以让用户 护性,其中的数据块签名构造中,未涉及块索引相 检测到云服务器是否丢失了用户的数据,还可以保护 关的信息.文中基于CPoR证明框架四和相关的 云服务器不被恶意用户敲诈.2015年,基于多项式剩 归约证明方法,针对方案所提供的数据的完整 余定理,Yuan和Yu提出了一种公共可验证的云 性保证及其在审计过程中数据的隐私保护属性分 存储PoR方案,该方案中用户端的通信量和计算开 别给出了形式化的安全证明 销均为常量.在此方案的基础上,Zhang等11提出了 一个改进的安全模糊审计协议.研究人员还提出了 1相关工作 其他一些远程数据完整性检查的方案9训,这些方案 2007年,Ateniese等l1基于同态可验证标记 分别对远程数据完整性检查的不同方面进行了研究 (Homomorphic verifiable tags,HVTs),提出了“可证 2问题陈述 明数据拥有”(PDP)模型,并在该模型下,提出了两个 PDP方案,方案中通过从服务器端随机抽取数据块来 2.1系统模型 生成对数据拥有的概率证明.该方案被认为是第一 本文中研究的云存储数据审计系统包括:云 个同时提供无块验证和公共验证的方案.Juels和 用户、CSS和TPA等三个实体,如图1所示
KEY WORDS cloud storage;privacy preserving;data integrity;third party auditing;index–stub table 由于云计算有诸多优势,许多个人和组织选 择将其数据和业务流程转移到云存储中,以减轻 本地存储的负担并降低相应的维护成本[1−2] . 然 而,与传统的系统相比,用户对存储在云中的数据 失去了直接的物理控制. 因此,尽管云计算基础设 施比个人计算设备更加强大和可靠,但由于云计算 存在着各种内部和外部的威胁,数据安全和隐私保 护问题仍然是用户采用云服务的核心考虑因素[3] . i H (name| |i) H (Bi ||Vi ||Ri) H (IDF ∥BNi∥VNi) 由于云存储服务器(Cloud storge server, CSS) 可能是不完全可信的,因此,用户需要定期检查其 存储在云中的数据是否完好无损. 由于用户一般 只有有限的计算、存储空间和网络带宽等资源,因 此,可以将数据完整性验证的任务委托给一个专 业的第三方审计者(Third party auditor,TPA)来完 成[4−6] . 然而,这将导致用户数据及相关信息在审 计过程中会泄漏给 TPA,由此引出了隐私保护的 问题. 近年来,研究人员基于同态认证码、随机掩 码和数据块随机抽样等技术,提出了隐私保护的 云存储公共审计方案,以实现远程检查外包数据 的完整性[5, 7−8] . 其中,一些方案中,由于在数据块 签名的构造中包含了与块索引 相关的信息,例如, 、 和 [4−5, 9] . 如 果该哈希值出现重复,可能会遭受数据块签名的 伪造攻击[10] . 因此,使得设计和维护相关的索引表 变得繁琐. 针对这个问题,本文中提出了一个结构 简单且易于维护的索引–存根表(Index–stub table, IST)结构,并基于该结构提出了一个隐私保护的 云存储公共审计方案. 该方案能够有效地支持远 程数据的动态更新及在审计过程中数据的隐私保 护性,其中的数据块签名构造中,未涉及块索引相 关的信息. 文中基于 CPoR 证明框架[11] 和相关的 归约证明方法[12] ,针对方案所提供的数据的完整 性保证及其在审计过程中数据的隐私保护属性分 别给出了形式化的安全证明. 1 相关工作 2007 年 ,Ateniese 等[13] 基于同态可验证标记 (Homomorphic verifiable tags,HVTs),提出了“可证 明数据拥有”(PDP)模型,并在该模型下,提出了两个 PDP 方案,方案中通过从服务器端随机抽取数据块来 生成对数据拥有的概率证明. 该方案被认为是第一 个同时提供无块验证和公共验证的方案. Juels 和 H (mi) Kaliski[14] 提出了一个“可取回性证明”(PoR)模型,并 提出了一个 PoR 方案,通过使用抽样检查和纠错 码等技术,确保了对外包数据的可拥有性和可取回 性. 但是,用户能够执行的验证次数是预先确定 的,而且方案未能支持公共可审计性. 在此基础上, Shacham 等[11] 设计了一个 CPoR(Compact PoR)模 型,并在 Juels-Kaliski 模型中给出了 CPoR 模型能够 抵御任意敌手的安全性证明. 文中基于 BLS 签名技 术提出了一个公共可验证的 CPoR 方案. 2009 年, Erway 等[15] 基于跳跃表结构,提出了支持动态数据 操作的 PDP(Dynamic PDP,DPDP). 该方案利用跳 跃表结构来确保数据块签名的完整性,并通过数据 块签名的完整性来保证数据块的完整性. 该方案 能够有效地支持外包数据的动态操作. 2011 年 , Wang 等[16] 提出了一个能够同时支持动态数据操作 和公共可审计的方案,方案中的认证信息是通过 Merkle 哈希树(MHT)进行管理的,树中叶节点的数 据项值为 . 然而,Liu 等在文献 [6] 中指出,由于 该方案中的 MHT 没有包含块索引信息,所以,该结 构不能够验证数据块的索引值,由此可能会导致替换 攻击. 同时,Liu 等提出了一个基于自上而下的多副 本 MHT 的云存储大数据公共审计方案,该方案支持 动态数据更新. 2013 年,通过利用随机掩码技术对响 应信息进行盲化处理,Wang 等[5] 又提出了隐私保护 的公共审计方案. 然而,文中对动态数据操作部分没 有给出清晰的描述. Yu 等在文献 [7] 中提出了一个 基于身份的支持完美数据隐私保护的远程云存储审 计方案. Mo 等在文献 [8] 中提出了一个云存储中不 可否认的数据拥有验证方案,该方案不仅可以让用户 检测到云服务器是否丢失了用户的数据,还可以保护 云服务器不被恶意用户敲诈. 2015 年,基于多项式剩 余定理,Yuan 和 Yu[17] 提出了一种公共可验证的云 存储 PoR 方案,该方案中用户端的通信量和计算开 销均为常量. 在此方案的基础上,Zhang 等[18] 提出了 一个改进的安全模糊审计协议. 研究人员还提出了 其他一些远程数据完整性检查的方案[19−24] ,这些方案 分别对远程数据完整性检查的不同方面进行了研究. 2 问题陈述 2.1 系统模型 本文中研究的云存储数据审计系统包括:云 用户、CSS 和 TPA 等三个实体,如图 1 所示. 赵海春等: 基于索引‒存根表的云存储数据完整性审计 · 491 ·
492 工程科学学报,第42卷,第4期 配 3基于索引-存根表的云存储审计方案 Auditingdelegation Third party Auditing challenge auditor (TPA) message Auditng proop 3.1索引-存根表 message 索引-存根表(Index-stub table,IST)是一个 二维表,表中只有两个数据项:数据块的序号和 Data flow 数据块的存根值,如表1所示.每个数据块对应 Security message flow 的存根值为(H(m)B,该值是数据块认证符(或 Cloud users Cloud storage server(CSS) 签名)构造中的一个组成部分,其中,m为第个数 图1包含CSS、云用户和TPA的云存储架构 据块,a和B为用户的密钥.用户端保留存根,而将 Fig.1 Cloud storage architecture with CSS,cloud users,and TPA 数据块的认证符作为票据发送给服务器,如图2 所示 云用户是数据所有者,他们有大量数据文件 需要存储在CSS中,并且可以通过与CSS交互来 表1索引-存根表 访问和动态更新他们的数据.由云服务提供商 Table 1 Index-stub table (CSP)管理的CSS具有大量的存储、计算和网络 Serial number Stub 带宽等资源.存储在云中的用户数据由CSP管理 1 (H(m1)产B 和维护.TPA具有大多数用户所不具备的专业技 2 (H(m2)》B 术和能力,并且可以在用户的委托下代表用户对 外包数据进行完整性审计. (H(m)》严B 为确保外包数据的完整性和正确性,用户需 定期进行检查.为了节省计算资源和网络带宽等, (H(mn)严B 用户可以将此任务委托给TPA.然而,在审计过程 中他们一般不希望数据内容被泄露给TPA Stub Ticket 在这个模型中,本文假设云服务器没有动 (H(m) (Hm)啡正=4y 机向任何外部实体透漏其所托管的数据.同时, 还假设TPA没有动机在审计过程中与CSP或 图2存根与票据 用户串通,然而,TPA对用户的数据内容是感兴 Fig.2 Stub and ticket 趣的 如果没有密钥,任何人伪造出有效的存根都 2.2设计目标 是困难的.通过I$T表,用户可以有效地监视服务 在此模型下,文中提出了一个云存储公共审 器端的行为.存根值可以用于检查数据块认证符 计方案,该方案预期达到的设计目标如下 是否完整,进而通过认证符的完整性来验证数据 (1)公共可审计性:在用户的委托下,允许第 块的完整性,同时,能够保证数据块的顺序不会被 三方审计者(TPA)在不下载整个文件副本的情况 改变.相比于MVT表9和HT表,IST表结构更 下,验证外包数据的完整性 简单、更易于维护,而且无需考虑块索引值重复而 (2)存储正确性:确保不存在能够在没有完好 引发的伪造攻击 地存储云用户数据的情况下通过TPA审计的 将数据文件上传到服务器之后,IST表保存在 CSP. 用户端.当用户对数据文件进行数据块修改、插 (3)隐私保护:确保TPA不能从审计过程中收 入和删除等操作时,ST表也要进行相应地更新 集的信息获取用户的数据内容 当用户委托第三方审计者对数据进行完整性审计 (4)高性能:TPA能以较小的通信量和计算开 时,还要给TPA发送一个IST表的副本,此后,只 销完成对外包数据的完整性审计 有数据进行了更新操作,才会再次发送副本 (5)支持数据动态操作:允许数据所有者随时 3.2方案描述 对云存储中的数据进行修改、插入和删除数据块 本文遵循了文献[16,25-27刀中使用的概念, 等更新操作 在CPoR模型m和文献[28]中的相关方法的基础
云用户是数据所有者,他们有大量数据文件 需要存储在 CSS 中,并且可以通过与 CSS 交互来 访问和动态更新他们的数据. 由云服务提供商 (CSP)管理的 CSS 具有大量的存储、计算和网络 带宽等资源. 存储在云中的用户数据由 CSP 管理 和维护. TPA 具有大多数用户所不具备的专业技 术和能力,并且可以在用户的委托下代表用户对 外包数据进行完整性审计. 为确保外包数据的完整性和正确性,用户需 定期进行检查. 为了节省计算资源和网络带宽等, 用户可以将此任务委托给 TPA. 然而,在审计过程 中他们一般不希望数据内容被泄露给 TPA. 在这个模型中,本文假设云服务器没有动 机向任何外部实体透漏其所托管的数据. 同时, 还 假 设 TPA 没有动机在审计过程中 与 CSP 或 用户串通,然而,TPA 对用户的数据内容是感兴 趣的. 2.2 设计目标 在此模型下,文中提出了一个云存储公共审 计方案,该方案预期达到的设计目标如下. (1)公共可审计性:在用户的委托下,允许第 三方审计者(TPA)在不下载整个文件副本的情况 下,验证外包数据的完整性. (2)存储正确性:确保不存在能够在没有完好 地存储云用户数据的情况下通 过 TPA 审 计 的 CSP. (3)隐私保护:确保 TPA 不能从审计过程中收 集的信息获取用户的数据内容. (4)高性能:TPA 能以较小的通信量和计算开 销完成对外包数据的完整性审计. (5)支持数据动态操作:允许数据所有者随时 对云存储中的数据进行修改、插入和删除数据块 等更新操作. 3 基于索引–存根表的云存储审计方案 3.1 索引–存根表 (H (mi))α/β mi i α β 索引–存根表(Index–stub table, IST)是一个 二维表,表中只有两个数据项:数据块的序号和 数据块的存根值,如表 1 所示. 每个数据块对应 的存根值为 ,该值是数据块认证符(或 签名)构造中的一个组成部分,其中, 为第 个数 据块, 和 为用户的密钥. 用户端保留存根,而将 数据块的认证符作为票据发送给服务器,如图 2 所示. 如果没有密钥,任何人伪造出有效的存根都 是困难的. 通过 IST 表,用户可以有效地监视服务 器端的行为. 存根值可以用于检查数据块认证符 是否完整,进而通过认证符的完整性来验证数据 块的完整性. 同时,能够保证数据块的顺序不会被 改变. 相比于 MVT 表[9] 和 IHT 表[4] ,IST 表结构更 简单、更易于维护,而且无需考虑块索引值重复而 引发的伪造攻击. 将数据文件上传到服务器之后,IST 表保存在 用户端. 当用户对数据文件进行数据块修改、插 入和删除等操作时,IST 表也要进行相应地更新. 当用户委托第三方审计者对数据进行完整性审计 时,还要给 TPA 发送一个 IST 表的副本,此后,只 有数据进行了更新操作,才会再次发送副本. 3.2 方案描述 本文遵循了文献 [16, 25−27] 中使用的概念, 在 CPoR 模型[11] 和文献 [28] 中的相关方法的基础 表 1 索引–存根表 Table 1 Index–stub table Serial number Stub 1 (H (m1))α/β 2 (H (m2))α/β . . . . . . i (H (mi))α/β . . . . . . n (H (mn)) α/β Cloud storage server(CSS) Cloud users Data flow Security message flow Auditing report Auditing delegation Auditing challenge message Auditing proof message Third party auditor (TPA) 图 1 包含 CSS、云用户和 TPA 的云存储架构 Fig.1 Cloud storage architecture with CSS, cloud users, and TPA Stub Ticket (H(mi ))α/β (H(mi ))α/β ·Πs j=1uj mij) β 图 2 存根与票据 Fig.2 Stub and ticket · 492 · 工程科学学报,第 42 卷,第 4 期
赵海春等:基于索引-存根表的云存储数据完整性审计 493· 上,基于索引-存根表结构,提出了一个隐私保护 分别用于生成被挑战的c个数据块的索引值 的云存储审计的方案 s(1≤x≤c,1≤sx≤n)和对应的线性运算系数 该方案包括两个算法KeyGen(1),St(sk,F)和一 (ie{srl≤x≤ch,∈RZp.现假设用I表示c个随机 个交互式审计协议Audi(CSP,TPA)290 索引值的集合{sx1≤rsc,用Q表示被挑战块的索引 设S=(p,G,Gr,e)为一个双线性映射群系统, 值与其系数构成的对集合{(i,)e.接下来, 随机选取两个生成元g,h∈RG,其中,G,Gr是两个阶 TPA将挑战信息Chal发送给证明者CSP 为大素数p的群.函数H()是一个安全的密码学哈 (3)应答阶段(CSP→TPA):在接收到Chal后, 希函数,即H:{0,1)*→G,它将字符串均匀地映射 CSP随机选择reZp,并计算sr=πk(x,片=f2(x, 到G中.另一个散列函数h(,将Gr中的群元素均 =e(g',h),y=h(),c和山,其中,1≤x≤c,ie 匀地映射到Zp,即,h:Gr→Zp sl≤5x≤n,weZp,μ=el时 KeyGen(1)这是一个随机算法,将生成系统 中的一些公共和私有的参数.云用户选择一个随 g (i.vi)EQ 机签名密钥对(spk,ssk)和两个随机元素α,B∈RZp,计 (1) 算X=h,Y=hP∈G,私有参数为sk=(a,B,ssk),公共 1+y∑m (.)EQ 参数为pk=(g,h,X,Yspk) SsSk,F:将文件F切分成nXs个区,F={m}, 然后,证明者CSP将响应值0=(σ,μ,)发送给 验证者TPA. m∈Zp.云用户选择s个随机值r1,…Ts∈Zp作为文 验证:TPA计算y=h(,然后,验证下面的等 件的秘密值,并计算W=g∈G,1≤j≤s和每个数 式是否成立,如果成立,输出“接受”,否则,输出 据块i的认证符: “拒绝” ←HmB.Π4"= j= c2e几(Hm》.T,y (H0m加.(g2am)》 (ivi)EO (2 用户从Z,中均匀随机地选取fn作为文件F的 对于每一个随机挑战Q及其正确的响应值,方 标识符.设to为“m州山…‖u,”,云用户计算 程的正确性可阐述如下: SSigssk(to,并将t=tollSSigssk(to)作为F在私钥ssk下 等式的右边= 的文件标记.然后,用户将F连同认证符集合 中=(σ1,…,σnm)上传到服务器,上传完成后,这些数 (H(m)( 据可以从本地存储器中删除.用于检查外包数据 (i.vi)EO 完整性的IST表,需要保存在用户的本地存储器中, 在对文件进行各种更新操作时,由用户来维护 当用户委托一个TPA来完成数据完整性检查 (Hm)3. ).g'h 时,被授权的TPA首先提取文件标记,利用spk检 (i.vi)EO 查1中签名的有效性,如果验证失败,则发出“错 等式的左边 误”并退出;否则,TPA恢复出.然后,可以定期 因此,这意味着方程对于正确的应答信息是 启动下面的审计协议 有效的 Audit(CSP,TPA):它是一个在CSP和TPA之间 3.3支持批量审计 的三步(3-move)协议,运行过程描述如下所示. 当TPA同时处理D个不同用户分别对D个 (I)承诺阶段(CSP→TPA):CSP选择s个随机 不同文件进行审计的委托时,为了更高效地完成 值AjERZp,.(1≤j≤s),然后计算T;=4,(1≤j≤s), 审计任务,通过扩展该方案使其具有批量审计功 并将值:(T山s6作为承诺信息发送给TPA. 能.如果集合Q中的值在被审计文件的文件块数 (2)挑战阶段(CSP←TPA):收到承诺信息后, 量范围之内,则可以将该文件的审计任务添加到 TPA随机选择一组挑战信息Chal={c,k1,k2l,其 批审计中,以实现对多个审计任务的一次性执行. 中,c是要验证的数据块的个数,k1,k2分别是伪 批量审计相对于分别单独审计来说,可以将计算 随机置换π,和伪随机函数f的随机密钥.π和兵 消耗稍大的双线性对操作(Pairing operation,PO)的
上,基于索引–存根表结构,提出了一个隐私保护 的云存储审计的方案. KeyGen( 1 k ) St(sk,F) Audit(CSP,TPA) 该方案包括两个算法 , 和一 个交互式审计协议 [29−30] . S = (p,G,GT , e) g,h∈RG G,GT H(·) H : {0,1} ∗ → G h(·) GT Zp h : GT → Zp 设 为一个双线性映射群系统, 随机选取两个生成元 ,其中, 是两个阶 为大素数 p 的群. 函数 是一个安全的密码学哈 希函数,即 ,它将字符串均匀地映射 到 G 中. 另一个散列函数 ,将 中的群元素均 匀地映射到 ,即, . KeyGen( 1 k ) (spk,ssk) α, β∈RZp X = h α ,Y = h β ∈ G sk = (α, β,ssk) pk = (g,h,X,Y,spk) : 这是一个随机算法,将生成系统 中的一些公共和私有的参数. 云用户选择一个随 机签名密钥对 和两个随机元素 ,计 算 ,私有参数为 ,公共 参数为 . St(sk,F) F n× s F = { mi j}n×s mi j ∈ Zp τ1,···τs ∈ Zp uj = g τ j ∈ G,1 ⩽ j ⩽ s :将文件 切分成 个区, , . 云用户选择 s 个随机值 作为文 件的秘密值,并计算 和每个数 据块 i 的认证符: σi ← ( (H(mi))α/β · ∏s j=1 uj mi j)β = ((H (mi))α/β ·(g ∑s j=1 τ j ·mi j )) β Zp F t0 fn||n||u1 ||···||us SSigssk (t0) t = t0 ||SSigssk (t0) F ssk F Φ = (σ1,··· ,σn) 用户从 中均匀随机地选取 fn 作为文件 的 标 识 符 . 设 为 “ ” , 云 用 户 计 算 ,并将 作为 在私钥 下 的文件标记 . 然后 ,用户将 连同认证符集合 上传到服务器,上传完成后,这些数 据可以从本地存储器中删除. 用于检查外包数据 完整性的 IST 表,需要保存在用户的本地存储器中, 在对文件进行各种更新操作时,由用户来维护. spk fn 当用户委托一个 TPA 来完成数据完整性检查 时,被授权的 TPA 首先提取文件标记 t,利用 检 查 t 中签名的有效性,如果验证失败,则发出“错 误”并退出;否则,TPA 恢复出 . 然后,可以定期 启动下面的审计协议. Audit(CSP,TPA) : 它是一个在 CSP 和 TPA 之间 的三步(3-move)协议,运行过程描述如下所示. CSP → TPA s λj∈RZp (1 ⩽ j ⩽ s) T j = uj λj (1 ⩽ j ⩽ s) {T j } 1⩽j⩽s (1)承诺阶段( ):CSP 选择 个随机 值 , ,然后计算 , , 并将值: ,作为承诺信息发送给 TPA. CSP ← TPA Chal = {c, k1, k2} c k1, k2 πk fk πk fk (2)挑战阶段( ):收到承诺信息后, TPA 随机选择一组挑战信息 , 其 中 , 是要验证的数据块的个数 , 分别是伪 随机置换 和伪随机函数 的随机密钥. 和 c sx(1 ⩽ x ⩽ c,1 ⩽ sx ⩽ n) vi(i ∈ {sx|1 ⩽ x ⩽ c}, vi ∈RZp) I c {sx}1⩽x⩽c Q {(i, vi)}i∈I Chal 分 别 用 于 生 成 被 挑 战 的 个 数 据 块 的 索 引 值 和 对 应 的 线 性 运 算 系 数 . 现假设用 表示 个随机 索引值的集合 ,用 表示被挑战块的索引 值 与 其 系 数 构 成 的 对 集 合 . 接 下 来 , TPA 将挑战信息 发送给证明者 CSP. CSP → TPA Chal r ∈ Zp sx = πk1 (x) vi = fk2 (x) ψ = e(g r ,h) γ = h(ψ) σ µ 1 ⩽ x ⩽ c,i ∈ {sx|1 ⩽ sx ⩽ n}, vi ∈ Zp µ = { µj } j∈[1,s] (3)应答阶段( ):在接收到 后 , CSP 随机选择 ,并计算 , , , , 和 , 其 中 , , . σ ← ∏ (i,vi )∈Q σi vi ·γ · g r µj ← λj −1 · 1+γ · ∑ (i,vi )∈Q vi ·mi j (1) 然后,证明者 CSP 将响应值 θ = (σ, µ,ψ) 发送给 验证者 TPA. 验证:TPA 计算 γ = h(ψ) ,然后,验证下面的等 式是否成立,如果成立,输出“接受”,否则,输出 “拒绝”. e (σ,h) ? =ψ· e ∏ (i,vi )∈Q ( (H (mi)) α β )vi ·γ · ∏s j=1 T j µj · uj −1 ,Y (2) 对于每一个随机挑战 Q 及其正确的响应值,方 程的正确性可阐述如下: 等式的右边= e ( ∏ (i,vi )∈Q (H (mi)) ( α β ) ·vi ·γ · ∏s j=1 uj γ· ∑ (i,vi )∈Qvi ·mi j+1 · uj −1 ,Y ) ·ψ = e ( ∏ (i,vi )∈Q (H (mi)) ( α β ) ·vi ·γ · ∏s j=1 uj γ· ∑ (i,vi )∈Qvi ·mi j ,Y ) ·ψ = e ( ∏ (i,vi )∈Q ((H (mi)) α β · ∏s j=1 uj mi j) vi ·γ·β · g r ,h ) = 等式的左边 因此,这意味着方程对于正确的应答信息是 有效的. 3.3 支持批量审计 Q i 当 TPA 同时处理 D 个不同用户分别对 D 个 不同文件进行审计的委托时,为了更高效地完成 审计任务,通过扩展该方案使其具有批量审计功 能. 如果集合 中的 值在被审计文件的文件块数 量范围之内,则可以将该文件的审计任务添加到 批审计中,以实现对多个审计任务的一次性执行. 批量审计相对于分别单独审计来说,可以将计算 消耗稍大的双线性对操作(Pairing operation, PO)的 赵海春等: 基于索引‒存根表的云存储数据完整性审计 · 493 ·
494 工程科学学报,第42卷,第4期 数量从2D减少到D+1 新版本; 假设第k个用户选择的参数为,ERG,1≤k≤D, (2)将集合0中的σ替换为σ? 1≤j≤s,skk=(k,Bk,ssk)和pk=(Xk,Y,spk).用户 3.4.2插入操作 的外包文件为Fk={m时}(1≤k≤D,1≤i≤n,1≤j≤s), 对于文件F={m1,m2,…,mn,假设用户想要在第i 文件名为fk,文件标记为t=fk.oSSigssk(ko).文 个数据块后面的位置插入一个新的数据块m+', 件中第个数据块的签名是: 用户执行PrepareUpdate()算法来完成以下操作 (1)创建数据块m+1'={m+1,1',m+1,2,…,m+l,s: Ok:=(H(mk》/Be (2)计算数据块的认证符σ#1'←(H(m41'))B. CSP选择的参数为Ak.jERZp,然后计算Tk=k g山,并在1ST表中第个位置后面插人一条 并将其作为用户k的承诺.TPA选择挑战值为 记录,将这条记录的存根值改为(Hm+1)°,此时 Chal={c,k,k2,并将其发送到CSP.接收到Chal 原表中的第条记录的后续条目序号都将增加1.; 后,CSP计算出Q={(i,),随机选择TRERZp,然 (3)向CSS发送插入操作请求消息“update= 后,计算k=e(gk,h)和 (m,',i,m+1',o+1)”. 在收到用户的插入操作请求后,CSS执行 (i.vi)EQ (3) PerformUpdate()算法来完成以下操作 y'∑m+1 (1)在文件F中第块后面的位置插入数据块 (,)EQ m+1',从而获得文件F的一个新版本; CSP向TPA发送=(Ok,l1,1≤k≤D. (2)将σ+1'插人到集合Φ中第个位置后面 在接收到CSP的响应信息后,TPA检查下面 3.4.3删除操作 的等式是否成立,如果成立,输出“接受”,否则,输 如果用户想要删除文件F中第个数据块,首 出“拒绝” 先,从IST表中删除第条记录,并向CSS发送删除 伯小 操作请求“update=-(fm,D,i,mi,o)”. 在收到用户的这个请求后,CSS运行 PerformUpdate(算法来执行以下操作 (1)删除数据块m,获得文件F的一个新版本; (.)eO (4) (2)从集合Φ中删除σ 3.4支持数据动态操作 4 安全分析 该方案能够对外包数据进行各种数据块级的 动态操作,包括:修改(M')、插入(I)和删除 4.1可靠性(Soundness)分析 (‘D?)数据块等操作,这几种动态操作的过程描述 可靠性意味着证明者错误的响应值被验证者 如下 接受为正确的响应值的可能性很小.在此上下文 3.4.1修改操作 中,这意味着如果用户的外包数据没有被完好地 对于一个文件F={m1,m2,…,mnl,假设用户想 保存时,那么CSS将无法对TPA的挑战生成有效 要将某个数据块m;修改为数据块m,用户执行 的响应,如定理1中所述.我们的安全性证明依赖 PrepareUpdate()算法以完成以下操作 于计算Diffie-.Hellman问题和离散对数问题在双线 (1)创建数据块m={m1,m,2,…,ms: 性群中是困难的假设. 2计算数据的认证饰但m)Bg头.则. 定理1如果CSS能够通过Audit()协议的数据 完整性审计验证过程,那么,它确实完好无损地存 并将IST表中第条记录的存根值改为(H(m); 储着指定的数据 (3)向CSS发送修改请求消息“update= 基于CPoR中的证明方法(文献[11]中定理4.2), m,'M'i,m,)” 我们在随机预言机模型中给出了定理1的证明 在收到用户的修改操作请求后,CSS执行 证明:为了防止TPA从Π提取o的值, PerformUpdate(()算法以完成以下操作 在每一次的应答信息中都用g值对其进行盲化 (1)将数据块m;替换为m,获得文件F的一个 然而,为了易于证明云服务器不能够伪造σ,4,我们
数量从 2D 减少到 D+1. k uk, j∈RG 1 ⩽ k ⩽ D 1 ⩽ j ⩽ s skk = (αk, βk,sskk) pkk = (Xk,Yk,spkk ) Fk = { mk,i, j } (1 ⩽ k ⩽ D,1 ⩽ i ⩽ n,1 ⩽ j ⩽ s) fnk tk = tk,0 ||SSigsskk ( tk,0 ) i 假设第 个用户选择的参数为 , , , 和 . 用户 的外包文件为 , 文件名为 ,文件标记为 . 文 件中第 个数据块的签名是: σk,i = ((H ( mk,i ) ) αk/βk · ∏s j=1 uk, j mk,i, j ) βk λk, j∈RZp Tk, j = uk, j λk, j k Chal = {c, k1, k2} Chal Q = {(i, vi)}i∈I rk∈RZp ψk = e(g rk ,h) CSP 选择的参数为 ,然后计算 并将其作为用户 的承诺 . TPA 选择挑战值为 ,并将其发送 到 CSP. 接收到 后 ,CSP 计算出 ,随机选择 ,然 后,计算 和 σk ← ∏ (i,vi )∈Q σk,i vi ·γk · g rk µk, j ← λk, j −1 · ( γk · ∑ (i,vi )∈Q vi ·mk,i, j +1 ) (3) θk =(σk,{µk, j } 1⩽j⩽s CSP 向 TPA 发送 ,ψk),1⩽k⩽D. 在接收到 CSP 的响应信息后,TPA 检查下面 的等式是否成立,如果成立,输出“接受”,否则,输 出“拒绝”. e ∏ D k=1 σk,h ? = ∏ D k=1 ψk · e ∏ (i,vi )∈Q (H ( mk,i ) ) ( αk βk ) ·vi ·γk · ∏s j=1 Tk, j µk, j · uk, j −1 ,Yk (4) 3.4 支持数据动态操作 该方案能够对外包数据进行各种数据块级的 动态操作,包括:修改( ‘M’ )、插入( ‘I’ )和删除 (‘D’)数据块等操作,这几种动态操作的过程描述 如下. 3.4.1 修改操作 F = {m1,m2,··· ,mn} mi mi ′ PrepareUpdate(·) 对于一个文件 ,假设用户想 要将某个数据块 修改为数据块 ,用户执行 算法以完成以下操作. mi ′ = {mi,1 ′ ,mi,2 ′ ,··· ,mi,s ′ (1)创建数据块 } ; σi ′← ((H ( mi ′ ))α/β · g ∑s j=1 τ j ·mi j ′)β i ( H ( mi ′ ))α/β (2)计算数据块的认证符 , 并将 IST 表中第 条记录的存根值改为 ; update = ( fn, ′ M′ ,i,mi ′ ,σi ′ ) ( 3) 向 CSS 发 送 修 改 请 求 消 息 “ ”. PerformUpdate(·) 在收到用户的修改操作请求后 , CSS 执 行 算法以完成以下操作. mi m ′ (1)将数据块 替换为 i ,获得文件 F 的一个 新版本; Φ σi σ ′ i (2)将集合 中的 替换为 . 3.4.2 插入操作 F = {m1,m2,··· ,mn} i mi+1 ′ PrepareUpdate(·) 对于文件 ,假设用户想要在第 个数据块后面的位置插入一个新的数据块 , 用户执行 算法来完成以下操作. mi+1 ′ = {mi+1,1 ′ ,mi+1,2 ′ ,··· ,mi+1,s ′ (1)创建数据块 } ; σi+1 ′ ← ( (H ( mi+1 ′ ))α/β · g ∑s j=1 τ j ·mi+1, j ′)β i ( H ( mi+1 ′ ))α/β i (2)计算数据块的认证符 ,并在 IST 表中第 个位置后面插入一条 记录,将这条记录的存根值改为 ,此时 原表中的第 条记录的后续条目序号都将增加 1. ; update = ( fn, ′ I ′ ,i,mi+1 ′ ,σi+1 ′ ) (3)向 CSS 发送插入操作请求消息“ ”. PerformUpdate(·) 在收到用户的插入操作请求后 , CSS 执 行 算法来完成以下操作. F i mi+1 ′ F (1)在文件 中第 块后面的位置插入数据块 ,从而获得文件 的一个新版本; σi+1 ′ (2)将 插入到集合 Φ 中第 i 个位置后面. 3.4.3 删除操作 F i i update (fn,D,i,mi ,σi) 如果用户想要删除文件 中第 个数据块,首 先,从 IST 表中删除第 条记录,并向 CSS 发送删除 操作请求“ = ”. PerformUpdate(·) 在 收 到 用 户 的 这 个 请 求 后 , CSS 运 行 算法来执行以下操作. (1)删除数据块mi ,获得文件 F 的一个新版本; (2)从集合 Φ 中删除σi . 4 安全分析 4.1 可靠性(Soundness)分析 可靠性意味着证明者错误的响应值被验证者 接受为正确的响应值的可能性很小. 在此上下文 中,这意味着如果用户的外包数据没有被完好地 保存时,那么 CSS 将无法对 TPA 的挑战生成有效 的响应,如定理 1 中所述. 我们的安全性证明依赖 于计算 Diffie-Hellman 问题和离散对数问题在双线 性群中是困难的假设. 定理 1 如果 CSS 能够通过 Audit(·) 协议的数据 完整性审计验证过程,那么,它确实完好无损地存 储着指定的数据. 基于 CPoR 中的证明方法(文献 [11] 中定理 4.2), 我们在随机预言机模型中给出了定理 1 的证明. ∏ (i,vi )∈Qσi vi ·γ σi g r σ, µ 证明:为了防止 TPA 从 提取 的值, 在每一次的应答信息中都用 值对其进行盲化. 然而,为了易于证明云服务器不能够伪造 ,我们 · 494 · 工程科学学报,第 42 卷,第 4 期
赵海春等:基于索引-存根表的云存储数据完整性审计 495· 首先假设响应信息中包含g而不是山,同时,承诺 询,敌手对该问询的响应值是4,2,…,4,和σ.假 信息中包含的内容是而不是T,(1≤j≤s),因为 设期望的响应值为山,2,…,4和σ,通过方案的正 这些值之间分别是一一对应的. 确性,可知期望的响应值满足验证方程: 现存在一个挑战者和一个敌手A(即,恶意的 CSP).挑战者构造了一个模拟器S,它将为敌手 e(o,h) A模拟出该方案的整个环境.对于之前进行过 S问询的任何文件F,敌手A都可以与挑战者一起 6 执行Audite(的审计协议.在这些协议执行过程中, 因为挑战者中止了,所以我们知道σ≠σ并且 模拟器S扮演验证者的角色,而敌手A扮演证明 σ通过了验证方程: 者的角色:S(pk,sk,)=A. 对于某个文件F,如果敌手A能够以不可忽略的 e(o ,h 概率成功地伪造聚合签名c,导致σ≠ΠQσY,g, 且能够通过数据完整性审计验证,那么,模拟器可 7 以利用敌手A解决计算Diffie-Hellman困难问题. 可以观察到,如果对于每个方,都有4=,那 假设该模拟器的输入值为h,X=h,Y=P,其目标 么我们可以得到σ'=σ,这与我们上面的假设相矛 是输出hB 设H:0,1°→G为一个哈希函数,将被建模为 盾.因此,如果我们定义兽4-4,1≤j≤s,那 么一定是集合{△如中至少有一个值是非零的.设 一个随机预言机.模拟器将对随机预言机H进行 编程.当回答敌手A的问询时,模拟器随机选择 o'=Π.eQo片,4=∑e0m,用等式(7)除以 r仁Zp,并用H∈G作为响应值,当回答形如H(m)的 等式(6),我们得到 问询时,模拟器以下面描述的特殊方式对预言机 e(()n(y.h)=e(u)a.y) 进行编程 对于每个,1≤j≤3,模拟器选择随机值 ,8是Zp并设置山←(X9Wi.h9 对于每个i,1≤i≤n,模拟器选择一个随机值 厅?乙,并将值处的随机预言机编程为 H(m)=h1(Y)=1m (5) e(XP=ra4广y,-eh29y,Y) 接下来,模拟器计算: e((.(r= =(H(m) c(y. (8) h 因此,如果1△4≠0,我们找到了计算 Diffie-Hellman问题的解: h=(《c'y(c*yl(Yr4r4 (9) hri,h②=1mB= 其中,∑=1△等于零的情况除外.然而,我们 (X)r.(Y)=m 已经了解到,并非所有{△都等于零.此外,{ 值在理论上是对敌手隐藏的数据.因此,=旷 挑战者保存一份对敌手A提出的S问询的响 △4;=0的概率为1/p,是可以忽略不计的. 应列表.然后,挑战者观察与对手A执行的每一个 如前所述,我们知道σ'=σ.由等式(6)和(7) Audit(~)审计协议的实例,如果在任何一个实例中,敌 可以得到: 手是成功的(即,验证方程成立),但敌手的聚合签 名o'≠ΠeQy·g',则挑战者宣告失败并中止. e(o.h)=e(c,h) (10) 假设挑战值Q={(i,)是导致挑战者中止的问 通过代入μ和μ的值,我们得到
g r ψ λj T j (1 ⩽ j ⩽ s) 首先假设响应信息中包含 而不是 ,同时,承诺 信息中包含的内容是 而不是 , ,因为 这些值之间分别是一一对应的. St Audit(·) S(pk,sk,t) ⇌ A 现存在一个挑战者和一个敌手 A(即,恶意的 CSP). 挑战者构造了一个模拟器 S,它将为敌手 A 模拟出该方案的整个环境. 对于之前进行过 问询的任何文件 F,敌手 A 都可以与挑战者一起 执行 的审计协议. 在这些协议执行过程中, 模拟器 S 扮演验证者的角色,而敌手 A 扮演证明 者的角色: . σ ′ σ ′ , ∏ (i,vi )∈Q σi vi ·γ · g r h,X = h α ,Y = h β h α·β 对于某个文件 F,如果敌手 A 能够以不可忽略的 概率成功地伪造聚合签名 ,导致 , 且能够通过数据完整性审计验证,那么,模拟器可 以利用敌手 A 解决计算 Diffie-Hellman 困难问题. 假设该模拟器的输入值为 ,其目标 是输出 . H : {0,1} ∗ → G r R← Zp h r ∈ G H (mi) 设 为一个哈希函数,将被建模为 一个随机预言机. 模拟器将对随机预言机 H 进行 编程. 当回答敌手 A 的问询时,模拟器随机选择 ,并用 作为响应值,当回答形如 的 问询时,模拟器以下面描述的特殊方式对预言机 进行编程. j 1 ⩽ j ⩽ s ηj , θ j R← Zp uj ← (X) ηj · h θ j 对 于 每 个 , , 模 拟 器 选 择 随 机 值 ,并设置 .. i 1 ⩽ i ⩽ n ri R← Zp i 对于每个 , ,模拟器选择一个随机值 ,并将 值处的随机预言机编程为 H (mi) = h ri/(Y) ∑s j=1 ηj ·mi j (5) 接下来,模拟器计算: σi = (H(mi))α · ∏s j=1 uj mi j β = h ri (Y) ∑s j=1 ηj ·mi j α · ∏s j=1 ((X) ηj · h θ j ) mi j) β = h ri (Y) ∑s j=1 ηj ·mi j α · ( (X) ∑s j=1 ηj ·mi j · h ∑s j=1 θ j ·mi j)β = h α·ri · h ( ∑s j=1 θ j ·mi j)·β = (X) ri ·(Y) ∑s j=1 θ j ·mi j S t Audit(·) σ ′ , ∏ (i,vi )∈Q σi vi ·γ · g r 挑战者保存一份对敌手 A 提出的 问询的响 应列表. 然后,挑战者观察与对手 A 执行的每一个 审计协议的实例,如果在任何一个实例中,敌 手是成功的(即,验证方程成立),但敌手的聚合签 名 ,则挑战者宣告失败并中止. 假设挑战值 Q = {(i, vi)} 是导致挑战者中止的问 µ ′ 1 , µ ′ 2 ,··· , µ ′ s σ ′ µ1, µ2,··· , µs σ 询,敌手对该问询的响应值是 和 . 假 设期望的响应值为 和 ,通过方案的正 确性,可知期望的响应值满足验证方程: e (σ,h) ψ = e ∏ (i,vi )∈Q (H (mi)) vi γ ,X · e ∏s j=1 T j µj · uj −1 ,Y (6) σ , σ ′ σ ′ 因为挑战者中止了,所以我们知道 并且 通过了验证方程: e ( σ ′ ,h ) ψ = e ∏ (i,vi )∈Q (H (mi)) vi γ ,X · e ∏s j=1 T j µj ′ · uj −1 ,Y (7) µ ′ j = µj σ ′ = σ ∆µj def = µ ′ j −µj ,1 ⩽ j ⩽ s {∆µj} σ ∗ = ∏ (i,vi )∈Qσi vi µ ∗ j = ∑ (i,vi )∈Qvi ·mi j 可以观察到,如果对于每个 j,都有 ,那 么我们可以得到 ,这与我们上面的假设相矛 盾. 因此,如果我们定义 , 那 么一定是集合 中至少有一个值是非零的. 设 , ,用等式(7)除以 等式(6),我们得到 e ( (σ ∗ ′ ) γ /(σ ∗ ) γ ,h ) = e( ∏s j=1 ( uj )γ·∆µj ∗ ,Y) = e ∏s j=1 (X ηj · h θ j ) γ·∆µj ∗ ,Y = e ∏s j=1 (X) γ·ηj ·∆µj ∗ ,Y · e ∏s j=1 h γ·θ j ·∆µj ∗ ,Y = e ((X) ∑s j=1 ηj ·∆µj ∗ ·γ ,Y)· e ( h ∑s j=1 θ j ·∆µj ∗ ·γ ,Y ) . e ( (σ ∗ ′ ) γ ·(σ ∗γ ) −1 ·(Y) −γ· ∑s j=1 θ j ·∆µj ∗ ,h ) = e (( (X) γ· ∑s j=1 ηj ·∆µj ∗ )β ,h ) (8) ∑s j=1 ηj 因此 ,如果 ·∆µj , 0 ,我们找到了计 算 Diffie-Hellman 问题的解: h αβ = ((σ ∗ ′ ) γ ·(σ ∗γ ) −1 ·(Y) −γ· ∑s j=1 θ j ·∆µj ∗ ) 1/(γ· ∑s j=1 ηj ·∆µj ∗ ) (9) ∑s j=1 ηj ·∆µj {∆µj ∗ } { ηj } ∑s j=1 ηj · ∆µj = 0 1/p 其中, 等于零的情况除外. 然而,我们 已经了解到,并非所有 都等于零. 此外, 值在理论上是对敌手隐藏的数据. 因此, 的概率为 ,是可以忽略不计的. σ ′ 如前所述,我们知道 = σ. 由等式(6)和(7) 可以得到: e (σ,h) = e ( σ ′ ,h ) (10) µ µ ′ 通过代入 和 的值,我们得到 赵海春等: 基于索引‒存根表的云存储数据完整性审计 · 495 ·
496 工程科学学报,第42卷,第4期 m 的计算开销进行比较 首先,为了便于描述,在表2中指定了一些基 本的运算操作符号2接下来,对新提出的方案与 =1 (11) 文献[⑤]中提出的方案在计算开销方面进行了相 应的比较和分析,如表3所示 表2符号和相关操作说明 (X)2=1防44=h=144g Table 2 Notations of relevant operations Notation 因此,我们发现了解决离散对数问题的方法 Meaning Mul屹 x multiplications in group G -29424如 (12) Mul吃r x multiplications in group G Mul吃p x multiplications in group 2p 其中,∑i△等于零的情况除外.然而,并非所 Hash屹, x hash values into group p 有{都可以为零,且{的值在理论上是对敌手 Hash屹 x hash values into group G 隐藏的数据,所以,∑=1△=0的概率为1/P,是 Add吃p x additions on group p 可以忽略不计的. ExP吃 x exponentiations g,where gEG,tEZp 4.2隐私保护保证 ExPGr x exponentiations gr',where grEGrtEZ 隐私保护属性是确保TPA无法从审计过程中 Pairr x pairings,e(u,v),where u,vEG,e(u,v)EGr 收集到的信息中提取用户数据 PRP x PRPs inS=(0.1o 定理2TPA不能从CSP的响应信息0和IST表 pRF吃p x PRFs in Zp 中的(Hm)》)中提取用户的数据内容 证明:由于m,a和B的值对TPA都是隐藏的, 用户端的主要运算操作是计算文件中数据 因此H(m)的值不能通过(H(m》确定.虽然 块的签名、文件的标记和一些公共参数.将这些 e(H(m),X)等于e(H(m)芦,Y),H(m)的值也不能从 计算开销合并在一起,即可得到用户端的计算总 中计算出来.因为由fo(P)=P,Q)得出的同构 开销.从表3中可以得出,在用户端的计算开销 fo:G→Gr被认为是单向函数B),当给定fo(P时, 上,新提出的方案比文献[5]中的方案多了 计算出P是不可行的.因此,要从(Hm》中恢复 Mu吗+Add-,而对方相比于我们的方案多了 m;是困难的.同理,从σ中提取σ也是困难的 Exp公--2+Mul%-》,所以,在用户端的效率上, 每一个入都是由CSP随机选择的,而~1是它的逆 我们的方案要略优于文献[5)]中方案 元素,这两个值对TPA都是隐藏的.∑aEQm 服务器端的计算开销包括生成审计阶段的承 值是通过入值进行了盲化处理,因此,在每次响 诺信息和响应信息两个方面.从表3中可以看出, 应中的μ值都均匀地分布在Z,中.虽然TPA可以 在服务器端,文献[5]中的方案比新提出的方案多 得到足够多的数据块m;及其系数v,的线性组合,但 出Pair+Exp心r,由于有s-l次对操作(PO),这部 如果想要获得μ的值,则必须首先得到1入可 分计算开销较大.而相比于文献[⑤)]中的方案,新提 由T;=4,(1≤j≤s)计算得到,然而,这意味着要 出的方案多出的计算开销为Exp'+Mult吃+Mu吃,+ 解决离散对数问题(DLP).由于DLP的困难假设, PRPS+PRF,然而,将其中的指数运算部分与对 TPA在多项式时间内计算出d值是不可行的.因 方多出的指数运算相互抵消后,新提出的方案多 此,从μ(1≤j≤s)中获得用户数据是困难的. 出的计算开销在总开销中占的比例很小,几乎是 可以忽略不计的.所以,新提出的方案在CSP端的 5性能评价 计算开销要优于另一个方案,而这两个方案在 为了评价该方案的性能,我们分别进行了相 TPA端的计算开销基本相当.因此,从理论分析可 关的理论分析和实验比较 知,我们的方案是高效的 5.1理论分析 5.2实验比较 理论分析的目的是从理论上将我们的方案与 为了验证上述理论分析的结果,我们进行了 类似的方案在用户端、服务器端和审计者等三方 相关的实验.我们在0.5.l4版本的Pairing-based
e ∏s j=1 uj γ·µj ∗ ,Y = e ∏s j=1 uj γ·µj ∗ ′ ,Y ∏s j=1 uj γ·∆µj ∗ = 1 ∏s j=1 ( (X) ηj · h θ j )γ·∆µj ∗ = 1 (X) ∑s j=1 ηj ·γ·∆µj ∗ = h − ∑s j=1 γ·∆µj ∗ ·θ j (11) 因此,我们发现了解决离散对数问题的方法, α = ( − ∑s j=1 θ j ·∆µj ∗ ) / ∑s j=1 ηj ·∆µj ∗ (12) ∑s j=1 ηj ·∆µj { ∆µj } { ηj } ∑s j=1 ηj ·∆µj = 0 1/p 其中, 等于零的情况除外. 然而,并非所 有 都可以为零,且 的值在理论上是对敌手 隐藏的数据,所以, 的概率为 ,是 可以忽略不计的. 4.2 隐私保护保证 隐私保护属性是确保 TPA 无法从审计过程中 收集到的信息中提取用户数据. θ { ((H (mi)) α β } i∈I 定理 2 TPA 不能从 CSP 的响应信息 和 IST 表 中的 中提取用户的数据内容. mi α β H (mi) ((H (mi)) α β e(H (mi),X) e ((H (mi)) α β ,Y) H (mi) fQ (P) =be(P,Q) fQ : G → GT fQ (P) P ((H (mi)) α β mi σ σi 证明:由于 , 和 的值对 TPA 都是隐藏的, 因 此 的 值 不 能 通 过 确 定 . 虽 然 等于 , 的值也不能从 中计算出来 . 因为由 得出的同构 被认为是单向函数[31] ,当给定 时, 计算出 是不可行的. 因此,要从 中恢复 是困难的. 同理,从 中提取 也是困难的. λj λj −1 ∑ (i,vi )∈Qvimi j λj −1 µj Zp mi vi µj ∗ λj −1 λj T j = uj λj (1 ⩽ j ⩽ s) λj µj(1 ⩽ j ⩽ s) 每一个 都是由CSP 随机选择的,而 是它的逆 元素,这两个值对 TPA 都是隐藏的. 值是通过 值进行了盲化处理,因此,在每次响 应中的 值都均匀地分布在 中. 虽然 TPA 可以 得到足够多的数据块 及其系数 的线性组合,但 如果想要获得 的值,则必须首先得到 . 可 由 , 计算得到,然而,这意味着要 解决离散对数问题(DLP). 由于 DLP的困难假设, TPA 在多项式时间内计算出 值是不可行的. 因 此,从 中获得用户数据是困难的. 5 性能评价 为了评价该方案的性能,我们分别进行了相 关的理论分析和实验比较. 5.1 理论分析 理论分析的目的是从理论上将我们的方案与 类似的方案在用户端、服务器端和审计者等三方 的计算开销进行比较. 首先,为了便于描述,在表 2 中指定了一些基 本的运算操作符号[32] . 接下来,对新提出的方案与 文献 [5] 中提出的方案在计算开销方面进行了相 应的比较和分析,如表 3 所示. Multn·s Zp +Addn·(s−1) Zp Expn·(s−1)−2 G +Multn·(s−1) G 用户端的主要运算操作是计算文件中数据 块的签名、文件的标记和一些公共参数. 将这些 计算开销合并在一起,即可得到用户端的计算总 开销. 从表 3 中可以得出,在用户端的计算开销 上 , 新 提 出 的 方 案 比 文 献 [5] 中 的 方 案 多 了 ,而对方相比于我们的方案多了 ,所以,在用户端的效率上, 我们的方案要略优于文献 [5] 中方案. Pairs−1 GT +Exps GT s−1 Exps+1 G +Mult1 G +Mults Zp + PRPc S +PRFc Zp 服务器端的计算开销包括生成审计阶段的承 诺信息和响应信息两个方面. 从表 3 中可以看出, 在服务器端,文献 [5] 中的方案比新提出的方案多 出 ,由于有 次对操作(PO),这部 分计算开销较大. 而相比于文献 [5] 中的方案,新提 出的方案多出的计算开销为 ,然而,将其中的指数运算部分与对 方多出的指数运算相互抵消后,新提出的方案多 出的计算开销在总开销中占的比例很小,几乎是 可以忽略不计的. 所以,新提出的方案在 CSP 端的 计算开销要优于另一个方案. 而这两个方案在 TPA 端的计算开销基本相当. 因此,从理论分析可 知,我们的方案是高效的. 5.2 实验比较 为了验证上述理论分析的结果,我们进行了 相关的实验. 我们在 0.5.14 版本的 Pairing-based 表 2 符号和相关操作说明 Table 2 Notations of relevant operations Notation Meaning Multx G x multiplications in group G Multx GT x multiplications in group GT Multx Zp x multiplications in group Zp Hashx Zp x hash values into group Zp Hashx G x hash values into group G Addx Zp x additions on group Zp Expx G x exponentiations g t , where g∈G, t∈Zp Expx GT gT t x exponentiations , where gT∈GT , t∈Zp Pairx GT x pairings, e(u, v) , where u, v ∈ G, e(u, v) ∈ GT PRPx S S = {0,1} log2 n x PRPs in PRFx Zp x PRFs in Zp · 496 · 工程科学学报,第 42 卷,第 4 期
赵海春等:基于索引-存根表的云存储数据完整性审计 497 表3不同的隐私保护方案之间的计算开销比较 Table 3 Comparison of the computation overhead of different privacy-preserving schemes Scheme User's computation overhead Server's computation overhead Verifier's computation overhead Pai吃,+Exp%,+Exp6+Mult吃'+ Pair+Exp2+Mult+ Reference [5] Ep+2+Mulg+Has此 Mulr吃tr+Ad吃g+Hasb, Mult屹,+Hash屹+Hash2p Exp2n+2+Mult+Mult吃+ Pai,+EpG2+Mul此6+Mul吃g2+ Pair呢,+Exp哈t+2+Mul+ Our scheme Ad)+Hash Add+Hash+PRPS+PRF Mult,+PRr+PRF吃p cryptography(PBC)库上进行了实验,实验在Ubuntu P=P(X>1) Linux系统上用C语言编程实现.硬件平台配备主 =1-P{X=0} 频为3.60GHz的Intel Core i7-4790CPU、8GB的 -丽n-1-m广2-历-c+1-m =1-n -1 2 -c+1 DDR3内存和7200转分的Seagate1TB驱动器 广而、-1-m 实验中使用的椭圆曲线是一条MNT曲线,基域大 ml-i 小为159位,嵌入度为6.p的位长度是160位.测 1 c+1 试数据是随机生成的100MB的文件.c值的选择 图3概率框架的计算过程 是基于文献[13]中的概率框架.所有实验结果均 Fig.3 Computation process of the probabilistic framework 为30次试验的平均值, 5.2.1c值的选择 在下面的实验中,我们将挑战的块数c分别取值 假设m表示服务器端受损坏的数据块数,n表 300和460为例. 示文件F的总块数,c表示验证者抽样的数据块数. 5.2.2批审计的效率 令X是一个离散型随机变量,它表示验证者抽样的 为了验证批审计的效率是否真的优于分别单 数据块中与服务器端受损坏的数据块匹配的数 独审计的效率,在相同的实验环境下,对新提出的 目;Px表示验证者选择的数据块中,至少有一块与 方案分别进行了批量审计和分别单独审计的相关 服务器端受损坏的某个数据块匹配的概率,根据 实验测试.在实验中,s取值为1,审计的任务数从 文献13)]中提出的概率框架,Px的计算过程如图3 10个增加到150个,每间隔10个做了一个实验, 所示,从中可以得出文件中数据块的损坏率、服务 为了便于比较,将单独一个任务的情况也进行了 器端数据块受损事件被检测出的概率与抽样的数 实验.最后,用每次实验中得到的总审计时间除以 据块数之间的关系.例如,当受损率”-1%时,验 相应的任务数,得到了单个任务的平均审计时间, 如图4中所示,批量审计的平均审计时间明显低 证者为了使Px值达到95%或99%以上,则需要分 于分别单独审计的平均审计时间,可以使TPA节 别挑战至少299个数据块或459个数据块;当受损 省大约4%的时间 率”=5%时,则为了使Px值达到95%或99%以上, n 52.3方案之间的比较 需要分别挑战至少59个数据块或90个数据块, 为了验证新提出的方案在审计过程中的效 210 200 190 180 170 150 Separate audit:c=460 140 Batch audit:c=460 130 --Separate audit:c=300 120 x-Batch audit:c=300 11 0 20 406080100120140160 Number of tasks audited 图4批量审计与分别单独市计的平均市计时间比较 Fig.4 Comparison of the average audit time between the batch audit and separate audit
cryptography(PBC)库上进行了实验,实验在 Ubuntu Linux 系统上用 C 语言编程实现. 硬件平台配备主 频为 3.60 GHz 的 Intel Core i7-4790 CPU、 8 GB 的 DDR3 内存和 7200 转/分的 Seagate 1 TB 驱动器. 实验中使用的椭圆曲线是一条 MNT 曲线,基域大 小为 159 位,嵌入度为 6. p 的位长度是 160 位. 测 试数据是随机生成的 100 MB 的文件. c 值的选择 是基于文献 [13] 中的概率框架. 所有实验结果均 为 30 次试验的平均值. 5.2.1 c 值的选择 − m n F c X PX PX − m n = 1% PX − m n = 5% PX 假设 表示服务器端受损坏的数据块数, 表 示文件 的总块数, 表示验证者抽样的数据块数. 令 是一个离散型随机变量,它表示验证者抽样的 数据块中与服务器端受损坏的数据块匹配的数 目; 表示验证者选择的数据块中,至少有一块与 服务器端受损坏的某个数据块匹配的概率,根据 文献 [13] 中提出的概率框架, 的计算过程如图 3 所示,从中可以得出文件中数据块的损坏率、服务 器端数据块受损事件被检测出的概率与抽样的数 据块数之间的关系. 例如,当受损率 时,验 证者为了使 值达到 95% 或 99% 以上,则需要分 别挑战至少 299 个数据块或 459 个数据块;当受损 率 时,则为了使 值达到 95% 或 99% 以上, 需要分别挑战至少 59 个数据块或 90 个数据块. 在下面的实验中,我们将挑战的块数c分别取值 300 和 460 为例. 5.2.2 批审计的效率 s 为了验证批审计的效率是否真的优于分别单 独审计的效率,在相同的实验环境下,对新提出的 方案分别进行了批量审计和分别单独审计的相关 实验测试. 在实验中, 取值为 1,审计的任务数从 10 个增加到 150 个,每间隔 10 个做了一个实验, 为了便于比较,将单独一个任务的情况也进行了 实验. 最后,用每次实验中得到的总审计时间除以 相应的任务数,得到了单个任务的平均审计时间, 如图 4 中所示,批量审计的平均审计时间明显低 于分别单独审计的平均审计时间,可以使 TPA 节 省大约 4% 的时间. 5.2.3 方案之间的比较 为了验证新提出的方案在审计过程中的效 表 3 不同的隐私保护方案之间的计算开销比较 Table 3 Comparison of the computation overhead of different privacy-preserving schemes Scheme User’s computation overhead Server’s computation overhead Verifier’s computation overhead Reference [5] Expn·(s+2) G +Multn·s G +Hashn G Pairs GT +Exps GT +Expc G +Multc−1 G + Mult(c+1)·s Zp +Addc·s Zp +Hash1 Zp Pair2 GT +Exps+c+2 G +Multc+s−1 G + Mults GT +Hashc G +Hash1 Zp Our scheme Exp3·n+2 G +Multn G +Multn·s Zp + Addn·(s−1) Zp +Hashn G Pair1 GT +Expc+s+2 G +Multc G +Multc+2 Zp + Addc Zp +Hash1 Zp +PRPc S +PRFc Zp Pair2 GT +Expc+s+2 G +Multc+s G + Mult1 GT +PRPc S +PRFc Zp ∵ ≥ PX=P{X≥1} =1−P{X=0} =1− · · ·…· n−m n n−1−m n−1 n−2−m n−2 n−c+1−m n−c+1 n−i−m n−i n−1−i−m n−1−i ∴ 1−( ) ≤PX≤1−( ) n−m n c n−c+1−m n−c+1 c 图 3 概率框架的计算过程 Fig.3 Computation process of the probabilistic framework 110 120 130 140 150 160 170 180 190 200 210 0 20 40 60 80 100 120 140 160 Number of tasks audited Separate audit: c=460 Batch audit: c=460 Separate audit: c=300 Average audit time per task/ms Batch audit: c=300 图 4 批量审计与分别单独审计的平均审计时间比较 Fig.4 Comparison of the average audit time between the batch audit and separate audit 赵海春等: 基于索引‒存根表的云存储数据完整性审计 · 497 ·
498 工程科学学报,第42卷,第4期 率,针对方案中的TPA和CSP的计算开销,我们 c值相同的两条曲线之间的距离很小,只有在 将该方案与文献[⑤]中提出的方案分别进行了实 c=460时,基于IST表的方案的曲线,随着s值的增 验比较,如图5和6所示.从图5中可以看出,新 加,斜率有减小趋势.从图6可以看出,就CSP的 提出的方案在TPA的计算开销方面,略优于另一 计算开销而言,我们的方案在CSP端的计算开销 个方案,但总体上两个方案之间差别微小,因为在 明显优于文献[5]中提出的方案 240 230 甜 ◆-Wang et al's scheme:c=460 Scheme based on 190 IST table:c=460 180 170 Wang et al's 160 scheme:c=300 150 -◆-Scheme based on 140 IST table:c=300 130 120 110 100 20 40 6080 100120 Number of sectors,s 图5TPA的计算时间比较 Fig.5 Comparisons of the TPA computing time ◆Wang et al's scheme:c=460 -Scheme based on IST table:c=460 Wang et al's scheme:c=300 ●y Scheme based on IST table:c=300 160 20 40 60 80 100 120 Number of sectors,s 图6CSP的计算时间比较 Fig.6 Comparisons of the CSP computing time 6结论 Computing.US:National Institute of Standards and Technology, 2011 本文中提出了一个索引-存根表的结构,并基 [2] Ateniese G,Di Pietro R,Mancini L V,et al.Scalable and efficient 于该结构提出了一个具有隐私保护属性的云存储 provable data possession /Proceedings of the 4th International 第三方审计方案,该方案能够支持各种数据块级 Conference on Security and Privacy in Communication Netowrks 的动态操作.通过索引-存根表结构,可以有效地 Istanbul,2008:9 降低用户端的维护难度.相关的安全分析表明,该 [3] Archer J,Boehme A,Cullinane D,et al.Top threats to cloud 方案是可证明安全的,并且在TPA审计阶段具有 computing V1.0[J/OL].Cloud Security Alliance.https:// cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf 隐私保护的属性.在性能分析部分,进行了相关的 [4] Zhu Y,Hu H X,Ahn G J,et al.Efficient audit service outsourcing 理论分析和实验比较,结果表明该方案是高效的 for data integrity in clouds./Syst Sofhe,2012,85(5):1083 [5] Wang C,Chow SS M,Wang Q,et al.Privacy-preserving public 参考文献 auditing for secure cloud storage.IEEE Trans Comput,2013, [1] Mell P M,Grance T.SP 800-145.The NIST Definition of Cloud 62(2):362
率,针对方案中的 TPA 和 CSP 的计算开销,我们 将该方案与文献 [5] 中提出的方案分别进行了实 验比较,如图 5 和 6 所示. 从图 5 中可以看出,新 提出的方案在 TPA 的计算开销方面,略优于另一 个方案,但总体上两个方案之间差别微小,因为在 c c s 值相同的两条曲线之间的距离很小 ,只有在 =460 时,基于 IST 表的方案的曲线,随着 值的增 加,斜率有减小趋势. 从图 6 可以看出,就 CSP 的 计算开销而言,我们的方案在 CSP 端的计算开销 明显优于文献 [5] 中提出的方案. 6 结论 本文中提出了一个索引–存根表的结构,并基 于该结构提出了一个具有隐私保护属性的云存储 第三方审计方案. 该方案能够支持各种数据块级 的动态操作. 通过索引–存根表结构,可以有效地 降低用户端的维护难度. 相关的安全分析表明,该 方案是可证明安全的,并且在 TPA 审计阶段具有 隐私保护的属性. 在性能分析部分,进行了相关的 理论分析和实验比较,结果表明该方案是高效的. 参 考 文 献 [1] Mell P M, Grance T. SP 800-145. The NIST Definition of Cloud Computing. US: National Institute of Standards and Technology, 2011 Ateniese G, Di Pietro R, Mancini L V, et al. Scalable and efficient provable data possession // Proceedings of the 4th International Conference on Security and Privacy in Communication Netowrks. Istanbul, 2008: 9 [2] Archer J, Boehme A, Cullinane D, et al. Top threats to cloud computing V1.0[J/OL]. Cloud Security Alliance. https:// cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf [3] Zhu Y, Hu H X, Ahn G J, et al. Efficient audit service outsourcing for data integrity in clouds. J Syst Softw, 2012, 85(5): 1083 [4] Wang C, Chow S S M, Wang Q, et al. Privacy-preserving public auditing for secure cloud storage. IEEE Trans Comput, 2013, 62(2): 362 [5] 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 0 20 40 60 80 100 120 TPA’s computing time per task / ms Number of sectors, s Wang et al’s scheme: c=460 Scheme based on IST table: c=460 Wang et al’s scheme: c=300 Scheme based on IST table: c=300 图 5 TPA 的计算时间比较 Fig.5 Comparisons of the TPA computing time 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 0 20 CSP’s computing time per task/ms 40 60 80 100 120 Number of sectors, s Wang et al’s scheme: c=460 Scheme based on IST table: c=460 Wang et al’s scheme: c=300 Scheme based on IST table: c=300 图 6 CSP 的计算时间比较 Fig.6 Comparisons of the CSP computing time · 498 · 工程科学学报,第 42 卷,第 4 期