支持用户撤销的多用户多副本数据公开审计方案

2020-12-16 02:42杨小东裴喜祯陈桂兰王美丁王彩芬
计算机工程 2020年12期
关键词:合谋副本云端

杨小东,裴喜祯,陈桂兰,王美丁,王彩芬

(西北师范大学 计算机科学与工程学院,兰州 730070)

0 概述

随着云存储技术的快速发展,越来越多用户将数据存储于云服务器以节省本地存储空间。然而数据外包到远程平台后用户将失去对数据的实际控制[1],且由于存在硬件故障、软件错误以及管理员操作失误等不可抗因素,用户数据有丢失或损坏的风险,因此如何保证用户外包数据的完整性成为近年来云计算安全研究的热点[2-4]。

文献[5]提出一种数据可恢复性证明(Proofs of Retrievability,PoR) 方案,用户能对外包数据进行完整性验证,但该方案验证次数受到限制。文献[6]利用短签名构造出有效的PoR方案,可解决验证次数受限的问题,但该方案不支持数据动态操作。文献[7]基于改进认证跳表提出支持全动态更新的数据持有性证明(Provable Data Possession,PDP)方案,但该方案认证过程较长且需大量的计算与通信开销。文献[8]基于Merkel哈希树(Merkel Hash Tree,MHT)提出支持动态更新的数据完整性验证方案,但其中树的深度会随数据增多呈指数增长,且数据动态更新的计算开销较大。文献[9]基于多分支路径树提出云端数据公开审计方案,但其不支持数据隐私保护。上述方案均是对单用户的数据完整性进行验证,未考虑群用户共享数据的公共审计。针对该情况,研究人员相继提出基于环签名、群签名等多用户公开审计方案[10-12],但这些方案均不能抵抗合谋攻击且不支持数据动态更新。文献[13]使用代理重签名技术设计出支持用户撤销的云端数据完整性验证方案,但该方案无法抵抗合谋攻击。文献[14]利用秘密共享技术提出支持用户撤销的数据完整性验证方案,然而该方案未考虑数据动态更新。以上方案均未对重要数据进行备份存储,一旦数据丢失会造成重大经济损失。为提高数据存储的可靠性,通常采用在云中存储多个数据副本的方法。文献[15]设计出基于多副本的云端数据完整性验证方案,但该方案不支持数据动态操作。文献[16-18]提出不同的云端多副本数据完整性验证方案,但这些方案仍无法支持用户撤销且计算效率较低。文献[19-20]分别设计出多副本数据完整性验证方案,但方案中树的深度会随数据块增多呈指数增长,导致数据动态更新需较大的计算开销。

为支持用户撤销并减少数据动态更新计算开销,本文提出一种基于身份的多用户多副本云端数据公开审计方案。利用秘密共享技术和重签名算法实现用户安全撤销,通过多分支路径树进行数据动态更新,并对该方案的安全性和不同阶段的计算开销进行分析。

1 困难性问题

定义1(DL假设) 如果任意多项式时间算法无法解决群G1上的DL问题,则称G1上的DL问题是困难的。

2 多用户多副本数据公开审计方案

2.1 系统模型

图1为本文所提支持用户撤销的多用户多副本数据公开审计方案的系统模型,该模型主要包括以下方面:1)群用户(Users)负责生成数据的标签,上传数据到云服务器并对云端数据进行动态更新;2)私钥生成中心(Private Key Generator,PKG)负责生成系统参数和用户私钥;3)第三方审计员(Third Party Auditor,TPA)负责验证云端数据完整性并将结果发送给用户;4)云服务提供商(Cloud Server Provider,CSP)负责存储用户数据及标签,并响应TPA的数据验证请求与转换被撤销用户的签名;5)代理者(Proxies)负责生成重签名份额并发送给云服务提供商。

图1 本文方案的系统模型Fig.1 System model of the proposed scheme

2.2 方案描述

本文方案具体介绍如下:

1)系统初始化

输入安全参数K,PKG执行如下操作:

(3)秘密保存主私钥,公开系统参数params={G1,G2,p,g,e,H1,H2,f1,f2,π,Y}。

2)密钥生成

3)私钥分发

用户收到PKG发送的私钥Si后执行如下操作:

(1)验证等式gski=RiYH1(IDi,Ri)是否成立,若等式成立,则用户接受私钥,否则用户拒绝。

4)副本数据块生成

为生成副本数据块,用户执行如下操作:

5)数据上传

为生成多分支路径树根节点的签名和每个数据块mij的标签,用户执行如下操作:

图2 多分支路径树结构Fig.2 Multi-branch path tree structure

(2)计算根节点Ri的签名IDS(Ri)=H2(Ri)ski。

(5)CSP收到用户上传数据后,验证根节点签名的正确性,若等式e(IDS(Ri),g)=e(H2(Ri),RiYH1(IDi,Ri))成立,则根节点签名有效,保存用户上传的数据。

6)重签名

若要撤销群中用户Ua,则需将用户Ua的签名转换为用户Ub的签名,群用户产生重签名密钥份额发送给代理者,代理者产生代理重签名份额发送给CSP,CSP产生重签名,具体步骤如下:

7)挑战信息生成

为生成挑战信息,用户执行如下操作:

(1)若用户Ui要验证存储在CSP上数据块及其副本的完整性,则可发送请求给TPA。

8)证据生成

CSP收到TPA发送的挑战信息chal后,执行如下操作:

(1)计算sj=πκ1(i,j)和aj=f2κ2(i,j)。

9)证据验证

TPA收到CSP发送的证据proof后,执行如下操作:

2.3 数据动态更新

数据动态更新包括数据块的修改、插入和删除。

2.3.1 数据块修改

用户收到CSP发送的证明proof后,执行如下操作:

(1)利用e(IDS(Ri),g)=e(H2(Ri),RiYH1(IDi,Ri))验证根节点签名的正确性,若等式不成立,则输出FALSE,否则继续验证。

(3)对新的根节点R′i生成签名IDSski(H2(R′i)),并将签名信息IDSski(H2(R′))发送给CSP,完成修改操作。

以上数据块修改操作完成后,得到的多分支路径树结构如图3所示。

图3 修改数据块后的多分支路径树结构Fig.3 Multi-branch path tree structure after modifyingdata block

2.3.2 数据块插入

图4 插入数据块后的多分支路径树结构Fig.4 Multi-branch path tree structure after insertingdata block

2.3.3 数据块删除

图5 删除数据块后的多分支路径树结构Fig.5 Multi-branch path tree structure afterdeleting data block

3 安全性分析

定理1本文方案满足抗合谋攻击性,即能够抵抗云服务器和已撤消用户的合谋攻击。

证明本文方案满足抗合谋攻击性的证明过程如下:使用秘密分割技术[21]将用户的秘密值1/ski分为n份分发给群用户。CSP必须联合至少k个群成员才能恢复得到重签名密钥。若群用户中至少有k+1个成员可信,则本文方案可抵抗来自云服务器和已撤销用户的合谋攻击,实现安全撤销。因此,本文方案满足抗合谋攻击性。

定理2如果DL假设成立,则本文方案满足审计的健壮性,即只有CSP基于正确数据产生的完整性证明proof才可通过TPA验证。

证明本文方案满足审计健壮性的证明过程如下:

RiYH1(IDi,Ri))

(1)

假设CSP基于损坏数据M′(M′≠M)伪造的完整性证明proof={φ*,σ*}也能通过验证,则其满足式(2):

RiYH1(IDi,Ri))

(2)

(3)

(4)

定理3本文方案满足数据隐私性,即云服务器无法获得用户的原始数据。

证明本文方案满足数据隐私性的证明过程如下:用户的原始数据经过加密、分块、随机化处理并上传到云服务器后,可有效阻止云服务提供商从密文中恢复用户的数据内容。因此,本文方案满足数据隐私性。

4 性能分析

本文方案与文献[17-19]方案均为多副本数据完整性方案,以下对这4种方案在采用基于身份的签名、支持数据动态更新、支持用户撤销、抗合谋攻击方面的功能以及通信开销与计算开销进行对比分析。

4.1 功能对比

表1为本文方案与文献[17-19]方案在采用基于身份的签名、支持数据动态更新、支持用户撤销和抗合谋攻击方面的功能对比情况。由表1可知:文献[17-19]方案均基于传统公钥密码体制,存在复杂的证书管理问题;文献[18]方案不支持数据动态更新;文献[17]方案虽然采用多分支路径树实现了数据动态更新,但需要巨大的通信开销;文献[19]方案采用MHT实现了数据动态更新,导致树的深度随数据块数量的增加呈指数增长;文献[17-19]方案不支持用户撤销,且不能抵抗已撤销用户和云服务器的合谋攻击;本文方案采用基于身份的签名,实现了数据动态更新、用户撤销和抗合谋攻击的功能。

表1 4种方案的功能对比Table 1 Function comparison of four schemes

4.2 通信开销对比

表2 4种方案的通信开销对比Table 2 Computational overhead comparison of four schemes

4.3 计算开销对比

表3为本文方案与文献[17-19]方案在签名阶段、证据生成阶段以及证据验证阶段的计算开销对比情况。其中,n表示数据块数量,Texp、Tmul、Tadd、Thash、Tp分别表示1次幂运算、1次乘法运算、1次加法运算、1次哈希运算、1次双线性配对运算所需的时间。由表3可知:在签名和证据验证阶段,本文方案的计算开销与副本数量几乎无关,而文献[17-19]方案与副本数量线性相关;在证据生成阶段,本文方案仅需计算c次取幂运算,而文献[17-18]方案需进行cs次取幂运算。因此,和文献[17-19]方案相比,本文方案具有较高的计算效率。

表3 4种方案的计算开销对比Table 3 Computational overhead comparison of four schemes

5 实验结果与分析

对本文方案和文献[17-19]方案进行仿真实验,对比4种方案在签名阶段、证据验证阶段的计算开销,并用上述方案在签名阶段、证据验证阶段所用时间作为计算开销的评估指标。实验环境为Intel®Core i7-5500U CPU、4 GB内存以及版本号为0.4.7的PBC库。

当用户数据块数量为20、40、60、80、100且每个数据块副本数量为2时,本文方案和文献[17-19]方案在签名阶段、证据验证阶段的计算开销对比情况分别如图6、图7所示。可以看出,随着用户数据块数量的增加,本文方案和文献[17-19]方案的签名时间和证据验证时间都呈线性增长,但本文方案相较文献[17-19]方案在这2个阶段所用时间的增幅更小,因此,本文方案在签名和证据验证阶段的计算开销更少。 当用户数据块数量为50且每个数据块副本数量为2、4、6、8、10时,本文方案和文献[17-19]方案在签名阶段、证据验证阶段的计算开销对比情况分别如图8、图9所示。可以看出:随着数据块副本数量的增加,文献[17-18]方案的签名时间和证据验证时间都呈线性增长,文献[19]方案的签名时间呈线性增长但增幅大于文献[17-18]方案,其证据验证时间虽保持恒定但多于本文方案;本文方案在这2个阶段所用时间最少,且随着数据块副本数量的增加保持恒定。因此,和文献[17-19]方案相比,本文方案在签名和证据验证阶段具有更高的计算效率。

图6 4种方案在签名阶段的计算开销随数据块数量的变化情况Fig.6 The change of computational overhead of four schemesin the signature phase with the number of data blocks

图7 4种方案在证据验证阶段的计算开销随数据块数量的变化情况Fig.7 The change of computational overhead of four schemesin the evidence verification phase with the numberof data blocks

图8 4种方案在签名阶段的计算开销随副本数量的变化情况Fig.8 The change of computational overhead of four schemesin the signature phase with the number of copies

图9 4种方案在证据验证阶段的计算开销随副本数量的变化情况Fig.9 The change of computational overhead of four schemesin the evidence verification phase with the number of copies

6 结束语

本文利用秘密分割思想,提出一种多用户多副本云端数据公开审计方案,结合代理重签名算法和多分支路径树进行群组用户安全撤销与云端多副本数据动态更新。安全性分析及实验结果表明,该方案能抵抗云服务器和被撤销用户的合谋攻击,有效保护数据的隐私性并满足审计健壮性,解决基于传统公钥密码系统的证书管理问题,确保用户数据副本在云端完整存储。后续将设计格上多用户多副本云端数据公开审计方案,避免方案安全性依赖于数学困难问题,从而更好地抵抗量子攻击。

猜你喜欢
合谋副本云端
四海心连·云端汇聚
云端之城
使用卷影副本保护数据
面向流媒体基于蚁群的副本选择算法①
一种基于可用性的动态云数据副本管理机制
云端创意
在云端
注册会计师与被审计单位合谋行为的治理
注册会计师与被审计对象合谋的成因探析
《口袋西游—蓝龙》新副本“幽冥界”五大萌点