当前位置: 首页 > 专利查询>暨南大学专利>正文

强抗密钥暴露的在线/离线外包数据完整性审计方法技术

技术编号:30310645 阅读:35 留言:0更新日期:2021-10-09 22:52
本发明专利技术公开了一种强抗密钥暴露的在线/离线外包数据完整性审计方法,命名为S

【技术实现步骤摘要】
强抗密钥暴露的在线/离线外包数据完整性审计方法


[0001]本专利技术涉及外包数据完整性审计相关
,具体涉及一种强抗密钥暴露的在线/离线外包数据完整性审计方法。

技术介绍

[0002]2015年,Yu等人在文献《Enabling Cloud Storage Auditing with Key

exposure Resistance》中首次考虑到远程数据安全审计框架下的密钥暴露问题。在该方案中,数据的生命周期被划分为多个时间片段,每个时间片段通过一个密钥更新方法来更新审计私钥。然而,该方案仅支持前向安全,意味着仅保证密钥暴露之前的时间片段的安全。攻击者仍然可以利用暴露的审计私钥,来生成密钥暴露时间片段之后的密钥,从而伪造密钥暴露时间片段之后的认证标签。为了克服这个问题,文献《Strong Key

exposure Resilient Auditing for Secure Cloud Storage》和文献《Identity

Based Public Auditing Scheme for Cloud Storage with Strong Key

Exposure Resilience》被提出,使得审计私钥仅可以在指定的时间片段使用,而不能推导出之前和之后的私钥。也就是说,这些方案可以同时确保前向和后向安全,保护在密钥暴露时间片段之前和之后的认证标签安全,但是这两个方案需要通过安全通道实现密钥更新。随后,很多抗密钥暴露的远程数据安全审计方案被提出。
[0003]然而,上述方案并没有完全解决密钥暴露问题,因为云服务器仍然可以使用暴露的审计私钥伪造认证标签并通过完整性验证。为了抵抗在密钥暴露阶段的攻击,并提升效率,一些支持认证标签更新的远程数据安全审计方案被提出。最近,Xu等人在文献《Intrusion

resilient Public Cloud Auditing Scheme with Authenticator Update》提出一种安全有效的抗密钥暴露的远程数据安全审计方案,每个时间片段由云服务器更新认证标签。然而,该方案在每个时间片段都需要一个安全通道来生成安全的审计私钥。事实上,在存在密钥暴露风险的环境下,建立一个安全通道是很难实现的,因为双方通信的共享安全密钥可能被敌手窃取。因此,如何构建一种在密钥暴露场景中无须安全通道的审计方案是一个具有挑战的问题。
[0004]另一方面,由于数据拥有者可能会使用计算能力有限的移动设备上传数据,减少数据拥有者端的计算开销很有必要。基于这个需求,在线/离线技术被引入到远程数据安全审计框架中,比如文献《Privacy

preserving Public Auditing Protocol for Low

performance End Devices in Cloud》和文献《Online/Offline Provable Data Possession》。通过将数据处理过程分为在线和离线两个阶段,数据拥有者的在线计算开销可以有效地降低。那么,如何构建一个审计方案,使得数据拥有者和第三方审计者的计算量都尽可能低,已成为另一个有待解决的问题。
[0005]因此,为了对已有的远程数据安全审计方案增强安全和提升效率,我们引入强抗密钥暴露的在线/离线远程数据安全审计(S

OORDA)的概念和框架,并给出具体的S

OORDA构造,实现安全高效的数据完整性验证,并支持无安全信道的密钥更新以及云服务器端的
认证标签更新操作。

技术实现思路

[0006]本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种强抗密钥暴露的在线/离线外包数据完整性审计方法。
[0007]本专利技术的目的可以通过采取如下技术方案达到:
[0008]一种强抗密钥暴露的在线/离线外包数据完整性审计方法,所述审计方法包括以下步骤:
[0009]S1、数据拥有者DO首先运行系统建立算法Setup(1
λ
),其中λ为安全参数,得到公共参数params和私钥sk,私钥sk由数据拥有者DO私密保存;
[0010]S2、数据拥有者DO使用公共参数params、私钥sk和当前时间片段t,与第三方审计者TPA交互运行密钥更新算法KeyUpdate(params,sk,t)对审计私钥进行更新操作,得到当前审计私钥ask
t

[0011]S3、数据拥有者DO使用公共参数params、审计私钥ask
t
和当前时间片段t,通过运行离线认证标签生成算法AuthGen
off
(params,ask
t
,t),得到n个离线认证标签{θ
i,t
}
1≤i≤n
和授权私钥sk
del
,其中,n取值等于文件M包含的数据块的数目,i表示数据块的索引且1≤i≤n;
[0012]S4、数据拥有者DO输入公共参数params、私钥sk和文件M∈{0,1}
*
,运行在线认证标签生成算法AuthGen
on
(params,sk,M),得到n个数据块和文件认证标签T,其中,{0,1}
*
表示任意长度的二进制字符串,m
i
表示第i个数据块;
[0013]S5、数据拥有者DO和云服务器CS交互运行认证标签更新算法AuthUpdate(params,θ
i,t
‑1,t),对认证标签执行远程更新操作,得到更新的离线认证标签θ
i,t
,其中,θ
i,t
‑1表示上一个时间片段t

1的离线认证标签;
[0014]S6、当数据拥有者DO需要检查文件是否完整保存在云服务器CS时,数据拥有者DO将授权私钥sk
del
通过安全通道传送给第三方审计者TPA,第三方审计者TPA使用公共参数params,通过调用挑战算法Challenge(params),得到挑战信息chal,并将挑战信息chal传给云服务器CS;
[0015]S7、云服务器CS使用公共参数params、文件M和对应于挑战信息chal的文件认证标签T,通过运行证明算法Proof(params,M,T,chal)得到证明信息prf,并将证明信息prf返回给第三方审计者TPA;
[0016]S8、第三方审计者TPA在收到审计任务之前,先使用公共参数params,调用离线验证算法Verify
off
(params)得到离线审计令牌tok;
[0017]S9、当收到证明信息prf时,第三方审计者TPA使用公共参数params、授权私钥sk
del
、离线审计令牌tok和挑战信息chal,运行在线验证算法Verify
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种强抗密钥暴露的在线/离线外包数据完整性审计方法,其特征在于,所述审计方法包括以下步骤:S1、数据拥有者DO首先运行系统建立算法Setup(1
λ
),其中λ为安全参数,得到公共参数params和私钥sk,私钥sk由数据拥有者DO私密保存;S2、数据拥有者DO使用公共参数params、私钥sk和当前时间片段t,与第三方审计者TPA交互运行密钥更新算法KeyUpdate(params,sk,t)对审计私钥进行更新操作,得到当前审计私钥ask
t
;S3、数据拥有者DO使用公共参数params、审计私钥ask
t
和当前时间片段t,通过运行离线认证标签生成算法AuthGen
off
(params,ask
t
,t),得到n个离线认证标签{θ
i,t
}
1≤i≤n
和授权私钥sk
del
,其中,n取值等于文件M包含的数据块的数目,i表示数据块的索引且1≤i≤n;S4、数据拥有者DO输入公共参数params、私钥sk和文件M∈{0,1}
*
,运行在线认证标签生成算法AuthGen
on
(params,sk,M),得到n个数据块和文件认证标签T,其中,{0,1}
*
表示任意长度的二进制字符串,m
i
表示第i个数据块;S5、数据拥有者DO和云服务器CS交互运行认证标签更新算法AuthUpdate(params,θ
i,t
‑1,t),对认证标签执行远程更新操作,得到更新的离线认证标签θ
i,t
,其中,θ
i,t
‑1表示上一个时间片段t

1的离线认证标签;S6、当数据拥有者DO需要检查文件是否完整保存在云服务器CS时,数据拥有者DO将授权私钥sk
del
通过安全通道传送给第三方审计者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,调用离线验证算法Verify
off
(params)得到离线审计令牌tok;S9、当收到证明信息prf时,第三方审计者TPA使用公共参数params、授权私钥sk
del
、离线审计令牌tok和挑战信息chal,运行在线验证算法Verify
on
(params,sk
del
,tok,chal,prf)验证数据完整性,如果在线验证算法输出为1,则说明证明信息prf是有效的并且文件完整地存储在云服务器;如果在线验证算法输出为0,则说明文件被损坏。2.根据权利要求1所述的强抗密钥暴露的在线/离线外包数据完整性审计方法,其特征在于,令BLS签名方案由(BLS.KeyGen,BLS.Sign,BLS.Verification)表示,其中BLS.KeyGen算法输入安全参数λ,输出签名公私密钥对{spk,ssk};BLS.Sign算法输入签名私钥ssk和消息m,输出签名,记为σ=Sign
ssk
(m);BLS.Verification算法输入签名公钥spk和签名σ,如果BLS.Verification算法输出0,表示签名无效,否则输出1,表示签名是有效的;所述系统建立算法Setup(1
λ
)过程如下:P1、输入安全参数λ,数据拥有者DO首先选取一个阶数为p、生成元为g的双线性群G,并且p为λ位大素数,选取群元素u∈G,群G
T
和双线性映射e:G
×
G

G
T
,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群G
T
的群元素;然后数据拥有者DO调用BLS.KeyGen算法生成一个签名密钥对{spk,ssk},数据拥有者DO选取三个抗碰撞哈希函
数h:{0,1}*

{0,1}*,H1:{0,1}*

G,H2:{0,1}*

{0,1}*;P2、数据拥有者DO随机选取设置第三方审计者TPA的公私密钥对为{pk
TPA
=g
γ
,sk
TPA
=γ},表示模p的既约剩余系,p为λ位大素数,λ为安全参数;P3、数据拥有者DO随机选取则数据拥有者DO的公私密钥对为pk
DO
表示数据拥有者DO的公钥,sk
DO
表示数据拥有者DO的私钥,数据拥有者DO随机选取作为口令,计算口令的哈希值h(pw);假设初始时间片段为0,数据拥有者DO计算初始审计私钥其中符号“·”表示乘法运算,H1(0)表示将时间片段0通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素;P4、数据拥有者DO将第三方审计者TPA的私钥sk
TPA
和口令的哈希值h(pw)发送给第三方审计者TPA,并在本地删除;第三方审计者TPA保存私钥sk
TPA
和条目(pk
DO
,h(pw));最后,数据拥有者DO公开如下公共参数:params={G,p,g,u,G
T
,spk,h,H1,H2,pk
TPA
,pk
DO
}。3.根据权利要求2所述的强抗密钥暴露的在线/离线外包数据完整性审计方法,其特征在于,所述密钥更新算法KeyUpdate(params,sk,t)过程如下:E1、对于时间片段t,数据拥有者DO选取一个随机值计算密钥更新请求(R
t
,Ψ)如下:其中,R
t
表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数,符号“·”表示乘法运算,符号表示字符串异或操作,pk
DO
表示数据拥有者DO的公钥,作为口令,h(pw)表示口令的哈希值,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t

1)表示将时间片段t

1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,表示将通过抗碰撞哈希函数h映射到一个哈希值,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;E2、收到密钥更新请求(R
t
,Ψ)之后,第三方审计者TPA先验证其中,密钥更新请求(R
t
,Ψ)由两部分组成,R
t
表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数;符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果验证通过,计算更新密钥sk
TPA
表示第三方审计者TPA的私钥,并将更新密钥uk
TPA,t
发送给数据拥有者DO;E3、数据拥有者DO计算密钥更新参数验证
其中,更新密钥sk
TPA
表示第三方审计者TPA的私钥;e(uk
t
,g)表示将来自双线性群G的群元素uk
t
和群生成元g,通过双线性对配对运算,映射到一个来自群G
T
的群元素;e(H1(t)
·
H1(t

1)
‑1,pk
TPA
)表示将两个来自双线性群G的群元素{H1(t)
·
H1(t

1)
‑1,pk
TPA
},通过双线性对配对运算,映射到一个来自群G
T
的群元素;H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t

1)表示将时间片段t

1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素;pk
TPA
=g
γ
表示第三方审计者TPA的公钥且pk
TPA
∈G,随机值∈G,随机值表示模p的既约剩余系,p为λ位大素数,λ为安全参数;如果验证通过,数据拥有者DO计算时间片段t的审计私钥ask
t
=ask
t
‑1·
uk
t
;如果验证不通过,说明收到的更新密钥uk
TPA,t
有误,算法终止,数据拥有者DO重新执行密钥更新操作;最后,数据拥有者DO丢弃时间片段t

【专利技术属性】
技术研发人员:王晓明甘庆晴黄大欣李剑维姚梦婷
申请(专利权)人:暨南大学
类型:发明
国别省市:

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

1