CN113489690B - 强抗密钥暴露的在线/离线外包数据完整性审计方法 - Google Patents
强抗密钥暴露的在线/离线外包数据完整性审计方法 Download PDFInfo
- Publication number
- CN113489690B CN113489690B CN202110690869.3A CN202110690869A CN113489690B CN 113489690 B CN113489690 B CN 113489690B CN 202110690869 A CN202110690869 A CN 202110690869A CN 113489690 B CN113489690 B CN 113489690B
- Authority
- CN
- China
- Prior art keywords
- data owner
- tpa
- group
- key
- params
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012946 outsourcing Methods 0.000 title claims abstract description 9
- 238000012550 audit Methods 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims description 63
- 238000013507 mapping Methods 0.000 claims description 42
- 230000002776 aggregation Effects 0.000 claims description 15
- 238000004220 aggregation Methods 0.000 claims description 15
- 238000013475 authorization Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000013496 data integrity verification Methods 0.000 abstract description 6
- 238000005242 forging Methods 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241001235128 Doto Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920000098 polyolefin Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种强抗密钥暴露的在线/离线外包数据完整性审计方法,命名为S‑OORDA方法。本发明支持数据拥有者在不需要安全信道的情况下完成密钥更新操作,从而实现强抗密钥暴露的云数据完整性验证功能。本发明允许在每个时间片段远程更新认证标签,阻止攻击者利用暴露的审计密钥伪造认证标签。与此同时,本发明通过采用在线/离线的方式,将数据完整性审计过程划分为在线和离线两个阶段,有效地减少数据拥有者和第三方审计者的在线计算开销,解决数据拥有者使用资源受限设备的问题。基于CDH困难问题和DL困难问题,本发明在随机预言机模型下被证明具备强抗密钥暴露安全,并且满足隐私保护、更新密钥可验证和可检测特性。
Description
技术领域
本发明涉及外包数据完整性审计相关技术领域,具体涉及一种强抗密钥暴露的在线/离线外包数据完整性审计方法。
背景技术
2015年,Yu等人在文献《Enabling Cloud Storage Auditing with Key-exposureResistance》中首次考虑到远程数据安全审计框架下的密钥暴露问题。在该方案中,数据的生命周期被划分为多个时间片段,每个时间片段通过一个密钥更新方法来更新审计私钥。然而,该方案仅支持前向安全,意味着仅保证密钥暴露之前的时间片段的安全。攻击者仍然可以利用暴露的审计私钥,来生成密钥暴露时间片段之后的密钥,从而伪造密钥暴露时间片段之后的认证标签。为了克服这个问题,文献《Strong Key-exposure ResilientAuditing for Secure Cloud Storage》和文献《Identity-Based Public AuditingScheme for Cloud Storage with Strong Key-Exposure Resilience》被提出,使得审计私钥仅可以在指定的时间片段使用,而不能推导出之前和之后的私钥。也就是说,这些方案可以同时确保前向和后向安全,保护在密钥暴露时间片段之前和之后的认证标签安全,但是这两个方案需要通过安全通道实现密钥更新。随后,很多抗密钥暴露的远程数据安全审计方案被提出。
然而,上述方案并没有完全解决密钥暴露问题,因为云服务器仍然可以使用暴露的审计私钥伪造认证标签并通过完整性验证。为了抵抗在密钥暴露阶段的攻击,并提升效率,一些支持认证标签更新的远程数据安全审计方案被提出。最近,Xu等人在文献《Intrusion-resilient Public Cloud Auditing Scheme with Authenticator Update》提出一种安全有效的抗密钥暴露的远程数据安全审计方案,每个时间片段由云服务器更新认证标签。然而,该方案在每个时间片段都需要一个安全通道来生成安全的审计私钥。事实上,在存在密钥暴露风险的环境下,建立一个安全通道是很难实现的,因为双方通信的共享安全密钥可能被敌手窃取。因此,如何构建一种在密钥暴露场景中无须安全通道的审计方案是一个具有挑战的问题。
另一方面,由于数据拥有者可能会使用计算能力有限的移动设备上传数据,减少数据拥有者端的计算开销很有必要。基于这个需求,在线/离线技术被引入到远程数据安全审计框架中,比如文献《Privacy-preserving Public Auditing Protocol for Low-performance End Devices in Cloud》和文献《Online/Offline Provable DataPossession》。通过将数据处理过程分为在线和离线两个阶段,数据拥有者的在线计算开销可以有效地降低。那么,如何构建一个审计方案,使得数据拥有者和第三方审计者的计算量都尽可能低,已成为另一个有待解决的问题。
因此,为了对已有的远程数据安全审计方案增强安全和提升效率,我们引入强抗密钥暴露的在线/离线远程数据安全审计(S-OORDA)的概念和框架,并给出具体的S-OORDA构造,实现安全高效的数据完整性验证,并支持无安全信道的密钥更新以及云服务器端的认证标签更新操作。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种强抗密钥暴露的在线/离线外包数据完整性审计方法。
本发明的目的可以通过采取如下技术方案达到:
一种强抗密钥暴露的在线/离线外包数据完整性审计方法,所述审计方法包括以下步骤:
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}*表示任意长度的二进制字符串,mi表示第i个数据块;
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,则说明文件被损坏。
进一步地,令BLS签名方案由(BLS.KeyGen,BLS.Sign,BLS.Verification)表示,其中BLS.KeyGen算法输入安全参数λ,输出签名公私密钥对{spk,ssk};BLS.Sign算法输入签名私钥ssk和消息m,输出签名,记为σ=Signssk(m);BLS.Verification算法输入签名公钥spk和签名σ,如果BLS.Verification算法输出0,表示签名无效,否则输出1,表示签名是有效的;
所述系统建立算法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}*;
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)过程如下:
其中,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数,符号“·”表示乘法运算,符号表示字符串异或操作,pkDO表示数据拥有者DO的公钥,作为口令,h(pw)表示口令的哈希值,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段t-1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,表示将通过抗碰撞哈希函数h映射到一个哈希值,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
E2、收到密钥更新请求(Rt,Ψ)之后,第三方审计者TPA先验证
其中,密钥更新请求(Rt,Ψ)由两部分组成,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数;符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果验证通过,计算更新密钥skTPA表示第三方审计者TPA的私钥,并将更新密钥ukTPA,t发送给数据拥有者DO;
其中,更新密钥skTPA表示第三方审计者TPA的私钥;e(ukt,g)表示将来自双线性群G的群元素ukt和群生成元g,通过双线性对配对运算,映射到一个来自群GT的群元素;e(H1(t)·H1(t-1)-1,pkTPA)表示将两个来自双线性群G的群元素{H1(t)·H1(t-1)-1,pkTPA},通过双线性对配对运算,映射到一个来自群GT的群元素;H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段t-1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素;pkTPA=gγ表示第三方审计者TPA的公钥且pkTPA∈G,随机值 表示模p的既约剩余系,p为λ位大素数,λ为安全参数;如果验证通过,数据拥有者DO计算时间片段t的审计私钥askt=askt-1·ukt;如果验证不通过,说明收到的更新密钥ukTPA,t有误,算法终止,数据拥有者DO重新执行密钥更新操作;最后,数据拥有者DO丢弃时间片段t-1的审计私钥askt-1和更新密钥ukTPA,t。
进一步地,所述离线认证标签生成算法AuthGenoff(params,askt,t)过程如下:
N4、对于时间片段t,数据拥有者DO选取一个随机值对每个数据块计算离线认证标签最后数据拥有者DO设置参数公开,其中,{Ut,Vt}是计算离线审计令牌的参数,askt表示t时间片段的审计私钥,群元素u∈G,G表示一个双线性群,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素。
进一步地,所述在线认证标签生成算法AuthGenon(params,sk,M)过程如下:
G1、数据拥有者DO将文件M∈{0,1}*分为n块;
G2、数据拥有者DO随机选取作为文件名,n为数据块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中,ssk表示签名私钥,符号“||”表示字符串连接符,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
ri=xmi'+ri'-xmi-β·H2(name||i)
其中,随机值x=x1·x2,随机值第i个数据块表示为mi,i表示数据块的索引并且满足1≤i≤n,n为数据块数目,H2(name||i)表示将name||i通过抗碰撞哈希函数H2映射到一个哈希值,符号“·”表示乘法运算,数据拥有者DO将{mi}1≤i≤n和文件认证标签发送给云服务器CS,其中θi,t表示t时间片段的第i个数据块离线认证标签,认证标签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,其中,askt表示t时间片段的审计私钥,askt-1分别表示时间片段t-1的审计私钥,时间片段t的随机值时间片段t-1的随机值θi,t表示t时间片段的第i个数据块离线认证标签,θi,t-1表示时间片段t-1的第i个数据块离线认证标签,符号“·”表示乘法运算。
进一步地,所述挑战算法Challenge(params)过程如下:
L1、第三方审计者TPA从云服务器中获取签名验证信息调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中为文件名,n为数据块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n,其中,符号“||”表示字符串连接符,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
其中,μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,j表示挑战的数据块索引并且满足1≤j≤n,挑战集合随机数随机值mj表示第j个挑战数据块,rj表示第j个数据块的在线认证参数,θj,t表示t时间片段的第j个数据块离线认证标签,g为双线性群G的生成元,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,云服务器将证明信息prf={μ,η,r,θ}发送给第三方审计者TPA。
进一步地,所述离线验证算法Verifyoff(params)中,在离线阶段,第三方审计者TPA提前计算离线审计令牌tok=(Λ,Γ)如下:
其中,g为双线性群G的生成元,参数δ=gα, 表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT,表示数据拥有者DO的公钥且pkDO∈G,随机值pkTPA=gγ表示第三方审计者TPA的公钥且pkTPA∈G,随机值 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,参数群元素u∈G,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,t时间片段的随机值e(Ut,pkDO)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;e(Vt,pkTPA)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;符号“·”表示乘法运算。
进一步地,所述在线验证算法Verifyon(params,skdel,tok,chal,prf)过程如下:
F1、收到证明信息prf后,第三方审计者TPA计算验证参数其中,j表示挑战的数据块索引并且满足1≤j≤n,挑战集合随机值为文件名,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H2(name||j)表示将name||j通过抗碰撞哈希函数H2映射到一个哈希值,符号“||”表示字符串连接符;
其中,(Λ,Γ)表示离线审计令牌,授权私钥随机值g为双线性群G的生成元,验证参数证明信息prf={μ,η,r,θ},μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;符号“·”表示乘法运算,符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,则输出1,表明文件完整地存储在云服务器,否则,输出0,表明文件被损坏。
本发明相对于现有技术具有如下的优点及效果:
1)本发明公开了一种强抗密钥暴露的在线/离线外包数据完整性审计方法,命名为S-OORDA方案,能够抵抗审计密钥暴露攻击。
2)本发明支持数据拥有者在不需要安全信道的情况下完成密钥更新操作,从而实现了强抗密钥暴露的云数据完整性验证功能。本发明允许在每个时间片段远程更新认证标签,阻止了攻击者利用暴露的审计密钥伪造认证标签。
3)本发明通过采用在线/离线的方式,将数据完整性审计过程划分为在线和离线两个阶段,有效地减少了数据拥有者和第三方审计者的在线计算开销,解决了数据拥有者使用资源受限设备的问题。
4)基于CDH困难问题和DL困难问题,本发明在随机预言机模型下被证明具备强抗密钥暴露安全,并且满足隐私保护、更新密钥可验证和可检测特性。效率分析表明本发明与已有文献相比更为高效。
附图说明
图1是本发明实施例公开的一种强抗密钥暴露的在线/离线外包数据完整性审计方法的应用系统设计图;
图2是本发明实施例公开的一种强抗密钥暴露的在线/离线外包数据完整性审计方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
随着云计算的不断发展,越来越多的企业或个人选择将数据外包存储到云服务器。这种远程存储方式可以有效节省本地开销,但也将带来了数据完整性问题。为了保证数据安全完整地存储在云服务器,远程数据安全审计方法被提出并应用于云存储环境。然而,在现实生活中,由于一些不可控的因素比如弱安全设备或低安全意识,数据拥有者的审计私钥可能被暴露,使得已有的方案不再满足安全需求。为了解决这个问题,抗密钥暴露的远程数据安全审计方法被提出。然而,现有的大多数方法存在安全攻击,比如云服务器仍然可以在密钥暴露的时间段丢弃或篡改数据拥有者的文件;或者需要通过安全通信实现密钥更新,这在密钥暴露的情境下是不现实且昂贵的。因此,如何构造出抗密钥暴露攻击且高效的远程数据安全审计方法,已成为研究热点问题。
本实施例针对以上问题,主要研究了抗密钥暴露攻击的在线/离线远程数据安全审计机制,提出了一种强抗密钥暴露的在线/离线外包数据完整性审计方法,命名为S-OORDA方法,实现了高效的数据完整性验证并且能够抵抗密钥暴露攻击。在每个时间片段开始的时候由第三方审计者协助数据拥有者更新密钥,并且在密钥更新过程中去除了安全通道。本发明通过数据拥有者和云服务器交互实现了认证标签的更新,从而不需要下载所有数据在本地更新。同时,本发明基于在线/离线的思想解决了数据拥有者使用资源受限设备的问题和第三方审计者审计效率瓶颈的问题,从而提升了整个方案的审计效率。安全证明和性能分析表明了本发明满足所需的安全和优化的效率。
下面结合图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,表示签名是有效的。
一种强抗密钥暴露的在线/离线外包数据完整性审计方法包括如下步骤:
S1、数据拥有者DO首先运行系统建立算法Setup(1λ),其中λ为安全参数,得到公共参数params和私钥sk,私钥sk由数据拥有者DO私密保存;
其中,系统建立算法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}*;
P3、数据拥有者DO随机选取则数据拥有者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}。
S2、数据拥有者DO使用公共参数params、私钥sk和当前时间片段t,与第三方审计者TPA交互运行密钥更新算法KeyUpdate(params,sk,t)对审计私钥进行更新操作,得到当前审计私钥askt;
其中,密钥更新算法KeyUpdate(params,sk,t)过程如下:
其中,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数;符号“·”表示乘法运算,符号表示字符串异或操作,pkDO表示数据拥有者DO的公钥,作为口令,h(pw)表示口令的哈希值,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段(t-1)通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,表示将通过抗碰撞哈希函数h映射到一个哈希值,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
E2、收到密钥更新请求(Rt,Ψ)之后,第三方审计者TPA先验证
其中,密钥更新请求(Rt,Ψ)由两部分组成,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数;符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果验证通过,计算更新密钥其中skTPA表示第三方审计者TPA的私钥,并将更新密钥ukTPA,t发送给数据拥有者DO;
其中,更新密钥Rt表示请求密钥更新的相关参数,skTPA表示第三方审计者TPA的私钥;e(ukt,g)表示将来自双线性群G的群元素ukt和群生成元g,通过双线性对配对运算,映射到一个来自群GT的群元素;e(H1(t)·H1(t-1)-1,pkTPA)表示将两个来自双线性群G的群元素{H1(t)·H1(t-1)-1,pkTPA},通过双线性对配对运算,映射到一个来自群GT的群元素;H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段t-1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素;pkTPA=gγ表示第三方审计者TPA的公钥且pkTPA∈G,随机值 表示模p的既约剩余系,p为λ位大素数,λ为安全参数;如果验证通过,数据拥有者DO计算时间片段t的审计私钥askt=askt-1·ukt;如果验证不通过,说明收到的更新密钥ukTPA,t有误,算法将终止,数据拥有者DO重新执行密钥更新操作;最后,数据拥有者DO丢弃(t-1)时间片段的审计私钥askt-1和更新密钥ukTPA,t。
S3、数据拥有者DO使用公共参数params、审计私钥askt和当前时间片段t,通过运行离线认证标签生成算法AuthGenoff(params,askt,t),得到n个离线认证标签{θi,t}1≤i≤n和授权私钥skdel,其中,n取值等于文件M包含的数据块的数目,i表示数据块的索引且1≤i≤n;
其中,离线认证标签生成算法AuthGenoff(params,askt,t)过程如下:
N4、对于时间片段t,数据拥有者DO选取一个随机值对每个数据块计算离线认证标签最后数据拥有者DO设置参数公开。其中,askt表示t时间片段的审计私钥,群元素u∈G,G表示一个双线性群,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素。
S4、数据拥有者DO输入公共参数params、私钥sk和文件M∈{0,1}*,运行在线认证标签生成算法AuthGenon(params,sk,M),得到n个数据块和文件认证标签T,其中,{0,1}*表示任意长度的二进制字符串,mi表示第i个数据块;
其中,在线认证标签生成算法AuthGenon(params,sk,M)过程如下:
G1、数据拥有者DO将文件M∈{0,1}*分为n块,设mi(1≤i≤n)表示每个数据块,其中i表示数据块的索引,n表示文件M包含的数据块的数目;
G2、数据拥有者DO随机选取作为文件名,n为数据块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中ssk表示签名私钥,符号“||”表示字符串连接符,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
ri=xmi'+ri'-xmi-β·H2(name||i)
其中,随机值x=x1·x2,随机值第i个数据块表示为mi,i表示数据块的索引并且满足1≤i≤n,n为数据块数目,H2(name||i)表示将name||i通过抗碰撞哈希函数H2映射到一个哈希值,符号“·”表示乘法运算;数据拥有者DO将{mi}1≤i≤n和文件认证标签发送给云服务器CS,其中θi,t表示t时间片段的第i个数据块离线认证标签。因此,认证标签T包含五个参数,分别是随机数签名验证信息时间片段t,在线认证参数ri以及t时间片段的所有数据块离线认证标签{θi,t}1≤i≤n;最后,数据拥有者DO删除本地文件M,并设置参数公开。
S5、数据拥有者DO和云服务器CS交互运行认证标签更新算法AuthUpdate(params,θi,t-1,t),对认证标签执行远程更新操作,得到更新的离线认证标签θi,t,其中,θi,t-1表示上一个时间片段t-1的离线认证标签。
认证标签更新算法AuthUpdate(params,θi,t-1,t)过程如下:数据拥有者DO计算认证标签更新请求并将updt发送给云服务器CS。云服务器CS将所有数据块{mi}1≤i≤n的认证标签更新为θi,t=θi,t-1·updt。其中,askt表示t时间片段的审计私钥,askt-1分别表示(t-1)时间片段的审计私钥,t时间片段的随机值(t-1)时间片段的随机值θi,t表示t时间片段的第i个数据块离线认证标签,θi,t-1表示(t-1)时间片段的第i个数据块离线认证标签,符号“·”表示乘法运算。
S6、当数据拥有者DO需要检查文件是否完整保存在云服务器CS时,数据拥有者DO将授权私钥skdel通过安全通道传送给第三方审计者TPA,第三方审计者TPA使用公共参数params,通过调用挑战算法Challenge(params),得到挑战信息chal,并将挑战信息chal传给云服务器CS;其中,挑战算法Challenge(params)过程如下:
L1、第三方审计者TPA从云服务器中获取签名验证信息调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中为文件名,n为数据块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。其中,符号“||”表示字符串连接符,表示模p的既约剩余系,p为λ位大素数,λ为安全参数;
S7、云服务器CS使用公共参数params、文件M和对应于挑战信息chal的文件认证标签T,通过运行证明算法Proof(params,M,T,chal)得到证明信息prf,并将证明信息prf返回给第三方审计者TPA;
其中,μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,j表示挑战的数据块索引并且满足1≤j≤n,挑战集合随机数随机值mj表示第j个挑战数据块,rj表示第j个数据块的在线认证参数,θj,t表示t时间片段的第j个数据块离线认证标签,g为双线性群G的生成元,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,η,r,θ}发送给第三方审计者TPA。
S8、第三方审计者TPA在收到审计任务之前,先使用公共参数params,调用离线验证算法Verifyoff(params)得到离线审计令牌tok;
其中,离线验证算法Verifyoff(params)过程如下:在离线阶段,第三方审计者TPA提前计算离线审计令牌tok=(Λ,Γ)如下:
其中,g为双线性群G的生成元,参数δ=gα, 表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT。表示数据拥有者DO的公钥且pkDO∈G,随机值pkTPA=gγ表示第三方审计者TPA的公钥且pkTPA∈G,随机值 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,参数群元素u∈G,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,t时间片段的随机值e(Ut,pkDO)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;e(Vt,pkTPA)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;符号“·”表示乘法运算。
S9、当收到证明信息prf时,第三方审计者TPA使用公共参数params、授权私钥skdel 、离线审计令牌tok和挑战信息chal,运行在线验证算法Verifyon(params,skdel,tok,chal,prf)验证数据完整性,如果在线验证算法输出为1,则说明证明信息prf是有效的并且文件完整地存储在云服务器;如果在线验证算法输出为0,则说明文件被损坏。
其中,在线验证算法Verifyon(params,skdel,tok,chal,prf)过程如下:
F1、收到证明信息prf后,第三方审计者TPA计算验证参数其中,j表示挑战的数据块索引并且满足1≤j≤n,挑战集合随机值为文件名,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H2(name||j)表示将name||j通过抗碰撞哈希函数H2映射到一个哈希值,符号“||”表示字符串连接符;
其中,(Λ,Γ)表示离线审计令牌,授权私钥随机值g为双线性群G的生成元,验证参数{μ,η,r,θ}为证明信息,μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;符号“·”表示乘法运算,符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,则输出1,表明文件完整地存储在云服务器。否则,算法输出0,表明文件被损坏。
假设LSH和RSH分别表示上述验证式的左边和右边,则方法的正确性分析如下:
由此可知LSH=RSH,意味着如果文件安全完整地存储在云服务器,则验证式成立。
在云环境下,实现强抗密钥暴露的在线/离线远程数据安全审计(S-OORDA)机制的具体例子如图1所示。该图包含三个实体,每个实体执行的操作如下。
(1)数据拥有者(Data Owner,DO):通常是企业或个人,为了节省本地存储开销,将数据远程存储到云服务器。在每个时间片段开始的时候,数据拥有者将与第三方审计者交互,实现审计密钥的更新。由于认证标签的生成过程分为离线和在线两个阶段,有效地降低了数据拥有者的在线计算开销。然后数据拥有者将文件和文件认证标签发送给云服务器。当需要更新时,数据拥有者将认证标签更新请求发送给云服务器。考虑到数据完整性问题,数据拥有者授权第三方审计者执行数据完整性审计。
(2)云服务器(Cloud Server,CS):具有强大的计算和存储能力。然而,云服务器是半可信的,比如,云服务商可能删除一部分较少访问的文件以节省存储开销;当发生系统故障或遭受攻击时,云服务商可能为了名声或利益而尝试隐藏数据损失的事实;或者当发生密钥暴露攻击时,云服务商使用暴露的密钥进行标签伪造,使得用户误以为数据完整存储。为了保证数据的安全存储,第三方审计者将定期进行审计挑战,云服务器要求根据挑战信息生成相应的证明信息。此外,云服务器收到数据拥有者的认证标签更新请求后,定期更新认证标签。
(3)第三方审计者(Third-party Auditor,TPA):首先协助数据拥有者更新审计私钥,实现强抗密钥暴露;其次代替数据拥有者进行数据完整性验证,节省数据拥有者的计算开销。在提出的S-OORDA方法中,审计过程分为两个阶段:离线审计和在线审计。审计过程中,第三方审计者提前执行离线审计操作,有效地减少了第三方审计者的在线计算开销。
从功能方面,本实施例进一步将提出的强抗密钥暴露的在线/离线远程数据安全审计(S-OORDA)方法与文献[1-5]进行对比,结果如表1所示。其中,Fun1表示支持不受限的时间片段;Fun2表示前向安全,即保证密钥暴露之前的时间片段的审计私钥的安全;Fun3表示后向安全,即保证发生密钥暴露的时间片段以后的审计私钥的安全;Fun4表示保证密钥暴露期间数据拥有者上传的文件安全;Fun5表示密钥更新操作无需安全通道;Fun6表示当第三方审计者审计数据拥有者文件时满足隐私保护要求;Fun7表示支持数据拥有者端的在线/离线操作;Fun8表示支持第三方审计者端的在线/离线操作。
表1.本发明与相关方案的功能对比表
方案 | Fun1 | Fun2 | Fun3 | Fun4 | Fun5 | Fun6 | Fun7 | Fun8 |
文献[1] | - | × | × | × | × | × | √ | × |
文献[2] | × | √ | × | × | √ | × | × | × |
文献[3] | √ | √ | √ | √ | × | √ | × | × |
文献[4] | √ | √ | √ | × | × | × | × | × |
文献[5] | √ | √ | √ | × | × | √ | × | × |
本发明 | √ | √ | √ | √ | √ | √ | √ | √ |
从表1可知,本文方案与文献[1]支持数据拥有者在线和离线计算,但文献[1]没有考虑密钥暴露问题。文献[2]在密钥暴露攻击下仅确保前向安全,没有引入第三方交互实现密钥更新,因此该方案无需安全通道。而文献[3-5]与本文提出的S-OORDA方法支持无限制的时间片段、前向安全和后向安全。但文献[4,5]不能保护密钥暴漏的时间片段的安全,因为这两个方案不能支持认证标签更新,而文献[3-5]需要通过安全信道实现审计私钥更新。此外,当第三方审计者审计数据拥有者的文件时,本文提出的S-OORDA方法具有隐私保护,并且支持审计过程的在线和离线过程。综上所述,与已有方案相比,提出的S-OORDA方法具备更丰富的功能和更强的安全特性。
其中,文献[1]的作者、文献名称和出处具体为Wang Y,Wu Q,Qin B,etal.Online/Offline Provable Data Possession.IEEE Transactions on InformationForensics and Security,2017,12(5):1182-1194。
文献[2]的作者、文献名称和出处具体为Yu J,Ren K,Wang C,et al.EnablingCloud Storage Auditing with Key-exposure Resistance.IEEE Transactions onInformation Forensics and Security,2015,10(6):1167-1179。
文献[3]的作者、文献名称和出处具体为Xu Y,Sun S,Cui J,et al.Intrusion-resilient Public Cloud Auditing Scheme with Authenticator Update.InformationSciences,2020,512:616-628。
文献[4]的作者、文献名称和出处具体为Yu J,Wang H.Strong Key-exposureResilient Auditing for Secure Cloud Storage.IEEE Transactions on InformationForensics and Security,2017,12(8):1931-1940。
文献[5]的作者、文献名称和出处具体为Nithya SMV,Uthariaraj V R.Identity-Based Public Auditing Scheme for Cloud Storage with Strong Key-ExposureResilience.Security and Communication Networks,2020,2020:1-13。
综上所述,本实施例为了抵抗审计密钥暴露攻击,构造了一种强抗密钥暴露的离线/在线外包数据完整性审计方法,命名为S-OORDA方案。本发明支持数据拥有者在不需要安全信道的情况下完成密钥更新操作,从而实现了强抗密钥暴露的云数据完整性验证功能。与此同时,本发明允许在每个时间片段远程更新认证标签,阻止了攻击者利用暴露的审计密钥伪造认证标签。更重要地,本发明通过采用在线/离线的方式,将数据完整性审计过程划分为在线和离线两个阶段,有效地减少了数据拥有者和第三方审计者的在线计算开销,解决了数据拥有者使用资源受限设备的问题。基于CDH困难问题和DL困难问题,本发明在随机预言机模型下被证明具备强抗密钥暴露安全,并且满足隐私保护、更新密钥可验证和可检测特性。效率分析表明本发明与已有文献相比更为高效。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (2)
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}*;
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)过程如下:
其中,Rt表示请求密钥更新的相关参数,Ψ表示身份验证的相关参数,符号表示字符串异或操作,H1(t)表示将时间片段t通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,H1(t-1)表示将时间片段t-1通过抗碰撞哈希函数H1映射到一个属于双线性群G的元素,表示将通过抗碰撞哈希函数h映射到一个哈希值;
E2、收到密钥更新请求(Rt,Ψ)之后,第三方审计者TPA先验证
其中,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)过程如下:
其中,所述在线认证标签生成算法AuthGenon(params,sk,M)过程如下:
G1、数据拥有者DO将文件M∈{0,1}*分为n块;
G2、数据拥有者DO随机选取作为文件名,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中,符号“||”表示字符串连接符;
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;
其中,μ表示数据块的聚合值,η表示证明的相关参数,r表示在线认证参数的聚合值,θ表示数据块离线认证标签的聚合值,mj表示第j个挑战数据块,rj表示第j个数据块的在线认证参数,θj,t表示t时间片段的第j个数据块离线认证标签,云服务器将证明信息prf={μ,η,r,θ}发送给第三方审计者TPA;
其中,所述离线验证算法Verifyoff(params)中,在离线阶段,第三方审计者TPA提前计算离线审计令牌tok=(Λ,Γ)如下:
其中,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,pkDO∈G,e(Ut,pkDO)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;e(Vt,pkTPA)表示将两个来自双线性群G的群元素{Ut,pkDO}通过双线性对配对运算,映射到一个来自群GT的群元素;
其中,所述在线验证算法Verifyon(params,skdel,tok,chal,prf)过程如下:
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,表示签名是有效的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690869.3A CN113489690B (zh) | 2021-06-22 | 2021-06-22 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690869.3A CN113489690B (zh) | 2021-06-22 | 2021-06-22 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489690A CN113489690A (zh) | 2021-10-08 |
CN113489690B true CN113489690B (zh) | 2023-04-07 |
Family
ID=77935737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110690869.3A Expired - Fee Related CN113489690B (zh) | 2021-06-22 | 2021-06-22 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489690B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745120B (zh) * | 2022-03-17 | 2023-08-22 | 郑州大学 | 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327250B1 (en) * | 2009-04-21 | 2012-12-04 | Network Appliance, Inc. | Data integrity and parity consistency verification |
CN107273444A (zh) * | 2017-05-26 | 2017-10-20 | 电子科技大学 | 数据外包场景下基于服务提供商信誉的查询验证方法 |
CN107359986A (zh) * | 2017-07-03 | 2017-11-17 | 暨南大学 | 可撤销用户的外包加解密cp‑abe方法 |
CN107426165A (zh) * | 2017-05-16 | 2017-12-01 | 安徽大学 | 一种支持密钥更新的双向安全云存储数据完整性检测方法 |
CN108768975A (zh) * | 2018-05-16 | 2018-11-06 | 东南大学 | 支持密钥更新和第三方隐私保护的数据完整性验证方法 |
CN109783456A (zh) * | 2019-01-17 | 2019-05-21 | 暨南大学 | 去重结构搭建方法、去重方法、文件取回方法、去重系统 |
CN112800482A (zh) * | 2021-01-14 | 2021-05-14 | 南京邮电大学 | 基于身份的在线/离线安全云存储审计方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656453B2 (en) * | 2010-11-10 | 2014-02-18 | Software Ag | Security systems and/or methods for cloud computing environments |
US9544767B2 (en) * | 2014-07-21 | 2017-01-10 | Imagination Technologies Limited | Encryption key updates in wireless communication systems |
CN109145650B (zh) * | 2018-08-07 | 2021-10-08 | 暨南大学 | 一种云环境下高效安全的外包大数据审计方法 |
CN109889494B (zh) * | 2019-01-07 | 2020-07-07 | 南京航空航天大学 | 一种可撤销的云数据安全共享方法 |
CN111611625B (zh) * | 2020-05-26 | 2023-04-07 | 牛津(海南)区块链研究院有限公司 | 云端数据完整性审计方法、装置及计算机可读存储介质 |
-
2021
- 2021-06-22 CN CN202110690869.3A patent/CN113489690B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327250B1 (en) * | 2009-04-21 | 2012-12-04 | Network Appliance, Inc. | Data integrity and parity consistency verification |
CN107426165A (zh) * | 2017-05-16 | 2017-12-01 | 安徽大学 | 一种支持密钥更新的双向安全云存储数据完整性检测方法 |
CN107273444A (zh) * | 2017-05-26 | 2017-10-20 | 电子科技大学 | 数据外包场景下基于服务提供商信誉的查询验证方法 |
CN107359986A (zh) * | 2017-07-03 | 2017-11-17 | 暨南大学 | 可撤销用户的外包加解密cp‑abe方法 |
CN108768975A (zh) * | 2018-05-16 | 2018-11-06 | 东南大学 | 支持密钥更新和第三方隐私保护的数据完整性验证方法 |
CN109783456A (zh) * | 2019-01-17 | 2019-05-21 | 暨南大学 | 去重结构搭建方法、去重方法、文件取回方法、去重系统 |
CN112800482A (zh) * | 2021-01-14 | 2021-05-14 | 南京邮电大学 | 基于身份的在线/离线安全云存储审计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113489690A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11936774B2 (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
US10944575B2 (en) | Implicitly certified digital signatures | |
CN114730420A (zh) | 用于生成签名的系统和方法 | |
US10148422B2 (en) | Implicitly certified public keys | |
CN111066285A (zh) | 基于sm2签名恢复公钥的方法 | |
CN111010265B (zh) | 基于分层密钥和bls数字签名的区块链组织密钥管理方法 | |
CN110086599B (zh) | 基于同态变色龙哈希函数的哈希计算方法及签密方法 | |
CN106487786B (zh) | 一种基于生物特征的云数据完整性验证方法及系统 | |
CN103634788A (zh) | 前向安全的无证书多代理签密方法 | |
Chen et al. | Privacy‐Preserving Data Aggregation Protocol for Fog Computing‐Assisted Vehicle‐to‐Infrastructure Scenario | |
CN118160275A (zh) | 阈值签名方案 | |
CN113489690B (zh) | 强抗密钥暴露的在线/离线外包数据完整性审计方法 | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm | |
Tian et al. | DIVRS: Data integrity verification based on ring signature in cloud storage | |
An et al. | QChain: Quantum-resistant and decentralized PKI using blockchain | |
CN110661816A (zh) | 一种基于区块链的跨域认证方法与电子设备 | |
CN113507367B (zh) | 一种云环境下外包数据的在线/离线完整性审计方法 | |
JP5227816B2 (ja) | 匿名署名生成装置、匿名署名検証装置、匿名署名追跡判定装置、追跡機能付き匿名署名システム、それらの方法及びプログラム | |
Zhang et al. | Comment on id-based remote data integrity checking with data privacy preserving | |
CN117955677A (zh) | 一种基于无证书签名的身份认证方法、装置及设备 | |
CN118133311A (zh) | 一种基于改进群签名的联邦学习隐私保护方法 | |
CN116996211A (zh) | 一种基于区块链的数据处理方法及装置 | |
CN117715033A (zh) | 车辆间异构通信数据的处理方法、装置、设备及存储介质 | |
CN114844643A (zh) | 一种基于双线性映射获取适配器签名的方法和电子设备 | |
CN114764510A (zh) | 一种抗量子计算电子合同签署系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20230407 |