CN116303493A - 一种动态跨链数据一致性审计方法 - Google Patents
一种动态跨链数据一致性审计方法 Download PDFInfo
- Publication number
- CN116303493A CN116303493A CN202310138151.2A CN202310138151A CN116303493A CN 116303493 A CN116303493 A CN 116303493A CN 202310138151 A CN202310138151 A CN 202310138151A CN 116303493 A CN116303493 A CN 116303493A
- Authority
- CN
- China
- Prior art keywords
- data
- chain
- signature
- audit
- source
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012550 audit Methods 0.000 claims abstract description 112
- 238000012795 verification Methods 0.000 claims description 87
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000013474 audit trail Methods 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- SQKUFYLUXROIFM-UHFFFAOYSA-N 2-[2-[carboxymethyl-[[3-hydroxy-2-methyl-5-(phosphonooxymethyl)pyridin-4-yl]methyl]amino]ethyl-[[3-hydroxy-2-methyl-5-(phosphonooxymethyl)pyridin-4-yl]methyl]amino]acetic acid Chemical compound CC1=NC=C(COP(O)(O)=O)C(CN(CCN(CC(O)=O)CC=2C(=C(C)N=CC=2COP(O)(O)=O)O)CC(O)=O)=C1O SQKUFYLUXROIFM-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种动态跨链数据一致性审计方法,首先,为了能够以高效可靠的方式进行跨链的数据动态更新,引入了一种动态的默克尔哈希树,其能以一种较低的成本完成对数据的动态更新;其次为了保证跨链传输交易内容的安全性和隐私性,引入了AGMS来对跨链传输的交易内容进行签名,与此同时设计了三种不同的区块链,即源链,目标链和审计链构建跨链数据动态更新审计模型,并分别部署了不同的智能合约在链上以此实现高效的审计。
Description
技术领域
本发明涉及跨链数据交互以及动态数据审计技术领域,尤其涉及一种动态跨链数据一致性审计方法。
背景技术
区块链主要是由分布式系统,计算机网络,数据库以及分布式账本这些技术相互组合而诞生的系统,其具有高度去中心化,透明性和开放性,信息不可篡改和匿名性这些特性。基于这些特性,区块链如今受到了越来越多企业和个人的关注,它也被广泛运用在不同的领域,包括金融,医疗,通信传输等。区块链的广泛运用带来了大量的交易存储,这给现如今的区块链带来了巨大的存储压力同时也对链上数据的查询计算的效率造成了极大的影响。为了能够缓解如今区块链上的存储压力,将数据存放在不同的区块链上并利用跨链技术将这些异构的区块链连接起来,能够在一定程度上缓解区块链的存储压力。
当前,主流的跨链技术分为以下几种:公证人机制,侧链技术,中继链技术以及哈希锁定。通过将单独的区块链连接起来,跨链技术很好的实现了异构区块链之间的交互。但是区块链上存储的信息在某些时候需要更新迭代,例如,一些恶意的交易信息被存储在区块链平台上,可能会对区块链系统造成危害,如以太坊上的“TheDAO”攻击就是由于脆弱的智能合约,最终采用硬分叉的方式来解决此次危机;一些存储在区块链上的信息需要随着时间的变化而修改,如当某些用户信息过期时,需要在区块链上进行信息更新。如何保障在跨链交互过程中,对于动态更新数据的一致性的验证是个值得研究的问题。
目前,关于动态数据的完整性验证方案主要集中在云存储中。主要可以将其分为两类:第一类是将同态标签和认证数据结构相结合在保证数据的完整性的同时完成数据动态更新。Erway等人介绍了一种名为DPDP的公共PoS方案,它支持完全数据动态性。它结合同态标记和基于秩的认证跳过列表来保护数据完整性。Wang等人提出了一种完全动态的数据更新验证方案,并对该方案进行了扩展,以同时支持多个审计任务。这些方案可以高效地实现数据更新,但缺点是数据一致性验证的成本很高。例如,一个典型的安全级别的一致性验证证明可以达到100KB,而以太坊的平均块大小是0.02M(20.48KB)。这意味着一个证明甚至不能存储到一个完整的块中。第二类是部分动态验证。Ateniese等人通过利用对称密钥加密,提出了一种高效的可证明数据占有(PDP)。Wang等人提出了一种灵活的分布式存储完整性审计机制,该机制利用同态令牌和分布式擦除编码数据。与第一类方案相比,这些方案可以生成更短的证明,但更新成本很高。但是,之前的研究主要利用是第三方审计机构来进行数据审计,整个审计架构包括数据所有者,云存储方以及第三方审计机构,通过第三方审计机构不定时的发送对于云存储方的挑战来完成对于数据的一致性审计,引入第三方审计机构不可避免的存在一些安全性问题。由于第三方审计机构有可能是恶意的,它可能会与云存储方共谋来损害用户的利益,同时引入第三方审计机构对于跨链场景下的去中心化特性造成了一定的影响。与此同时,云存储审计模型中第三方审计机构主要是对存储在云中的数据进行审计而不是对跨链交互过程中的数据进行一致性审计,目前缺少对于跨链过程中动态数据一致性审计方法。
因此,需要一种合理高效的方式来解决动态跨链数据一致性审计问题,以保证区块链上动态跨链数据的可靠性和准确性。
发明内容
本发明所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种动态跨链数据一致性审计方法。
本发明为解决上述技术问题采用以下技术方案:
一种动态跨链数据一致性审计方法,包括以下步骤:
步骤1),源链中的用户节点对原始数据进行预处理,和源链协同生成盲化数据、文件签名、数据标签并构建动态的默克尔哈希树;
步骤2),源链生成数据上传交易,所述数据上传交易包含盲化数据、文件签名和数据标签;同时源链利用AGMS对生成的数据上传交易进行签名,将签名的数据上传交易发送给目标链;
步骤3),目标链在收到数据上传交易后,对其签名进行验证,签名验证不通过时拒绝存储数据,签名验证通过则接着对其中的文件签名、数据标签以及盲化数据进行一致性验证,一致性验证通过则进行存储,否则拒绝存储;
步骤4),当源链中的用户节点希望对数据进行动态更新时,首先,源链根据数据更新请求与用户节点协同对存储的盲化数据、文件签名、数据标签以及动态的默克尔哈希树进行更新,并根据数据更新请求生成数据更新请求交易,所述数据更新请求交易包含数据更新请求以及数据更新的内容,数据更新内容包含更新后的盲化数据、文件签名和数据标签;然后,源链利用AGMS对数据更新请求交易进行签名,将签名的数据更新请求交易发送给目标链;
步骤5),目标链在收到数据更新请求交易后,对其签名进行验证,签名验证不通过时拒绝进行数据更新,签名验证通过则接着对其中数据更新内容中的文件签名、数据标签和盲化数据进行一致性验证,一致性验证通过时目标链根据数据更新请求进行更新并生成审计证明发送给源链进行验证,否则拒绝进行数据更新;
步骤6),当审计链对源链和目标链之间的跨链动态数据更新一致性进行审计时,其生成质询挑战分别发送给源链和目标链;目标链和源链生成相应的存储证明和审计证明发送给审计链;审计链根据证明来验证跨链数据动态更新的一致性。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤1)的详细步骤为:
步骤1.2),源链、目标链、审计链中的用户节点进行身份注册;
步骤1.2.2),用户节点DO与证书授权机构CA协同生成其公私钥对:[pkDO,(skDO,xDO)];
步骤1.2.3),最后用户节点DO进行身份注册,当其身份通过区块链中其余节点的验证后,用户节点DO身份注册成功,否则注册失败;
步骤1.3),源链中的用户节点DO与源链协同对原始数据F进行预处理;
步骤1.3.2),源链根据数据集合F*生成动态默克尔哈希树并获得相应的hRoot;
步骤1.3.3),源链和目标链协同生成文件签名以及数据标签{{σi}i∈[1,B],αd},其中{σi}i∈[1,B]是数据标签,{αd}是文件签名。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤2)的详细步骤为:
步骤2.2),源链利用AGMS对数据上传交易进行签名,生成签名(c,Sig);
步骤2.3),源链将数据上传交易Tx1以及签名(c,Sig)一起发送给目标链。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤3)的详细步骤为:
步骤3.1),当目标链收到来自源链的数据上传交易Tx1以及签名(c,Sig)后,根据以下公式验证签名(c,Sig)的正确性:其中h1是哈希函数,是聚合的承诺值,/>是聚合的公钥,hs=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤3.1.1),若签名(c,Sig)验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2),若签名(c,Sig)验证通过,目标链根据以下公式对文件签名进行验证:
e(αd,g)=e(H3(α0||hRoot),pkDO)·e(H3(name||id(DO)),Rd)
步骤3.1.2.1),如果对文件签名验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2.2),如果对文件签名验证通过,目标链继续根据以下公式进行数据标签和盲化数据一致性的验证:
步骤3.1.2.2.1),若验证通过,目标链对此交易内容进行存储;
步骤3.1.2.2.1),若验证失败,目标链拒绝对此交易内容进行存储。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤4)的具体步骤如下:
当源链中的用户节点DO进行数据动态更新时,DO发送一个数据更新请求req给源链,其中包含需要进行的数据更新操作、数据更新内容以及更新的数据位置,所述数据更新操作包含修改操作,插入操作和删除操作;
步骤4.1),若用户节点DO进行修改操作,ts1时刻修改第i个位置的区块;
步骤4.1.2),用户节点DO生成数据更新请求req,其中包含修改操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.1.3),用户节点DO将req发送给源链;
步骤4.1.4),源链根据req中的数据更新内容修改动态默克尔哈希树中第i个位置的区块,并重新生成哈希根h'Root;
步骤4.1.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.1.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2中包含req、{α'd}和{σ'};
步骤4.1.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.1.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.2),若用户节点DO进行插入操作,ts1时刻在第i个位置的插入一个新区块;
步骤4.2.2),用户节点DO生成数据更新请求req,其中包含插入操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置插入新的区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.3),若用户节点DO进行删除操作,ts1时刻在第i个位置的删除一个区块;
步骤4.3.1),用户节点DO生成数据更新请求req,其中包含删除操作、fi *和i,fi *为null,代表删除第i个区块的整个内容;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置删除一个区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤5)的具体步骤如下:
步骤5.1)当目标链在收到数据更新请求交易Tx2以及文件签名(c',Sig')后,根据以下公式验证签名(c',Sig')的正确性:其中h1是哈希函数,是聚合的承诺值,/>是聚合的公钥,hs'=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤5.1.1),若签名(c',Sig')验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2),若签名(c',Sig')验证通过,目标链根据以下公式对文件签名进行验证:
e(α'd,g)=e(H3(α'0||h'Root),pkDO)·e(H3(name||id(DO)),Rd)
其中,α'0=id(DO)||S||ts1,ts1是时间戳标识;
步骤5.1.2.1),如果对文件签名验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2.2),如果对文件签名进行验证通过,目标链继续根据以下公式对数据标签和盲化数据的一致性进行验证:
步骤5.1.2.3),若验证通过,目标链根据数据更新请求交易Tx2对数据进行更新操作;
步骤5.1.2.4),若验证失败,目标链拒绝对数据进行更新操作。
作为本发明一种动态跨链数据一致性审计方法进一步的优化方案,所述步骤6)的具体步骤如下:
步骤6.1),源链和目标链在ts2时刻进行数据更新一致性审计验证时;
步骤6.1.1),目标链构造一个随机挑战其中表示在ts2时刻拥有c个元素的挑战区块集合;/>是一个拥有c个元素的随机数集合,集合中的每个元素对应/>中的一个挑战区块,是生成的密钥;/>是ts2时刻中目标链中的区块数量;/>是ts2时刻目标链中最接近ts2的一个随机值;/>是一个伪随机置换函数,/>是伪随机函数;
步骤6.1.3),目标链生成审计证明:
步骤6.2.1),源链对文件标签根据如下公式进行验证:
步骤6.2.1.1),如果验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.2.1.2),如果对文件签名验证通过,源链继续根据如下公式进行如下验证:
步骤6.2.1.2.2),若验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.3),审计链对目标链和源链之间的数据动态更新的一致性进行审计时;
步骤6.3.1),审计链生成挑战质询发送给源链;
步骤6.3.2.1),当收到来自目标链的存储证明后,审计链根据如下公式来验证源链和目标链之间数据动态更新的一致性:
步骤6.3.2.3),若验证通过,动态跨链数据的一致性审计通过;
步骤6.3.2.4),若验证不通过,动态跨链数据的一致性审计不通过并广播目标链的不诚实行为。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明针对跨链中数据动态更新一致性缺乏高效可靠审计这个角度出发,设计了一种动态跨链数据一致性审计方法。为了能够以高效可靠的方式进行跨链的数据动态更新,引入了一种动态的默克尔哈希树,其能以一种较低的成本完成对数据的动态更新;其次为了保证跨链传输交易内容的安全性和隐私性,引入了AGMS来对跨链传输的交易内容进行签名,与此同时设计了三种不同的区块链,即源链,目标链和审计链构建跨链数据动态更新审计模型,并分别部署了不同的智能合约在链上以此实现高效的审计。
附图说明
图1是本发明的模型示意图;
图2是本发明的角色示意图;
图3是本发明的流程示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明可以以许多不同的形式实现,而不应当认为限于这里所述的实施例。相反,提供这些实施例以便使本公开透彻且完整,并且将向本领域技术人员充分表达本发明的范围。在附图中,为了清楚起见放大了组件。
如图1、图2、图3所示,本发明公开了一种动态跨链数据一致性审计方法,包括以下步骤:
步骤1),源链中的用户节点对原始数据进行预处理,和源链协同生成盲化数据、文件签名、数据标签并构建动态的默克尔哈希树;
步骤1.2),源链、目标链、审计链中的用户节点进行身份注册;
步骤1.2.2),用户节点DO与证书授权机构CA协同生成其公私钥对:[pkDO,(skDO,xDO)];
步骤1.2.3),最后用户节点DO进行身份注册,当其身份通过区块链中其余节点的验证后,用户节点DO身份注册成功,否则注册失败;
步骤1.3),源链中的用户节点DO与源链协同对原始数据F进行预处理;
步骤1.3.2),源链根据数据集合F*生成动态默克尔哈希树并获得相应的hRoot;
步骤1.3.3),源链和目标链协同生成文件签名以及数据标签{{σi}i∈[1,B],αd},其中{σi}i∈[1,B]是数据标签,{αd}是文件签名。
步骤2),源链生成数据上传交易,所述数据上传交易包含盲化数据、文件签名和数据标签;同时源链利用AGMS对生成的数据上传交易进行签名,将签名的数据上传交易发送给目标链;
步骤2.2),源链利用AGMS对数据上传交易进行签名,生成签名(c,Sig);
步骤2.3),源链将数据上传交易Tx1以及签名(c,Sig)一起发送给目标链。
步骤3),目标链在收到数据上传交易后,对其签名进行验证,签名验证不通过时拒绝存储数据,签名验证通过则接着对其中的文件签名、数据标签以及盲化数据进行一致性验证,一致性验证通过则进行存储,否则拒绝存储;
步骤3.1),当目标链收到来自源链的数据上传交易Tx1以及签名(c,Sig)后,根据以下公式验证签名(c,Sig)的正确性:其中h1是哈希函数,是聚合的承诺值,/>是聚合的公钥,hs=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤3.1.1),若签名(c,Sig)验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2),若签名(c,Sig)验证通过,目标链根据以下公式对文件签名进行验证:
e(αd,g)=e(H3(α0||hRoot),pkDO)·e(H3(name||id(DO)),Rd)
步骤3.1.2.1),如果对文件签名验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2.2),如果对文件签名验证通过,目标链继续根据以下公式进行数据标签和盲化数据一致性的验证:
步骤3.1.2.2.1),若验证通过,目标链对此交易内容进行存储;
步骤3.1.2.2.1),若验证失败,目标链拒绝对此交易内容进行存储。
步骤4),当源链中的用户节点希望对数据进行动态更新时,首先,源链根据数据更新请求与用户节点协同对存储的盲化数据、文件签名、数据标签以及动态的默克尔哈希树进行更新,并根据数据更新请求生成数据更新请求交易,所述数据更新请求交易包含数据更新请求以及数据更新的内容,数据更新内容包含更新后的盲化数据、文件签名和数据标签;然后,源链利用AGMS对数据更新请求交易进行签名,将签名的数据更新请求交易发送给目标链,具体如下:
当源链中的用户节点DO进行数据动态更新时,DO发送一个数据更新请求req给源链,其中包含需要进行的数据更新操作、数据更新内容以及更新的数据位置,所述数据更新操作包含修改操作,插入操作和删除操作;
步骤4.1),若用户节点DO进行修改操作,ts1时刻修改第i个位置的区块;
步骤4.1.2),用户节点DO生成数据更新请求req,其中包含修改操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.1.3),用户节点DO将req发送给源链;
步骤4.1.4),源链根据req中的数据更新内容修改动态默克尔哈希树中第i个位置的区块,并重新生成哈希根h'Root;
步骤4.1.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.1.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2中包含req、{α'd}和{σ'};
步骤4.1.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.1.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.2),若用户节点DO进行插入操作,ts1时刻在第i个位置的插入一个新区块;
步骤4.2.2),用户节点DO生成数据更新请求req,其中包含插入操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置插入新的区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.3),若用户节点DO进行删除操作,ts1时刻在第i个位置的删除一个区块;
步骤4.3.1),用户节点DO生成数据更新请求req,其中包含删除操作、fi *和i,fi *为null,代表删除第i个区块的整个内容;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置删除一个区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链。
步骤5),目标链在收到数据更新请求交易后,对其签名进行验证,签名验证不通过时拒绝进行数据更新,签名验证通过则接着对其中数据更新内容中的文件签名、数据标签和盲化数据进行一致性验证,一致性验证通过时目标链根据数据更新请求进行更新并生成审计证明发送给源链进行验证,否则拒绝进行数据更新;
步骤5.1)当目标链在收到数据更新请求交易Tx2以及文件签名(c',Sig')后,根据以下公式验证签名(c',Sig')的正确性:其中h1是哈希函数,是聚合的承诺值,/>是聚合的公钥,hs'=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤5.1.1),若签名(c',Sig')验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2),若签名(c',Sig')验证通过,目标链根据以下公式对文件签名进行验证:
e(α'd,g)=e(H3(α'0||h'Root),pkDO)·e(H3(name||id(DO)),Rd)
其中,α'0=id(DO)||S||ts1,ts1是时间戳标识;
步骤5.1.2.1),如果对文件签名验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2.2),如果对文件签名进行验证通过,目标链继续根据以下公式对数据标签和盲化数据的一致性进行验证:
步骤5.1.2.3),若验证通过,目标链根据数据更新请求交易Tx2对数据进行更新操作;
步骤5.1.2.4),若验证失败,目标链拒绝对数据进行更新操作。
步骤6),当审计链对源链和目标链之间的跨链动态数据更新一致性进行审计时,其生成质询挑战分别发送给源链和目标链;目标链和源链生成相应的存储证明和审计证明发送给审计链;审计链根据证明来验证跨链数据动态更新的一致性:
步骤6.1),源链和目标链在ts2时刻进行数据更新一致性审计验证时;
步骤6.1.1),目标链构造一个随机挑战其中表示在ts2时刻拥有c个元素的挑战区块集合;/>是一个拥有c个元素的随机数集合,集合中的每个元素对应/>中的一个挑战区块,是生成的密钥;/>是ts2时刻中目标链中的区块数量;/>是ts2时刻目标链中最接近ts2的一个随机值;/>是一个伪随机置换函数,/>是伪随机函数;/>
步骤6.1.3),目标链生成审计证明:
步骤6.2.1),源链对文件标签根据如下公式进行验证:
步骤6.2.1.1),如果验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.2.1.2),如果对文件签名验证通过,源链继续根据如下公式进行如下验证:
步骤6.2.1.2.2),若验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.3),审计链对目标链和源链之间的数据动态更新的一致性进行审计时;
步骤6.3.1),审计链生成挑战质询发送给源链;
步骤6.3.2.1),当收到来自目标链的存储证明后,审计链根据如下公式来验证源链和目标链之间数据动态更新的一致性:
步骤6.3.2.3),若验证通过,动态跨链数据的一致性审计通过;
步骤6.3.2.4),若验证不通过,动态跨链数据的一致性审计不通过并广播目标链的不诚实行为。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种动态跨链数据一致性审计方法,其特征在于,包括以下步骤:
步骤1),源链中的用户节点对原始数据进行预处理,和源链协同生成盲化数据、文件签名、数据标签并构建动态的默克尔哈希树;
步骤2),源链生成数据上传交易,所述数据上传交易包含盲化数据、文件签名和数据标签;同时源链利用AGMS对生成的数据上传交易进行签名,将签名的数据上传交易发送给目标链;
步骤3),目标链在收到数据上传交易后,对其签名进行验证,签名验证不通过时拒绝存储数据,签名验证通过则接着对其中的文件签名、数据标签以及盲化数据进行一致性验证,一致性验证通过则进行存储,否则拒绝存储;
步骤4),当源链中的用户节点希望对数据进行动态更新时,首先,源链根据数据更新请求与用户节点协同对存储的盲化数据、文件签名、数据标签以及动态的默克尔哈希树进行更新,并根据数据更新请求生成数据更新请求交易,所述数据更新请求交易包含数据更新请求以及数据更新的内容,数据更新内容包含更新后的盲化数据、文件签名和数据标签;然后,源链利用AGMS对数据更新请求交易进行签名,将签名的数据更新请求交易发送给目标链;
步骤5),目标链在收到数据更新请求交易后,对其签名进行验证,签名验证不通过时拒绝进行数据更新,签名验证通过则接着对其中数据更新内容中的文件签名、数据标签和盲化数据进行一致性验证,一致性验证通过时目标链根据数据更新请求进行更新并生成审计证明发送给源链进行验证,否则拒绝进行数据更新;
步骤6),当审计链对源链和目标链之间的跨链动态数据更新一致性进行审计时,其生成质询挑战分别发送给源链和目标链;目标链和源链生成相应的存储证明和审计证明发送给审计链;审计链根据证明来验证跨链数据动态更新的一致性。
2.根据权利要求1所述的动态跨链数据一致性审计方法,其特征在于,步骤1)的详细步骤为:
步骤1.2),源链、目标链、审计链中的用户节点进行身份注册;
步骤1.2.2),用户节点DO与证书授权机构CA协同生成其公私钥对:[pkDO,(skDO,xDO)];
步骤1.2.3),最后用户节点DO进行身份注册,当其身份通过区块链中其余节点的验证后,用户节点DO身份注册成功,否则注册失败;
步骤1.3),源链中的用户节点DO与源链协同对原始数据F进行预处理;
步骤1.3.2),源链根据数据集合F*生成动态默克尔哈希树并获得相应的hRoot;
步骤1.3.3),源链和目标链协同生成文件签名以及数据标签{{σi}i∈[1,B],αd},其中{σi}i∈[1,B]是数据标签,{αd}是文件签名。
4.如权利要求3所述的动态跨链数据一致性审计方法,其特征在于,步骤3)的详细步骤为:
步骤3.1),当目标链收到来自源链的数据上传交易Tx1以及签名(c,Sig)后,根据以下公式验证签名(c,Sig)的正确性:其中h1是哈希函数,/>是聚合的承诺值,/>是聚合的公钥,hs=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤3.1.1),若签名(c,Sig)验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2),若签名(c,Sig)验证通过,目标链根据以下公式对文件签名进行验证:
e(αd,g)=e(H3(α0||hRoot),pkDO)·e(H3(name||id(DO)),Rd)
步骤3.1.2.1),如果对文件签名验证失败,目标链拒绝对此交易内容进行存储;
步骤3.1.2.2),如果对文件签名验证通过,目标链继续根据以下公式进行数据标签和盲化数据一致性的验证:
步骤3.1.2.2.1),若验证通过,目标链对此交易内容进行存储;
步骤3.1.2.2.1),若验证失败,目标链拒绝对此交易内容进行存储。
5.如权利要求4所述的动态跨链数据一致性审计方法,其特征在于,步骤4)的具体步骤如下:
当源链中的用户节点DO进行数据动态更新时,DO发送一个数据更新请求req给源链,其中包含需要进行的数据更新操作、数据更新内容以及更新的数据位置,所述数据更新操作包含修改操作,插入操作和删除操作;
步骤4.1),若用户节点DO进行修改操作,ts1时刻修改第i个位置的区块;
步骤4.1.2),用户节点DO生成数据更新请求req,其中包含修改操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.1.3),用户节点DO将req发送给源链;
步骤4.1.4),源链根据req中的数据更新内容修改动态默克尔哈希树中第i个位置的区块,并重新生成哈希根h'Root;
步骤4.1.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.1.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2中包含req、{α'd}和{σ'};
步骤4.1.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.1.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.2),若用户节点DO进行插入操作,ts1时刻在第i个位置的插入一个新区块;
步骤4.2.2),用户节点DO生成数据更新请求req,其中包含插入操作、fij'=(fi'1,fi'2,...,fi'S)和i;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置插入新的区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链;
步骤4.3),若用户节点DO进行删除操作,ts1时刻在第i个位置的删除一个区块;
步骤4.3.1),用户节点DO生成数据更新请求req,其中包含删除操作、fi *和i,fi *为null,代表删除第i个区块的整个内容;
步骤4.2.3),用户节点DO将req发送给源链;
步骤4.2.4),源链根据req中的数据更新内容在动态默克尔哈希树中的第i个位置删除一个区块,并重新生成哈希根h'Root;
步骤4.2.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'd}和新的数据标签{σ'};
步骤4.2.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2包含req、{α'd}和{σ'};
步骤4.2.7),源链利用AGMS对数据更新请求交易Tx2进行签名,生成签名(c',Sig');
步骤4.2.8),源链将数据更新请求交易Tx2以及签名(c',Sig')一起发送给目标链。
6.如权利要求5所述的动态跨链数据一致性审计方法,其特征在于,步骤5)的具体步骤如下:
步骤5.1)当目标链在收到数据更新请求交易Tx2以及文件签名(c',Sig')后,根据以下公式验证签名(c',Sig')的正确性:其中h1是哈希函数,是聚合的承诺值,/>是聚合的公钥,hs'=h1(m)是对签名数据m哈希后计算后生成的哈希值,/>是聚合签名的领导用户节点,由源链中的用户节点随机选出;
步骤5.1.1),若签名(c',Sig')验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2),若签名(c',Sig')验证通过,目标链根据以下公式对文件签名进行验证:
e(α'd,g)=e(H3(α'0||h'Root),pkDO)·e(H3(name||id(DO)),Rd)
其中,α'0=id(DO)||S||ts1,ts1是时间戳标识;
步骤5.1.2.1),如果对文件签名验证失败,目标链拒绝对数据进行更新操作;
步骤5.1.2.2),如果对文件签名进行验证通过,目标链继续根据以下公式对数据标签和盲化数据的一致性进行验证:
步骤5.1.2.3),若验证通过,目标链根据数据更新请求交易Tx2对数据进行更新操作;
步骤5.1.2.4),若验证失败,目标链拒绝对数据进行更新操作。
7.如权利要求6所述的动态跨链数据一致性审计方法,其特征在于,步骤6)的具体步骤如下:
步骤6.1),源链和目标链在ts2时刻进行数据更新一致性审计验证时;
步骤6.1.1),目标链构造一个随机挑战其中表示在ts2时刻拥有c个元素的挑战区块集合;/>是一个拥有c个元素的随机数集合,集合中的每个元素对应/>中的一个挑战区块,是生成的密钥;/>是ts2时刻中目标链中的区块数量;/>是ts2时刻目标链中最接近ts2的一个随机值;/>是一个伪随机置换函数,/>是伪随机函数;
步骤6.1.3),目标链生成审计证明:
步骤6.2.1),源链对文件标签根据如下公式进行验证:
步骤6.2.1.1),如果验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.2.1.2),如果对文件签名验证通过,源链继续根据如下公式进行如下验证:
步骤6.2.1.2.2),若验证不通过,则审计不通过并广播目标链的不诚实行为;
步骤6.3),审计链对目标链和源链之间的数据动态更新的一致性进行审计时;
步骤6.3.1),审计链生成挑战质询发送给源链;
步骤6.3.2.1),当收到来自目标链的存储证明后,审计链根据如下公式来验证源链和目标链之间数据动态更新的一致性:
步骤6.3.2.3),若验证通过,动态跨链数据的一致性审计通过;
步骤6.3.2.4),若验证不通过,动态跨链数据的一致性审计不通过并广播目标链的不诚实行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310138151.2A CN116303493A (zh) | 2023-02-20 | 2023-02-20 | 一种动态跨链数据一致性审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310138151.2A CN116303493A (zh) | 2023-02-20 | 2023-02-20 | 一种动态跨链数据一致性审计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116303493A true CN116303493A (zh) | 2023-06-23 |
Family
ID=86789845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310138151.2A Pending CN116303493A (zh) | 2023-02-20 | 2023-02-20 | 一种动态跨链数据一致性审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303493A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294540A (zh) * | 2023-11-27 | 2023-12-26 | 人民法院信息技术服务中心 | 基于角色授权的隐私数据跨链获取方法、装置及系统 |
-
2023
- 2023-02-20 CN CN202310138151.2A patent/CN116303493A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294540A (zh) * | 2023-11-27 | 2023-12-26 | 人民法院信息技术服务中心 | 基于角色授权的隐私数据跨链获取方法、装置及系统 |
CN117294540B (zh) * | 2023-11-27 | 2024-01-23 | 人民法院信息技术服务中心 | 基于角色授权的隐私数据跨链获取方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
Jin et al. | Dynamic and public auditing with fair arbitration for cloud data | |
CN108229208B (zh) | 一种云存储服务中多副本数据的公开审计方法 | |
CN106789090A (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
CN107171812A (zh) | 一种基于区块链的无密钥签名基础设施构建方法 | |
CN113312574A (zh) | 一种基于区块链的云数据完整性审计方法 | |
CN110008755B (zh) | 一种云存储可撤销动态数据完整性验证系统及方法 | |
CN110225012B (zh) | 一个基于联盟链的外包数据的拥有权检查和更新方法 | |
CN112543106A (zh) | 一种基于区块链和群签名的车辆隐私匿名保护方法 | |
CN111030809A (zh) | 一种可支持lsss矩阵的格上基于属性签名方法 | |
US12007972B2 (en) | Systems and methods for processing blockchain transactions | |
CN116303493A (zh) | 一种动态跨链数据一致性审计方法 | |
CN112732695A (zh) | 一种基于区块链的云存储数据安全去重方法 | |
CN114329621A (zh) | 一种区块链跨链交互数据完整性验证方法 | |
Kohad et al. | Scalability issues of blockchain technology | |
CN113902384A (zh) | 一种基于rfid和智能合约的溯源方法及系统 | |
CN112699123A (zh) | 一种数据存储系统中数据存在性和完整性校验方法及系统 | |
CN115664682A (zh) | 基于联盟链主从多链的医疗数据共享的共识方法 | |
CN109063513B (zh) | 一种基于Hadoop平台的动态数据完整性验证方法 | |
CN114944953A (zh) | 一种车联网环境下用于路况监测的无证书匿名认证方法 | |
CN112887281B (zh) | 支持高效审计和多备份密文去重的存储方法、系统及应用 | |
Wang et al. | A lightweight data integrity verification with data dynamics for mobile edge computing | |
CN111402104B (zh) | 一种基于区块链的公安数据管理平台及方法 | |
CN111966638B (zh) | 一种适用于工业云上的ida数据恢复的动态更新方法 | |
CN115632791B (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 |