2基本知识
2.1双线性映射
G1、G2、GT是阶为素数p的循环群,g1是群G1的生成元,g2是群G2的生成元。双线性映射e:G1×G2 → GT,满足如下的性质:
1)双线性性。给定元素u∈G1,v∈G2,对任意a,b∈Zp有e(ua,vb)=e(u,v)ab。
2)非退化性。e(g1,g2)≠1。
3)可计算性。存在一个有效的算法,对任何可能的输入都能有效地进行计算e。
4)可交换性。e(u1·u2,v)=e(u1,v)·e(u2,v)。
2.2困难性假设
Computational DiffieHellman(CDH)假设群G是一个阶为素数p的循环群,g是群的生成元,给定两个随机元素ga,gb∈G,输出gab是困难的。
Discrete Logarithm (DL)假设群G是一个阶为素数p的循环群,g是群的生成元,给定一个随机元素gc∈G,输出c是困难的。
2.3代理重签名算法
为了实现前面基本模型中所描述的支持用户动态可撤销的这一功能,并能持续地保证云服务器上存储数据的完整性,基于文献[17]中的代理重签名算法,作出了进一步的改进。通过当前用户私钥结合已撤销用户公钥生成新的代理重签名密钥来保证即使云服务器与已撤销用户合谋也无法影响数据的安全性。新的代理重签名算法和步骤与文献[17]相似,其中最重要的签名步骤如下。
3支持用户可撤销的云存储数据公共审计方案
3.1Panda方案的问题
下面描述Panda中代理重签名方案实现签名转移的主体部分。
1)在签名算法Sign中,给定私钥skA=a,数据块m∈Zp身份id,用户uA输出基于数据块m的标签:σ=(H(id)ωm)a∈G1。
2)在修改密钥生成算法ReKey中,代理通过以下步骤生成一个重签名密钥rkA → B:
a)代理生成一个随机的r∈Zp,并将它发送给用户uA;
b)用户uA计算并发送r/a给用户uB,其中skA=a;
c)用户uB计算并发rb/a给代理,其中skB=b;
d)代理恢复出重签名密钥rkA → B=b/a∈Zp。
3)在重签名算法中,代理收到重签名密钥rkA → B,后执行代理重名:
σ′=σrkA → B=(H(id)ωm)a·b/a=(H(id)ωm)b。
4)在验证算法Verify中,用户uB通过验证公式:
e(σ′,g)=e(H(id)ωm,pkB)
对数据的完整性进行验证。
从上述过程中,清晰可见重签名密钥rkA → B的生成,是基于用户uA与uB之间的私钥传递。虽然在这个过程中代理生成了一个密钥参数r∈Zp来对传递过程中的私钥进行保护,但是如果恶意云服务器(代理)与已撤销用户uA合谋可以轻易计算出当前审计用户uB的私钥b,因此方案存在用户私钥泄露的风险。
3.2本文方案
在本节提出支持用户可撤销的云存储数据公共审计方案,该方案是基于2.3节的单向代理重签名技术构造的,如图1所示。方案中定义了一个半可信的第三方审计者(TPA),它将忠实地执行数据完整性的审计,由于它是好奇的,它可能会借助强大的计算设备从验证信息中通过解线性方程组恢复原始数据块信息,因此在方案中采用了随机掩饰码技术解决了这一问题。
本文来源:http://www.010zaixian.com/wenxue/gexingqianming/586908.htm