CN110958109A - 基于层次默克尔哈希树的轻型动态数据完整性审计方法 - Google Patents
基于层次默克尔哈希树的轻型动态数据完整性审计方法 Download PDFInfo
- Publication number
- CN110958109A CN110958109A CN201910967915.2A CN201910967915A CN110958109A CN 110958109 A CN110958109 A CN 110958109A CN 201910967915 A CN201910967915 A CN 201910967915A CN 110958109 A CN110958109 A CN 110958109A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- hash
- root node
- local
- 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 24
- 238000012550 audit Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 238000005516 engineering process Methods 0.000 claims abstract description 6
- 238000012795 verification Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 3
- 239000004576 sand Substances 0.000 claims description 3
- 238000009827 uniform distribution Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 5
- 238000002474 experimental method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 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
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,包括步骤:1)数据拥有者对数据构建层次默克尔哈希树,在节点上存储数据信息,并且引入局部根节点;2)云端数据库利用位置敏感哈希技术存储数据拥有者的数据;3)云端数据库根据可信第三方审计的挑战信息生成挑战证据;4)可信第三方审计对证据进行完整性审计;5)对数据进行动态操作时,云端数据库生成证据,可信第三方审计对动态数据进行完整性审计。与现有技术相比,本发明具有较高的审计效率,能有效地降低通信及计算开销,并且支持高效的数据更新。
Description
技术领域
本发明属于计算机和密码学的交叉领域,尤其是涉及一种基于层次默克尔哈希树的轻型动态数据完整性审计方法。
背景技术
随着网络数据的日益规模化和集成化,云端数据库逐渐成为大数据时代数据的主要存储模式。云端数据库是一个以数据存储和管理为核心的云计算系统,能为数据提供动态可伸缩的存储服务,其最大特点是存储即服务。企业越来越倾向将本地数据的维护和管理工作外包给服务器提供商,从而降低设备升级、更新、维护等各个方面的运营成本。
然而,云端数据库是不可信的。数据拥有者为了节省本地存储空间,在将数据上传到云端后,通常会删除本地数据,这在物理上将失去对数据的控制。由于网络攻击、服务器设备故障等原因,使得存储在云端的数据可能被删除或者篡改,这将导致数据拥有者利益受到严重损害。为此,有些人已经提出了多种面向云端数据完整性的审计方案,基于此类方案,数据拥有者能够对存储在云端的数据进行完整性审计,并且及时监控和检测存储在云端的数据。
在云端数据库中能够支持数据动态操作的完整性审计方案是至关重要的,这将决定云端数据库服务发展的深度和广度。现有的众多支持动态操作的审计方案仅仅只是提出了模型,而且只能应用于特定的具体问题。对于现在云端存储具有采集频率高、更新速度快等特点的大数据,现有方案在数据检索效率和动态更新等方面存在不足,因此并不适用于云端数据的动态完整性审计。
发明内容
本发明的目的是:对数据进行完整性审计时,能够对实现云端数据的快速审计,并且支持高效的动态数据更新。
为了达到上述目的,本发明的技术方案是提供了一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,包括以下步骤:
步骤1、数据拥有者生成数据完整性审计的系统参数和私钥;
步骤2、对数据构建层次默克尔哈希树,并且在节点上存储节点信息,同时引入局部根节点,其中,层次默克尔哈希树是由一个根节点以及若干局部根节点、中间节点和叶子节点构成的。叶子节点是根据数据拥有者上传云端数据库的数据进行哈希运算得到的;中间节点是根据相邻的两个子节点哈希级联运算得到的;局部根节点是局部默克尔哈希树的根节点,根据中间节点经过哈希级联运算得到的;根节点是根据局部根节点经过哈希级联运算得到的。节点上存储的节点信息为Φ,则有Φ=(f(vij),Paraij,ψij),式中,f(vij)是数据mij的哈希值,Paraij是认证证书,ψij是属性信息;
步骤3、对叶子节点、局部根节点和根节点Root生成标签,然后将数据连同标签和节点信息一起上传到云端数据库中,并将它们从本地删除;
步骤4、利用位置敏感哈希技术将数据拥有者上传的数据存储在云端数据库;
步骤5、可信第三方审计通过向云端数据库发送挑战信息来检查上传的数据是否被完好保存;
步骤6、云端数据库在接收到可信第三方审计的挑战信息后,为挑战的数据生成相应的完整性证据,并将证据返回给可信第三方审计以证明数据的完整性;
步骤7、可信第三方审计在接收到云端数据库返回的证据后,对证据进行完整性审计,并根据结果判断数据是否完好;
步骤8、数据拥有者对存储在云端数据库中的数据进行动态操作,可信第三方审计判断数据动态操作是否正确。
优选地,步骤1具体包括以下步骤:
步骤101、输入为安全参数θ,输出为循环加法群G,并且存在双线性映射关系:e:G×G→GT,GT是循环乘法群,G和GT的阶均为素数p;
步骤102、随机选取α∈Zp,Zp表示模p的整数群,α作为私钥sk,并计算公钥pk=gα,形成密钥对(sk,pk),g为群G的生成元。
优选地,步骤2中,所述节点信息Φ的计算具体包括以下步骤:
步骤201、节点哈希值用f(vij)来表示,由自身哈希值f(vij)或左右子节点哈希值经过哈希级联运算得到的,其运算公式如下:
式中,h(mij)为数据mij的哈希值,h(mleft)为左子节点的哈希值,h(mright)为右子节点的哈希值;
步骤202、认证证书用Paraij来表示,是叶子节点到局部根节点rooti路径上所有兄弟节点的哈希值或局部根节点rooti到根节点Root路径上所有兄弟节点的哈希值;
步骤203、属性信息ψij是三元组ψij=(ID,R,DO),其中,ID是数据标识符;R是局部根节点标识符;DO是数据动态操作标识符。
优选地,所述步骤203具体包括以下步骤:
步骤2031、数据标识符ID用SMij表示,SMij为数据mij的标识,根据每个ID的不同,获得数据位置;
步骤2032、在层次默克尔哈希树中选取某个节点,用来描述该节点及其下方所有节点的完整性,则称该节点为局部根节点,记为rooti,设R为局部根节点标识符,其具体表示如下:
步骤2033、动态操作标识符用DO表示,其具体表示如下:
优选地,步骤3具体包括以下步骤:
步骤301、随机选取u∈G,u为辅助变量,对每个数据mij进行签名,得到σij=(h(mij)·umij)α,α为私钥sk,进而得到局部签名集合σi={σij},继而得到数据的签名集合T={σi};
对局部根节点rooti进行签名Sig(f(vi))=(f(vi))α,Sig(f(vi))为局部根节点rooti的签名,f(vi)为局部根节点rooti的哈希值,得到局部根节点的签名集合Γ={Sig(f(vi))};
对根节点Root进行签名Sig(f(vR))=(f(vR))α,f(vR)为根节点Root的哈希值;
步骤302、根据层次默克尔哈希树,写出叶子节点的认证证书Paraij和局部根节点的认证证书Parai,同时写出叶子节点的属性信息ψij和局部根节点的属性信息ψi;最后,叶子节点的信息集合为Φij=(f(vij),Paraij,ψij),局部根节点的信息集合为Φi=(f(vi),Parai,ψi),节点的信息集合为Φ={Φij,Φi};
步骤303、把(Φ,T,Γ,Sig(f(vR)),F)上传到云端数据库,并且把(Φ,T,Γ,Sig(f(vR)))上传到可信第三方审计,删除本地数据节省存储空间,其中,F={mij}为数据集合,mij为数据拥有者上传云端的数据。
优选地,步骤4具体包括以下步骤:
步骤401、由云端数据库构造I个哈希桶,并且I=i,其中,i为局部根节点数;
步骤402、对于每一个数据mij,由哈希映射函数fLSH映射到对应的哈希桶中,则有:
其中,a为d维随机变量,使用正态分布产生;v为数据mij对应的特征向量;b为范围在[0,L]内的实数,使用均匀分布产生;L是哈希桶宽度;
步骤403、设o<Key,Value>为数据的索引项,其中,Key表示数据ID的标识符SMij,Value表示记录数据的索引信息,将Value.Bucket[I]定义为数据映射到第I个桶。
优选地,步骤5具体包括以下步骤:
步骤501、可信第三方审计从有可能损坏的数据集合中(1,2,…,x)随机抽取s个数据,1≤s≤x,构成数据挑战集合W={m1,m2,…,ms}且m1≤k≤ms;
步骤502、对于k∈W,随机选取λk∈Zp,生成挑战信息集合chalk={k,λk},λk为随机数,然后周期性地向云端数据库发送验证请求。
优选地,步骤6具体包括以下步骤:
步骤601、云端数据库根据数据ID标识符SMij,用位置敏感哈希算法对I个哈希桶进行检索,找到挑战信息集合chalk对应需要验证的数据;
步骤602、分别计算k对应的数据:
式中,μ和σ为证据参数,λk为随机数,s为随机抽取数据的数目,mk为随机抽取的数据,σk为数据签名;
步骤603、计算节点信息Φk、局部根节点签名Γk和根节点签名Sig(f(vR))k;
步骤604、把证据Pk=(μ、σ、Φk、Γk、Sig(f(vR))k)发送给可信第三方审计。
优选地,步骤7具体包括以下步骤:
步骤701、验证Γk和Sig(f(vR))k是否正确,如果正确则继续验证;
步骤702、通过认证证书Parak计算局部根节点的哈希值f(vi)k和根节点的哈希值f(vR)k,验证e(Sig(f(·))k,g)=e(f(·)k,gα),e(·,·)为双线性等式;
优选地,步骤8具体包括以下步骤:
步骤801、数据拥有者将需要更新的数据标识符SMij发送给云端数据库;
步骤802、云端数据库运行位置敏感哈希算法,根据Value.Bucket[I]找到所属桶的编号I,进而找到需要更新的数据mk并进行更新;
步骤803、云端数据库把更新之后数据mk′的证据发送给可信第三方审计进行审计。
优选地,所述步骤803具体包括以下步骤:
步骤8031、云端数据库生成生成证据P′=(μk′、σk′、Φk′、Γk′、Sig(f(vR))k′、Γk、Sig(f(vR))k)发送给可信第三方审计,μk′和σk′为更新之后的证据参数,Φk′为更新之后的节点信息,Γk′为更新之后的局部根节点签名,Sig(f(vR))k′为更新之后的根节点签名;
步骤8032、可信第三方审计先验证Γk和Sig(f(vR))k是否相等;
步骤8033、可信第三方审计根据认证证书Parak′,计算得到局部根节点签名Γk″和根节点签名Sig(f(vR))k″;
步骤8034、验证Γk″=Γk′和Sig(f(vR))k″=Sig(f(vR))k′来判断数据更新的正确性。
与现有技术相比,本发明有以下有益效果,本发明的方法利用一种层次默克尔哈希树的数据结构,并融合位置敏感哈希技术,实现了轻型动态完整性审计。在层次默克尔哈希树的数据结构中,在节点上存储数据信息提高节点利用率,同时引入局部根节点来缩短认证路径长度;通过位置敏感哈希技术提高数据更新效率,在完整性审计时快速检索数据。因此,基于本发明实施例提供的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,不仅能够提高数据完整性审计效率,有效地降低通信及计算开销,并且还支持高效的动态数据更新。
附图说明
图1为本发明方案原理示意图;
图2为本发明实施例中层次默克尔哈希树的数据结构图;
图3为本发明实施例中层次默克尔哈希树节点存储的数据信息图;
图4为本发明实施例中测试实验得到通信开销对比图;
图5A及图5B为本发明实施例中测试实验得到计算开销对比图,其中,图5A为基于数据大小的计算开销对比图,图5B为基于数量大小的计算开销对比图;
图6为本发明实施例中测试实验得到更新效率时间对比图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本实施例中数据完整性审计模型具体包括以下三个方面:
供电公司(数据拥有者):用户的用电数据由智能电表采集后,分别汇集到他们各自的区域,所有区域数据再集中到供电公司。由于智能电表是智能终端,因此将智能电表和用户看成一个整体,即智能电表与用户的身份一致;
云端数据库:主要是指一个专业提供云端数据库服务的提供商。它可以存储供电公司的海量数据,并能正确地对数据进行插入、删除和修改等操作。但是,云端数据库是不可信的,不能保证云端存储数据的完整性;
可信第三方审计:主要是指当供电公司和云端数据库因智能电表数据的完整性问题产生争议时,对存储在云端的数据执行完整性审计。可信第三方审计具有一定的计算和存储能力,如可信第三方审计可以是计算机、手机或无线PDA等。
如图1所示,本实施例提供了一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,具体包括以下步骤:
1)供电公司生成数据完整性审计的系统参数和私钥;
2)对数据构建层次默克尔哈希树,并且在节点上存储数据信息,同时引入局部根节点;
3)供电公司对叶子节点、局部根节点和根节点生成标签,然后将数据连同标签和节点信息等一起上传到云端数据库中,并将它们从本地删除;
4)利用位置敏感哈希技术将供电公司上传的数据存储在云端数据库;
5)可信第三方审计通过向云端数据库发送挑战信息来检查上传的数据是否被完好保存;
6)云端数据库在接收到可信第三方审计的挑战信息后,为挑战的数据生成相应的完整性证据,并将证据返回给可信第三方审计以证明数据的完整性;
7)可信第三方审计在接收到云端数据库返回的证据后,对证据进行完整性审计,并根据结果判断数据是否完好;
8)供电公司对存储在云端数据库中的数据进行动态操作,然后可信第三方审计判断数据动态操作是否正确。
在本实施例中,步骤1)具体包括以下步骤:
11)输入安全参数θ,输出群G和GT。其中,G和GT的阶均为p,Zp是模p的整数群;
12)随机选取α∈Zp,私钥sk为α,计算公钥pk为pk=gα。
如图2所示,在本实施例中,步骤2)的具体内容包括:
21)层次默克尔哈希树的数据结构是一个由16个数据块组成的,每4个数据块被划分为一个默克尔哈希子树。然后,四个默克尔哈希子树的区域根节点rooti作为叶子节点,再构成一个新默克尔哈希树;
22)树中每个节点都是一个数据信息存储容器,用来存储节点的相关信息;
23)节点信息Φ=(f(vij),Paraij,ψij),其中,f(vij)表示数据哈希值,Paraij表示认证证书,ψij表示属性信息。
如图3所示,在本实施例中,步骤23)具体包括以下步骤:
231)f(vij)表示数据哈希值,由自身哈希值f(vij)与左右子节点哈希值经过哈希级联运算得到的,其运算公式如下:
例如,智能电表m24的哈希值f(v24)=h(m24),区域2的局部根节点哈希值f(v2)=hc|hd,供电公司的根节点哈希值f(vR)=hA|hB;
232)Paraij表示认证证书,是叶子节点到局部根节点rooti路径上所有兄弟节点的哈希值或局部根节点rooti到根节点Root路径上所有兄弟节点的哈希值。例如,Para13={h(m14),ha},Para42={h(m41),hh},Para2={h1,hB},Para3={h4,hA};
233)属性信息ψij是一个三元组ψij=(ID,R,DO)。其中,ID表示数据标识符;R表示局部根节点标识符;DO表示数据动态操作标识符。
在本实施例中,步骤233)具体包括以下步骤:
2331)数据标识符ID用SMij表示,根据每个ID的不同,可以知道数据位置。例如,SM24表示区域2的智能电表4;SM31表示区域3的智能电表1;
2332)在层次默克尔哈希树中选取某个节点,用来描述该节点及其下方所有节点的完整性,则称该节点为局部根节点,记为root。例如,节点root1是区域1中所有节点的局部根节点(如图3中虚线所示)。设R为局部根节点标识符,其具体表示如下:
2333)动态操作标识符用DO表示,其具体表示如下:
在本实施例中,步骤3)具体包括以下步骤:
31)随机选取u∈G,对每个mij进行签名,得到σij=(h(mij)·um ij)α,进而得到局部签名集合σi={σij}1≤i≤4,1≤j≤4,继而得到签名集合T={σi}1≤i≤4;
32)对局部根节点rooti进行签名Sig(f(vi))=(f(vi))α,得到签名集合Γ={Sig(f(vi))}1≤i≤4,对根节点Root进行签名Sig(f(vR))=(f(vR))α;
33)根据层次默克尔哈希树,求出叶子节点Paraij和局部根节点Parai,叶子节点属性信息ψij=(SMij,0,00)和局部根节点属性信息ψi=(SMi,1,00);
34)叶子节点信息集合为Φij=(f(vij),Paraij,ψij),局部根节点信息集合为Φi=(f(vi),Parai,ψi),节点信息集合为Φ={Φij,Φi}1≤i≤4,1≤j≤4;
35)把(Φ,T,Γ,Sig(f(vR)),F)上传到云端数据库,并且把(Φ,T,Γ,Sig(f(vR)))上传到可信第三方审计,删除本地数据节省存储空间。其中,每个智能电表的数据为mij,则智能电表数据集合为F={mij}1≤i≤4,1≤j≤4。
在本实施例中,步骤4)具体包括以下步骤:
41)由云端数据库构造I个哈希桶,并且I=i(其中,i为局部根节点数);
42)对于智能电表的每一个数据mij,由哈希映射函数:
映射到对应的哈希桶中。其中,a使用正态分布产生,值为d维随机变量;v为数据mij对应的特征向量;b使用均匀分布产生,范围为[0,L]内的实数;宽度L是最重要的一个参数,因为a·v+b得到的是实数,如果不加以处理,那么就起不到哈希桶的效果;
43)设o<Key,Value>为数据的索引项,其中,Key表示数据ID的标识符SMij,Value表示记录数据的索引信息,如Value.Bucket[I]表示数据映射到第I个桶。
在本实施例中,步骤5)具体包括以下步骤:
51)可信第三方审计从有可能损坏的智能电表数据集合中(1,2,…,x)1≤x≤16随机抽取s个数据(其中,1≤s≤x),构成数据挑战集合W={m1,m2,…,ms}且m1≤k≤ms;
52)对于k∈W,随机选取λk∈Zp,生成挑战信息集合chalk={k,λk},然后周期性地向云端数据库发送验证请求。
在本实施例中,步骤6)具体包括以下步骤:
61)云端数据库根据数据ID标识符SMij,用位置敏感哈希算法对I个哈希桶进行检索,找到挑战信息集合chalk对应需要验证的数据;
62)分别计算k对应的数据:
并且得到节点信息Φk、局部根节点Γk和根节点Sig(f(vR))k;
63)把证据Pk=(μ、σ、Φk、Γk、Sig(f(vR))k)发送给可信第三方审计。
在本实施例中,步骤7)具体包括以下步骤:
71)可信第三方审计验证Γk和Sig(f(vR))k是否正确,如果正确则继续验证;
72)通过云端数据库发送过来的Parak,计算局部根节点哈希值f(vi)k和根节点哈希值f(vR)k,验证e(Sig(f(·))k,g)=e(f(·)k,gα);
73)当f(vi)k和f(vR)k都验证通过后,再继续验证
是否成立。
在本实施例中,步骤8)具体包括以下步骤:
81)供电公司将需要更新的数据标识符SMij发送给云端数据库;
82)云端数据库运行位置敏感哈希算法,根据Value.Bucket[I]找到所属桶的编号I,进而找到需要更新的数据mk并进行更新;
83)云端数据库把更新之后数据mk′的证据发送给可信第三方审计进行审计。
在本实施例中,步骤82)具体包括以下步骤:
821)修改数据:将错误数据mij删除,并插入正确数据mij′。其中,mij′属性信息ψij′=(SMij,0,11),节点信息Φij′=(f(vij)′,Paraij′,ψij′);局部根节点rooti′属性信息ψi′=(SMi,1,11),节点信息Φi′=(f(vi)′,Parai′,ψi′),节点信息集合Φk′={Φij′,Φi′}1≤i≤4,1≤j≤4;
822)删除数据:将需要删除的数据mij删除。其中,mij属性信息ψij′=(SMij,0,10),mij节点信息Φij′=(f(vij)′,Paraij′,ψij′);局部根节点rooti′属性信息ψi′=(SMi,1,10),节点信息Φi′=(f(vi)′,Parai′,ψi′),节点信息集合Φk′={Φij′,Φi′}1≤i≤4,1≤j≤4;
823)插入数据:将mij′插入到mij后。其中,mij′属性信息ψij′=(SMij,0,01),mij′节点信息Φij′=(f(vij)′,Paraij′,ψij′);局部根节点rooti′属性信息ψi′=(SMi,1,01),节点信息Φi′=(f(vi)′,Parai′,ψi′),节点信息集合Φk′={Φij′,Φi′}1≤i≤4,1≤j≤4。
在本实施例中,步骤83)具体包括以下步骤:
831)云端数据库生成证据P′=(μk′、σk′、Φk′、Γk′、Sig(f(vR))k′、Γk、Sig(f(vR))k);
832)可信第三方审计根据云端数据库发送的证据P′,验证Γk和Sig(f(vR))k是否相等;
833)再根据Parak′,计算得到Γk″和Sig(f(vR))k″;
834)根据证据P′中的Γk′和Sig(f(vR))k′,验证Γk″=Γk′和Sig(f(vR))k″=Sig(f(vR))k′是否相等;
834)若所有验证都相等,则说明数据更新正确;反之,说明数据更新错误。
如图4-6所示,是本发明把默克尔哈希树(MHT)与跳表(SL)作对比分析,并进行一系列测试实验。从通信开销和计算开销到数据更新效率,来分析本发明在轻型动态完整性审计方法上的优势,进一步验证了本发明能有效地降低通信及计算开销,并且支持高效的动态数据更新。
Claims (10)
1.一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,包括以下步骤:
步骤1、数据拥有者生成数据完整性审计的系统参数和私钥;
步骤2、对数据构建层次默克尔哈希树,并且在节点上存储节点信息,同时引入局部根节点,其中,层次默克尔哈希树是由一个根节点以及若干局部根节点、中间节点和叶子节点构成的。叶子节点是根据数据拥有者上传云端数据库的数据进行哈希运算得到的;中间节点是根据相邻的两个子节点哈希级联运算得到的;局部根节点是局部默克尔哈希树的根节点,根据中间节点经过哈希级联运算得到的;根节点是根据局部根节点经过哈希级联运算得到的。节点上存储的节点信息为Φ,则有Φ=(f(vij),Paraij,ψij),式中,f(vij)是数据mij的哈希值,Paraij是认证证书,ψij是属性信息;
步骤3、对叶子节点、局部根节点和根节点生成标签,然后将数据连同标签和节点信息一起上传到云端数据库中,并将它们从本地删除;
步骤4、利用位置敏感哈希技术将数据拥有者上传的数据存储在云端数据库;
步骤5、可信第三方审计通过向云端数据库发送挑战信息来检查上传的数据是否被完好保存;
步骤6、云端数据库在接收到可信第三方审计的挑战信息后,为挑战的数据生成相应的完整性证据,并将证据返回给可信第三方审计以证明数据的完整性;
步骤7、可信第三方审计在接收到云端数据库返回的证据后,对证据进行完整性审计,并根据结果判断数据是否完好;
步骤8、数据拥有者对存储在云端数据库中的数据进行动态操作,可信第三方审计判断数据动态操作是否正确。
2.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤1具体包括以下步骤:
步骤101、输入为安全参数θ,输出为循环加法群G,并且存在双线性映射关系:e:G×G→GT,GT是循环乘法群,G和GT的阶均为素数p;
步骤102、随机选取α∈Zp,Zp表示模p的整数群,α为私钥sk,并计算公钥pk=gα,形成密钥对(sk,pk),g为群G的生成元。
3.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤2中,所述节点信息Φ的计算具体包括以下步骤:
步骤201、节点哈希值用f(vij)来表示,由自身哈希值或左右子节点哈希值经过哈希级联运算得到的,其运算公式如下:
式中,h(mij)为数据mij的哈希值,h(mleft)为左子节点的哈希值,h(mright)为右子节点的哈希值;
步骤202、认证证书用Paraij来表示,是叶子节点到局部根节点rooti路径上所有兄弟节点的哈希值或局部根节点rooti到根节点Root路径上所有兄弟节点的哈希值;
步骤203、属性信息ψij是三元组ψij=(ID,R,DO),其中,ID是数据标识符;R是局部根节点标识符;DO是数据动态操作标识符。
5.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤3具体包括以下步骤:
步骤301、随机选取u∈G,u为辅助变量,对每个数据mij进行签名,得到σij=(h(mij)·umij)α,α为私钥sk,进而得到局部签名集合σi={σij},继而得到数据的签名集合T={σi};
对局部根节点rooti进行签名Sig(f(vi))=(f(vi))α,Sig(f(vi))为局部根节点rooti的签名,f(vi)为局部根节点rooti的哈希值,得到局部根节点的签名集合Γ={Sig(f(vi))};
对根节点Root进行签名Sig(f(vR))=(f(vR))α,f(vR)为根节点Root的哈希值;
步骤302、根据层次默克尔哈希树,写出叶子节点的认证证书Paraij和局部根节点的认证证书Parai,同时写出叶子节点的属性信息ψij和局部根节点的属性信息ψi;最后,叶子节点的信息集合为Φij=(f(vij),Paraij,ψij),局部根节点的信息集合为Φi=(f(vi),Parai,ψi),节点的信息集合为Φ={Φij,Φi};
步骤303、把(Φ,T,Γ,Sig(f(vR)),F)上传到云端数据库,并且把(Φ,T,Γ,Sig(f(vR)))上传到可信第三方审计,删除本地数据节省存储空间,其中,F={mij}为数据集合,mij为数据拥有者上传云端的数据。
6.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤4具体包括以下步骤:
步骤401、由云端数据库构造I个哈希桶,并且I=i,其中,i为局部根节点数;
步骤402、对于每一个数据mij,由哈希映射函数fLSH映射到对应的哈希桶中,则有:
其中,a为d维随机变量,使用正态分布产生;v为数据mij对应的特征向量;b为范围在[0,L]内的实数,使用均匀分布产生;L是哈希桶宽度;
步骤403、设o<Key,Value>为数据的索引项,其中,Key表示数据ID的标识符SMij,Value表示记录数据的索引信息,将Value.Bucket[I]定义为数据映射到第I个桶。
7.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤5具体包括以下步骤:
步骤501、可信第三方审计从有可能损坏的数据集合中(1,2,…,x)随机抽取s个数据,1≤s≤x,构成数据挑战集合W={m1,m2,…,ms}且m1≤k≤ms;
步骤501、对于k∈W,随机选取λk∈Zp,生成挑战信息集合chalk={k,λk},λk为随机数,然后周期性地向云端数据库发送验证请求。
10.如权利要求1所述的一种基于层次默克尔哈希树的轻型动态数据完整性审计方法,其特征在于,步骤8具体包括以下步骤:
步骤801、数据拥有者将需要更新的数据标识符SMij发送给云端数据库;
步骤802、云端数据库运行位置敏感哈希算法,根据Value.Bucket[I]找到所属桶的编号I,进而找到需要更新的数据mk并进行更新;
步骤803、云端数据库把更新之后数据mk′的证据发送给可信第三方审计进行审计,所述步骤803具体包括以下步骤:
步骤8031、云端数据库生成证据P′=(μk′、σk′、Φk′、Γk′、Sig(f(vR))k′、Γk、Sig(f(vR))k)发送给可信第三方审计,μk′和σk′为更新之后的证据参数,Φk′为更新之后的节点信息,Γk′为更新之后的局部根节点签名,Sig(f(vR))k′为更新之后的根节点签名;
步骤8032、可信第三方审计先验证Γk和Sig(f(vR))k是否相等;
步骤8033、可信第三方审计根据认证证书Parak′,计算得到局部根节点签名Γk″和根节点签名Sig(f(vR))k″;
步骤8034、验证Γk″=Γk′和Sig(f(vR))k″=Sig(f(vR))k′来判断数据更新的正确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967915.2A CN110958109B (zh) | 2019-10-12 | 2019-10-12 | 基于层次默克尔哈希树的轻型动态数据完整性审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967915.2A CN110958109B (zh) | 2019-10-12 | 2019-10-12 | 基于层次默克尔哈希树的轻型动态数据完整性审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110958109A true CN110958109A (zh) | 2020-04-03 |
CN110958109B CN110958109B (zh) | 2023-09-19 |
Family
ID=69975554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910967915.2A Active CN110958109B (zh) | 2019-10-12 | 2019-10-12 | 基于层次默克尔哈希树的轻型动态数据完整性审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958109B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783148A (zh) * | 2020-06-30 | 2020-10-16 | 中国工商银行股份有限公司 | 一种支持公正的轻量级多副本数据云审计方法及装置 |
CN112883403A (zh) * | 2021-03-18 | 2021-06-01 | 广西师范大学 | 一种可验证的加密图像检索隐私保护方法 |
CN114024685A (zh) * | 2021-10-12 | 2022-02-08 | 杭州趣链科技有限公司 | 一种基于ElGamal密码系统和默克尔哈希树的数据聚合方法 |
WO2022063223A1 (zh) * | 2020-09-28 | 2022-03-31 | 华为技术有限公司 | 数据校验方法、装置和系统 |
CN114362974A (zh) * | 2020-09-27 | 2022-04-15 | 中国电信股份有限公司 | 基于哈希树的数据资源的授权和鉴权方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129803A1 (en) * | 2003-09-19 | 2006-06-15 | Gentry Craig B | Method and apparatus for efficient certificate revocation |
CN101963982A (zh) * | 2010-09-27 | 2011-02-02 | 清华大学 | 基于位置敏感哈希的删冗存储系统元数据管理方法 |
US8706701B1 (en) * | 2010-11-18 | 2014-04-22 | Emc Corporation | Scalable cloud file system with efficient integrity checks |
CN106845280A (zh) * | 2017-03-14 | 2017-06-13 | 广东工业大学 | 一种Merkle哈希树云数据完整性审计方法及系统 |
CN109829066A (zh) * | 2019-01-14 | 2019-05-31 | 南京邮电大学 | 基于分层结构的局部敏感哈希图像索引方法 |
CN110175258A (zh) * | 2016-02-05 | 2019-08-27 | 大连大学 | 建立基于位置敏感哈希索引的移动感知数据查询方法 |
-
2019
- 2019-10-12 CN CN201910967915.2A patent/CN110958109B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129803A1 (en) * | 2003-09-19 | 2006-06-15 | Gentry Craig B | Method and apparatus for efficient certificate revocation |
CN101963982A (zh) * | 2010-09-27 | 2011-02-02 | 清华大学 | 基于位置敏感哈希的删冗存储系统元数据管理方法 |
US8706701B1 (en) * | 2010-11-18 | 2014-04-22 | Emc Corporation | Scalable cloud file system with efficient integrity checks |
CN110175258A (zh) * | 2016-02-05 | 2019-08-27 | 大连大学 | 建立基于位置敏感哈希索引的移动感知数据查询方法 |
CN106845280A (zh) * | 2017-03-14 | 2017-06-13 | 广东工业大学 | 一种Merkle哈希树云数据完整性审计方法及系统 |
CN109829066A (zh) * | 2019-01-14 | 2019-05-31 | 南京邮电大学 | 基于分层结构的局部敏感哈希图像索引方法 |
Non-Patent Citations (3)
Title |
---|
孙旭等: "智能电网中一种动态数据完整性验证方案" * |
潘洪志;刘荣;祖婷;刘波;方群;何昕;王杨;: "一种自适应Trie树的云数据完整性验证方案" * |
苏迪等: "一种新型的Merkle哈希树云数据完整性审计方案" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783148A (zh) * | 2020-06-30 | 2020-10-16 | 中国工商银行股份有限公司 | 一种支持公正的轻量级多副本数据云审计方法及装置 |
CN114362974A (zh) * | 2020-09-27 | 2022-04-15 | 中国电信股份有限公司 | 基于哈希树的数据资源的授权和鉴权方法、装置和系统 |
WO2022063223A1 (zh) * | 2020-09-28 | 2022-03-31 | 华为技术有限公司 | 数据校验方法、装置和系统 |
CN114281793A (zh) * | 2020-09-28 | 2022-04-05 | 华为技术有限公司 | 数据校验方法、装置和系统 |
CN112883403A (zh) * | 2021-03-18 | 2021-06-01 | 广西师范大学 | 一种可验证的加密图像检索隐私保护方法 |
CN114024685A (zh) * | 2021-10-12 | 2022-02-08 | 杭州趣链科技有限公司 | 一种基于ElGamal密码系统和默克尔哈希树的数据聚合方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110958109B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110958109B (zh) | 基于层次默克尔哈希树的轻型动态数据完整性审计方法 | |
Wang et al. | Efficient verifiable fuzzy keyword search over encrypted data in cloud computing | |
CN102938767B (zh) | 基于云数据外包系统的高效可验证的模糊关键词搜索方法 | |
CN108039943B (zh) | 一种可验证的加密搜索方法 | |
CN109586896B (zh) | 一种基于哈希前缀树的数据完整性验证方法 | |
CN110135986B (zh) | 一种基于区块链智能合约实现的可搜索加密文件数据方法 | |
CN108965258A (zh) | 一种基于全同态加密的云环境数据完整性验证方法 | |
CN109525403B (zh) | 一种支持用户全动态并行操作的抗泄露公开云审计方法 | |
Zhang et al. | A blockchain system based on quantum‐resistant digital signature | |
US20180026791A1 (en) | Method and system for verifying information of a data item in a plurality of different data items | |
CN108123934B (zh) | 一种面向移动端的数据完整性校验方法 | |
CN104978239A (zh) | 一种实现多备份数据动态更新的方法、装置及系统 | |
CN106897368A (zh) | Merkle哈希求和树及其可验证数据库更新操作方法 | |
CN110908959A (zh) | 一种支持多关键字和结果排序的动态可搜索加密方法 | |
CN113094335A (zh) | 云环境下基于改进多分支树的完整性动态审计方法 | |
CN106611136A (zh) | 云存储中一种数据篡改验证方法 | |
CN107612969B (zh) | 基于B-Tree布隆过滤器的云存储数据完整性审计方法 | |
Xie et al. | A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices | |
Liben-Nowell et al. | Finding longest increasing and common subsequences in streaming data | |
Wang et al. | A lightweight data integrity verification with data dynamics for mobile edge computing | |
Chen et al. | Ensuring dynamic data integrity with public auditability for cloud storage | |
CN115906149A (zh) | 基于有向无环图的kp-abe及区块链的用户数据可信共享方法 | |
Li et al. | Post‐Quantum Privacy‐Preserving Provable Data Possession Scheme Based on Smart Contracts | |
CN113032828A (zh) | 一种改进的二进制交互信息加密方法及装置 | |
Junxiang et al. | Dynamic provable data possession with batch-update verifiability |
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 |