CN113507367A - 一种云环境下外包数据的在线/离线完整性审计方法 - Google Patents

一种云环境下外包数据的在线/离线完整性审计方法 Download PDF

Info

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
Application number
CN202110562179.XA
Other languages
English (en)
Other versions
CN113507367B (zh
Inventor
王晓明
甘庆晴
李剑维
黄承鹏
林伊健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202110562179.XA priority Critical patent/CN113507367B/zh
Publication of CN113507367A publication Critical patent/CN113507367A/zh
Application granted granted Critical
Publication of CN113507367B publication Critical patent/CN113507367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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/3073Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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/3213Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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随机选取
Figure BDA0003079398030000031
其中
Figure BDA0003079398030000032
表示模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选取四个随机值
Figure BDA0003079398030000041
计算三个参数δ=gα,y=gβ,
Figure BDA0003079398030000042
并计算两个秘密参数s=α·β,
Figure BDA0003079398030000043
其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
Figure BDA0003079398030000044
进一步地,所述标签生成算法TagBlock(params,sk,M)中,输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取
Figure BDA0003079398030000045
作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息
Figure BDA00030793980300000413
其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数
Figure BDA0003079398030000046
符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
Figure BDA0003079398030000047
其中,g为双线性群G的生成元,群元素u∈G,随机数
Figure BDA0003079398030000048
Figure BDA0003079398030000049
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||i)表示将name||i通过抗碰撞哈希函数H映射到一个哈希值。数据拥有者DO将文件块{mi}1≤i≤n和认证标签
Figure BDA00030793980300000410
发送给云服务器,并删除本地文件M,其中认证标签T包含三个参数,分别是随机数
Figure BDA00030793980300000411
签名验证信息
Figure BDA00030793980300000412
以及所有文件块标签{θi}1≤i≤n。与此同时,数据拥有者DO将授权私钥skdel安全地传送给第三方审计者TPA。
进一步地,所述挑战算法Challenge(params)中,输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息
Figure BDA0003079398030000051
Figure BDA0003079398030000052
调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中
Figure BDA0003079398030000053
为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合
Figure BDA0003079398030000054
为每个j∈I选取随机值
Figure BDA0003079398030000055
其中j表示挑战的文件块索引并且满足1≤j≤n,
Figure BDA0003079398030000056
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
进一步地,所述证明算法Proof(params,M,T,chal)中,收到挑战信息chal后,输入系统公共参数params,文件M和认证标签T,云服务器计算
Figure BDA0003079398030000057
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure BDA0003079398030000058
随机数
Figure BDA0003079398030000059
随机值
Figure BDA00030793980300000510
mj表示第j个挑战文件块,θj表示第j个挑战文件块标签,
Figure BDA00030793980300000511
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,θ}发送给第三方审计者TPA。
进一步地,所述离线验证算法Verifyoff(params)中,输入系统公共参数params,第三方审计者TPA计算一个离线审计令牌Γ如下:
Γ=e(u,PKTPA)
其中,群元素u∈G,G表示一个双线性群,PKTPA=gγ表示第三方审计者TPA的公钥且PKTPA∈G,
Figure BDA00030793980300000512
Figure BDA00030793980300000513
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,e(u,PKTPA)表示将两个来自双线性群G的群元素{u,PKTPA}通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT
进一步地,所述线验证算法Verifyon(params,sk,Γ,chal,prf)中,输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数
Figure BDA0003079398030000061
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure BDA0003079398030000062
随机值
Figure BDA0003079398030000063
为文件名,
Figure BDA0003079398030000064
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥
Figure BDA0003079398030000065
执行在线审计操作,从而验证文件M的完整性,如下:
Figure BDA0003079398030000066
其中,Γ表示离线审计令牌,秘密参数s=αβ为授权私钥skdel的一部分,随机值
Figure BDA0003079398030000067
skTPA表示第三方审计者TPA的私钥,验证参数
Figure BDA0003079398030000068
g为双线性群G的生成元,{μ,θ}为证明信息,参数y=gβ为系统公共参数params的一部分,
Figure BDA0003079398030000069
表示将两个来自双线性群G的群元素
Figure BDA00030793980300000610
通过双线性对配对运算,映射到一个来自群GT的群元素,即双线性映射e:G×G→GT;符号
Figure BDA00030793980300000611
表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,输出为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随机选取
Figure BDA0003079398030000081
其中
Figure BDA0003079398030000082
表示模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选取四个随机值
Figure BDA0003079398030000083
计算三个参数δ=gα,y=gβ,
Figure BDA0003079398030000084
并计算两个秘密参数s=α·β,
Figure BDA0003079398030000085
其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
Figure BDA0003079398030000091
S2、标签生成算法TagBlock(params,sk,M):输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取
Figure BDA0003079398030000092
作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息
Figure BDA0003079398030000093
其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数
Figure BDA0003079398030000094
符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
Figure BDA0003079398030000095
其中,g为双线性群G的生成元,群元素u∈G,随机数
Figure BDA0003079398030000096
Figure BDA0003079398030000097
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||i)表示将name||i通过抗碰撞哈希函数H映射到一个哈希值。数据拥有者DO将文件块{mi}1≤i≤n和认证标签
Figure BDA0003079398030000098
发送给云服务器,并删除本地文件M,其中认证标签T包含三个参数,分别是随机数
Figure BDA0003079398030000099
签名验证信息
Figure BDA00030793980300000910
以及所有文件块标签{θi}1≤i≤n。与此同时,数据拥有者DO将授权私钥skdel安全地传送给第三方审计者TPA。
S3、挑战算法Challenge(params):输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息
Figure BDA00030793980300000911
调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中
Figure BDA00030793980300000912
为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合
Figure BDA0003079398030000101
为每个j∈I选取随机值
Figure BDA0003079398030000102
其中j表示挑战的文件块索引并且满足1≤j≤n,
Figure BDA0003079398030000103
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
S4、证明算法Proof(params,M,T,chal):收到挑战信息chal后,输入系统公共参数params,文件M和认证标签T,云服务器计算
Figure BDA0003079398030000104
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure BDA0003079398030000105
随机数
Figure BDA0003079398030000106
随机值
Figure BDA0003079398030000107
mj表示第j个挑战文件块,θj表示第j个挑战文件块标签,
Figure BDA0003079398030000108
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,θ}发送给第三方审计者TPA。
S5、离线验证算法Verifyoff(params):输入系统公共参数params,第三方审计者TPA计算一个离线审计令牌Γ如下:
Γ=e(u,PKTPA)
其中,群元素u∈G,G表示一个双线性群,PKTPA=gγ表示第三方审计者TPA的公钥且PKTPA∈G,
Figure BDA0003079398030000109
Figure BDA00030793980300001010
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,e(u,PKTPA)表示将两个来自双线性群G的群元素{u,PKTPA}通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT
S6、在线验证算法Verifyon(params,sk,Γ,chal,prf):输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数
Figure BDA00030793980300001011
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure BDA00030793980300001012
随机值
Figure BDA00030793980300001013
Figure BDA0003079398030000111
为文件名,
Figure BDA0003079398030000112
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥
Figure BDA0003079398030000113
执行在线审计操作,从而验证文件M的完整性,如下:
Figure BDA0003079398030000114
其中,Γ表示离线审计令牌,秘密参数s=αβ为授权私钥skdel的一部分,随机值
Figure BDA0003079398030000115
skTPA表示第三方审计者TPA的私钥,验证参数
Figure BDA0003079398030000116
g为双线性群G的生成元,{μ,θ}为证明信息,参数y=gβ为系统公共参数params的一部分,
Figure BDA0003079398030000117
表示将两个来自双线性群G的群元素
Figure BDA0003079398030000118
通过双线性对配对运算,映射到一个来自群GT的群元素,即双线性映射e:G×G→GT;符号
Figure BDA0003079398030000119
表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,则输出1,表明文件完整地存储在云服务器。否则,算法输出0,表明文件被损坏。
假设LSH和RSH分别表示上述验证式的左边和右边,则云环境下外包数据的在线/离线完整性审计方法的正确性分析如下:
Figure BDA00030793980300001110
Figure BDA00030793980300001111
由此可知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所示。其中,
Figure BDA0003079398030000123
表示哈希运算开销,A表示加法运算开销,
Figure BDA0003079398030000122
表示乘法运算开销,E表示指数运算开销,S表示签名算法BLS.Sign的计算开销,P表示双线性配对运算开销,n表示块的数目,|I|表示挑战块的数目。
表1.本发明与相关方案的计算开销对比
Figure BDA0003079398030000121
Figure BDA0003079398030000131
从表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随机选取
Figure FDA0003079398020000021
其中
Figure FDA0003079398020000022
表示模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选取四个随机值
Figure FDA0003079398020000023
计算三个参数δ=gα,y=gβ,
Figure FDA0003079398020000024
并计算两个秘密参数s=α·β,
Figure FDA0003079398020000025
其中符号“·”表示乘法运算;数据拥有者DO选取一个抗碰撞哈希函数H:{0,1}*→{0,1}*,则系统公共参数设置为params={spk,g,u,δ,y,w,H},私钥设置为sk={ssk,α,β,x1,x2},授权私钥设置为
Figure FDA0003079398020000026
3.根据权利要求2所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述标签生成算法TagBlock(params,sk,M)中,输入系统公共参数params,私钥sk和文件M,数据拥有者DO首先将文件M分为n块,第i个文件块表示为mi,i表示文件块的索引并且满足1≤i≤n;然后数据拥有者DO随机选取
Figure FDA0003079398020000031
作为文件名,n为文件块数目,调用BLS.Sign算法,将name||n作为需要签名的消息,生成一个签名σ=Signssk(name||n)并设置签名验证信息
Figure FDA0003079398020000032
其中ssk表示签名私钥,符号“||”表示字符串连接符;随后,数据拥有者DO计算x=x1·x2,其中随机数
Figure FDA0003079398020000033
符号“·”表示乘法运算;对于第i(1≤i≤n)个文件块mi,数据拥有者DO生成第i(1≤i≤n)个文件块标签如下:
Figure FDA0003079398020000034
其中,g为双线性群G的生成元,群元素u∈G,随机数
Figure FDA0003079398020000035
Figure FDA0003079398020000036
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||i)表示将name||i通过抗碰撞哈希函数H映射到一个哈希值。数据拥有者DO将文件块{mi}1≤i≤n和认证标签
Figure FDA0003079398020000037
发送给云服务器,并删除本地文件M,其中认证标签T包含三个参数,分别是随机数
Figure FDA0003079398020000038
签名验证信息
Figure FDA0003079398020000039
以及所有文件块标签{θi}1≤i≤n。与此同时,数据拥有者DO将授权私钥skdel安全地传送给第三方审计者TPA。
4.根据权利要求2所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述挑战算法Challenge(params)中,输入系统公共参数params,第三方审计者TPA首先从云服务器中获取签名验证信息
Figure FDA00030793980200000310
name||n||σ,调用BLS.Verification算法,使用签名公钥spk验证签名σ=Signssk(name||n),其中
Figure FDA00030793980200000311
为文件名,n为文件块数目,ssk表示签名私钥;如果签名无效,输出0并终止;否则,第三方审计者TPA接受name和n。然后第三方审计者TPA随机选取一个挑战集合
Figure FDA00030793980200000312
为每个j∈I选取随机值
Figure FDA00030793980200000313
其中j表示挑战的文件块索引并且满足1≤j≤n,
Figure FDA00030793980200000314
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。第三方审计者TPA将挑战信息chal={j,vj}j∈I发送给云服务器。
5.根据权利要求1所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述证明算法Proof(params,M,T,chal)中,收到挑战信息chal后,输入系统公共参数params,文件M和认证标签T,云服务器计算
Figure FDA0003079398020000041
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure FDA0003079398020000042
随机数
Figure FDA0003079398020000043
随机值
Figure FDA0003079398020000044
mj表示第j个挑战文件块,θj表示第j个挑战文件块标签,
Figure FDA0003079398020000045
表示模p的既约剩余系,p为λ位大素数,λ为安全参数。云服务器将证明信息prf={μ,θ}发送给第三方审计者TPA。
6.根据权利要求1所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述离线验证算法Verifyoff(params)中,输入系统公共参数params,第三方审计者TPA计算一个离线审计令牌Γ如下:
Γ=e(u,PKTPA)
其中,群元素u∈G,G表示一个双线性群,PKTPA=gγ表示第三方审计者TPA的公钥且PKTPA∈G,
Figure FDA0003079398020000046
Figure FDA0003079398020000047
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,e(u,PKTPA)表示将两个来自双线性群G的群元素{u,PKTPA}通过双线性对配对运算,映射到一个来自群GT的群元素,简称为双线性映射e:G×G→GT
7.根据权利要求1所述的一种云环境下外包数据的在线/离线完整性审计方法,其特征在于,所述线验证算法Verifyon(params,sk,Γ,chal,prf)中,输入系统公共参数params,授权私钥skdel,离线审计令牌Γ,挑战信息chal和证明信息prf,第三方审计者TPA首先计算验证参数
Figure FDA0003079398020000048
其中,j表示挑战的文件块索引并且满足1≤j≤n,挑战集合
Figure FDA0003079398020000051
随机值
Figure FDA0003079398020000052
为文件名,
Figure FDA0003079398020000053
表示模p的既约剩余系,p为λ位大素数,λ为安全参数,H(name||j)表示将name||j通过抗碰撞哈希函数H映射到一个哈希值,符号“||”表示字符串连接符;然后第三方审计者TPA使用授权私钥
Figure FDA0003079398020000054
执行在线审计操作,从而验证文件M的完整性,如下:
Figure FDA0003079398020000055
其中,Γ表示离线审计令牌,秘密参数s=αβ为授权私钥skdel的一部分,随机值
Figure FDA0003079398020000056
skTPA表示第三方审计者TPA的私钥,验证参数
Figure FDA0003079398020000057
g为双线性群G的生成元,{μ,θ}为证明信息,参数y=gβ为系统公共参数params的一部分,
Figure FDA0003079398020000058
表示将两个来自双线性群G的群元素
Figure FDA0003079398020000059
通过双线性对配对运算,映射到一个来自群GT的群元素,即双线性映射e:G×G→GT;符号
Figure FDA00030793980200000510
表示判定操作,即需要判定验证式左右两边的值是否相等;如果上述验证式成立,输出为1,则说明证明信息prf是有效的并且文件完整保存在云服务器;如果上述验证式不成立,输出为0,则说明文件被损坏。
CN202110562179.XA 2021-05-24 2021-05-24 一种云环境下外包数据的在线/离线完整性审计方法 Active CN113507367B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116015630A (zh) * 2022-12-08 2023-04-25 暨南大学 一种轻量级可去重的密文完整性审计方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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