CN112800482B - 基于身份的在线/离线安全云存储审计方法 - Google Patents
基于身份的在线/离线安全云存储审计方法 Download PDFInfo
- Publication number
- CN112800482B CN112800482B CN202110046325.3A CN202110046325A CN112800482B CN 112800482 B CN112800482 B CN 112800482B CN 202110046325 A CN202110046325 A CN 202110046325A CN 112800482 B CN112800482 B CN 112800482B
- Authority
- CN
- China
- Prior art keywords
- user
- tpa
- algorithm
- root
- cloud server
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了基于身份的在线/离线安全云存储审计方法,该方法中包括四个实体:密钥生成中心KGC、用户、云服务器和第三方审计者TPA,四个实体通过Setup、Extract、OffTagGen、OnTagGen、Challenge、ProofGen,ProofVerify七个算法完成云存储完整性验证服务。本发明属于一个公共审计方案,该方案用户为存储数据生成验证标签时,可分为离线计算和在线计算阶段。在在线计算阶段,用户仅需执行少量复杂计算,相较于普通云存储审计方案,运算效率大大提高,并消除了昂贵的公钥基础结构所带来的复杂的证书管理/验证成本,同时方案能提供健壮性的安全需求。
Description
技术领域
本发明涉及信息安全领域,尤其涉及基于身份的在线/离线安全云存储审计方法。
背景技术
随着信息科学技术的迅猛发展,工作和生活中的数据产生爆炸式增长,所以数据从本地迁移到云端存储成为必然趋势。云存储是一种数据外包存储服务技术,是云计算的重要应用模式。使用云存储服务,企业可以降低存储数据的成本,个人用户也可以节省管理和维护的工作投入和成本。然而用户数据从本地迁移到云端,导致用户对外包数据失去了控制权,因此数据的完整性可能会存在安全隐患。不受信任的云服务器对外包数据进行的任何非法操作,或者不可预料的存储服务器损坏或自然灾害,都可能导致数据永久丢失。直接利用哈希函数验证数据完整性的方法需要在验证过程中将云端数据下载到本地,这在实际操作中会造成传输成本过高。为了检查外包数据的完整性,Ateniese等人提出了可证明数据所有权(Provable Data Possession,PDP)的方案,在该方案中,公共验证者通过随机指定要验证的数据块向服务器发出挑战,并验证服务器返回的证明,从而无需下载整个数据就可以有效地验证数据完整性。Juels等人提出的可恢复证明(Proof ofRetrievability,PoR)方案,通过使用纠错码保证存储数据的可恢复性。此后针对远程数据完整性验证问题,涌现了大量的研究成果。
上述方案的设计依赖于公钥基础结构PKI,公钥的真实性由证书颁发者提供的数字证书确保。因此,验证者在使用公钥之前需要检查公钥证书的有效性,但复杂的证书管理需要消耗大量的计算和存储资源,针对此问题,Shamir提出了基于身份的密码系统。在此系统中,用户公钥由与用户相关的有意义的信息构成,如用户的名字,邮箱地址等。Zhao等人根据文献“Identity-based aggregate signatures”提出的基于身份聚合签名首先提出了基于身份PDP协议。Yu等人提出的基于身份可公开验证PDP方案可有效解决完整性验证交互过程中的信息泄露问题。
在PDP方案的设计中,用户需要将上传数据分成小的数据块,并为每个数据块计算生成验证标签,这将涉及大量的复杂计算,然而实际应用中相较于云服务器,大多数用户的计算资源受限。因此文献“Online/Offline Provable Data Possession”利用在线/离线签名的思想,提出了在线/离线PDP方案。此时数据验证标签的生成阶段将分为在线和离线两个阶段,离线阶段通常发生在外包数据到达之前,可以在用户处理器空闲并接通电源时执行。最耗资源的计算如模幂运算、双线性对运算等,均在离线阶段执行。当外包数据到来后,在线阶段开始执行,并仅运行相对轻量级计算,如模加、模乘、哈希运算等。目前由Reyhaneh等人提出的基于身份的在线/离线安全云存储审计方案(ID-OOPDP)并不满足健壮性的安全要求,即恶意的云服务器利用其存储的数据,只需通过简单的计算,就可以获得用户的秘密信息,从而对任意的消息,云服务器均可以伪造生成合法的验证标签,也就是说该方案对云服务器并不能满足健壮性的安全需求。为了解决基于身份云审计方案中存在的效率和安全问题,本发明提出了一个安全的基于身份在线/离线PDP新方法,新方法不仅能够满足在线阶段用户仅执行轻量级计算,在消除由PKI结构引起的额外成本的同时,还可以抵抗来自云服务器的伪造攻击。
发明内容
本发明所要解决的技术问题是身份云审计方案中存在的效率和安全问题,本发明提出了基于身份的在线/离线安全云存储审计方法,属于公共审计方案,新方法不仅在线计算阶段,用户仅需执行少量复杂计算,运算效率大大提高,并消除了昂贵的公钥基础结构所带来的复杂的证书管理/验证成本,同时能提供健壮性的安全需求。
本发明的基于身份的在线/离线安全云存储审计方法,包括如下内容:
步骤1,Setup算法:输入安全参数1k,其中k表示达到安全需要的位数,G1和G2是阶为素数q乘法循环群,g是群G1的生成元,H1,H2:{0,1}*→G1和h:{0,1}*→Zq是安全哈希函数,e:G1×G1→G2是双线性映射。密钥生成中心KGC选择随机值α∈Zq作为主私钥msk,主公钥mpk=gα。系统公共参数param为(e,q,G1,G2,g,mpk,h,H1,H2)。
步骤2,Extract算法:根据主私钥msk=α和param=(e,q,G1,G2,g,mpk,h,H1,H2)以及用户的身份ID,密钥生成中心KGC为用户生成密钥kID=H1(ID)α。
步骤3,用户为存储数据生成验证标签时,分为离线计算和在线计算阶段;
同时用户基于哈希值{h(ui)}i∈[1,n]创建根为root的MHT,并且计算其中IDSig是一个安全的基于身份签名算法,而相应的验证算法为IDVef。最后,用户将文件F=(m1,…,mn),验证标签{(ui,ri,σi)}i∈[1,n],以及(γ,name,σroot)做为存储信息发送给云服务器。接收到用户的存储信息后,云服务器首先利用IDVef算法验证签名σroot的合法性;如果通过验证,则对i∈[1,n],云服务器判断如下等式
是否成立;如果成立则接受用户的储存请求,如果不成立则拒绝用户的储存请求,输出结束标志⊥。
步骤5,Challenge算法:为了验证name文件F的完整性,第三方审计者TPA向云服务器发送验证请求。云服务器首先将(γ,ui,h(root),σroot)信息发送给TPA,TPA利用IDVef算法验证签名σroot的合法性;如果没有通过验证,TPA终止操作,否则其随机选择c元子集作为要验证数据块的索引,其中c为TPA验证的数据块个数,即集合J中一共包含c个元素,同时为每个j∈J选择随机值yj∈Zq。最后TPA将挑战chal=(name,{(j,yj)}j∈J)发送给云服务器。
步骤6,ProofGen算法:接收到TPA的挑战质询后,云服务器利用其存储的数据和验证标签,按以下步骤生成拥有证明:
步骤6.1,基于挑战的数据块,计算μ=∑j∈Jyjmj。
步骤6.3,云服务器将(μ,σ,{uj,rj,Δj}j∈J)作为拥有证明返回给第三方审计者TPA。其中Δj是MHT中相应的验证辅助信息。
步骤7,ProofVerify算法:TPA收到云服务器返回的拥有证明(μ,σ,{uj,rj,Δj}j∈J)后,首先计算{h(uj)}j∈J,并利用相应的辅助信息Δ j生成根节点h(root')。如果h(root')=h(root),则继续计算V=∑j∈J(H2(name|j)+rj)yj,并验证下式是否成立:
如果等式成立,表明验证通过,TPA输出1,如果等式不成立,则表明验证不通过,TPA输出0。
有益效果:本发明能够实现第三方审计者对云存储中数据完整性的有效审计;用户为存储数据生成验证标签时,可分为离线计算和在线计算阶段;在在线计算阶段,用户仅需执行少量复杂计算,相较于普通云存储审计方案,运算效率大大提高,并消除了昂贵的公钥基础结构所带来的复杂的证书管理/验证成本,同时方案能提供健壮性的安全需求。
附图说明
图1是8个节点的Merkle树示意图。
图2是本发明系统模型图。
具体实施方式
下面将结合具体实施方式对本发明作进一步的描述。
为了更有利于理解要发明,对双线性映射和Merkle树做如下介绍。
双线性映射:设G1和G2是阶为素数q的乘法循环群,g是群G1的生成元。双线性映射e:G1×G1→G2满足如下的性质:
1)双线性:对于任意u、v∈G1和a,b∈Zq,满足e(ua,vb)=e(u,v)ab。
2)非退化性:e(g,g)≠1。
3)可计算性:对于任意u、v∈G1,存在有效的算法计算e(u,v)。
Merkle树:Merkle树MHT是树形结构的哈希树,是一种对数据进行完整性校验的结构,它的叶子节点值是数据块的哈希值。构造Merkle树时,首先计算数据块的哈希值,然后将数据块的哈希值两两配对,如果是奇数个数,最后一个与自身配对,计算上一层节点的哈希值,再重复这个步骤,一直到计算出根节点哈希值。如图1所示,展示8个节点的Merkle树示意图。令h:{0,1}*→{0,1}l是一个安全的哈希函数,最底层有:hi=h(Ti),进而可得hc=h(h1,h2);hd=h(h3,h4);he=h(h5,h6);hf=h(h7,h8),最终ha=h(hc,hd);hb=h(he,hf)和hroot=h(ha,hb)。当我们需要校验数据块中包含{T2,T4,T6}时,只需要提供辅助信息h1,h3,h5,hf,并计算h2=h(T2),h4=h(T4),h6=h(T6),即可重构如果则说明包含完整的数据块{T2,T4,T6}。
本发明的基于身份的在线/离线安全云存储审计方法中涉及四个实体,如图2所示,分别是密钥生成中心KGC、用户、云服务器和第三方审计者TPA,且通过如下的步骤完成云存储完整性验证服务;
步骤1,Setup算法:输入安全参数1k,G1和G2是阶为素数q乘法循环群,g是群G1的生成元,H1,H2:{0,1}*→G1和h:{0,1}*→Zq是安全哈希函数,e:G1×G1→G2是双线性映射。密钥生成中心选择随机值α∈Zq作为主私钥msk,主公钥mpk=gα。系统公共参数param为(e,q,G1,G2,g,mpk,h,H1,H2)。
步骤2,Extract算法:输入主私钥msk=α和param=(e,q,G1,G2,g,mpk,h,H1,H2)以及用户的身份ID,密钥生成中心为用户生成密钥kID=H1(ID)α。
同时用户基于哈希值{h(ui)}i∈[1,n]创建根为root的Merkle树,并且计算签名其中IDSig是一个安全的基于身份签名算法,而相应的验证算法为IDVef。最后,用户将文件F=(m1,...,mn),验证标签{(ui,ri,σi)}i∈[1,n],以及(γ,name,σroot)做为存储信息发送给云服务器。云服务器接收到用户的存储信息后,首先利用IDVef算法验证签名σroot的合法性;如果通过验证,则对i∈[1,n],云服务器判断如下等式
是否成立;如果成立则接受用户的储存请求,如果不成立则拒绝用户的储存请求,输出结束标志⊥。
步骤5,Challenge算法:为了验证name文件F的完整性,第三方审计者TPA向云服务器发送验证请求。云服务器首先将(γ,ui,h(root),σroot)信息发送给第三方审计者TPA,第三方审计者TPA利用IDVef算法验证签名σroot的合法性;如果没有通过验证,第三方审计者TPA终止操作,否则其随机选择c元子集作为要验证数据块的索引,即集合J中一共包含c个元素;同时为每个j∈J选择随机值yj∈Zq。最后第三方审计者TPA将挑战chal=(name,{(j,yj)}j∈J)发送给云服务器。
步骤6,ProofGen算法:接收到第三方审计者TPA的挑战后,也就是收到第三方审计者TPA发来的挑战chal后,云服务器利用其存储的数据和验证标签,按以下步骤生成拥有证明:
步骤6.1,基于挑战的数据块,计算μ=∑j∈Jyjmj。
步骤6.3,云服务器将(μ,σ,{uj,rj,Δj}j∈J)作为拥有证明返回给第三方审计者TPA。其中Δj是MHT中相应的验证辅助信息。
步骤7,ProofVerify算法:第三方审计者TPA收到云服务器返回的拥有证明(μ,σ,{uj,rj,Δj}j∈J)后,首先计算{h(uj)}j∈J,并利用相应的辅助信息Δj生成根节点h(root')。如果h(root')=h(root),则继续计算V=∑j∈J(H2(name|j)+rj)yj,并验证下式是否成立:
如果等式成立,表明验证通过,第三方审计者TPA向用户审查回复验证通过,TPA输出1,如果等式不成立,第三方审计者TPA向用户审查回复验证不通过,TPA输出0。
本发明提出了基于身份的在线/离线安全云存储审计方法,该方法能够实现第三方审计者对云存储中数据的有效审计,不仅在线计算阶段,用户仅需执行少量复杂计算,运算效率大大提高,并消除了昂贵的公钥基础结构所带来的复杂的证书管理/验证成本,同时方案能提供健壮性的安全需求。
Claims (1)
1.基于身份的在线/离线安全云存储审计方法,其特征在于,包括如下步骤:
步骤1,Setup算法:输入安全参数1k,其中k表示达到安全需要的位数,G1和G2是阶为素数q乘法循环群,g是群G1的生成元,H1,H2:{0,1}*→G1和h:{0,1}*→Zq是安全哈希函数,e:G1×G1→G2是双线性映射;密钥生成中心KGC选择随机值α∈Zq作为主私钥msk,主公钥mpk=gα;系统公共参数param为(e,q,G1,G2,g,mpk,h,H1,H2);
步骤2,Extract算法:根据主私钥msk=α和param=(e,q,G1,G2,g,mpk,h,H1,H2)以及用户的身份ID,密钥生成中心KGC为用户生成密钥kID=H1(ID)α;
步骤3,用户为存储数据生成验证标签时,分为离线计算和在线计算阶段;
同时用户基于哈希值{h(ui)}i∈[1,n]创建根为root的MHT,并且计算其中IDSig是一个安全的基于身份签名算法,而相应的验证算法为IDVef;最后,用户将文件F=(m1,...,mn),验证标签{(ui,ri,σi)}i∈[1,n],以及(γ,name,σroot)做为存储信息发送给云服务器;接收到用户的存储信息后,云服务器首先利用IDVef算法验证签名σroot的合法性;如果通过验证,则对i∈[1,n],云服务器判断如下等式
是否成立;如果成立则接受用户的储存请求,如果不成立则拒绝用户的储存请求,输出结束标志⊥;
步骤5,Challenge算法:为了验证name文件F的完整性,第三方审计者TPA向云服务器发送验证请求;云服务器首先将(γ,ui,h(root),σroot)信息发送给TPA,TPA利用IDVef算法验证签名σroot的合法性;如果没有通过验证,TPA终止操作,否则其随机选择c元子集作为要验证数据块的索引,c元子集为TPA验证的数据块个数,同时为每个j∈J选择随机值yj∈Zq;最后TPA将挑战chal=(name,{(j,yj)}j∈J)发送给云服务器;
步骤6,ProofGen算法:接收到TPA的挑战后,云服务器利用其存储的数据和验证标签,按以下步骤生成拥有证明:
步骤6.1,基于挑战的数据块,计算μ=∑j∈Jyjmj;
步骤6.3,云服务器将(μ,σ,{uj,rj,Δj}j∈J)作为拥有证明返回给第三方审计者TPA;其中Δj是MHT中相应的验证辅助信息;
步骤7,ProofVerify算法:TPA收到云服务器返回的拥有证明(μ,σ,{uj,rj,Δj}j∈J)后,首先计算{h(uj)}j∈J,并利用相应的辅助信息Δj生成根节点h(root');如果h(root')=h(root),则继续计算V=∑j∈J(H2(name|j)+rj)yj,并验证下式是否成立:
如果等式成立,表明验证通过,TPA输出1,如果等式不成立,则表明验证不通过,TPA输出0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046325.3A CN112800482B (zh) | 2021-01-14 | 2021-01-14 | 基于身份的在线/离线安全云存储审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046325.3A CN112800482B (zh) | 2021-01-14 | 2021-01-14 | 基于身份的在线/离线安全云存储审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800482A CN112800482A (zh) | 2021-05-14 |
CN112800482B true CN112800482B (zh) | 2022-10-28 |
Family
ID=75810674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110046325.3A Active CN112800482B (zh) | 2021-01-14 | 2021-01-14 | 基于身份的在线/离线安全云存储审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800482B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489690B (zh) * | 2021-06-22 | 2023-04-07 | 暨南大学 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
CN115150103B (zh) * | 2022-08-29 | 2022-11-29 | 人民法院信息技术服务中心 | 基于区块链的数字凭证离线验证方法、装置及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811450B (zh) * | 2015-04-22 | 2017-10-17 | 电子科技大学 | 云计算中一种基于身份的数据存储方法及完整性验证方法 |
CN106658045A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种多媒体数据的云存储、云下载方法及相关装置 |
CN110912706B (zh) * | 2019-11-15 | 2021-08-03 | 东北大学 | 一种基于身份的动态数据完整性审计方法 |
-
2021
- 2021-01-14 CN CN202110046325.3A patent/CN112800482B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112800482A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
Zhao et al. | Identity-based public verification with privacy-preserving for data storage security in cloud computing | |
CN104378374B (zh) | 一种基于安全套接层建立通信的方法及系统 | |
CN102983971B (zh) | 网络环境中进行用户身份认证的无证书签名方法 | |
Li et al. | Synchronized provable data possession based on blockchain for digital twin | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及系统和装置 | |
CN106487786B (zh) | 一种基于生物特征的云数据完整性验证方法及系统 | |
CN112800482B (zh) | 基于身份的在线/离线安全云存储审计方法 | |
CN109639439A (zh) | 一种基于两方协同的ecdsa数字签名方法 | |
CN111010285B (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
CN112152813B (zh) | 一种支持隐私保护的无证书内容提取签密方法 | |
CN101697513A (zh) | 数字签名方法、验证方法、数字签名装置及数字签名系统 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN103220146B (zh) | 基于多变量公钥密码体制的零知识数字签名方法 | |
CN110896351A (zh) | 基于全域哈希的身份基数字签名方法 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
WO2008026345A1 (fr) | Système de signature électronique et procédé de vérification de signature électronique | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
CN111404685B (zh) | 一种属性基签名方法及系统 | |
Li et al. | A forward-secure certificate-based signature scheme | |
CN104579661A (zh) | 基于身份的电子签章的实现方法和装置 | |
CN115174037A (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
Hanaoui et al. | MULTI-AGENT identity combined key Signature authentication PROTOCOL based schnorr signature with provable security under AVISPA | |
Tian et al. | Cryptanalysis of an ID-based proxy signature scheme with message recovery | |
CN115174052B (zh) | 一种基于sm9签名的适配器签名生成方法及装置 |
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 |