[发明专利]强抗密钥暴露的在线/离线外包数据完整性审计方法有效

专利信息
申请号: 202110690869.3 申请日: 2021-06-22
公开(公告)号: CN113489690B 公开(公告)日: 2023-04-07
发明(设计)人: 王晓明;甘庆晴;黄大欣;李剑维;姚梦婷 申请(专利权)人: 暨南大学
主分类号: H04L9/40 分类号: H04L9/40;H04L9/30;H04L9/32;H04L9/06;H04L9/08
代理公司: 广州市华学知识产权代理有限公司 44245 代理人: 詹丽红
地址: 510632 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 密钥 暴露 在线 离线 外包 数据 完整性 审计 方法
【权利要求书】:

1.一种强抗密钥暴露的在线/离线外包数据完整性审计方法,其特征在于,所述审计方法包括以下步骤:

S1、数据拥有者DO首先运行系统建立算法Setup(1λ),其中λ为安全参数,得到公共参数params和私钥sk,私钥sk由数据拥有者DO私密保存;

S2、数据拥有者DO使用公共参数params、私钥sk和当前时间片段t,与第三方审计者TPA交互运行密钥更新算法KeyUpdate(params,sk,t)对审计私钥进行更新操作,得到当前审计私钥askt

S3、数据拥有者DO使用公共参数params、审计私钥askt和当前时间片段t,通过运行离线认证标签生成算法AuthGenoff(params,askt,t),得到n个离线认证标签{θi,t}1≤i≤n和授权私钥skdel,其中,n取值等于文件M包含的数据块的数目,i表示数据块的索引且1≤i≤n;

S4、数据拥有者DO输入公共参数params、私钥sk和文件M∈{0,1}*,运行在线认证标签生成算法AuthGenon(params,sk,M),得到n个数据块和文件认证标签T,其中,{0,1}*表示任意长度的二进制字符串;

S5、数据拥有者DO和云服务器CS交互运行认证标签更新算法AuthUpdate(params,θi,t-1,t),对认证标签执行远程更新操作,得到更新的离线认证标签θi,t,其中,θi,t-1表示上一个时间片段t-1的离线认证标签;

S6、当数据拥有者DO需要检查文件是否完整保存在云服务器CS时,数据拥有者DO将授权私钥skdel通过安全通道传送给第三方审计者TPA,第三方审计者TPA使用公共参数params,通过调用挑战算法Challenge(params),得到挑战信息chal,并将挑战信息chal传给云服务器CS;

S7、云服务器CS使用公共参数params、文件M和对应于挑战信息chal的文件认证标签T,通过运行证明算法Proof(params,M,T,chal)得到证明信息prf,并将证明信息prf返回给第三方审计者TPA;

S8、第三方审计者TPA在收到审计任务之前,先使用公共参数params,调用离线验证算法Verifyoff(params)得到离线审计令牌tok;

S9、当收到证明信息prf时,第三方审计者TPA使用公共参数params、授权私钥skdel、离线审计令牌tok和挑战信息chal,运行在线验证算法Verifyon(params,skdel,tok,chal,prf)验证数据完整性,如果在线验证算法输出为1,则说明证明信息prf是有效的并且文件完整地存储在云服务器;如果在线验证算法输出为0,则说明文件被损坏;

其中,所述系统建立算法Setup(1λ)过程如下:

P1、输入安全参数λ,数据拥有者DO首先选取一个阶数为p、生成元为g的双线性群G,并且p为λ位大素数,选取群元素u∈G,群GT和双线性映射e:G×G→GT,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;然后数据拥有者DO调用BLS.KeyGen算法生成一个签名密钥对{spk,ssk},数据拥有者DO选取三个抗碰撞哈希函数h:{0,1}*→{0,1}*,H1:{0,1}*→G,H2:{0,1}*→{0,1}*;

P2、数据拥有者DO随机选取设置第三方审计者TPA的公私密钥对为{pkTPA=gγ,skTPA=γ},表示模p的既约剩余系;

P3、数据拥有者DO随机选取则数据拥有者DO的公私密钥对为pkDO表示数据拥有者DO的公钥,skDO表示数据拥有者DO的私钥,数据拥有者DO随机选取作为口令,计算口令的哈希值h(pw);假设初始时间片段为0,数据拥有者DO计算初始审计私钥其中符号“·”表示乘法运算,H1(0)表示将时间片段0通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素;

P4、数据拥有者DO将第三方审计者TPA的私钥skTPA和口令的哈希值h(pw)发送给第三方审计者TPA,并在本地删除;第三方审计者TPA保存私钥skTPA和条目(pkDO,h(pw));最后,数据拥有者DO公开如下公共参数:

params={G,p,g,u,GT,spk,h,H1,H2,pkTPA,pkDO};

其中,所述密钥更新算法KeyUpdate(params,sk,t)过程如下:

E1、对于时间片段t,数据拥有者DO选取一个随机值计算密钥更新请求(Rt,Ψ)如下:

其中,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数,符号表示字符串异或操作,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段t-1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,表示将通过抗碰撞哈希函数h映射到一个哈希值;

E2、收到密钥更新请求(Rt,Ψ)之后,第三方审计者TPA先验证

其中,符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果验证通过,计算更新密钥并将更新密钥ukTPA,t发送给数据拥有者DO;

E3、数据拥有者DO计算密钥更新参数验证

其中,e(ukt,g)表示将来自双线性群G的群元素ukt和群生成元g,通过双线性对配对运算,映射到一个来自群GT的群元素;e(H1(t)·H1(t-1)-1,pkTPA)表示将两个来自双线性群G的群元素{H1(t)·H1(t-1)-1,pkTPA},通过双线性对配对运算,映射到一个来自群GT的群元素;pkTPA∈G;如果验证通过,数据拥有者DO计算时间片段t的审计私钥askt=askt-1·ukt;如果验证不通过,说明收到的更新密钥ukTPA,t有误,算法终止,数据拥有者DO重新执行密钥更新操作;最后,数据拥有者DO丢弃时间片段t-1的审计私钥askt-1和更新密钥ukTPA,t;其中,所述离线认证标签生成算法AuthGenoff(params,askt,t)过程如下:

N1、数据拥有者DO选取三个随机值计算δ=gα,x=x1·x2,其中,设置参数δ公开;

N2、数据拥有者DO计算授权私钥并将授权私钥skdel安全地传送给第三方审计者TPA,然后数据拥有者DO本地删除授权私钥skdel

N3、对于1≤i≤n,数据拥有者DO选取两个随机值计算离线认证参数

N4、对于时间片段t,数据拥有者DO选取一个随机值对每个数据块计算离线认证标签最后数据拥有者DO设置参数公开,其中,{Ut,Vt}是计算离线审计令牌的参数;

其中,所述在线认证标签生成算法AuthGenon(params,sk,M)过程如下:

G1、数据拥有者DO将文件M∈{0,1}*分为n块;

G2、数据拥有者DO随机选取作为文件名,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中,符号“||”表示字符串连接符;

G3、数据拥有者DO随机选取计算在线认证参数

ri=xmi'+ri'-xmi-β·H2(name||i)

其中,第i个数据块表示为mi,H2(name||i)表示将name||i通过抗碰撞哈希函数H2映射到一个哈希值,数据拥有者DO将{mi}1≤i≤n和文件认证标签发送给云服务器CS,其中认证标签T包含五个参数,分别是随机数签名验证信息时间片段t、在线认证参数ri以及时间片段t的所有数据块离线认证标签{θi,t}1≤i≤n,最后,数据拥有者DO删除本地文件M,并设置参数公开,是计算离线审计令牌的参数;

其中,所述认证标签更新算法AuthUpdate(params,θi,t-1,t)过程如下:数据拥有者DO计算认证标签更新请求并将updt发送给云服务器CS,云服务器CS将所有数据块{mi}1≤i≤n的认证标签更新为θi,t=θi,t-1·updt

其中,所述挑战算法Challenge(params)过程如下:

L1、第三方审计者TPA从云服务器中获取签名验证信息调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n);如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n;

L2、第三方审计者TPA随机选取一个挑战集合为每个j∈I选取随机值其中j表示挑战的数据块索引并且满足1≤j≤n,第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器CS;

其中,所述证明算法Proof(params,M,T,chal)中,收到挑战信息chal后,云服务器CS选取一个随机值并计算

η=gs,

其中,μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,mj表示第j个挑战数据块,rj表示第j个数据块的在线认证参数,θj,t表示t时间片段的第j个数据块离线认证标签,云服务器将证明信息prf={μ,η,r,θ}发送给第三方审计者TPA;

其中,所述离线验证算法Verifyoff(params)中,在离线阶段,第三方审计者TPA提前计算离线审计令牌tok=(Λ,Γ)如下:

Γ=e(Ut,pkDO)·e(Vt,pkTPA)

其中,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,pkDO∈G,e(Ut,pkDO)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;e(Vt,pkTPA)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;

其中,所述在线验证算法Verifyon(params,skdel,tok,chal,prf)过程如下:

F1、收到证明信息prf后,第三方审计者TPA计算验证参数其中,H2(name||j)表示将name||j通过抗碰撞哈希函数H2映射到一个哈希值;

F2、第三方审计者TPA使用授权私钥和离线审计令牌tok,对文件M执行在线完整性审计,验证式如下:

其中,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;如果上述验证式成立,则输出1,表明文件完整地存储在云服务器,否则,输出0,表明文件被损坏。

2.根据权利要求1所述的强抗密钥暴露的在线/离线外包数据完整性审计方法,其特征在于,令BLS签名方案由(BLS.KeyGen,BLS.Sign,BLS.Verification)表示,其中BLS.KeyGen算法输入安全参数λ,输出签名公私密钥对{spk,ssk};BLS.Sign算法输入签名私钥ssk和消息m,输出签名,记为σ=Signssk(m);BLS.Verification算法输入签名公钥spk和签名σ,如果BLS.Verification算法输出0,表示签名无效,否则输出1,表示签名是有效的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110690869.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top