[发明专利]强抗密钥暴露的在线/离线外包数据完整性审计方法有效
申请号: | 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,表示签名是有效的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110690869.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:卡簧自动组装机
- 下一篇:一种网络攻击预测模型调整方法及设备