CN113507367A - 一种云环境下外包数据的在线/离线完整性审计方法 - Google Patents
一种云环境下外包数据的在线/离线完整性审计方法 Download PDFInfo
- Publication number
- CN113507367A CN113507367A CN202110562179.XA CN202110562179A CN113507367A CN 113507367 A CN113507367 A CN 113507367A CN 202110562179 A CN202110562179 A CN 202110562179A CN 113507367 A CN113507367 A CN 113507367A
- Authority
- CN
- China
- Prior art keywords
- tpa
- file
- params
- algorithm
- challenge
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000012550 audit Methods 0.000 claims abstract description 41
- 238000013475 authorization Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 9
- 238000004321 preservation Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 16
- 238000004458 analytical method Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 9
- 238000012946 outsourcing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 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
- 101710147185 Light-dependent protochlorophyllide reductase Proteins 0.000 description 1
- 101710193909 Protochlorophyllide reductase, chloroplastic Proteins 0.000 description 1
- 101710109491 Pyruvate synthase subunit PorA Proteins 0.000 description 1
- 101710109487 Pyruvate synthase subunit PorB Proteins 0.000 description 1
- 101710109489 Pyruvate synthase subunit PorC Proteins 0.000 description 1
- 101710109484 Pyruvate synthase subunit PorD Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000003643 water by type Substances 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/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/3236—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 cryptographic hash functions
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (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
本发明公开了一种云环境下外包数据的在线/离线完整性审计方法,命名为OORDA方法,支持外包数据的在线/离线完整性验证功能。通过引入第三方审计者代替数据拥有者执行审计操作,本发明有效地节省了数据拥有者的计算开销。本发明基于在线/离线的思想将数据审计分为在线和离线两个阶段,允许第三方审计者提前计算一个离线审计令牌,有效地降低了在线审计阶段的计算开销,从而解决了第三方审计者计算效率瓶颈的问题,提升了数据完整性审计的整体效率。基于CDH困难问题,本发明在随机预言机模型下可证明安全。性能分析表明,与已有方案相比,本发明具有更优的审计效率。
Description
技术领域
本发明涉及外包数据完整性审计相关技术领域,具体涉及一种云环境下外包数据的在线/离线完整性审计方法。
背景技术
为了实现云存储数据的完整性验证,很多学者对完整性审计技术进行研究。Ateniese等人于2007年在文献《Provable Data Possession at Untrusted Stores》中首次提出了可证明数据持有(Provable Data Possession,PDP)的概念,并利用同态可验证标签构造出两个数据安全审计方案,安全地应用于云环境下的数据完整性验证,成为了数据安全审计技术的开创性工作之一。同年,Juels和Kaliski在文献《PORs:Proofs ofRetrievability for Large Files》中采用纠错码和特殊“哨兵”,构造了一种名为可恢复证明(Proof of Retrievability,PoR)的数据安全审计方案。不久后,Shacham和Waters在文献《Compact Proofs of Retrievability》中提出了一种基于BLS同态消息认证技术的安全审计方案,实现了标签聚合和数据恢复。
2015年,Yuan和Yu在文献《PCPOR:Public and Constant-cost Proofs ofRetrievability in Cloud》中提出了一种外包数据审计方案,命名为PCPOR,方案的审计过程的通信开销较小并且支持批审计功能。然而,该方案不能抵抗标签伪造攻击。最近,Li等人在文献《Privacy-preserving Public Auditing Protocol for Low-performance EndDevices in Cloud》中基于在线/离线签名技术提出了两个高效的数据安全审计方案,将标签生成的过程分为在线和离线两部分,有效地节省了用户的在线计算开销。不久,Wang等人在文献《Online/Offline Provable Data Possession》中构造出一种命名为OOPDP的在线/离线安全审计方案。该方案基于AVCH函数,降低了用户在线生成标签的计算开销。然而,Li等人的文献和Wang等人的文献均考虑的是用户端的计算开销,没有降低第三方审计者的计算开销。
到目前为止,大多数的数据审计方案存在安全问题或者带来昂贵的计算代价。更重要的是,当需要执行多个审计任务时,如果审计过程消耗第三方审计者大量的计算开销,那么将会发生效率瓶颈的问题。因此,如何设计一种外包数据完整性审计方案,能抵抗安全攻击,同时有效降低第三方审计者的计算开销,已成为亟待解决的问题。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种云环境下外包数据的在线/离线完整性审计方法。
本发明的目的可以通过采取如下技术方案达到:
一种云环境下外包数据的在线/离线完整性审计方法,所述在线/离线完整性审计方法包括以下步骤:
S1、数据拥有者DO首先运行系统建立算法Setup(1λ),其中λ为安全参数,得到系统公共参数params、私钥sk和授权私钥skdel,其中私钥sk和授权私钥skdel由数据拥有者DO私密保存;
S2、数据拥有者DO使用系统公共参数params和私钥sk,通过标签生成算法TagBlock(params,sk,M)为文件M生成认证标签T,假设文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n,得到认证标签T,数据拥有者DO将文件块{mi}1≤i≤n和认证标签T上传到云服务器;
S3、当数据拥有者DO需要检查文件是否完整保存在云服务器时,数据拥有者DO将授权私钥skdel通过安全通道传送给第三方审计者TPA,第三方审计者TPA使用系统公共参数params,通过调用挑战算法Challenge(params),得到挑战信息chal,并将挑战信息chal传给云服务器;
S4、云服务器使用系统公共参数params,文件M和认证标签T,通过运行证明算法Proof(params,M,T,chal)得到关于挑战信息chal的证明信息prf,并将证明信息prf返回给第三方审计者TPA;
S5、为了减少在线审计的计算开销,第三方审计者TPA在收到审计任务之前,先使用系统公共参数params,调用离线验证算法Verifyoff(params)得到离线审计令牌Γ;
S6、当收到证明信息prf时,第三方审计者TPA使用系统公共参数params,授权私钥skdel,离线审计令牌Γ和挑战信息chal,运行在线验证算法Verifyon(params,skdel,Γ,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和签名σ,如果该算法输出0,表示签名无效,否则输出1,表示签名是有效的;第三方审计者TPA随机选取其中表示模p的既约剩余系,p为λ位大素数,λ为安全参数,则第三方审计者TPA的公私密钥对为{PKTPA=gγ,skTPA=γ},PKTPA为第三方审计者TPA的公钥,skTPA为第三方审计者TPA的私钥;
所述系统建立算法Setup(1λ)中,输入安全参数λ,数据拥有者DO首先选取一个阶数为p,生成元为g的双线性群G,选取群元素u∈G,群GT,定义双线性映射e:G×G→GT,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;然后数据拥有者DO调用BLS.KeyGen算法生成一个签名密钥对{spk,ssk},数据拥有者DO选取四个随机值计算三个参数δ=gα,y=gβ,并计算两个秘密参数s=α·β,其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
进一步地,所述标签生成算法TagBlock(params,sk,M)中,输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
其中,g为双线性群G的生成元,群元素u∈G,随机数 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||i)表示将name||i通过抗碰撞哈希函数H映射到一个哈希值。数据拥有者DO将文件块{mi}1≤i≤n和认证标签发送给云服务器,并删除本地文件M,其中认证标签T包含三个参数,分别是随机数签名验证信息以及所有文件块标签{θi}1≤i≤n。与此同时,数据拥有者DO将授权私钥skdel安全地传送给第三方审计者TPA。
进一步地,所述挑战算法Challenge(params)中,输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息 调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合为每个j∈I选取随机值其中j表示挑战的文件块索引并且满足1≤j≤n,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
进一步地,所述证明算法Proof(params,M,T,chal)中,收到挑战信息chal后,输入系统公共参数params,文件M和认证标签T,云服务器计算
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合随机数随机值mj表示第j个挑战文件块,θj表示第j个挑战文件块标签,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,θ}发送给第三方审计者TPA。
进一步地,所述离线验证算法Verifyoff(params)中,输入系统公共参数params,第三方审计者TPA计算一个离线审计令牌Γ如下:
Γ=e(u,PKTPA)
其中,群元素u∈G,G表示一个双线性群,PKTPA=gγ表示第三方审计者TPA的公钥且PKTPA∈G, 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,e(u,PKTPA)表示将两个来自双线性群G的群元素{u,PKTPA}通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT。
进一步地,所述线验证算法Verifyon(params,sk,Γ,chal,prf)中,输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合随机值为文件名,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥执行在线审计操作,从而验证文件M的完整性,如下:
其中,Γ表示离线审计令牌,秘密参数s=αβ为授权私钥skdel的一部分,随机值skTPA表示第三方审计者TPA的私钥,验证参数g为双线性群G的生成元,{μ,θ}为证明信息,参数y=gβ为系统公共参数params的一部分,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,即双线性映射e:G×G→GT;符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,输出为1,则说明证明信息prf是有效的并且文件完整保存在云服务器;如果上述验证式不成立,输出为0,则说明文件被损坏。
本发明相对于现有技术具有如下的优点及效果:
1)本发明公开的一种云环境下外包数据的在线/离线完整性审计方法,支持外包数据的在线/离线完整性验证功能。通过引入第三方审计者代替数据拥有者执行审计操作,有效地节省了数据拥有者的计算开销。
2)本发明基于在线/离线的思想将数据审计分为在线和离线两个阶段,允许第三方审计者提前计算一个离线审计令牌,有效地降低了在线审计阶段的计算开销,从而解决了第三方审计者计算效率瓶颈的问题,提升了数据完整性审计的整体效率。
3)基于CDH困难问题,本发明在随机预言机模型下可证明安全。性能分析表明,与已有方案相比,本发明具有更优的审计效率。
附图说明
图1是本发明实施例公开的一种云环境下外包数据的在线/离线完整性审计方法的应用系统设计图;
图2是本发明实施例公开的一种云环境下外包数据的在线/离线完整性审计方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
作为一种数据存储的新模式,云存储允许企业和个人将本地数据外包存储到云服务器。通过利用云服务器强大的计算和存储能力进行数据管理,从而节省本地开销。然而,这种新兴存储模式带来极大便利的同时,也带来了安全挑战。由于云服务商并非完全可信的,那么就出现了数据完整性问题。比如,云服务商可能将不经常访问的数据删除,或者对数据拥有者隐瞒数据丢失的事实。为了保证数据安全完整地存储在云服务器,外包数据完整性审计技术被提出并应用于云环境。然而,现有的方法存在安全攻击或者具有昂贵的计算开销,以及在执行多个审计任务时第三方审计者存在效率瓶颈的问题。因此,如何构建一种安全高效的外包数据完整性审计机制,已成为一个关键问题。
本实施例针对以上问题,主要研究了主要研究了外包数据的在线/离线完整性审计机制,提出了一种云环境下外包数据的在线/离线完整性审计方法,命名为OORDA方法,安全且高效地实现了外包数据的完整性验证功能。为了提升数据处理和验证的效率,本发明将数据完整性审计过程划分为在线和离线两个阶段。通过提前执行离线操作,本发明有效地降低了第三方审计者的在线计算开销。
下面结合图1对本实施例公开的一种云环境下外包数据的在线/离线完整性审计方法的具体过程进行详细说明。令BLS签名方案由(BLS.KeyGen,BLS.Sign,BLS.Verification)表示,其中BLS.KeyGen算法输入安全参数λ,输出签名公私密钥对{spk,ssk};BLS.Sign算法输入签名私钥ssk和消息m,输出签名,记为σ=Signssk(m);BLS.Verification算法输入签名公钥spk和签名σ,如果该算法输出0,表示签名无效,否则输出1,表示签名是有效的;第三方审计者TPA随机选取其中表示模p的既约剩余系,p为λ位大素数,λ为安全参数,则第三方审计者TPA的公私密钥对为{PKTPA=gγ,skTPA=γ},PKTPA为第三方审计者TPA的公钥,skTPA为第三方审计者TPA的私钥。
一种云环境下外包数据的在线/离线完整性审计方法包括如下步骤:
S1、系统建立算法Setup(1λ):输入安全参数λ,数据拥有者DO首先选取一个阶数为p,生成元为g的双线性群G,选取群元素u∈G,群GT,定义双线性映射e:G×G→GT,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;然后数据拥有者DO调用BLS.KeyGen算法生成一个签名密钥对{spk,ssk},数据拥有者DO选取四个随机值计算三个参数δ=gα,y=gβ,并计算两个秘密参数s=α·β,其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
S2、标签生成算法TagBlock(params,sk,M):输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
其中,g为双线性群G的生成元,群元素u∈G,随机数 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||i)表示将name||i通过抗碰撞哈希函数H映射到一个哈希值。数据拥有者DO将文件块{mi}1≤i≤n和认证标签发送给云服务器,并删除本地文件M,其中认证标签T包含三个参数,分别是随机数签名验证信息以及所有文件块标签{θi}1≤i≤n。与此同时,数据拥有者DO将授权私钥skdel安全地传送给第三方审计者TPA。
S3、挑战算法Challenge(params):输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合为每个j∈I选取随机值其中j表示挑战的文件块索引并且满足1≤j≤n,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
S4、证明算法Proof(params,M,T,chal):收到挑战信息chal后,输入系统公共参数params,文件M和认证标签T,云服务器计算
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合随机数随机值mj表示第j个挑战文件块,θj表示第j个挑战文件块标签,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,θ}发送给第三方审计者TPA。
S5、离线验证算法Verifyoff(params):输入系统公共参数params,第三方审计者TPA计算一个离线审计令牌Γ如下:
Γ=e(u,PKTPA)
其中,群元素u∈G,G表示一个双线性群,PKTPA=gγ表示第三方审计者TPA的公钥且PKTPA∈G, 表示模p的既约剩余系,p为λ位大素数,λ为安全参数,e(u,PKTPA)表示将两个来自双线性群G的群元素{u,PKTPA}通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT。
S6、在线验证算法Verifyon(params,sk,Γ,chal,prf):输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合随机值 为文件名,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥执行在线审计操作,从而验证文件M的完整性,如下:
其中,Γ表示离线审计令牌,秘密参数s=αβ为授权私钥skdel的一部分,随机值skTPA表示第三方审计者TPA的私钥,验证参数g为双线性群G的生成元,{μ,θ}为证明信息,参数y=gβ为系统公共参数params的一部分,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素,即双线性映射e:G×G→GT;符号表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,则输出1,表明文件完整地存储在云服务器。否则,算法输出0,表明文件被损坏。
假设LSH和RSH分别表示上述验证式的左边和右边,则云环境下外包数据的在线/离线完整性审计方法的正确性分析如下:
由此可知LSH=RSH,意味着如果文件安全完整地存储在云服务器,则验证式成立。
在云环境下,实现外包数据的在线/离线完整性审计方案机制的具体例子如图1所示。该图包含三个实体:数据拥有者(Data Owner,DO),云服务器(Cloud Server),第三方审计者(Third-party Auditor,TPA)。
(1)数据拥有者(Data Owner,DO)通常是企业或个人,将数据外包给云服务器,以节省本地开销。具体来说,数据拥有者DO首先调用系统建立算法Setup(1λ),生成系统公共参数params,私钥sk和授权私钥skdel。对于文件M,数据拥有者DO将通过调用标签生成算法TagBlock(params,sk,M)为所有的文件块生成认证标签,然后将文件和认证标签发送给云服务器。为了验证数据完整性,数据拥有者将授权密钥skdel发送给第三方审计者,从而委托第三方审计者执行数据完整性审计操作。
(2)云服务器(Cloud Server,CS)具有强大的存储和计算能力。然而,云服务器是半可信的,即使数据被篡改或删除,它可能欺骗数据拥有者DO说外包数据是完整无损的保存在云服务器。为了防止这类欺骗行为,第三方审计者将调用挑战算法Challenge(params)进行审计挑战,云服务器根据挑战信息和文件信息,调用证明算法Proof(params,M,T,chal)生成证明信息。
(3)第三方审计者(Third-party Auditor,TPA)代替数据拥有者定期执行数据完整性审计,从而减轻数据拥有者的计算负担。在本发明中,审计过程分为离线审计和在线审计。在审计请求发生前,第三方审计者TPA执行离线验证算法Verifyoff(params),存储离线审计令牌。本发明使得第三方审计者TPA的在线验证算法Verifyon(params,skdel,Γ,chal,prf)仅需小部分的计算开销,有效地提升了在线审计效率。
在效率方面,我们将提出的OORDA方法与文献[1,2]对比。具体来说,对比包括TagBlock,Proof和Verify算法的计算开销,如表1所示。其中,表示哈希运算开销,A表示加法运算开销,表示乘法运算开销,E表示指数运算开销,S表示签名算法BLS.Sign的计算开销,P表示双线性配对运算开销,n表示块的数目,|I|表示挑战块的数目。
表1.本发明与相关方案的计算开销对比
从表1可以看出,为了生成认证标签,本发明和文献[1]需要执行的乘法和指数运算的数目与块的数目相关。而在文献[2]中,认证标签生成过程划分为离线TagBlockoff和在线TagBlockon两个阶段,其中在线阶段消耗的加法和乘法运算与块的数目线性相关。针对Proof算法,本发明的计算开销少于文献[1,2]。考虑完整性验证过程中的指数和双线性配对运算,文献[2]需要执行的指数操作和挑战块的数目相关,并且消耗三个双线性配对操作,而文献[1]需要执行四个双线性配对操作,给第三方审计者带来了昂贵的计算开销。然而,在本发明中,验证过程分为Verifyoff和Verifyon两个阶段。具体来说,离线审计阶段需要计算一个双线性配对运算,而在线仅需两个指数和一个双线性配对运算。由此可知,本发明的在线审计开销低于文献[1,2],有效地提升了数据审计效率。
其中,文献[1]的作者、文献名称和出处具体为Yuan J,Yu S.PCPOR:Public andConstant-cost Proofs of Retrievability in Cloud.Journal of Computer Security,2015,23(3):403-425。
文献[2]的作者、文献名称和出处具体为Wang Y,Wu Q,Qin B,et al.Online/Offline Provable Data Possession.IEEE Transactions on Information Forensicsand Security,2017,12(5):1182-1194。
性能分析表明,本发明比文献[1,2]于在线审计方面更为有效。由于本发明将审计分为离线和在线两个阶段,第三方审计者的在线计算开销可以大大降低,有效地解决了第三方审计者效率瓶颈的问题。
综上所述,本实施例为了进一步提升数据完整性审计的效率,基于在线/离线的思想,提出了一种云环境下安全的在线/离线外包数据审计方法,命名为OORDA方法,支持外包数据的在线/离线完整性验证功能。通过引入第三方审计者代替数据拥有者执行审计操作,本发明有效地节省了数据拥有者的计算开销。提出的OORDA方法将数据审计分为在线和离线两个阶段,允许第三方审计者提前计算一个离线的审计令牌,从而有效地降低了在线审计阶段的计算开销。本发明有效地解决了第三方审计者计算效率瓶颈的问题,从而提升数据完整性审计的整体效率。基于CDH困难问题,本发明在随机预言机模型下可证明安全。性能分析表明,与已有方案相比,本发明具有更优的审计效率。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述在线/离线完整性审计方法包括以下步骤:
S1、数据拥有者DO首先运行系统建立算法Setup(1λ),其中λ为安全参数,得到系统公共参数params、私钥sk和授权私钥skdel,其中私钥sk和授权私钥skdel由数据拥有者DO私密保存;
S2、数据拥有者DO使用系统公共参数params和私钥sk,通过标签生成算法TagBlock(params,sk,M)为文件M生成认证标签T,假设文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n,得到认证标签T,数据拥有者DO将文件块{mi}1≤i≤n和认证标签T上传到云服务器;
S3、当数据拥有者DO需要检查文件是否完整保存在云服务器时,数据拥有者DO将授权私钥skdel通过安全通道传送给第三方审计者TPA,第三方审计者TPA使用系统公共参数params,通过调用挑战算法Challenge(params),得到挑战信息chal,并将挑战信息chal传给云服务器;
S4、云服务器使用系统公共参数params,文件M和认证标签T,通过运行证明算法Proof(params,M,T,chal)得到关于挑战信息chal的证明信息prf,并将证明信息prf返回给第三方审计者TPA;
S5、第三方审计者TPA在收到审计任务之前,先使用系统公共参数params,调用离线验证算法Verifyoff(params)得到离线审计令牌Γ;
S6、当收到证明信息prf时,第三方审计者TPA使用系统公共参数params,授权私钥skdel,离线审计令牌Γ和挑战信息chal,运行在线验证算法Verifyon(params,skdel,Γ,chal,prf)验证数据完整性,如果在线验证算法输出为1,则说明证明信息prf是有效的并且文件完整地存储在云服务器;如果在线验证算法输出为0,则说明文件被损坏。
2.根据权利要求1所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,令BLS签名方案由(BLS.KeyGen,BLS.Sign,BLS.Verification)表示,其中BLS.KeyGen算法输入安全参数λ,输出签名公私密钥对{spk,ssk};BLS.Sign算法输入签名私钥ssk和消息m,输出签名,记为σ=Signssk(m);BLS.Verification算法输入签名公钥spk和签名σ,如果该算法输出0,表示签名无效,否则输出1,表示签名是有效的;第三方审计者TPA随机选取其中表示模p的既约剩余系,p为λ位大素数,λ为安全参数,则第三方审计者TPA的公私密钥对为{PKTPA=gγ,skTPA=γ},PKTPA为第三方审计者TPA的公钥,skTPA为第三方审计者TPA的私钥;
所述系统建立算法Setup(1λ)中,输入安全参数λ,数据拥有者DO首先选取一个阶数为p,生成元为g的双线性群G,选取群元素u∈G,群GT,定义双线性映射e:G×G→GT,表示将两个来自双线性群G的群元素通过双线性对配对运算,映射到一个来自群GT的群元素;然后数据拥有者DO调用BLS.KeyGen算法生成一个签名密钥对{spk,ssk},数据拥有者DO选取四个随机值计算三个参数δ=gα,y=gβ,并计算两个秘密参数s=α·β,其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
3.根据权利要求2所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述标签生成算法TagBlock(params,sk,M)中,输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
4.根据权利要求2所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述挑战算法Challenge(params)中,输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息name||n||σ,调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合为每个j∈I选取随机值其中j表示挑战的文件块索引并且满足1≤j≤n,表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
7.根据权利要求1所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述线验证算法Verifyon(params,sk,Γ,chal,prf)中,输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合随机值为文件名,表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥执行在线审计操作,从而验证文件M的完整性,如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110562179.XA CN113507367B (zh) | 2021-05-24 | 2021-05-24 | 一种云环境下外包数据的在线/离线完整性审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110562179.XA CN113507367B (zh) | 2021-05-24 | 2021-05-24 | 一种云环境下外包数据的在线/离线完整性审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113507367A true CN113507367A (zh) | 2021-10-15 |
CN113507367B CN113507367B (zh) | 2023-06-16 |
Family
ID=78008515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110562179.XA Active CN113507367B (zh) | 2021-05-24 | 2021-05-24 | 一种云环境下外包数据的在线/离线完整性审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113507367B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015630A (zh) * | 2022-12-08 | 2023-04-25 | 暨南大学 | 一种轻量级可去重的密文完整性审计方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010007991A1 (en) * | 1996-01-22 | 2001-07-12 | Tobin William J. | Method and system for customizing marketing services on networks communicating with hypertext tagging conventions |
US20180160255A1 (en) * | 2016-12-01 | 2018-06-07 | Youngsuck PARK | Nfc tag-based web service system and method using anti-simulation function |
US20200204590A1 (en) * | 2018-10-09 | 2020-06-25 | Penten Pty Ltd. | Methods and systems for honeyfile creation, deployment and management |
-
2021
- 2021-05-24 CN CN202110562179.XA patent/CN113507367B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010007991A1 (en) * | 1996-01-22 | 2001-07-12 | Tobin William J. | Method and system for customizing marketing services on networks communicating with hypertext tagging conventions |
US20180160255A1 (en) * | 2016-12-01 | 2018-06-07 | Youngsuck PARK | Nfc tag-based web service system and method using anti-simulation function |
US20200204590A1 (en) * | 2018-10-09 | 2020-06-25 | Penten Pty Ltd. | Methods and systems for honeyfile creation, deployment and management |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015630A (zh) * | 2022-12-08 | 2023-04-25 | 暨南大学 | 一种轻量级可去重的密文完整性审计方法及系统 |
CN116015630B (zh) * | 2022-12-08 | 2023-11-24 | 暨南大学 | 一种轻量级可去重的密文完整性审计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113507367B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109716375B (zh) | 区块链账户的处理方法、装置和存储介质 | |
Li et al. | Privacy-preserving public auditing protocol for low-performance end devices in cloud | |
CN107948143B (zh) | 一种云存储中基于身份的隐私保护完整性检测方法和系统 | |
Mughal et al. | A lightweight digital signature based security scheme for human-centered Internet of Things | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
US9219602B2 (en) | Method and system for securely computing a base point in direct anonymous attestation | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN103595696B (zh) | 一种文件所有权证明的方法及装置 | |
CN115529141A (zh) | 一种对数签名大小的可追踪环签名生成方法及系统 | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm | |
Gan et al. | Online/offline remote data auditing with strong key-exposure resilience for cloud storage | |
CN109145650B (zh) | 一种云环境下高效安全的外包大数据审计方法 | |
Balmany et al. | Dynamic proof of retrievability based on public auditing for coded secure cloud storage | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN113507367A (zh) | 一种云环境下外包数据的在线/离线完整性审计方法 | |
Yang et al. | Improved lightweight cloud storage auditing protocol for shared medical data | |
Zhao | Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm | |
Song et al. | Enabling transparent deduplication and auditing for encrypted data in cloud | |
CN113489690B (zh) | 强抗密钥暴露的在线/离线外包数据完整性审计方法 | |
Ji et al. | Proofs of retrievability with tag outsourcing based on Goppa codes | |
CN113225190B (zh) | 一种使用新难题的量子安全的数字签名方法 | |
Wang et al. | Blockchain-Based Unbalanced PSI with Public Verification and Financial Security | |
CN111539031B (zh) | 一种云存储标签隐私保护的数据完整性检测方法及系统 | |
JP5227816B2 (ja) | 匿名署名生成装置、匿名署名検証装置、匿名署名追跡判定装置、追跡機能付き匿名署名システム、それらの方法及びプログラム |
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 |