CN115208628B - 基于区块链的数据完整性验证方法 - Google Patents
基于区块链的数据完整性验证方法 Download PDFInfo
- Publication number
- CN115208628B CN115208628B CN202210651207.XA CN202210651207A CN115208628B CN 115208628 B CN115208628 B CN 115208628B CN 202210651207 A CN202210651207 A CN 202210651207A CN 115208628 B CN115208628 B CN 115208628B
- Authority
- CN
- China
- Prior art keywords
- data
- tpa
- audit
- block
- user
- 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
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
基于区块链的数据完整性验证方法,涉及区块链与信息安全技术领域,解决CS在存储过程中数据丢失和TPA伪造审计结果,且在完整性验证过程中TPA和CS合谋的问题。首先AC进行系统初始化,选择相关参数并为用户颁发身份,生成系统参数。用户将原始数据分成n个块,并对n个块进行加密,并生成密文块集C和数据块标签集P,将密文块集存储到CS,将数据块标签集P发送给TPA。TPA定期向云服务器发起挑战,CS根据挑战生成数据拥有证据并发送给TPA,TPA根据挑战生成数据验证标签,TPA根据双线性映射对CS的数据拥有证据进行审计,最后将审计结果记录在区块链,生成审计交易。本发明能达到很好的数据隐私保护目的。
Description
技术领域
本发明涉及区块链与信息安全技术领域,具体涉及一种基于区块链的数据完整性验证方法,用于解决云存储中数据的完整性和安全性问题。
背景技术
由于云存储(CS)具有低成本、海量存储、可扩展、可便捷访问等诸多优点,故越来越多的个人或组织选择将数据存储在云服务器上。但云服务器并不是完全诚实,某些时候它们可能为了降低自己的存储成本将云存储数据部分删除,或者丢失部分数据,而云服务器为了自己的信誉问题会隐瞒这些事实,使用户的安全带来威胁。
为此,数据完整性验证的方法被提出,用户授权第三方审计机构(TPA)对数据进行审计。为了保护数据的隐私,TPA履行数据审计责任的过程中不会得到原数据,仅仅是替用户执行数据完整性验证的大量计算。但这仍旧无法完全保证TPA的是可靠的,目前有些情况下,数据所有者会采用周期性检查的方式委托TPA进行数据审计。而TPA与CS可能会合谋来隐藏云存储数据的真实情况,比如生成一些虚假的结果,或者不及时的对数据进行审计。由此,证明TPA是否正确完成审计任务而确保审计结果的正确性也十分必要。
发明内容
本发明为解决CS在存储过程中数据丢失和TPA伪造审计结果,且在完整性验证过程中TPA和CS合谋的问题,提供了一种基于区块链的数据完整性验证方法。
基于区块链的数据完整性验证方法,该方法由以下步骤实现:
步骤一、AC选择相关参数并为用户颁发身份UId,整数循环群选择阶数为p的乘法循环群G和GT,G的一个生成元为g,选择一个双线性映射e,选择哈希函数h,生成系统参数Para={G,GT,p,g,e,h,UId};
步骤二、构建用于数据完整性验证的审计树,其中,叶节点与数据块相关联,设定任意非叶子节点Xi,Xi.L和Xi.R分别是Xi的左右子节点,Xroot为树的根节点;
步骤三、用户将外包数据M分块得M={m1,m2,…,mi,…,mn},使用哈希收敛加密方法,对每个数据块mi,用户计算mi的块密钥Ki=h(mi),获得块密钥集K={K1,K2...,Kn};
利用对称加密算法加密mi,获得密文块emi=E(K,mi),并形成密文块集C={em1,em2,...,emn},用户上传密文块集C到云存储CS;
步骤六、CS根据chal中索引找到对应的密文块,获得需要审计的密文块集:并且选择一个随机数结合哈希函数,构建验证块标签集再根据步骤二的审计树计算LD的根节点值最后使用和构造数据拥有证据并将其发送给TPA;
最后,TPA创建并广播完整性审计交易TXverify,并将TXverify记录在区块链中;
步骤八、用户通过区块链中记录的审计交易TXverify,对委托给TPA的数据验证任务进行复核,审核TPA数据完整性验证行为的有效性和正确性。
本发明的有益效果:
在功能上,本发明改进现有技术的不足,成功实现数据完整性验证、TPA如实执行审计任务和隐私保护三个特点。利用区块链技术将每次审计结果当作一次交易,记录在区块链节点上并产生时间戳,用户可以通过区块链自行检查TPA所记录的审计行为,确保TPA如实执行审计任务,并通过区块链上所记录的相关参数进行数据完整性重复核实,实现数据完整性验证。
本发明在完整性验证过程中,发送给TPA的数据块标签集都是经过随机化的且通过强抗碰撞哈希函数和双线性映射群生成元组成的根据离散对数的难解性,TPA无法从得到有关原数据的信息。故本发明能达到很好的数据隐私保护目的。
在安全性上,本发明针对两种情况进行安全性分析。(1)TPA不执行数据审计任务或者拖延时间来欺骗用户。(2)TPA可能和CS合谋来掩盖云存储数据不完整的情况,产生假的审计结果欺骗用户。
(1)第一种情况下,首先用户向TPA发送数据块标签集P:
TPA收到P后,假设TPA不向CS发送数据审计挑战而想直接伪造数据拥有证据。但TPA只拥有gr,等信息,且P中信息的构造是满足离散对数(DL)问题定义,DL是计算困难性问题。故TPA无法从P破解得到h(emi)和r。得不到h(emi),TPA就无法伪造出数据拥有证据完成数据完整性验证。
对于一些拖延数据审计的TPA,它没有及时的向CS发送数据审计挑战或者没有及时完成审计过程,都会导致最后数据审计交易TXverify记录在区块链的时间延迟,且根据区块链不可篡改的特性,TPA无法去伪造时间。用户在复核阶段很容易得到TPA完成数据审计的时间t,从而发现TPA的拖延审计行为。
①CS将发送TPA,TPA使用随机数r′构造这样可以保证在验证和Vr时能得到相等的结果,但却要求且很显然,在无法保证r′.r*=r以及的情况下,满足上述要求的可能性可以忽略不计,因此这种合谋构造和Vr的方式是行不通的。
②TPA将Vr发送CS,CS使用随机数r′构造这样既可以保证在验证和Vr时能得到相等的结果,同时也保证了用户对Vr的验证。为了解决这个问题,只需要求随机数r必须是偶数,而CS选择的随机数r*必须是奇数,且CS必须使用用户的公钥加密r*并上传区块链。这样就可以避免CS通过对Vr求幂指数来构造因为r′·r必定是偶数。有了r和r*的奇偶性限制,CS优势可定义为:
综上,TPA和CS无法合谋掩盖云存储数据不完整的情况,即无法合谋产生假的审计结果欺骗用户。
附图说明
图1为本发明所述的基于区块链的数据完整性验证方法的原理图;
图2为本发明所述的基于区块链的数据完整性验证方法的流程图。
具体实施方式
结合图1和图2说明本实施方式,基于区块链的数据完整性验证方法,该方法中包括由权威中心(AC)、数据所有者(DO)、第三方审计机构(TPA)、云服务器(CS)和区块链(Blockchain,BC)实现。
所述AC是一个可信的实体,它生成系统所使用的参数。
所述DO是原始数据的拥有者,将加密的数据外包给云服务器,并构造数据块标签发送给TPA,委托TPA检查数据的完整性,且对数据拥有完全的添加、删除、修改等权限。
所述TPA用于检测云服务器中的数据,定期向云服务器发起挑战,根据云存储返回的验证信息为用户检查数据是否有损坏等情况。TPA在验证来自CS的信息后,同时将验证信息和审计结果上传到区块链。TPA通常比数据所有者拥有更强的处理能力和专业知识。
所述CS提供云存储服务,拥有大规模的计算和存储资源,根据TPA发送的挑战生成数据拥有证据。
所述Blockchain将TPA的审核结果记录在区块链节点上并产生有效时间,同时记录此次审计过程中的一些参数。数据所有者可以通过区块链节点自行检查TPA所记录的审计行为,并可以通过区块链节点上所记录的相关参数进行数据完整性复核。
本实施方式利用区块链技术设计了一种新的公共审计方案,用于验证云存储中的数据完整性。首先,本发明构建了新的审计树结构,利用该结构可以快速生成根节点的验证标签,并在不泄露用户隐私的情况下安全高效的审计工作。其次,TPA将审计交易存储到区块链上,用户可以随时对TPA的审计结果进行检查。最后,通过审计结果分析可以识别TPA的不诚信行为以及TPA与CS的合谋行为。
本实施方式采用的技术方法是:首先AC进行系统初始化,选择相关参数并为用户颁发身份,生成系统参数。用户将原始数据分成n个块,并对n个块进行加密,并生成密文块集C和数据块标签集P,将密文块集C存储到CS,将数据块标签集P发送给TPA。TPA定期向云服务器发起挑战,CS根据挑战生成数据拥有证据并发送给TPA,TPA根据挑战生成数据验证标签,TPA根据双线性映射对CS的数据拥有证据进行审计,最后将审计结果记录在区块链,生成审计交易。且为了验证审计结果的有效性,发出数据完整性验证请求的DO可以通过记录在区块链上的审计信息对TPA的数据审计结果进行复核。
具体过程如下:
步骤1:权威中心AC选择相关参数并为用户颁发身份UId,整数循环群选择阶数为p的乘法循环群G和GT,G的一个生成元为g,选择一个双线性映射e:G×G→GT,选择哈希函数h:{0,1}*→G,生成系统参数Para={G,GT,p,g,e,h,UId}。
步骤2:本发明引入一种新型的审计树结构,基于数据完整性验证的审计树。其结构类似于二叉树,其中叶节点与数据块相关联。假设任意节点Xi,Xi.L和Xi.R分别是它的左右子节点,Xroot表示树的根节点。Xi代表的值计算如公式(1):
树根节点Xroot的计算如公式(2)所示:
步骤3:用户将外包数据M分块得M={mi,m2,…,mi,…,mn},使用哈希收敛加密方法HCE-1,对每个数据块mi,用户使用哈希函数计算mi的块密钥Ki=h(mi),得到K={K1,K2...,Kn}。并利用对称加密算法E()加密mi,得到emi=E(K,mi),并形成密文块集C={em1,em2,...,emn}。用户上传密文块集C到云存储CS。
步骤5:TPA定期对CS内的数据块进行批量验证,生成挑战块的索引集根据索引集chal和数据块标签集P,得到元数据集合再根据步骤2的审计树计算MD的根节点值最后使用gr和Xroot构造数据验证标签 并向CS发送数据完整性挑战chal。
步骤6:CS根据chal中索引找到对应的密文块,得到需要审计的密文块集:并且选择一个随机数结合哈希函数,构建验证块标签集再根据步骤2的审计树计算LD的根节点值最后使用和构造数据拥有证据并将其发送给TPA。
步骤7:TPA比较数据拥有证据和数据验证标签Vr,通过交换gr和根据双线性映射计算和判断二者是否相等得出审计结果result=True/False。最后,TPA创建并广播完整性审计交易TXverify,其中数据字段为并将TXverify记录在区块链中。
步骤8:用户通过区块链中记录的审计交易TXverify,对委托给TPA的数据验证任务进行复查,审核TPA数据完整性验证行为的有效性和正确性,本发明有两种复核方法,复核的详细步骤为:
第一种方法是用户向区块链发送复查请求,得到对应用户ID的TXverify,同时还可以查看到该交易的具体时间t。用户得到和对二者进行变换和比较,根据比较结果验证TPA是否如实执行了审计。此外,通过分析交易时间t,用户可以清楚的得知TPA的数据审计周期是否合理,从而发现TPA拖延审计的行为,以达到监督TPA及时完成数据审计的目的。
第二种方法DO可以用自己保存的数据块标签集P对TPA审计结果进行验证。此种方法计算开销相对第一种方法较大,但作为一种备用方法除了可以甄别TPA违规的类型,还可以在TPA的违规基础上,识别云存储CS数据的实际情况。DO根据审计交易TXverify得到挑战索引集chal,用户利用gr,根据chal和保存的数据块标签集P生成数据验证标签将V′r和进行变换和比较,根据比较结果验证CS的存储情况,根据V′r和Vr是否一致确定TPA是否生成正确的数据验证标签。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (4)
1.基于区块链的数据完整性验证方法,其特征是:该验证方法由以下步骤实现:
步骤一、AC选择相关参数并为用户颁发身份UId,整数循环群选择阶数为p的乘法循环群G和GT,G的一个生成元为g,选择一个双线性映射e,选择哈希函数h,生成系统参数Para={G,GT,p,g,e,h,UId};
步骤二、构建用于数据完整性验证的审计树,其中,叶节点与数据块相关联,设定任意节点Xi,Xi.L和Xi.R分别是Xi的左右子节点,Xroot为树的根节点;
步骤三、用户将外包数据M分块得M={m1,m2,…,mi,…,mn},使用哈希收敛加密方法,对每个数据块mi,用户计算mi的块密钥Ki=h(mi),获得块密钥集K={K1,K2...,Kn};
利用对称加密算法加密mi,获得密文块emi=E(K,mi),并形成密文块集C={em1,em2,...,emn},用户上传密文块集C到云存储CS;
步骤四、DO使用群G的生成元g,选择随机数结合哈希函数,构建数据块标签集将数据块标签集P发送至TPA保存;
步骤五、TPA定期对CS内的数据块进行批量验证,生成挑战块的索引集根据索引集chal和数据块标签集P,获得此次审计的数据块标签集
再根据步骤二的审计树计算所述数据块标签集MD的根节点值 最后使用gr和Xroot构造数据验证标签并向CS发送挑战块的索引集chal;
步骤六、CS根据chal中索引找到对应的密文块,获得需要审计的密文块集:并且选择一个随机数结合哈希函数,构建验证块标签集再根据步骤二的审计树计算LD的根节点值最后使用和构造数据拥有证据并将其发送给TPA;
步骤七、TPA比较数据拥有证据和数据验证标签Vr,通过交换gr和根据双线性映射计算和判断二者是否相等得出审计结果result=True/False;
最后,TPA创建并广播完整性审计交易TXverify,并将TXverify记录在区块链中;
步骤八、用户通过区块链中记录的审计交易TXverify,对委托给TPA的数据验证任务进行复核,审核TPA数据完整性验证行为的有效性和正确性。
2.根据权利要求1所述的基于区块链的数据完整性验证方法,其特征在于:步骤八中,包括两种复核方法,第一种复核方法的步骤为:
用户向区块链发送复核请求,获得对应用户ID的审计交易TXverify,用户得到证据和数据验证标签对二者进行变换和比较,根据比较结果验证TPA是否如实执行审计。
3.根据权利要求2所述的基于区块链的数据完整性验证方法,其特征在于:第二种复核方法为:
DO采用保存的数据块标签集P对TPA审计结果进行验证;DO根据审计交易TXverify得到挑战块的索引集chal,用户利用gr,根据chal和保存的数据块标签集P生成数据验证标签将V′r和进行变换和比较,根据比较结果验证CS的存储情况,根据V′r和Vr是否一致确定TPA是否生成正确的数据验证标签。
4.根据权利要求1所述的基于区块链的数据完整性验证方法,其特征在于:步骤二中,Xi取值的计算公式为:
树的根节点Xroot计算公式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651207.XA CN115208628B (zh) | 2022-06-10 | 2022-06-10 | 基于区块链的数据完整性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651207.XA CN115208628B (zh) | 2022-06-10 | 2022-06-10 | 基于区块链的数据完整性验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208628A CN115208628A (zh) | 2022-10-18 |
CN115208628B true CN115208628B (zh) | 2023-04-21 |
Family
ID=83575467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210651207.XA Active CN115208628B (zh) | 2022-06-10 | 2022-06-10 | 基于区块链的数据完整性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208628B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938452B (zh) * | 2023-09-15 | 2023-12-08 | 天津太极风控网络科技有限公司 | 一种加密备份账套的云审计方法 |
CN116992494B (zh) * | 2023-09-27 | 2023-12-08 | 四川启明芯智能科技有限公司 | 一种用于景区数据流通的安全保护方法、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
CN113556322A (zh) * | 2021-06-23 | 2021-10-26 | 北京航空航天大学 | 一个基于区块链的云数据完整性验证方案 |
-
2022
- 2022-06-10 CN CN202210651207.XA patent/CN115208628B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
CN113556322A (zh) * | 2021-06-23 | 2021-10-26 | 北京航空航天大学 | 一个基于区块链的云数据完整性验证方案 |
Non-Patent Citations (2)
Title |
---|
Chunbo Wang ; etc.Secure Data Deduplication And Sharing Method Based On UMLE And CP-ABE.《2021 International Conference on Electronic Information Engineering and Computer Science(EIECS)》.2021,全文. * |
王春波等.基于标签分类的云数据完整性验证审计方案.《吉林大学学报(工学版)》.2021,第51卷(第4期),第1364-1369页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115208628A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914027B (zh) | 一种区块链交易关键字可搜索加密方法及系统 | |
CN107342867B (zh) | 签名验签方法和装置 | |
US9785369B1 (en) | Multiple-link blockchain | |
Venkatesh et al. | Improving public auditability, data possession in data storage security for cloud computing | |
CN115208628B (zh) | 基于区块链的数据完整性验证方法 | |
CN109829326A (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
CN109951296A (zh) | 一种基于短签名的远程数据完整性验证方法 | |
CN110096903B (zh) | 基于区块链的资产验证方法及区块链网络系统 | |
CN105164971A (zh) | 具有额外安全性的用于低熵输入记录的核验系统和方法 | |
Thangavel et al. | Enabling ternary hash tree based integrity verification for secure cloud data storage | |
CN113312574A (zh) | 一种基于区块链的云数据完整性审计方法 | |
CN112565264B (zh) | 一种基于区块链的云存储数据完整性检测方法 | |
CN114880697A (zh) | 基于区块链的数据指纹生成方法、装置和存储介质 | |
CN110851848B (zh) | 对称可搜索加密的隐私保护方法 | |
CN114691669A (zh) | 一种电子存证方法、装置、电子设备及存储介质 | |
CN112291062A (zh) | 一种基于区块链的投票方法及装置 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
Tian et al. | Public auditing of log integrity for shared cloud storage systems via blockchain | |
CN109450636B (zh) | 一种云存储中群组数据的完整性验证方法 | |
CN116527322A (zh) | 基于区块链和隐私计算的联合征信方法及装置 | |
Lu et al. | Secure dynamic big graph data: Scalable, low-cost remote data integrity checking | |
JP2023098847A (ja) | 装置、方法、コンピュータプログラム(プライバシー保護ブロックチェーンの選択的監査プロセス) | |
Ouyang et al. | Blockchain-Assisted Verifiable and Secure Remote Sensing Image Retrieval in Cloud Environment | |
CN115964407A (zh) | 双副本电力网络安全审计方法、系统、介质及设备 | |
CN112765570B (zh) | 一个支持数据转移的基于身份可证明数据持有方法 |
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 |