一种云存储中基于部分授权的可证明安全数据持有性验证方法技术

技术编号:11608766 阅读:111 留言:0更新日期:2015-06-17 07:57
提出了一种云存储中基于部分授权的可证明安全数据持有性验证方法。新方法基于双线性对及部分授权技术,支持数据拥有者直接通过密钥变形方式委任代理方进行数据持有性验证。此外,数据拥有者可以随时撤销或更换代理方。证明了方案的安全性,并分析得出代理方不能从变形密钥中获得数据拥有者的密钥信息。与现有数据持有性验证方案相比,新方案在相同安全强度下,具有更小的计算量和通信量,且应用场景更加广泛。

【技术实现步骤摘要】

本专利技术是属于云存储中的数据安全
,更确切的说是基于部分授权的可证 明安全数据持有性验证方法。
技术介绍
随着云存储的快速发展,作为云存储重要组成部分的数据外包技术也得到越来 越多的关注。数据外包是指客户(即数据拥有者)将数据存储到云服务提供商。相比于传 统数据存储方法,数据外包具有灵活性高,支持动态存储,存储维护成本低等特点。由于 数据外包的远端存储方式,客户对数据的机密性、完整性和可用性有更高的要求。 数据持有性验证(PDP,Prov油leDataPossession)W及数据可恢复性验证 (P0R,ProofofDataRetriev油ility)是近年来研究较多的数据持有性验证技术。其作用 主要是保证客户端的数据不被恶意毁坏或者删除。在PDP中,通过使用同态验证标签,客 户能够有效的验证存储数据是否被更改。使用P0R技术,客户除了能够对数据进行验证外, 还能在验证失败时恢复全部或部分丢失的数据。 PDP方案的模型中,包含了客户和服务器两方。在PDP方案中,客户在对存储在不 可信服务器上的文件进行持有性验证时,需要对文件进行预处理。客户将文件数据分块并 为每一个数据块生成一个同态标签。客户将文件块与同态标签存放在服务器上。在进行验 证的时候,客户随机选取一些数据块,并要求服务器返回持有该些随机选取数据块的证据。 服务器根据被请求的数据块和他们的标签生成证据发送给客户。客户通过服务器发送的证 据,验证服务器是否忠实的存放了随机抽样的数据块。由于数据块的抽样是随机的,因此服 务器在丢失了部分数据块的情况下,能成功欺骗客户的概率是极低的。 PDP方案可W分为两类:私有验证PDP方案及公开验证PDP方案。在私有验证PDP 方案中,验证者需要提供私密信息如私钥等才能验证数据持有性。相反地,公开验证PDP 方案允许任何人无需私密信息验证数据持有性。相对于公开验证PDP方案,私有验证PDP 方案能更好保护数据隐私。 在某些情况下,例如客户在监狱或者在海上旅行,客户本身并不能够对数据进行 持有性验证。该时客户需要一种能够委托代理(例如秘书)代替自己进行服务器端数据 持有性验证的方法。为了解决该一问题,H.Wang提出了一种代理PDP方案(PPDP,Proxy Prov油leData化ssession)。在此方案中,数据拥有者能够授权代理对存储在不可信服务 器上的远程数据进行验证。此方案中,须先由可信授权机构(TPA,ThirdPartyAuditor) 分配公钥和私钥给代理方,之后再由代理利用该对密钥来验证服务器的数据持有性。客户 对代理进行授权必须通过可信第=方授权机构,客户对代理的授权及撤销缺乏灵活度。在 现实的应用场景中,需要一种客户无需依赖可信第=方的授权机制。在该种机制下,客户能 够自主的授予代理进行数据持有性验证的权限,服务器能够验证代理的合法性,代理能够 高效的验证服务器端的数据持有性。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种云存储中的基于部分授权的可 证明安全数据持有性验证方法。该方法不依赖可信第=方,客户能够对代理进行灵活授权, 且该方案为可证明安全,效率与现有的客户直接执行的数据持有性验证方案相当。[000引在现有PDP方案的基础上,本专利技术提出基于部分授权的可证明安全数据持有性验 证方法(PDPDP,Prov油leDataPossessionbyPartialDelegation)。此方法中,客户将 变形后的私钥传递给代理,W授权代理进行数据持有性验证。同时,客户能随时撤销所授予 的权限。本方案属于私有验证方案,拥有私钥的客户W及拥有部分客户私钥信息的代理均 能进行数据持有性验证。利用双线性对的良好特性,代理方在不知道客户私钥的情况下, 凭借变形的客户私钥信息进行数据持有性验证。相比现有的数据持有性验证方案,本方案 在应用场景及灵活度方面优于私有验证,在对数据隐私保护方面优于公开验证。本专利技术能 够保证: 第一,代理无法获知关于客户密钥的信息。 第二,客户和代理均可W对服务器端数据持有性进行有效的验证。 第=,方案在存储和带宽方面计算开销较小。 首先介绍PDPDP方案构造中所使用的参数。K是安全参数,fk(x)表示输入为X, k的函数th,hi,h2为密码学杂凑函数。假设文件F被分成了n个块;(m。m2,Lm。),其中 巧 是伪随机函数(pseudo-randomfunction)。31 是伪随机置换(pseudo-random permutation)。G、Gt均是阶为P的循环乘法群,g是循环乘法群G的生成元。定义e为GXG 到Gt双线性映射。W上函数具体定义如下:【主权项】i. (简称roPDP方 案),其特征包括以下步骤: 1) 系统初始化 首先介绍roPDP方案构造中所使用的参数;K是安全参数,fk(x)表示输入为x,k的函数f,h,hph2为密码学杂凑函数;假设文件F被分成了n个块其中 IniGZq*;;^P是伪随机函数(pseudo-randomfunction) ;JT是伪随机置换(pseudo-random permutation) 是阶为p的循环乘法群,g是循环乘法群G的生成元;定义e为GXG 到Gt双线性映射;以上函数具体定义如下:系统的初始化包括服务器端,客户端的密钥生成,具体步骤为: 密钥生成KeyGen(Ik):产生服务器的公钥和私钥对(y,Y),其中ye&是一个随机数,Y=gyeG;客户端选择一个随机值uGG及一个随机数XGZp,计算X=gxGG;客户的 公钥为(u,X),客户的私钥为X; 2) 客户端对文件进行分块处理,并为分块后的文件生成验证标签,具体步骤包括: a)标签生成TagBlock(x,Y,F,m):给定文件F=Oii1,m2,L,mn),客户为文件块Ini计算标 签7^ ;计算步骤如公式5,6所示:t=h2(e(Z,Y)x),Wi=(PM) T1 =(Mivi)li1"y (() 我们用2表示2;的集合,即I>(4,7;2,L,I;b); 客户将{(&,%XlU 发送给服务器; 3) 客户端基于自己的私钥生成授权信息,并将授权信息传递给代理进行授权;代理收 到授权信息后,验证客户传来的授权信息有效性且在验证通过后接受客户的授权,具体步 骤为: a)客户端生成授权信息PreProxy(x):客户产生一个随机数k G Zp并且计算K=gk; 客户端产生一个表明代理拥有检验远程数据持有权限的担保以及用用户私钥X对担保 进行签名SignxOnJ ;担保描述了代理代表客户执行验证的限制条件;客户端最后计算z= x+kK并将担保、对担保的签名signx(mj和部分授权信息(z,K)发送给代理; b) 代理验证授权信息ProxySelfVer(z,K,mu,SignxOnu)):代理收到客户产生的担保 ,检查其签名signx(mj的有效性以及检查自己是否满足代理的限制条件;代理收到客 户产生的(z,K),代理检查其是否满足:gz=XKk (7) 如果满足上述公式,那么证明代理是有效的;然后代理把z作为自己的私钥,把Z= gzGG作为自己的公钥; b)服务器本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/CN104717217.html" title="一种云存储中基于部分授权的可证明安全数据持有性验证方法原文来自X技术">云存储中基于部分授权的可证明安全数据持有性验证方法</a>

【技术保护点】
一种云存储中基于部分授权的可证明安全数据持有性验证方法(简称PDPDP方案),其特征包括以下步骤:1)系统初始化首先介绍PDPDP方案构造中所使用的参数;κ是安全参数,fk(x)表示输入为x,k的函数f,h,h1,h2为密码学杂凑函数;假设文件F被分成了n个块:(m1,m2,L,mn),其中mi∈Zq*;f,是伪随机函数(pseudo‑random function);π是伪随机置换(pseudo‑random permutation);G、GT均是阶为p的循环乘法群,g是循环乘法群G的生成元;定义e为G×G到GT双线性映射;以上函数具体定义如下:e:G×G→GT                       (4)系统的初始化包括服务器端,客户端的密钥生成,具体步骤为:密钥生成KeyGen(1κ):产生服务器的公钥和私钥对(y,Y),其中y∈Zp是一个随机数,Y=gy∈G;客户端选择一个随机值u∈G及一个随机数x∈Zp,计算X=gx∈G;客户的公钥为(u,X),客户的私钥为x;2)客户端对文件进行分块处理,并为分块后的文件生成验证标签,具体步骤包括:a)标签生成TagBlock(x,Y,F,m):给定文件F=(m1,m2,L,mn),客户为文件块mi计算标签计算步骤如公式5,6所示:t=h2(e(Z,Y)x),Tmi=(h(Wi)umi)x---(6)]]>我们用Σ表示的集合,即客户将发送给服务器;3)客户端基于自己的私钥生成授权信息,并将授权信息传递给代理进行授权;代理收到授权信息后,验证客户传来的授权信息有效性且在验证通过后接受客户的授权,具体步骤为:a)客户端生成授权信息PreProxy(x):客户产生一个随机数k∈Zp并且计算K=gk;客户端产生一个表明代理拥有检验远程数据持有权限的担保mω以及用用户私钥x对担保进行签名signx(mω);担保描述了代理代表客户执行验证的限制条件;客户端最后计算z=x+kK并将担保mω、对担保的签名signx(mω)和部分授权信息(z,K)发送给代理;b)代理验证授权信息ProxySelfVer(z,K,mω,signx(mω)):代理收到客户产生的担保mω,检查其签名signx(mω)的有效性以及检查自己是否满足代理的限制条件;代理收到客户产生的(z,K),代理检查其是否满足:gz=XKK                        (7)如果满足上述公式,那么证明代理是有效的;然后代理把z作为自己的私钥,把Z=gz∈G作为自己的公钥;b)服务器检查验证标签对i,1≤i≥n,服务器计算和并验证等式e(Tmi,g)=e(h(W~i)umi,X)]]>是否成立,成立则服务器存放客户在本地删除如果不成立,服务器向客户端返回出错信息;4)代理向服务器验证其身份,具体步骤包括:a)代理生成验证信息GenProxyInfo(z,mω):代理选择一个随机数θ∈Zp,计算r=gθ;对代理的担保mω,计算s=θ‑1(h1(mω)‑r·z);将(mω,(r,s,K))发送给服务器;b)服务器验证代理VerProxy(mω,r,s,K,):服务器检查mω以确认代理是否满足mω描述的限制条件,同时服务器检查(mω,(r,s,K))是否满足:gh1(mω)=(XKK)rrs---(8)]]>如果符合,服务器接受代理方并将其作为客户的代理;5)代理在需要验证服务器端数据持有性时,向服务器发起挑战;服务器接收挑战之后,生成验证证据发送给代理;代理验证服务器提供的持有性证据;具体步骤包括:a)代理生成挑战chal=(c,k1,k2),其中1≤c≤n,k1∈Zp,k2∈Zp;代理方向服务器发送请求,要求服务器从总体n个数据块中随机抽取c个数据块,并生成这c个数据块的持有证据;k1是伪随机序列π的参数,k2是伪随机函数f的参数;b)服务器生成证据GenProof(F,chal,Σ);服务器收到请求后,首先对1≤j≤c,计算其索引和对应的系数接着计算和最后服务器输出V=(ρ,T),并将V=(ρ,T)发送给代理方完成对挑战的回复;c)代理对服务器进行持有性验证CheckProof(X,chal,V):代理方收到服务器回复V后,验证如下等式:如果相等,则代理可确信服务器以极大概率诚实的存放了客户所有的文件信息。...

【技术特征摘要】

【专利技术属性】
技术研发人员:钟婷赵宇龙杨韵硕
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1