基于代理重签名的支持用户可撤销的云存储数据
针对用户动态可撤销需要新的数据管理员对其前任所管理的计算机网络数据进行完整性验证的问题,基于单向代理重签名技术提出了具有隐私保护的支持用户可撤销的云存储数据公共审计方案。首先,该方案中所采用的单向代理重签名算法,其代理重签名密钥由当前用户私钥结合已撤销用户公钥生成,不存在私钥泄露问题,能够安全实现数据所有权的转移;其次,该方案证明了恶意的云服务器不能产生伪造的审计证明响应信息来欺骗第三方审计者(TPA)通过审计验证过程;更进一步,该方案采用了随机掩饰码技术,能够有效防止好奇的第三方审计者恢复原始数据块。和Panda方案相比较,所提方案在增加抗合谋攻击功能的基础上,其审计过程中通信开销与计算代价仍全部低于Panda方案。
0引言
用户可撤销系统云存储数据的审计问题是云存储数据审计的现实难题。
一开始人们发现将数据存储在云上,用户可以从本地数据存储和维护开销中解放出来享受极大便利;但是外包数据却面临到许多安全挑战[1-4],因此,一系列各种要求在不泄露完整数据知识的前提下确保远端存储数据完整性的审计方案被提出。例如:Juels等[5]提出了一种证据可恢复的POR数据可取回证明(Proofs of Retrievability, POR)审计方案;Ateniese等[6]提出了一种名为PDP数据可证明持有性(Provable Data Possession, PDP)请补充POR和PDP的中文名称和英文全称。的数据持有性证明审计方案;Shacham等[7]利用短签名构造了有效的POR公开审计方案。但是这些方案不考虑用户数据的隐私保护,事实上,用户的数据可能被泄露给一些好奇的敌手,这些缺点将极大地影响这些方案在云计算中的安全性。从保护数据隐私的角度出发,用户可以委托第三方审计者(Third Party Auditor, TPA)来保证他们存储数据的安全,同时他们也不希望这个审计过程由于未经授权的信息泄漏对他们的数据安全造成新的威胁。未授权的数据泄露仍然在于潜在的加密密钥暴露的潜在风险。2009年,Wang等[8]提出了一项保护隐私的云存储数据公开审计方案,方案依托同态认证技术和随机模化技术完成了隐私保护公开认证,并利用双线对标签聚合技术实现了批处理。
自Wang等[8-10]与Zhu等[11]提出了一系列经典的具有保护隐私功能的云存储数据公开审计方案后。人们很快注意到之前几乎所有的审计方案都是固定用户在计算云存储数据的完整性验证标签,即这些审计方案,要求在整个数据管理周期使用云存储服务的都必须是同一个用户。这是因为,云存储服务中数据的完整性验证标签是由用户用自己的私钥签名生成,然后在公共审计过程利用公开信息进行验证。这样的云存储数据审计模式在真实情况下是不现实的。一方面,在一个审计系统中经过一段时间用户的公钥可能更新;另一方面,用户可能只是一个公司的数据管理者,他可能因为各种原因而离职,例如因为高薪而跳槽。因此,出于现实考虑,一个云存储数据审计方案应该支持有效的用户撤销。
Wang等[12]首先引入了共享云存储审计问题,提出了一个基于群签名的用户可撤销的自我审计方案,以及一些基于动态广播重签名方案和双向代理签名的共享云用户可撤销公开审计方案[13-14]。随后Yuan等[15]使用了一个类似的群签名技术提出了一个公开方案版本。由于都涉及到群签名和广播加密技术,以上的动态可撤销审计方案的效率都不满足实际需求。
2015年Wang等[16]提出了一个高效的用户可撤销公开审计方案Panda。此方案借助代理重签名技术,将不同用户的数据块签名转换为当前用户签名形式,从而很好地满足了用户动态可撤销系统的云存储数据审计需求,是此类问题当前的最优解决方案,但是文献[16]的方案局限性中,提到云服务器与已撤销用户合谋可能会造成用户私钥的泄露,并在文献[16]中明确提出在下一步工作中希望通过一个多层的代理重签名方案来解决这个问题。
基于文献[16]的构思,本文提出了一个单向的代理重签名方案,修改密钥的计算是通过对撤销用户的公钥进行处理得到,不存在私钥泄露的风险。另外本文的用户可撤销云存储数据审计方案支持第三方公共审计,能够更好地支持对云存储数据的日常例行审计工作。最后效率分析与比较表明,方案在通信开销与计算复杂度方面更具有优势。
1基本模型
正文内容基于代理重签名的用户可撤销云存储数据公共审计方案如图1所示,支持用户可撤销的云存储数据公共审计方案与上述基本云存储审计方案有很大不同,其方案主实体涉及到多个用户。从现实考虑,数据属于公司,而非数据管理者。在某一个时期通常只有一用户对存储数据进行管理;但是某一段时期内却可能有多个用户对存储数据进行管理。即,一段时间后当前用户可能不再适合管理存储在云上的数据,他可能被别一个新的管理者替换。
本文假设,最开始有一个用户代表公司和组织将数据上传到云服务器,这个初始用户可以记作U0,然后公司雇佣数据管理者,显然数据管理者不是终身制的。在一个数据管理者离职前他需要向新的数据管理者移交数据,继承者需要对这些数据进行审计确认,他的前任尽职地完成了他的数据管理工作。假定,将数据存储在云上的数据存储模式是简单而有效的,公司和组织每一个时期只需要一个数据管理者就能很好地完成数据管理任务。按照时间先后对除U0以外的数据管理者排序为U1,U2,…,Um,m为正整数。相应地对应外包存储在云上的数据按照不同管理者的任期被划分为T1,T2,…,Tm周期。在这里,显然每一个用户只有在周期结束时才会向继任者移交数据。(注:对于第一个用户周期来说,用户U1可能就是初始用户U0;但是也可以委托一个新的用户U1来完成数据管理工作,在文中统一分开记录。)
初始用户U0首先将整个数据文件分成n个数据块,并用自己的私钥计算相应的数据存储标签σ,然后他将所有数据和标签都上传到云服务器以完成数据的最初上传。用户U1在T1期间内进行数据管理,并在T1周期结束时被U2所取代,U2也将被U3取代,一直到Uj取代Uj-1, j∈{0,1,…,m}。Uj为当前数据管理者。因为标签和用户相关,一旦用户撤销了,标签也应该作相应的修改。一个直接的方法就是使用当前用户的私钥重新计算这些数据块的标签。然而,这并不是一个可撤销的云存储审计系统,因为这样将带来沉重的通信和计算负担。一个比较理想的方法就是使用代理重签名技术,将所有存储在云服务器上的数据标签转换成当前用户签名的模式。
最终对于当前用户来说,云服务器上存储的数据mi的标签σ最后都会转化为σ(j)i。考虑到云用户构建一个进行数据无误性检验的云环境是不可行和代价高昂的,因此为了节省进行存储数据周期无误性验证的通信资源,减少在线负担,云用户可以委托第三方审计者(TPA)来执行安全审计任务,因为他是经济并且可以自动运行的;但是,云用户同时希望对TPA保持数据的隐私性。为了方便区分,本文用σ(j)i表示用户Uj用自身的私钥对mi签名生成的数据验证标签。
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),它将忠实地执行数据完整性的审计,由于它是好奇的,它可能会借助强大的计算设备从验证信息中通过解线性方程组恢复原始数据块信息,因此在方案中采用了随机掩饰码技术解决了这一问题。
4方案证明
4.1方案的正确性
4.2安全性分析
下面首先证明该方案能够抵抗恶意云服务器通过产生伪造的审计证明响应信息来欺骗TPA的审计验证过程。
定理1恶意的云服务器产生伪造的审计证明响应信息Proof来欺骗TPA的审计验证过程在计算上是不可行的。
证明假设存在恶意的云服务器(多项式时间敌手A)以不可忽略的概率ξ产生伪造的审计证明响应信息来欺骗TPA的审计验证过程。下面设置多项式时间算法(挑战者B)通过运行敌手A作为子程序也以不可忽略的概率ξ解决CDH困难性问题。算法B与对手A的信息交互如下。
私钥泄露问题根据上面定理1的证明过程,可以轻易发现即使云服务器与已撤销用户合谋,云服务器也不能够获取当前用户的私钥。这是因为方案中修改密钥的计算是当前用户利用自身的私钥通过对已撤销用户的公钥进行处理得到:ukj → j+1=gxj/xj+1。如果云服务与已撤销用户想通过合谋获取当前用户私钥,就必须先以不可忽略的概率解决DL问题,再通过已撤销用户的私钥计算出当前用户私钥。而文献[16]中ukj → j+1=xj+1/xj,如果云服务与已撤销用户合谋,那么云服务器很容易就能获取当前用户私钥。
在下面证明方案满足隐私保护性,即定理2。
定理2给定一个来自云服务器的审计证明响应信息Proof,对于好奇的TPA,它试图从中恢复用户数据文件,F={m1,m2,…,mn}中的数据块是不可行的。
证明组合信息μ′=∑i∈Qvimi是关于用户原始数据块的线性组合,一旦这个组合信息发送给TPA,这个好奇的TPA可以通过收集大量的组合信息,并借助强大的计算设备来求解这些线性方程组,从而恢复用户的原始数据块。为了防止TPA读取用户的原始数据块信息, μ′=∑i∈Qvimi需要使用随机掩饰码技术,具体如下:
云服务器利用伪随机函数f计算随机值r=fk3(challengeChallenge)∈Zp,并计算R=ur∈G,最后将μ′=∑i∈Qvimi盲化: μ=μ′+rh(R)∈Zp这样为了让TPA仍能解这些线性方程,TPA必须掌握这个随机值r,进而它必须掌握这个伪随机函数的秘密密钥,事实上,这个秘密密钥只有云服务器知道,因此TPA不可能知道这个随机值r,因此,对于好奇的TPA,它试图从审计证明响应信息恢复用户数据文件是不可行的。
5效率分析
在本章分析方案的通信和计算复杂度。需要注意的是与其他公共审计方案[9,12-13]一样,本文只计算频繁审计活动中通信和计算代价而不计算系统建立时的通信与计算代价。
用Pair表示双线性对操作,Exp表示G上的指数操作,MZ和MG分别表示Zp和G上的乘法操作。n、p、G分别表示{1,2,…,n}、Zp和G的比特长度。挑战中选取的数据块假定是个常量c,挑战中已撤换的用户数量总和也假设是个常量d。
1)通信开销。可以看到本文方案中通信负载主要取决于产生审计证明响应信息的通信过程。其中发送挑战Q={(i,vi)}到云服务器的通信量为c(n+p)。云服务器返回审计证明响应信息Vj=(μ,φ,{ε}∈[1, j],{γ}∈[1, j])的通信量为p+(2d+1)|G|,但是注意到只有在用户Uj发起的第一次审计请求中才需要这样的通信量,否则只需要传送通信量为p+|G|的(μ,φ)就行了,因此最终在一次审计过程中总共的通信开销为cn+(c+1)p+G。
2)计算开销。计算开销包括修改密钥生成、代理重签名和验证开销3部分,由于本方案支持第三方公开审计,所以只需要考虑修改密钥生成和验证开销两部分。对于用户Uj,在ReKeygen算法只需要计算gxj-1/xj,因此计算代价为Exp。根据上面提到的计算原则,并简化加操作和哈希操作后计算出验证开销为:
(c+1)MZ+MG+(c+3)Exp+2Pair
3)开销比较。如表1所示对比Wang等[16]方案,其通信开销为d·(p+G)+c·(id+n+p)必然大于本方案的cn+(c+1)p+G(两者相减后的值为(d-1)|G|+(d-1)|P|+c|id|,其中id为Panda方案中用户id的规模),其修改计算代价为nExp,比本文方案的计算代价Exp要高。验证开销为:
(c+2d)MZ+dMG+(c+d)Exp+(d+1)Pair,
亦明显高于本文的验证开销。
因此,效率分析表明本文方案在计算代价开销上要优于文献[16]方案。
6结语
本文提出了一个高效的支持用户可撤销的云存储数据公共审计方案。该方案使用了单向的代理重加密技术,有效地解决了云服务器与已撤销用户的合谋攻击问题。方案支持第三方公开审计,并且安全证明表明其安全性与不可伪造性基于CDH困难问题。经过与文献[16]方案进行的性能比较,结果表明:方案具有更好的效率优势。在下一步的工作中,考虑对方案进一步完善,在方案中加入对添加、删除、修改等用户动态可撤销系统数据动态操作情况下数据完整性验证内容。
者:张新鹏 许春香张新颜赛伟韩兴阳刘国平 来源:计算机应用 2016年7期