会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑安全 / 密码学 / 一种云存储中基于部分授权的可证明安全数据持有性验证方法

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

阅读:790发布:2021-02-24

IPRDB可以提供一种云存储中基于部分授权的可证明安全数据持有性验证方法专利检索,专利查询,专利分析的服务。并且提出了一种云存储中基于部分授权的可证明安全数据持有性验证方法。新方法基于双线性对及部分授权技术,支持数据拥有者直接通过密钥变形方式委任代理方进行数据持有性验证。此外,数据拥有者可以随时撤销或更换代理方。证明了方案的安全性,并分析得出代理方不能从变形密钥中获得数据拥有者的密钥信息。与现有数据持有性验证方案相比,新方案在相同安全强度下,具有更小的计算量和通信量,且应用场景更加广泛。,下面是一种云存储中基于部分授权的可证明安全数据持有性验证方法专利的具体信息内容。

1.一种云存储中基于部分授权的可证明安全数据持有性验证方法(简称PDPDP方案),其特征在于,包括以下步骤:

1)系统初始化

PDPDP方案构造中所使用的参数如下:r'是密码学算法的安全参数,定义本方法中密码学算法的安全强度;fk’(x)表示参数为x,k'的函数f;h,h1,h2为密码学杂凑函数;假设文件F被分成了n个块:(m1,m2,…,mn),其中 f,是伪随机函数(pseudo-random function);π是伪随机置换(pseudo-random permutation); 均是阶为p的循环乘法群,g是循环乘法群 的生成元;定义e为 到 双线性映射;以上函数具体定义如下:系统的初始化利用密钥生成函数KeyGen(1r')生成服务器端,客户端的密钥,具体步骤为:首先产生服务器的公钥和私钥对(y,Y):选择一个随机值 定义其次生成客户端的公钥和私钥对:客户端选择一个随机值 及一个随机数 计算 客户的公钥为(u,X),客户的私钥为x;

2)客户端对文件进行分块处理,并为分块后的文件生成验证标签,具体步骤包括:a)标签生成TagBlock(x,Y,F,m):客户端首先计算代理的公钥Z,客户端为代理产生一个随机数 并且计算K=gk,z=x+kK,Z=gz, 为给定文件F=(m1,m2,…,mn),客户为文件块mi计算标签 计算步骤如公式5,6所示:用∑表示 的集合,即

b)客户将 发送给服务器;

3)客户端基于自己的私钥生成授权信息,并将授权信息传递给代理进行授权;代理收到授权信息后,验证客户传来的授权信息有效性且在验证通过后接受客户的授权,具体步骤为:a)客户端生成授权信息PreProxy(x):客户产生一个随机数 并且计算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作为自己的私钥,把作为自己的公钥;

c)服务器检查验证标签 对i,1≤i≤n,服务器计算和 并验证等式 是否成立,成立则服务器存放

客户在本地删除 如果不成立,服务器向客户端返回出错信息;

4)代理向服务器验证其身份,具体步骤包括:

a)代理生成验证信息GenProxyInfo(z,mω):代理选择一个随机数 计算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))是否满足:如果符合,服务器接受代理方并将其作为客户的代理;

5)代理在需要验证服务器端数据持有性时,向服务器发起挑战;服务器接收挑战之后,生成验证证据发送给代理;代理验证服务器提供的持有性证据;具体步骤包括:a)代理生成挑战chal=(c,k1,k2),其中1≤c≤n, 代理方向服务器发送请求,要求服务器从总体n个数据块中随机抽取c个数据块,并生成这c个数据块的持有证据;k1是伪随机序列π的参数,k2是伪随机函数f的参数;

b)服务器生成证据GenProof(F,chal,∑);服务器收到请求后,首先对1≤j≤c,计算其索引 和对应的系数 接着计算 和 最后服务器输出V=(ρ,T),并将V=(ρ,T)发送给代理方完成对挑战的回复;

c)代理对服务器进行持有性验证CheckProof(X,chal,V):代理方收到服务器回复V后,验证如下等式:如果相等,则代理可确信服务器以极大概率诚实的存放了客户所有的文件信息。

说明书全文

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

方法

技术领域

[0001] 本发明是属于云存储中的数据安全技术领域,更确切的说是基于部分授权的可证明安全数据持有性验证方法。

背景技术

[0002] 随着云存储的快速发展,作为云存储重要组成部分的数据外包技术也得到越来越多的关注。数据外包是指客户(即数据拥有者)将数据存储到云服务提供商。相比于传统数据存储方法,数据外包具有灵活性高,支持动态存储,存储维护成本低等特点。由于数据外包的远端存储方式,客户对数据的机密性、完整性和可用性有更高的要求。
[0003] 数据持有性验证(PDP,Provable Data Possession)以及数据可恢复性验证(POR,Proof of Data Retrievability)是近年来研究较多的数据持有性验证技术。其作用主要是保证客户端的数据不被恶意毁坏或者删除。在PDP中,通过使用同态验证标签,客户能够有效的验证存储数据是否被更改。使用POR技术,客户除了能够对数据进行验证外,还能在验证失败时恢复全部或部分丢失的数据。
[0004] PDP方案的模型中,包含了客户和服务器两方。在PDP方案中,客户在对存储在不可信服务器上的文件进行持有性验证时,需要对文件进行预处理。客户将文件数据分块并为每一个数据块生成一个同态标签。客户将文件块与同态标签存放在服务器上。在进行验证的时候,客户随机选取一些数据块,并要求服务器返回持有这些随机选取数据块的证据。服务器根据被请求的数据块和他们的标签生成证据发送给客户。客户通过服务器发送的证据,验证服务器是否忠实的存放了随机抽样的数据块。由于数据块的抽样是随机的,因此服务器在丢失了部分数据块的情况下,能成功欺骗客户的概率是极低的。
[0005] PDP方案可以分为两类:私有验证PDP方案及公开验证PDP方案。在私有验证PDP方案中,验证者需要提供私密信息如私钥等才能验证数据持有性。相反地,公开验证PDP方案允许任何人无需私密信息验证数据持有性。相对于公开验证PDP方案,私有验证PDP方案能更好保护数据隐私。
[0006] 在某些情况下,例如客户在监狱或者在海上旅行,客户本身并不能够对数据进行持有性验证。这时客户需要一种能够委托代理(例如秘书)代替自己进行服务器端数据持有性验证的方法。为了解决这一问题,H.Wang提出了一种代理PDP方案(PPDP,Proxy Provable Data Possession)。在此方案中,数据拥有者能够授权代理对存储在不可信服务器上的远程数据进行验证。此方案中,须先由可信授权机构(TPA,Third Party Auditor)分配公钥和私钥给代理方,之后再由代理利用这对密钥来验证服务器的数据持有性。客户对代理进行授权必须通过可信第三方授权机构,客户对代理的授权及撤销缺乏灵活度。在现实的应用场景中,需要一种客户无需依赖可信第三方的授权机制。在这种机制下,客户能够自主的授予代理进行数据持有性验证的权限,服务器能够验证代理的合法性,代理能够高效的验证服务器端的数据持有性。

发明内容

[0007] 本发明的目的在于克服现有技术的不足,提供一种云存储中的基于部分授权的可证明安全数据持有性验证方法。该方法不依赖可信第三方,客户能够对代理进行灵活授权,且该方案为可证明安全,效率与现有的客户直接执行的数据持有性验证方案相当。
[0008] 在现有PDP方案的基础上,本发明提出基于部分授权的可证明安全数据持有性验证方法(PDPDP,Provable Data Possession by Partial Delegation)。此方法中,客户将变形后的私钥传递给代理,以授权代理进行数据持有性验证。同时,客户能随时撤销所授予的权限。本方案属于私有验证方案,拥有私钥的客户以及拥有部分客户私钥信息的代理均能进行数据持有性验证。利用双线性对的良好特性,代理方在不知道客户私钥的情况下,凭借变形的客户私钥信息进行数据持有性验证。相比现有的数据持有性验证方案,本方案在应用场景及灵活度方面优于私有验证,在对数据隐私保护方面优于公开验证。本发明能够保证:
[0009] 第一,代理无法获知关于客户密钥的信息。
[0010] 第二,客户和代理均可以对服务器端数据持有性进行有效的验证。
[0011] 第三,方案在存储和带宽方面计算开销较小。
[0012] PDPDP方案构造中所使用的参数如下:r'是密码学算法的安全参数,定义本方法中密码学算法的安全强度;fk'(x)表示参数为x,k'的函数f;h,h1,h2为密码学杂凑函数;假设文件F被分成了n个块:(m1,m2,…,mn),其中 f, 是伪随机函数(pseudo-random function);π是伪随机置换(pseudo-random permutation); 均是阶为p的循环乘法群,g是循环乘法群 的生成元;定义e为 到 双线性映射;以上函数具体定义如下:
[0013]
[0014]
[0015]
[0016]
[0017] 接下来,给出PDPDP方法中的多项式算法定义。
[0018] 定义1PDPDP方案是由九个多项式算法组成:
[0019] 1.密钥生成KeyGen(1r')→(sk,pk):r'为安全参数,算法在安全参数r'下,产生服务器与客户的公私钥对。首先产生服务器的公钥和私钥对(y,Y), 是整数模p加法群,选择一个随机值 定义 客户端选择一个随机值 及一个随机数 计算客户的公钥为(u,X),客户的私钥为x。
[0020] 2.客户端生成授权信息PreProxy(x)→(mω,signx(mω),(z,K)):客户产生一个随机数 并且计算K=gk。客户端产生一个表明代理拥有检验远程数据持有性权限的担保mω以及利用用户私钥x对担保进行签名signx(mω)。担保描述了代理代表客户执行验证的限制条件。客户端最后计算z=x+kK。
[0021] 3.代理验证授权信息ProxySelfVer(z,K,mω,signx(mω))→("success","failure"):代理收到客户产生的担保mω,检查其签名signx(mω)的有效性以及检查自己是否满足代理的限制条件。代理收到客户产生的(z,K),代理检查其是否满足:
[0022] gz=XKK   (5)
[0023] 如果满足上述公式,那么证明代理是有效的。然后代理把z作为自己的私钥,把作为自己的公钥。
[0024] 4.客户生成标签TagBlock(x,Y,F,m)→(∑):给定文件F=(m1,m2,…,mn),客户为文件块mi计算标签 计算步骤如公式6,7所示:
[0025]
[0026]
[0027] 用∑表示 的集合,即
[0028] 5.服务器检查验证标签 对i,1≤i≥n,服务器计算 和 并验证等式 是否成立,成立
则服务器存放 客户在本地删除 如果不成立,服务器向客户
端返回出错信息。
[0029] 6.代理生成验证信息GenProxyInfo(z,mω)→(mω,(r,s,K)):代理选择一个随机数计算r=gθ。对代理的担保mω,计算s=θ-1(h1(mω)-r·z)。将(mω,(r,s,K))发送给服务器。
[0030] 7.服务器验证代理VerProxy(mω,r,s,K)→("success","failure"):服务器检查mω以确认代理是否满足mω描述的限制条件,同时服务器检查(mω,(r,s,K))是否满足:
[0031]
[0032] 如果符合,服务器接受代理方并将其作为客户的代理。
[0033] 8.服务器生成证据GenProof(F,chal,∑)→V:服务器收到挑战请求chal=(c,k1,k2),其中1≤c≤n, 首先对1≤j≤c,计算其索引 和对应的系数接着计算 和 最后服务器输出V=(ρ,T),并将V=(ρ,T)发
送给代理方完成对挑战的回复。
[0034] 9.代理对服务器进行持有性验证CheckProof(X,chal,V)→("success","failure"):代理方收到服务器回复V后,验证如下等式:
[0035]
[0036] 如果相等,则代理可确信服务器以极大概率诚实的存放了客户所有的文件信息。
[0037] 为实现上述发明目的,本发明云存储中基于部分授权的可证明安全数据持有性验证方法,其特征在于,包括以下步骤:
[0038] 1.系统初始化:系统的初始化时运行KeyGen(1r')→(sk,pk),为服务器端,客户端生成公私钥对。
[0039] 2.客户端对文件进行分块处理,并运行TagBlock(x,Y,F,m)→(∑)为分块后的文件生成验证标签,客户将 发送给服务器。客户将文件块与标签发送给服务器。服务器运行CheckTag 检查验证标签的合法性。
[0040] 3.客户端运行PreProxy(x)→(mω,signx(mω),(z,K))生成授权信息。并将担保mω、对担保的签名signx(mω)和部分授权信息(z,K)发送给代理。代理收到授权信息后,运行ProxySelfVer(z,K,mω,signx(mω))→("success","failure")验证客户传来的授权信息有效性且在验证通过后接受客户的授权。
[0041] 4.代理向服务器验证其身份,代理运行GenProxyInfo(z,mω)→(mω,(r,s,K))生成验证信息,将验证信息(mω,(r,s,K))发送给服务器。服务器接收验证信息,运行VerProxy(mω,r,s,K)→("success","failure")以验证代理的合法性。
[0042] 5.代理在需要验证服务器数据持有性时,向服务器发起挑战chal。代理生成挑战chal=(c,k1,k2),其中1≤c≤n, 代理方向服务器发送请求,要求服务器从总体n个数据块中随机抽取c个数据块,并生成这c个数据块的持有证据。k1是伪随机序列π的参数,k2是伪随机函数f的参数。服务器接收挑战chal之后,运行GenProof(F,chal,∑)→V生成验证证据发送给代理。代理运行CheckProof(X,chal,V)→("success","failure")验证服务器提供的持有性证据。
[0043] 本发明的发明目的是这样实现的:
[0044] 1.在灵活授权方面,提供给代理方的私钥是基于客户私钥的变型。从代理的私钥中无法获得关于客户私钥的任何信息,同时又能验证代理私钥确实由客户私钥生成,因此可断定客户已对代理授权。本方案中,因为代理方的私钥是由客户进行生成和发放,免除了通过可信第三方授权机构进行密钥发放。这种客户对代理进行自主授权的方式灵活度,效率较高。
[0045] 2.本方案利用双线形对的优良特性,使得代理在仅仅获得客户部分私钥信息的情况下可以完成服务器数据持有性验证。同时,代理对服务器数据持有性验证的系统开销与现有效率最高的PDP方案相当。
[0046] 3.客户在对代理授权时,生成了一个担保mω。担保限制了代理方使用私钥的范围和权限,又因为担保mω具有时效性,使得代理的私钥只有在客户授权的一段时间内有效,这样使得授权和撤销都非常灵活。
[0047] 4.本发明是可证明安全的,安全性得到了保障。

附图说明

[0048] 图1是本发明云存储中基于部分授权的可证明安全数据持有性验证方法的三方模型示意图;
[0049] 图2是本发明云存储中基于部分授权的可证明安全数据持有性验证方法的流程图;

具体实施方式

[0050] 接下来我将具体描述本发明是如何进行的,以便熟悉本领域的技术人员能够更好的理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0051] 如图1所示,本发明涉及到了可信授权机构,云服务器,代理及客户四方。客户通过授权代理,让代理代替用户验证服务器的数据持有性。
[0052] 在本实施例中,如图2所示,本发明云存储中基于部分授权的可证明安全数据持有性验证方法包括步骤S1-S5,对应发明内容的步骤(1)-(5),具体内容相同,在此不再赘述。以下,说明各个步骤之前的关系。步骤S1在系统初始化时执行一次,若服务器端或客户端的密钥过期或失效,则需要再次执行步骤S1。步骤S1先于其他四个步骤。步骤S2与步骤S3没有先后次序,客户端一旦产生新的外包文件则执行步骤S2,客户端不能亲自进行数据持有性验证而需要授权某个代理时则执行步骤S3。代理对文件进行持有性验证前,需要执行步骤S4以完成代理向服务器的身份认证。经过服务器认证的代理可执行步骤S5,对服务器端客户的外包文件进行持有性验证。
[0053] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用