CN113094335A - 云环境下基于改进多分支树的完整性动态审计方法 - Google Patents

云环境下基于改进多分支树的完整性动态审计方法 Download PDF

Info

Publication number
CN113094335A
CN113094335A CN202110307494.8A CN202110307494A CN113094335A CN 113094335 A CN113094335 A CN 113094335A CN 202110307494 A CN202110307494 A CN 202110307494A CN 113094335 A CN113094335 A CN 113094335A
Authority
CN
China
Prior art keywords
user
csp
data
authentication
root node
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.)
Pending
Application number
CN202110307494.8A
Other languages
English (en)
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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110307494.8A priority Critical patent/CN113094335A/zh
Publication of CN113094335A publication Critical patent/CN113094335A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了云环境下基于改进多分支树的完整性动态审计方法,包括基于身份的动态完整性审计方法和改进的多分支树构建方法两部分,采用采用基于身份的完整性审计架构,通过提出改进的多分支树认证结构,在认证树的非叶子节点上存储数据块信息提高节点利用率,利用选取副根节点描述该节点及其下面所有子孙节点的完整性,将局部性原理的概念引入到多分支树的构建中,在节点增设访问频率记录数据块被访问的频率。当云服务提供商对TPA发来的验证请求进行数据块查询时按照访问频率对认证树进行遍历,可无需遍历整个认证树,仅在相应副根节点进行查找,进而缩短认证路径长度。在实现动态审计的同时减少了验证过程的通信开销。

Description

云环境下基于改进多分支树的完整性动态审计方法
技术领域
本发明属于云计算安全技术领域,具体涉及云环境下基于改进多分支树的完整性动态审计方法,该方法提出基于身份的动态完整性审计方法和改进的多分支树构建这两个技术,既可实现云完整性审计过程中用户对文件的动态更新,又可提高云环境下完整性审计的效率,减少计算和通信开销。
背景技术
随着信息技术和网络技术的飞速发展,用户数据呈爆炸式增长,云服务的出现解决了大规模数据本地计算和存储的局限性,然而当数据以外包方式存储在云端时,用户失去了对数据的绝对控制,云端数据可能会受到攻击者或云服务商有意或无意篡改或破坏。例如,2020年,联合国欧洲云服务器遭入侵者下载大约400GB的数据,超过4000名联合国工作人员的个人信息被泄露。这些数据安全和隐私泄露事件极大降低用户对云服务的信任,制约云存储的发展及推广。因此,如何维护云端存储数据的安全性是当前云存储要解决的重要问题之一。
安全审计是一种确保数据完整性的重要手段。基于第三方的数据完整性审计是当前数据完整性审计方案的主流,然而在过程中,主要面临敏感信息保护(第三方审计者代替用户进行数据完整性校验时,其有可能通过云服务提供商返回的持有性证明反推出原始数据,导致用户数据泄露;云服务提供商CSP是非可信的,他有可能为了自身利益,将用户数据泄露给恶意用户)、数据动态更新以及审计性能优化三个方面的挑战。因此,如何高效审计非完全可信云上存储数据完整性是制约云存储发展的重要问题。现有的数据完整性审计方法虽已经关注这三个方面的问题,但大部分基于第三方审计的数据完整性检查结构依赖于公钥基础设施,用户需要生成并管理公钥证书,审计员需要对证书进行验证,这增加了用户与第三方审计员的开销,影响完整性审计的工作效率,且大部分动态审计方案采用Merkle哈希树认证结构,随着数据块的增多,存在认证过程中和认证数据所需辅助信息过多等缺点,因此在验证及更新过程中云服务提供商对数据块查询需要较长的时间,给云服务提供商带来额外的计算和通信开销。
发明内容
针对现有技术中存在的完整性审计动态更新以及审计效率问题,本发明提出一种云环境下基于改进多分支树的完整性动态审计方法,应用基于身份的动态完整性审计方法和改进的多分支树构建技术,实现云环境下完整性审计的动态更新和高效。
云环境下的数据完整性审计方案一般分为私有审计和第三方审计两类。私有审计效率较高,但只有用户才能进行,需要用户负责数据签名、审计证明验证等计算和维护大量的信息。第三方审计将审计任务委托给可信第三方,用户将数据预处理后存放到云服务器,并向第三方审计者发授权,由第三方完成数据的完整性验证,第三方审计者将验证报告发送给用户,可大大减少用户的计算开销。
在基于第三方的数据完整性审计过程中,大部分基于第三方审计的数据完整性检查结构依赖于公钥基础设施,用户需要生成并管理公钥证书,审计员需要对证书进行验证。为简化证书管理,相关学者基于双线性对提出了基于身份的完整性验证方案,在原有三方参与审计框架中引入密钥生成器,由可信的密钥生成器生成用户私钥以实现对用户数据的签名,并将用户如身份证号码、电子邮件地址或姓名等身份信息直接视为公钥,消除了用户证书生成与管理以及第三方审计员的证书验证,减少了两个实体的计算开销。然而,目前大部分基于身份的审计方案未考虑用户对云端数据更新时的完整性审计此外,大部分方案采用Merkle哈希树认证结构,随着数据块的增多,存在认证过程中和认证数据所需辅助信息过多等缺点,因此在验证及更新过程中云服务提供商对数据块查询需要较长的时间,给云服务提供商带来额外的计算和通信开销。
综上,本发明采用基于身份的审计模型避免了对公钥证书颁发、管理和吊销等复杂的证书管理工作;同时,为了解决用户动态操作引入的数据块增多、认证所需辅助信息过多的问题,结合Merkle哈希树支持数据动态操作的优点,提出改进的多分支认证树结构,通过选取副根节点存储信息来缩短认证路径长度,采用局部性原理减少数据块查询时间,提高了第三方审计效率,在实现动态审计的同时减少了验证过程的通信开销。
1.改进的多分支树构造方法
在本发明提出方法中,用户端首先通过改进多分支树认证结构构造模块构造多分支树,用于存储用户文件的数据块,然后由签名模块生成数据块的签名和多分支认证树根节点的签名,之后将文件、签名以及树的根节点签名γ,副根节点签名集合Γ和认证结构C一起发送给云服务器,最后再将本地数据块删除释放空间。而CSP端通过在多分支树查找相应数据块计算相应的持有性证明并发送给第三方审计员TPA,由TPA通过等式验证数据完整性并将审计结果发送给用户。在用户对数据进行更新时,CSP通过对文件块标识的查找,在多分支树结构上对文件进行增删改操作。
由于传统多分支认证树只在叶子节点存储数据块的Hash值导致数据结构规模庞大且节点有效利用率低。为了提高节点利用率,缩短认证路径长度,提高TPA审计效率,本发明如下改造多分支认证树:在多分支树非叶子节点(例如zn+1)上存储数据块信息提高节点利用率;设置副根节点缩短认证路径长度;采用局部性原理到多分支树构建中,在节点增设访问频率记录数据块被访问的频率。由此,得到一种改进的多分支认证树结构,如图1所示。
本发明提出方法通过在多分支树的非叶子节点存储文件信息,相比于原来的多分支树审计方案,同样层级和分支树结构,改进后会存储更多的文件块信息,因此可以将文件分割成更小的文件块,更小的文件块会缩短计算哈希值的时间,从而增加整个树结构的运算效率。此外,通过增设副根节点,让多分支树结构去中心化,在完整性审计过程中,CSP在根据TPA发来的审计质询来检索文件块时需要遍历树结构,改进的多分支树结构可以通过副根节点的节点存储信息查询到文件块的近期访问频率,从近期访问频率高的副根节点开始遍历,进行文件块的查找,快速找到目标文件所在的区域,从而无需像原来方案那样遍历整个树结构到叶子节点,缩短了检索路径,减少了CSP文件检索时间,能够减轻云服务提供商的计算开销。同样,在用户进行动态更新的时候,CSP通过从访问频率高的副根节点开始遍历,能更快找到相应的文件块,并对文件块进行更新,且只需更新部分副根节点的哈希值即可,缩短了哈希值的更新层级,自下而上计算哈希值的时候也缩短了计算路径,减少了CSP的计算开销。
2.基于身份的动态完整性方法
本发明采用基于身份的动态数据完整性审计方法示意图如图2所示。方法架构如图3所示,其中,PKG负责系统初始化、密钥生成;用户端执行授权及签名生成;第三方审计者执行挑战质询;云服务商执行证明生成与验证模块构成方法。
系统初始化功能是PKG生成初始化数据完整性审计的相关系统参数。用Setup算法实现,具体为Setup(1λ)→(pp,msk),即以一个安全参数λ作为输入,输出公共参数PP和主密钥msk。系统参数为{G,GT,e,q,g,u,H1,H2,H3,Ppub(mpk)}。其中,令G和GT是两个阶都为素数q>2k(两个阶为大素数q)的循环群,G是加法循环群,GT是乘法循环群。e:G×G→GT是双线性映射。H1:{0,1}*→G,H2:{0,1}*→Z* q和H3:G→Z* q是三个哈希函数。g,u是群G的生成元。PKG随机选择x0∈Z* q,计算Ppub=gx0,s作为主私钥msk,Ppub作为主公钥mpk。最后PKG秘密保存x0,公布系统参数。
密钥生成功能是PKG根据用户提供的身份信息,为用户生成对应的私钥,用KeyExtract算法实现,具体为KeyExtract(PP,msk,ID)→skID,即以公共参数PP、主密钥msk和用户身份标识ID作为输入,输出对应于身份标识的私钥skID。在这个过程中,用户将身份ID发给PKG,PKG随机选择b∈Z* q,B=gb,计算私钥skID=b+x0H2(ID,B)modq,PKG计算作为公钥,并将用户私钥skID通过安全信道发送给用户,用户收到PKG发送的私钥通过等式(1)gskID=B·Ppub H2(ID,B)modq验证私钥是否有效,如果等式成立则接收私钥,反之丢弃。
改进多分支树认证结构构造模块主要是用户对改进多分支树认证结构C的构造,并将所构造的认证结构和签名一同发送给云服务提供商进行存储。用Construct算法实现,具体为用Construct(m)→C,即以文件块mi作为输入,输出认证结构C。
签名模块主要是用户端生成数据块的签名和多分支认证树根节点和副根节点的签名,用Sign算法实现,具体为:Sign(m,skID)→(σi,γ,Γ),即以私钥skID和文件块mi作为输入,输出文件认证标签σi,认证结构签名γ、Γ。用户为文件F的每一个数据块mi产生一个认证标签,首先用户计算σi=(H1(name||Vn||ti)·umi)skID,其中i是数据块mi的索引,name是文件标识符,vn是当前版本号,ti是时间戳,Φ是σi的有序集合。之后,计算根节点,通过skID对根节点和副根节点进行签名得到γ=(H1(R))skID和Γ=(H1(R*))skID。将文件、签名以及树的根节点签名γ和副根节点签名集合Γ一起发送给云服务器,将本地的数据块删除释放空间。
挑战质询功能是TPA代替用户生成审计质询并发送给云服务提供商以进行数据完整性验证,用Challenge算法实现,具体为Challenge(PP,ID)→chal:即将公共参数PP和用户的身份ID作为输入,输出一个挑战质询chal。当TPA对云端上的数据进行完整性审计时,TPA会产生一个审计质询发送给云端:首先,TPA随机选择一个有c个元素的集合I,其中
Figure BDA0002988120270000041
TPA对每一个i∈I产生一个随机值vi∈Z* q,最后,审计质询为chal={1,vi}i∈I,TPA将审计质询发给云端。
审计证明生成模块功能是CSP根据TPA发来的审计质询,根据云端存储的用户文件和认证标签生成审计证明发送给TPA进行数据完整性验证。用Proof算法实现,具体为Proof(chal,σi,m)→P:即以文件块mi、认证标签σi和挑战质询chal作为输入,输出审计证明P。云端根据TPA发来的审计质询计算T=∏i∈Iσi vi和μ=Σi∈Ivimi。并根据收到的索引值消息找到对应的存储在CSS端的文件块的位置,探明从文件块到根结点的路径,由下至上的路径上所有兄弟结点的集合为文件块验证的辅助信息{H1(zi),Ωi}i∈I,为保护数据的隐私。并将P={T,μ,{H1(zi),Ωi}i∈I,γ,Γ1≤i≤I}发送给TPA作为审计证明。
验证模块功能是TPA根据等式验证CSP返回的审计证明,判断云端是否完整存储用户文件,并将验证结果发送给用户,用Verify算法实现,具体为Verify(chal,PP,ID,P)→{0,1}:以公共参数PP、用户身份标识ID、挑战质询chal和审计证明P作为输入,输出审计结果0或1来表示云中存储的文件是否被篡改。在接受到云端发来的持有性证明P后,TPA验证等式(3)e(γ,g)=e(H1(R),pk)和(4)e(Γ,g)=e(H1(R*),pk)是否成立,如果不成立则不通过,无法确保文件的完整性,输出失败,如果成立,通过检查以下等式是否成立来判断该持有性证明是否正确:
Figure BDA0002988120270000042
如果上述等式成立,则说明证明是正确的,TPA输出成功,否则失败。
常见的用户数据动态更新主要包括对数据块的增删改三个操作。在数据更新过程中,用户首先向云服务提供商发送更新请求,云服务提供商对文件块进行更新操作,生成新的证明、根节点与副根节点,更新认证结构,并生成新的持有性这证明发送给用户,用户验证更新数据块前多分支树认证结构的正确性,验证通过则继续,否则终止。之后重新计算根节点与副根节点,与CSP返回值进行对比,一致则说明CSP正确更新文件,否则则没有。验证通过后用户对新的根节点、副根节点进行签名并发送给云服务提供商进行更新。
由于本发明提出的改进多分支树认证结构比传统多分支树结构增设了副根节点R*,R*存储了以之为根的树上每个节点对应数据块的哈希值,这样在检索文件块时,不用对于每个要更新的文件块都检索到底层叶子节点,缩短了文件检索路径与哈希值的更新层级,减少了CSP的计算开销,同时减少了辅助信息量,降低了CSP与用户的通信开销。此外,本发明提出方法允许CSP只对距离要更新文件块最近的副根节点进行更新,这种方式减少了审计证明生成时的辅助信息量,提高了整个系统的审计效率。。
(1)数据修改时的验证协议
用户对数据修改操作本质上是一个替换的过程,总的来说是先找到要修改的目标数据块再进行替换的过程,将文件块mi修改为mi’,如图4(a)所示。
(2)数据删除时的验证协议
数据删除时的验证过程由图4(b)所示。数据删除过程中,用户首先向CSP发送删除请求消息update=(D,i),i表示文件块序号,CSP接受请求消息后对文件块执行删除算法,删除算法执行过程为:检索数据结构,找到并删除指定的文件块mi,更新根节点和副根节点哈希值,将更新后的副根节点生成证明发送给用户,用户对证明进行验证判断CSP是否诚实更新。
(3)数据插入时的验证协议
假设要在文件块mi后插入m*,用户先对要插入的文件块生成标签值
Figure BDA0002988120270000051
将更新请求消息update=(I,i,m* i* i)发送给CSP,使CSP在指定的位置插入文件快。CSP接收到更新请求消息update后执行插入算法:在改进多分支认证树中检索文件块mi的位置,在他的后面插入m*,更新标签集合T'={σ12,...,σi,σ*,..,σI}。插入数据块的节点哈希值更新为原文件块mi和插入文件块m*哈希值联合后再求哈希值。更新副根节点哈希值,然后将插入操作完成的审计证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'}发送给用户,数据插入时的验证过程由图4(c)所示。
与现有技术相比,本发明具有以下优点:
(1)本发明所提方案采用基于身份的完整性审计架构,针对基于身份的加密体制的数据完整性审计中,几乎所有方案都是静态审计的问题,以及目前数据动态更新主要通过引入跳表和MHT两种认证结构,需要构造的认证树庞大,存在认证路径过长,每次认证都需要大量的辅助信息支持,计算代价和同性开销较大等问题。因此,为了确保动态环境下的数据完整性,本发明提出了一个动态更新机制,实现数据的动态更新,支持数据动态更新的完整性审计。
(2)本发明提出改进的多分支认证树结构,通过在认证树的非叶子节点上存储数据块信息提高节点利用率,选取副根节点描述该节点及其下面所有子孙节点的完整性,这样当云服务提供商对第三方发来的验证请求进行数据块查询时则无需遍历整个认证树,缩短了认证路径长度,在支持数据动态更新的同时可提高用户签名的效率。
附图说明
图1改进的多分支认证树结构示意图;
图2为基于身份的数据完整性动态审计方法示意图;
图3为基于身份的动态审计方法的架构示意图;
图4为完整性审计中用户数据动态更新时验证协议示意图(a)数据修改时的验证协议,(b)数据删除时的验证协议,(c)数据插入时的验证协议。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
本发明所述基于身份的数据完整性动态审计方法的具体实施过程如图2所示,包括以下步骤:
步骤1:用户将自己的用户身份标识ID发送给密钥生成器PKG。
步骤2:私钥生成。
(1)PKG进行系统初始化,以一个安全参数λ作为输入生成系统公共参数PP和主密钥msk。
(2)PKG根据用户提供的身份信息,为用户生成对应的私钥,以公共参数PP、主密钥msk和用户身份标识ID作为输入,输出对应于身份标识的私钥skID并通过安全通道发送给用户。
步骤3:私钥验证。
用户收到PKG发送的私钥通过等式(1)gskID=B·Ppub H2(ID,B)modq验证私钥是否有效,如果等式成立则接收私钥,反之丢弃。
步骤4:构建改进的多分支树认证结构
用户按照图1所示构造改进的多分支树认证结构,即以文件块mi作为输入,输出副根节点集合,构造改进的多份支树认证结构。
步骤5:签名
(1)用户通过私钥对文件块进行签名;
(2)用户通过私钥对根节点和副根节点签名;
(3)用户将文件块签名以及节点签名发送给云服务提供商CSP
(4)用户删除本地文件及签名。
步骤6:生成审计质询
(1)TPA代替用户进行完整性审计,生成审计质询chal,即以公共参数PP和用户的身份标识ID作为输入,输出一个挑战质询chal;
(2)TPA将审计质询发送给CSP。
步骤7:生成审计证明
(1)CSP接收审计质询chal;
(2)根据chal生成审计证明P;
(3)将审计证明P发送给TPA进行完整性验证。
步骤8:完整性验证
(1)TPA接受审计证明P;
(2)TPA验证等式(3)和等式(4)是否成立,如果不成立则不通过,无法确保文件的完整性;
(3)若(2)中验证通过,通过检查等式(5)是否成立来判断该持有性证明是否正确,如果上述等式成立,则说明证明是正确的,TPA输出成功,否则失败。
步骤9:用户数据更新
用户数据更新分为数据修改,数据删除和数据插入。
步骤9.1:用户修改数据并验证。
步骤9.2:用户删除数据并验证。
步骤9.3:用户插入数据并验证。
所述步骤4中改进的多分支树构造方法如图1所示,具体如下:
R*为副根节点,用于描述该节点及其下面所有子孙节点存储信息的完整性。节点R*是矩形方框区域中所有节点的副根节点,设定Q为副根节点的标识符。副根节点以下是一个n叉树,即树的每个内节点都有n个子节点,而每个叶子节点只能有一个父节点,树的深度为d,树中每个节点都是一个数据容器,用来存储数据块所对应节点标识信息及数据块哈希信息。根据局部性原理,即研究人员在对程序进行分析时发现数据访问具有阶段性和聚集性特征,其中聚集性通常体现为时间的局部性和空间的局部性。时间的局部性是指一个数据被访问之后,在不久后很可能会被再次访问;空间的局部性是指一个数据被访问之后,地址相邻的数据在不久后也可能会被访问。因此,本发明借助局部性原理设计多分支树节点存储的信息,旨在实现多分支树的高效查找。具体的,zi为多分支树中的节点存储信息,记为zi=(Ψ,h(zi),F),其中,Ψ=(Q,Ai)为标识,Q是副根节点标识,Ai是节点版本号标识,用以保证节点的新鲜性;h(zi)是节点哈希值,由自身对应数据块哈希值h(mi)与孩子节点的哈希值链接后哈希运算得到的;F是近期访问频率,表示一段时间内的文件块访问数。认证路径为第i节点由下至上从用户请求验证节点开始到副根节点路径上所有父节点的集合为认证路径,记作pathi=(r1,i,r2,i,...,rj,root'),其中,认证路径长度为pathl=d,r1,i表示需要验证第i节点,rd,root*表示副根节点。
改进的多分支树构造过程步骤包括如下:
步骤1:设置节点结构
设置多分支树结构的信息集、儿子链表和父节点。
步骤2:建树
(1)输入文件信息M,n块,树的高度d,哈希函数H,遍历变量i;
(2)设置节点链表层数和当树的高度,自底向上遍历;
(3)初始化文件M,把信息文件M分成n^d份,构成d层的n叉树;
步骤3:筛选副根节点并输出
(1)构建临时父亲节点并继续遍历节点,取哈希值;
(2)设置副根节点条件,判断是否为副根节点,满足条件则输出。
所述步骤9.1用户修改数据及验证方法如图4(a)所示,包括以下步骤:
步骤1:用户通过新数据块的认证标签生成更新请求,认证标签为,更新请求为update=(M,i,m’i,σ’i)。
步骤2:用户向CSP发送更新请求,其中M表示修改操作。
步骤3:在CSP收到用户的更新请求后,CSP修改文件。首先,CSP用新的数据块mi'替换原来的数据块mi,生成一个新的文件F'。然后,CSP用σi'替换旧身份验证标记σi,计算出散列值H1(mi')的取代了数据块和替换的第i个节点上的散列值,计算并更新哈希值H1(zi')所有相关节点的认证路径形成一个新的树结构,输出新的根节点值R”和副根节点值R*’。最后,CSP生成更新证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'}。
步骤4:CSP将Pupdate发送给用户。
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*。
步骤6:由用户判断公式(3)和式(4)是否正确。如果它们不为真,则用户输出失败。如果为真,则继续验证CSP的数据修改操作是否正确。
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作。
步骤8:用户计算根节点γ'和副根节点Γ'的签名。
步骤9:用户将新签名发送给CSP。
所述步骤9.2用户删除数据及验证方法如图4(b)所示,包括以下步骤:
步骤1:在删除数据的过程中,用户首先向CSP发送一个删除请求update=(D,i),i表示要删除的数据块的序列号。
步骤2:用户向CSP发送更新请求,D表示删除操作。
步骤3:CSP在接收到请求消息后更新文件。CSP首先检索数据结构,查找并删除指定的数据块mi,更新根节点R'和副根节点R*'的哈希值,然后将更新后的证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'}发送给用户。
步骤4:CSP将Pupdate发送给用户。
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*。
步骤6:由用户判断公式(3)和式(4)是否正确。如果它们不为真,则用户输出失败。如果为真,则继续验证CSP的数据修改操作是否正确。
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作。
步骤8:用户计算根节点γ'和副根节点Γ'的签名。
步骤9:用户将新签名发送给CSP。
所述步骤9.3用户插入数据及验证方法如图4(c)所示,包括以下步骤:
步骤1:用户首先为要插入的数据块生成一个身份验证标签,并向CSP发送更新请求update=(I,i,m* i* i)。
步骤2:用户向CSP发送更新请求,I表示插入操作。
步骤3:CSP在指定位置插入数据块。在CSP接收到更新请求后,它将更新文件。首先,CSP检索数据块mi的位置,并在其后面插入m*,然后更新认证标记集T'={σ12,...,σi,σ*,..,σI}。节点的哈希值插入数据块更新原始数据块mi的散列值和插入的数据块m*,然后CSP更新副根节点的哈希值,然后将更新发送证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'}。
步骤4:CSP将Pupdate发送给用户。
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*。
步骤6:由用户判断公式(3)和式(4)是否正确。如果它们不为真,则用户输出失败。如果为真,则继续验证CSP的数据修改操作是否正确。
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作。
步骤8:用户计算根节点γ'和副根节点Γ'的签名。
步骤9:用户将新签名发送给CSP。
本发明所述的基于身份的动态审计方法的架构示意图如图3所示。
(1)私钥生成端PKG,是根据用户发送的身份标识为用户生成用户私钥,以进行后续验证过程中数据标签的生成、认证结构签名以及更新过程。其主要功能为:运行初始化模块进行整个系统初始化;运行私钥生成算法为用户生成私钥,并将相应私钥通过安全通道发送给用户端。
(2)用户端User,是指为用户提供与PKG、云端与第三方审计员进行交互的程序,主要是改进的多分支树构造、生成签名以及更新等模块,用户可选择相应的模块进行操作,主要功能有:改进的多分支树构造,即用户对文件进行分块并进行哈希值,并计算改进多分支树认证结构根节点和副根节点哈希值以形成改进的多分支树结构来进行文件块信息的存储和文件块的更新;签名生成,即将文件按照指定的格式划分为数据块,生成数字标签;文件更新,即用户向云服务器端发出文件更新请求,云服务提供商根据请求进行相应的文件块更新,生成新的认证结构并重新计算根节点和副根节点,最后将相应的更新信息发回给用户,由用户端验证云服务器是否正确更新文件块。
(3)第三方审计员端主要负责挑战质询的生成以及用户数据完整性的验证。挑战质询生成,即根据用户数据块总数,随机选取适合的挑战块数与随机数,形成挑战质询chal发送给云服务器端进行完整性挑战;数据完整性验证,即根据云服务端发送的审计证明进行完整性验证,最终将验证结果返回给用户端,告知用户其数据是否被完整存储在云端。
(4)云服务提供商端主要有审计证明生成模块和更新证明生成模块:审计证明模块指根据第三方审计员端的挑战质询,云服务器查找并获取相关的文件块哈希值,并计算审计证明,将审计证明发送给第三方审计员进行数据完整性验证。更新证明生成模块指云服务器接受用户发来的数据更新请求,根据请求对文件进行更新,并生成更新证明发送给用户用于验证云端是否正确更新文件。

Claims (5)

1.云环境下基于改进多分支树的完整性动态审计方法,其特征在于包括以下步骤:
步骤1:用户将自己的用户身份标识ID发送给密钥生成器PKG;
步骤2:私钥生成;
(1)PKG进行系统初始化,以一个安全参数λ作为输入生成系统公共参数PP和主密钥msk;
(2)PKG根据用户提供的身份信息,为用户生成对应的私钥,以公共参数PP、主密钥msk和用户身份标识ID作为输入,输出对应于身份标识的私钥skID并通过安全通道发送给用户;
步骤3:私钥验证;
用户收到PKG发送的私钥通过等式(1)gskID=B·Ppub H2(ID,B)modq验证私钥是否有效,如果等式成立则接收私钥,反之丢弃;
步骤4:构建改进的多分支树认证结构
用户按照图1所示构造改进的多分支树认证结构,即以文件块mi作为输入,输出副根节点集合,构造改进的多份支树认证结构;
步骤5:签名
(1)用户通过私钥对文件块进行签名;
(2)用户通过私钥对根节点和副根节点签名;
(3)用户将文件块签名以及节点签名发送给云服务提供商CSP
(4)用户删除本地文件及签名;
步骤6:生成审计质询
(1)TPA代替用户进行完整性审计,生成审计质询chal,即以公共参数PP和用户的身份标识ID作为输入,输出一个挑战质询chal;
(2)TPA将审计质询发送给CSP;
步骤7:生成审计证明
(1)CSP接收审计质询chal;
(2)根据chal生成审计证明P;
(3)将审计证明P发送给TPA进行完整性验证;
步骤8:完整性验证
(1)TPA接受审计证明P;
(2)TPA验证等式(3)和等式(4)是否成立,如果不成立则不通过,无法确保文件的完整性;
(3)若(2)中验证通过,通过检查等式(5)是否成立来判断该持有性证明是否正确,如果上述等式成立,则说明证明是正确的,TPA输出成功,否则失败;
步骤9:用户数据更新
用户数据更新分为数据修改,数据删除和数据插入;
步骤9.1:用户修改数据并验证
步骤9.2:用户删除数据并验证
步骤9.3:用户插入数据并验证。
2.根据权利要求1所述的云环境下基于改进多分支树的完整性动态审计方法,其特征在于,所述步骤4中改进的多分支树构造方法包括以下步骤:
步骤1:设置节点结构
设置多分支树结构的信息集、儿子链表和父节点;
步骤2:建树
(1)输入文件信息M,n块,树的高度d,哈希函数H,遍历变量i;
(2)设置节点链表层数和当树的高度,自底向上遍历;
(3)初始化文件M,把信息文件M分成n^d份,构成d层的n叉树;
步骤3:筛选副根节点并输出
(1)构建临时父亲节点并继续遍历节点,取哈希值;
(2)设置副根节点条件,判断是否为副根节点,满足条件则输出。
3.根据权利要求1所述的云环境下基于改进多分支树的完整性动态审计方法,其特征在于,所述步骤9.1中用户修改数据及验证方法包括以下步骤:
步骤1:用户通过新数据块的认证标签生成更新请求,认证标签为,更新请求为update=(M,i,m’i,σ’i);
步骤2:用户向CSP发送更新请求,其中M表示修改操作;
步骤3:在CSP收到用户的更新请求后,CSP修改文件;首先,CSP用新的数据块mi'替换原来的数据块mi,生成一个新的文件F';然后,CSP用σi'替换旧身份验证标记σi,计算出散列值H1(mi')的取代了数据块和替换的第i个节点上的散列值,计算并更新哈希值H1(zi')所有相关节点的认证路径形成一个新的树结构,输出新的根节点值R”和副根节点值R*’;最后,CSP生成更新证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'};
步骤4:CSP将Pupdate发送给用户;
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*;
步骤6:由用户判断公式(3)和式(4)是否正确;如果它们不为真,则用户输出失败;如果为真,则继续验证CSP的数据修改操作是否正确;
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作;
步骤8:用户计算根节点γ'和副根节点Γ'的签名;
步骤9:用户将新签名发送给CSP。
4.根据权利要求1所述的云环境下基于改进多分支树的完整性动态审计方法,其特征在于,所述步骤9.2中用户删除数据及验证方法包括以下步骤:
步骤1:在删除数据的过程中,用户首先向CSP发送一个删除请求update=(D,i),i表示要删除的数据块的序列号;
步骤2:用户向CSP发送更新请求,D表示删除操作;
步骤3:CSP在接收到请求消息后更新文件;CSP首先检索数据结构,查找并删除指定的数据块mi,更新根节点R'和副根节点R*'的哈希值,然后将更新后的证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'}发送给用户;
步骤4:CSP将Pupdate发送给用户;
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*;
步骤6:由用户判断公式(3)和式(4)是否正确;如果它们不为真,则用户输出失败;如果为真,则继续验证CSP的数据修改操作是否正确;
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作;
步骤8:用户计算根节点γ'和副根节点Γ'的签名;
步骤9:用户将新签名发送给CSP。
5.根据权利要求1所述的云环境下基于改进多分支树的完整性动态审计方法,其特征在于,所述步骤9.3中用户插入数据及验证方法包括以下步骤:
步骤1:用户首先为要插入的数据块生成一个身份验证标签,并向CSP发送更新请求update=(I,i,m* i* i);
步骤2:用户向CSP发送更新请求,I表示插入操作;
步骤3:CSP在指定位置插入数据块;在CSP接收到更新请求后,它将更新文件;首先,CSP检索数据块mi的位置,并在其后面插入m*,然后更新认证标记集T'={σ12,...,σi*,..,σI};节点的哈希值插入数据块更新原始数据块mi的散列值和插入的数据块m*,然后CSP更新副根节点的哈希值,然后将更新发送证明Pupdate={{H1(zi),Ωi}i∈I,γ,R',Γ1≤i≤I,R*'};
步骤4:CSP将Pupdate发送给用户;
步骤5:用户根据CSP提供的证明程序验证信息,使用{H1(zi),Ωi}生成原始根R和副根R*;
步骤6:由用户判断公式(3)和式(4)是否正确;如果它们不为真,则用户输出失败;如果为真,则继续验证CSP的数据修改操作是否正确;
步骤7:用户用{H1(zi),Ωi}生成根R”和R*”,与CSP返回的R'和R*'比较,如果两个值相等,说明CSP正确执行了修改操作;
步骤8:用户计算根节点γ'和副根节点Γ'的签名;
步骤9:用户将新签名发送给CSP。
CN202110307494.8A 2021-03-23 2021-03-23 云环境下基于改进多分支树的完整性动态审计方法 Pending CN113094335A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110307494.8A CN113094335A (zh) 2021-03-23 2021-03-23 云环境下基于改进多分支树的完整性动态审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110307494.8A CN113094335A (zh) 2021-03-23 2021-03-23 云环境下基于改进多分支树的完整性动态审计方法

Publications (1)

Publication Number Publication Date
CN113094335A true CN113094335A (zh) 2021-07-09

Family

ID=76669053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110307494.8A Pending CN113094335A (zh) 2021-03-23 2021-03-23 云环境下基于改进多分支树的完整性动态审计方法

Country Status (1)

Country Link
CN (1) CN113094335A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113536396A (zh) * 2021-07-20 2021-10-22 重庆邮电大学 基于数据存储的安全管理方法
CN114050930A (zh) * 2021-11-10 2022-02-15 国家电网有限公司 一种基于工业互联网云计算的数据通信认证方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376230A (zh) * 2015-11-16 2016-03-02 东北大学 一种面向多层MAP的HMIPv6网络双向接入认证方法
CN110912706A (zh) * 2019-11-15 2020-03-24 东北大学 一种基于身份的动态数据完整性审计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376230A (zh) * 2015-11-16 2016-03-02 东北大学 一种面向多层MAP的HMIPv6网络双向接入认证方法
CN110912706A (zh) * 2019-11-15 2020-03-24 东北大学 一种基于身份的动态数据完整性审计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵洋;任化强;熊虎;陈阳;: "基于更新树的动态云数据审计方案", 信息网络安全, no. 12, pages 19 - 25 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113536396A (zh) * 2021-07-20 2021-10-22 重庆邮电大学 基于数据存储的安全管理方法
CN114050930A (zh) * 2021-11-10 2022-02-15 国家电网有限公司 一种基于工业互联网云计算的数据通信认证方法及系统
CN114050930B (zh) * 2021-11-10 2023-12-08 国家电网有限公司 一种基于工业互联网云计算的数据通信认证方法及系统

Similar Documents

Publication Publication Date Title
CN110912706B (zh) 一种基于身份的动态数据完整性审计方法
CN112532588B (zh) 一种基于区块链的策略隐藏型数据访问控制方法
Mouratidis et al. Partially materialized digest scheme: an efficient verification method for outsourced databases
CN112019591A (zh) 一种基于区块链的云数据共享方法
CN106897368B (zh) Merkle哈希求和树及其可验证数据库更新操作方法
Zheng et al. Efficient query integrity for outsourced dynamic databases
CN109525403B (zh) 一种支持用户全动态并行操作的抗泄露公开云审计方法
CN113312574A (zh) 一种基于区块链的云数据完整性审计方法
Chen et al. BIdM: A blockchain-enabled cross-domain identity management system
CN111970299A (zh) 基于区块链的分布式物联网设备身份认证装置和方法
CN110958109B (zh) 基于层次默克尔哈希树的轻型动态数据完整性审计方法
Yu et al. Comments on “public integrity auditing for dynamic data sharing with multiuser modification”
CN113094335A (zh) 云环境下基于改进多分支树的完整性动态审计方法
CN111614680A (zh) 一种基于cp-abe的可追溯云存储访问控制方法和系统
Li et al. Cryptoanalysis of an authenticated data structure scheme with public privacy-preserving auditing
Chen et al. A remote data integrity checking scheme for big data storage
CN104881615B (zh) 一种云环境下高效的隐私保护密文连接访问操作验证方法
Song et al. Smart contract-based trusted content retrieval mechanism for NDN
Zou et al. Dynamic provable data possession based on ranked merkle hash tree
CN115085972A (zh) 一种支持完整性审计的高效可验证区块链编辑方法
Junxiang et al. Dynamic provable data possession with batch-update verifiability
Lekshmi et al. Data auditing in cloud storage using smart contract
Canciani et al. Auditable data structures: theory and applications
CN117035740B (zh) 桥梁结构检测监测与维修数据溯源系统的构建方法
Lin et al. Ldasip: A Lightweight Dynamic Audit Approach for Sensitive Information Protection in Cloud Storage

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