一种基于身份和环签名的数据完整性校验方法技术

技术编号:25756737 阅读:39 留言:0更新日期:2020-09-25 21:05
本发明专利技术公开了一种基于身份和环签名的数据完整性校验方法,步骤包括:密钥生成中心根据身份信息生成相应的公钥和私钥并返回给数据拥有者,数据拥有者将公钥发送给云服务器;数据拥有者对需要上传的文件进行分块处理,将文件分为若干个文件块,计算出每个文件块的标签值,将其发送到云服务器端;第三方验证者向云服务器发起挑战请求;云服务器接收挑战请求,计算相应的证据并将其发送给第三方验证者;第三方验证者根据云服务器返回的证据,与公钥和对应的标签进行碰撞,判断待验证的数据是否完整。本发明专利技术引进了密钥生成中心作为密钥生成的参与者,利用环签名生成数据块标签,达到在进行数据共享的基础上保证数据完整性以及提高安全性。

【技术实现步骤摘要】
一种基于身份和环签名的数据完整性校验方法
本专利技术属于数据安全
,具体地说,涉及一种基于身份和环签名的数据完整性校验方法。
技术介绍
传统的数据完整性验证方案往往针对的是云环境下云存储服务,其特点在于尽可能降低用户的计算开销与存储开销,而忽略了用户隐私和数据泄露的问题,所以在云存储逐渐普及的今天,能有效保护用户隐私和数据信息显得极为重要。
技术实现思路
有鉴于此,本专利技术针对现有技术中忽略用户隐私和数据泄露的问题,提供了一种基于身份和环签名的数据完整性校验方法,在原有PDP协议模型的基础上,引进了密钥生成中心作为密钥生成的参与者,利用环签名生成数据块标签,达到在进行数据共享的基础上保证数据的完整性以及提高安全性。为了解决上述技术问题,本专利技术公开了一种基于身份和环签名的数据完整性校验方法,包括以下步骤:S1、密钥生成阶段:密钥生成中心根据数据拥有者发送的身份信息生成相应的公钥和私钥并返回给数据拥有者,数据拥有者将公钥发送给云服务器;S2、标签生成阶段:数据拥有者对需要上传的文件进行分块处理,将文件分为若干个文件块,计算出每个文件块的标签值,将其发送到云服务器端;S3、挑战生成阶段:第三方验证者向云服务器发起挑战请求;S4、证据生成阶段:云服务器接收来自第三方验证者的的挑战请求,计算相应的证据,并将其发送给第三方验证者;S5、验证阶段:第三方验证者根据云服务器返回的证据,与公钥和对应的标签进行碰撞,判断待验证的数据是否完整。进一步地,S1密钥生成阶段具体为:密钥生成中心保存数据拥有者所在环中的所有成员的身份ID信息,针对数据拥有者发送的个人身份信息,生成相应的公钥和私钥,并把公钥和私钥同时返回给数据拥有者,数据拥有者将公钥发送给云服务器。进一步地,S2标签生成阶段具体包括以下步骤:S21、数据拥有者在密钥生成中心中选择任意个成员作为当前环成员;针对所选取的每一个环成员,生成对应的身份信息Ri,而成员身份ai取决于初始化素数阶的整数群Zq、阶数P取决于初始化素数阶的整数群G,生成相应的成员身份Ri=aiP;针对每一个文件M分成任意多个文件块M={m1、m2、...、mn},1≤j≤n,对每一个文件块生成相应的随机数bj,bj取决于初始化素数阶的整数群Zq中;把每个随机数以及对应的文件块进行聚合bj·mj,构成每个文件块的标签值;然后再把每个聚合后的值相加∑bj·mj,得到整个文件的标签值c,同时生成R`i=aiPpub,其中Ppub=xP,x为主私钥;S22、针对数据拥有者生成相应的身份信息Rk,而身份ak取决于初始化素数阶的整数群Zq、阶数P取决于初始化素数阶的整数群G,生成相应的身份信息Rk=akP;针对每一个文件M分成任意多个文件块M={m1、m2、...、mn},1≤j≤n,生成相应的随机数bj,而bj取决于初始化素数阶的整数群Zq中;把每个随机数以及对应的文件块进行聚合bj·mj,构成每个文件块的标签值;然后再把每个聚合后的值相加∑bj·mj,最后和数据拥有者所选环中成员的数量L、文件名fname以及成员身份Rk进行哈希H2(L||fname||Rk)相加∑bj·mj+H2(L||fname||Rk),得到整个文件的标签值ck,同时生成P2=tPpub,t取决于初始化素数阶的整数群Zq,Ppub=xP,x为主私钥,以及S23、生成签名将参数集合{L、R0、R1、...、Rn-1、U、N、S},标签c和数据文件一起发送给云服务器。进一步地,S3挑战生成阶段具体为:第三方验证者将待验证的文件块的索引j和随机数bj,以及待验证的文件块的文件名fname,以元组的形式{{j,bj},fname},1≤j≤c一起发送给云服务器。进一步地,S4证据生成阶段具体为:云服务器根据挑战请求信息中文件块的索引j和随机数bj,计算与文件块mj的聚合值,之后与所选环中每个成员H2(L||fname||Ri)相加得到计算标签值形成证据σ,选择对应的环签名中的S作为证据μ,然后将证据集合{σ,μ}返回给第三方验证者。进一步地,S5验证阶段具体为:第三方验证者根据云服务器返回的证据集合{σ,μ},与之前初始化素数阶的整数群G生成的阶数P、密钥生成中心计算的主公钥Ppub以及所选取的环中成员的身份信息的聚合值U,以及用户公钥QID通过等式e(p,μ)=e(Ppub,σ+U)是否成立来验证云服务器中的数据是否完整。进一步地,本专利技术校验方法还包括S6数据更新阶段:云服务器构建认证数据结构,实现支持数据动态更新的功能。进一步地,S6数据更新阶段具体为:S61、设计默克尔哈希树每个节点的值包含两个,分别为左值和右值;左值表示当前节点是其父节点的左节点还是右节点,规定左节点用0表示,右节点用1表示,根节点的左值存储的是固定值r来;右值表示其文件块的标签的聚合值,除叶子节点外,每个节点的右值均为其左孩子节点的右值和右孩子节点的右值聚合而成的标签值,每个叶子节点与每个文件块形成一一对应的关系,即一个叶子节点代表一个文件块;S62、利用文件块的索引j和文件块的位置信息path构成虚拟映射表,当数据块发生动态更新时,对虚拟映射表进行更新。进一步地,数据更新具有包括修改、插入和删除。与现有技术相比,本专利技术可以获得包括以下技术效果:本专利技术基于身份和环签名的数据完整性校验方法,在传统数据完整性验证方案的基础上引入了环签名,在数据共享的前提下,通过引入环签名的方式,在更安全的前提条件下实现数据信息的共享;同时,通过引入用户身份信息的公私密钥,增强了安全性。为了更好支持数据的动态更新,本专利技术采用默克尔哈希树作为认证结构以及将文件以块的方式保存在树的叶节点处,有效的缩短了动态更新所花费的系统开销,也减少了验证或者更新时重复计算中间节点所带来的问题,使动态更新更加高效。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是本专利技术基于身份和环签名的数据完整性校验方法的流程图;图2是本专利技术实施例1默克尔哈希树认证树的结构图。具体实施方式以下将配合实施例来详细说明本专利技术的实施方式,藉此对本专利技术如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。本专利技术在传统的算法流程上进行了改进,在原有PDP协议模型的基础上,引进了密钥生成中心作为密钥生成的参与者,利用环签名生成数据块标签,达到在进行数据共享的基础上保证数据的完整性以及提高安全性。本专利技术中将KeyGen算法委托给密钥生成中心,降低数据拥有者的计算压力和存储开销,同时将Challenge和Verify算法委托给第三方验证者,再次降低了数据拥有者的计算压力。本专利技术公开了一种基于身份和环签名的数据完整性校验方法,如图1所示,包括以下步骤本文档来自技高网...

【技术保护点】
1.一种基于身份和环签名的数据完整性校验方法,其特征在于,包括以下步骤:/nS1、密钥生成阶段:密钥生成中心根据数据拥有者发送的身份信息生成相应的公钥和私钥并返回给数据拥有者,数据拥有者将公钥发送给云服务器;/nS2、标签生成阶段:数据拥有者对需要上传的文件进行分块处理,将文件分为若干个文件块,计算出每个文件块的标签值,将其发送到云服务器端;/nS3、挑战生成阶段:第三方验证者向云服务器发起挑战请求;/nS4、证据生成阶段:云服务器接收来自第三方验证者的挑战请求,计算相应的证据,并将其发送给第三方验证者;/nS5、验证阶段:第三方验证者根据云服务器返回的证据,与公钥和对应的标签进行碰撞,判断待验证的数据是否完整。/n

【技术特征摘要】
1.一种基于身份和环签名的数据完整性校验方法,其特征在于,包括以下步骤:
S1、密钥生成阶段:密钥生成中心根据数据拥有者发送的身份信息生成相应的公钥和私钥并返回给数据拥有者,数据拥有者将公钥发送给云服务器;
S2、标签生成阶段:数据拥有者对需要上传的文件进行分块处理,将文件分为若干个文件块,计算出每个文件块的标签值,将其发送到云服务器端;
S3、挑战生成阶段:第三方验证者向云服务器发起挑战请求;
S4、证据生成阶段:云服务器接收来自第三方验证者的挑战请求,计算相应的证据,并将其发送给第三方验证者;
S5、验证阶段:第三方验证者根据云服务器返回的证据,与公钥和对应的标签进行碰撞,判断待验证的数据是否完整。


2.根据权利要求1所述的基于身份和环签名的数据完整性校验方法,其特征在于,所述S1密钥生成阶段具体为:密钥生成中心保存数据拥有者所在环中的所有成员的身份ID信息,针对数据拥有者发送的个人身份信息,生成相应的公钥和私钥,并把公钥和私钥同时返回给数据拥有者,数据拥有者将公钥发送给云服务器。


3.根据权利要求2所述的基于身份和环签名的数据完整性校验方法,其特征在于,所述S2标签生成阶段具体包括以下步骤:
S21、数据拥有者在密钥生成中心中选择任意个成员作为当前环成员;针对所选取的每一个环成员,生成对应的身份信息Ri,而成员身份ai取决于初始化素数阶的整数群Zq、阶数P取决于初始化素数阶的整数群G,生成相应的成员身份Ri=aiP;
针对每一个文件M分成任意多个文件块M={m1、m2、...、mn},1≤j≤n,对每一个文件块生成相应的随机数bj,bj取决于初始化素数阶的整数群Zq中;把每个随机数以及对应的文件块进行聚合bj·mj,构成每个文件块的标签值;然后再把每个聚合后的值相加∑bj·mj,得到整个文件的标签值c,同时生成Ri`=aiPpub,其中Ppub=xP,x为主私钥;
S22、针对数据拥有者生成相应的身份信息Rk,而身份ak取决于初始化素数阶的整数群Zq、阶数P取决于初始化素数阶的整数群G,生成相应的身份信息Rk=akP;
针对每一个文件M分成任意多个文件块M={m1、m2、...、mn},1≤j≤n,生成相应的随机数bj,而bj取决于初始化素数阶的整数群Zq中;把每个随机数以及对应的文件块进行聚合bj·mj,构成每个文件块的标签值;然后再把每个聚合后的值相加∑bj·mj,最后和数据拥有者所选环中成员的数量L、文件名fname以及成员身份Rk进行哈希H2(L||fname||Rk)相加∑bj·mj+H2(L||fname||Rk),得到...

【专利技术属性】
技术研发人员:李蜀瑜范力搏
申请(专利权)人:陕西师范大学
类型:发明
国别省市:陕西;61

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

1