CN112636920A - 一种基于权限管控的同构许可链互联方法 - Google Patents
一种基于权限管控的同构许可链互联方法 Download PDFInfo
- Publication number
- CN112636920A CN112636920A CN202011455348.1A CN202011455348A CN112636920A CN 112636920 A CN112636920 A CN 112636920A CN 202011455348 A CN202011455348 A CN 202011455348A CN 112636920 A CN112636920 A CN 112636920A
- Authority
- CN
- China
- Prior art keywords
- chain
- transaction
- cross
- certificate
- verification
- 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
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- 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
Abstract
本发明公开了一种基于权限管控的同构许可链互联方法,互联的各方是同构许可链,每个许可链具有至少一个跨链通信代理节点,在代理节点上设有跨链证书管理模块和权限管控模块,跨链证书管理模块用于生成和管理相关证书,权限管控模块提供多链注册、权限管控功能,根据权限管理要求进行注册,如果注册成功则在通信时对信息进行权限验证,对于其他链进行访问需要其他链的授权验证,满足对数据的隔离与保护。本发明通过跨链通信代理节点进行许可链跨链操作,并结合跨链证书管理模块和权限管控模块的设计实现同构许可链的互联,能够满足同构信息交互时的信息真实可靠、价值对等、事务一致性等要求,并能够实现权限管控,高吞吐率,满足更多应用场景。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于权限管控的同构许可链互联方法。
背景技术
许可链是指参与到区块链系统中的每个节点都是经过许可的,未经许可的节点不可接入系统中。区块链的最大价值是实现信息价值的传递,作为许可链来讲,参与者是一些经过许可授权的组织,即使是相同架构的区块链平台由于链间的隔离属性,数据权限,共识等原因,链与链之间不能够互通实现价值交换,也因此大大限制了区块链的进一步发展。另一方面,因为是许可链,链的权限、数据权限以及合约权限有着较高要求,一般的方法例如私有数据等远远满不足了现实需求,从效率和吞吐率上来讲,单链也是有着很大瓶颈,所以一种能够实现权限管控的同构许可链互联的方法十分必要。同构许可链链的架构相同,意味着所采用的共识算法、账本、区块链结构以及通信接口一致,本发明基于权限管控设计并实现一种在同构许可链互联的方法,该方法能够满足同构信息交互时的信息真实可靠、价值对等、事务一致性等要求,并能够实现权限管控,高吞吐率,满足更多应用场景。
发明内容
本发明针对以上需求,提出了一种于权限管控的同构许可链互联方法。
本发明的目的是通过以下技术方案实现的:一种基于权限管控的同构许可链互联方法,包括:
互联的各方同构许可链中,每个许可链具有至少一个跨链通信代理节点,每个代理节点能够与该许可链中的任意节点连接,各个同构许可链之间通过网络通信交互,在代理节点上设有跨链证书管理模块和权限管控模块,通过代理节点进行许可链的跨链操作;
所述跨链证书管理模块用于生成和管理相关的CA证书和数字证书,包括证书签发、公私钥生成、证书检查和证书撤销;当同构许可链进行通信互联时,跨链证书管理模块给代理节点颁发证书及公私钥对;
所述权限管控模块提供多链注册、权限管控功能,当同构许可链进行通信互联时,根据权限管理要求进行注册,对方进行审核,如果注册成功则在通信时会对通信信息进行权限验证,对于其他链进行访问需要其他链的授权验证。
进一步地,所述跨链证书管理模块的功能具体如下:
a、证书签发:通过跨链证书管理模块生成根证书root.ca及根证书私钥root.priv;当许可链之间发起通信时,需要注册身份信息,由目的链的根证书 root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链;
b、证书检查:跨链证书管理模块提供证书检查服务,检查内容包括证书是否由目的链代理节点的root.ca证书签发的跨链证书、摘要签名是否合法;
c、证书撤销:当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向跨链证书管理模块提出证书撤销请求,跨链证书管理模块生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书,在证书验证时根据证书撤销列表检查跨链交易的证书是否被撤销。
进一步地,所述权限管控模块中,注册信息包括源链名称、源链hash地址、目的链名称、目的链hash地址、链访问权限、合约访问权限、合约方法访问权限、数据字段访问权限、跨链证书信息、扩展字段等,根据注册信息进行灵活的权限管控。
进一步地,各个同构许可链之间通过跨链通信总线通信交互,总线上定义了若干跨链通信接口;跨链通信消息主要字段包括:version,协议版本; SourceChainID,来源链地址;DestChainID,目的链地址;CrosschainPayload,跨链交易内容;Timestamp,时间戳;Nonce,random;signature,代理节点签名; Cert,跨链交易节点证书;Proof,存在性验证信息;OriginInfo,跨链交易原始交易信息;extra,用户扩展字段;其中CrosschainPayload通过json序列化成字节类型,当传递到目的链时通过json解析出对应的结构;跨链通信接口用于许可链之间的信息交互,包括:交易发送接口、交易接收接口、交易验证接口、注册链接口、更新链接口、注销链接口。
进一步地,同构许可链之间互联过程如下:
(1)证书颁发:跨链证书管理模块给跨链代理节点颁发证书及公私钥对;
(2)链注册:源链向目的链进行跨链注册,主要包括源链的身份信息、权限信息、验证规则,注册成功后,目的链的验证引擎生成对该链的验证规则,并把源链的身份信息、链信息存储到目的链的注册表里,进行持久化存储;
(3)权限及验证规则管理:通过注册信息进行链间通信的权限管控;验证规则用于验证跨链交易的存在性和有效性,在许可链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证;
(4)检查阶段:检查产生该跨链交易的源链是否已经注册过,是否具有相关访问权限;
(5)验证阶段:通过交易的源链身份信息,在目的链的注册表里匹配验证规则,然后将交易权限信息、验证信息、验证规则、跨链交易输入到验证引擎进行验证;
(6)执行阶段:跨链交易通过验证后执行交易并返回结果。
进一步地,在执行阶段通过非对称秘钥签名和验签保证交易消息的有效性。
进一步地,跨链交易的存在性证明由默克尔证明来实现,将源链生成的跨链交易证明构造为默克尔树结构,目的链接收源链发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
进一步地,通过跨链事务锁定和事务提交回滚保证跨链事务一致性,包括:
源链许可链通过其代理节点向目的链许可链发起跨链交易;在源链许可链的代理节点和目的链许可链的代理节点执行以下操作:
源链的代理节点生成跨链交易证明和跨链交易摘要签名,锁定事务α,向目的链的代理节点发起跨链事务请求;
目的链的代理节点收到跨链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给源链的代理节点;
源链的代理节点接收并验证事务β锁定证明,如果验证通过则向目的链发起跨链交易请求,所述跨链交易请求中包括跨链交易证明和跨链交易摘要签名;
目的链的代理节点接收跨链交易请求,并验证跨链交易证明和跨链交易摘要签名,如果验证通过则解锁事务β,提交跨链事务,并向源链的代理节点返回提交跨链事务凭证;
源链的代理节点接收并验证提交跨链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作;
在验证过程中,目的链的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务β;源链的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
进一步地,事务锁定和回滚的具体如下:
源链生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H 和门限时间T0发送到目的链;
源链用哈希值H和门限时间T0锁定事务α;
目的链收到随机内容s的哈希值H,并用门限时间T1和H锁定事务β,其中T1<T0;
目的链发送事务β锁定证明和门限时间T1到源链;
源链发送H的原始内容s到目的链,目的链如果在门限时间T1内收到s,则解锁事务β,源链获取事务β锁定的信息,否则进行事务回滚;
目的链发送H的原始内容s到源链,源链如果在门限时间T0内收到s,则解锁事务α,目的链获取事务α锁定的信息,否则进行事务回滚。
进一步地,跨链消息传递流程包括:
源链许可链发送跨链消息到其代理节点;
源链许可链的代理节点对跨链通信消息签名,并将跨链通信消息发送到目的链许可链的代理节点;
目的链许可链的代理节点接收到跨链通信消息,依次进行签名验证、身份验证、权限验证、存在性验证,验证通过后,目的链许可链的代理节点将跨链交易发送到目的链许可链;
目的链许可链处理跨链消息,并返回处理结果。
本发明的有益效果是:本发明通过跨链通信代理节点进行许可链的跨链操作,并结合跨链证书管理模块和权限管控模块的设计实现同构许可链的互联,能够满足同构信息交互时的信息真实可靠、价值对等、事务一致性等要求,并能够实现权限管控,高吞吐率,满足更多应用场景。
附图说明
图1是本发明实施例提供的整体跨链架构示意图;
图2是本发明实施例提供的签发证书及注册流程图;
图3是本发明实施例提供的权限管控模块实现流程图;
图4是本发明实施例提供的同构许可链互联流程图;
图5是本发明实施例提供的默克尔树结构图;
图6是本发明实施例提供的事务锁定和回滚流程图;
图7是本发明实施例提供的消息传递流程图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明通过跨链通信代理节点crossagent进行许可链的跨链操作,并结合跨链证书管理模块和权限管控模块的设计实现同构许可链的互联,能够满足同构信息交互时的信息真实可靠、价值对等、事务一致性等要求,并能够实现权限管控,高吞吐率,满足更多应用场景。
总体架构如图1所示。互联的各方是同构许可链,每个许可链具有至少一个跨链通信代理节点crossagent,每个crossagent能够与该许可链中的任意节点连接,各个同构许可链之间通过跨链通信总线Crosshub通信交互;在跨链通信代理节点crossagent上设有跨链证书管理模块和权限管控模块。各部分的具体内容如下:
一、跨链通信代理节点crossagent
crossagent为同构许可链之间通信的代理节点,它和许可链内所有节点均可连接,提供一定的容错能力。当同构许可链进行通信互联时,首先由crossagent 上的跨链证书管理模块签发证书,然后由权限管控模块进行注册,注册信息中包含当前链的权限、智能合约权限、合约方法权限等,根据注册信息能够灵活的进行权限管控;签发证书及注册流程如图2所示。当发起跨链交易,许可链内部经过共识后,由crossagent的发送接口把跨链消息传递到目的链的crossagent,然后再传递到目的链上进行相关操作,通信过程采用TLS加密,可以确保信息传递安全性。crossagent负责同构许可链互联通信,包括链注册、权限管控、消息签名、交易路由、验证签名、验证交易存在性、保证事务一致性等。
二、跨链证书管理模块certManage
certManage主要用来生成和管理相关的CA证书和数字证书,包括证书签发、公私钥生成、证书检查、证书撤销等功能。具体如下:
a、证书签发,crossagent节点通过certManage生成根证书root.ca及根证书私钥root.priv。当许可链之间发起通信时,需要注册身份信息,首先由目的链的根证书root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链。
b、证书检查,certManage提供证书检查服务,检查内容包括证书是否由目的链crossagent的root.ca证书签发的跨链证书、摘要签名是否合法等。
c、证书撤销,当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向CertManage提出证书的撤销请求,certManage会生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书。在证书验证时会根据证书撤销列表检查跨链交易的证书是否被撤销。
许可链需要进行授权许可,因此链上的数据权限控制十分重要。本发明许可链之间数据访问的权限控制,主要通过跨链证书crosschain.cert进行权限控制管理。
三、权限管控模块
如图3所示,权限管控模块提供了多链注册、权限管控等功能。具体来讲,当许可链需要互通通信时,需要通过跨链证书管理模块互相签发跨链证书,然后根据权限管理要求,例如链的访问权限,智能合约访问权限,合约方法权限,相关字段访问权限,以及数据读写权限等进行注册,然后对方会进行审核,如果注册成功,则在通信时会对通信信息进行权限验证,对于其他链进行访问需要其他链的授权验证,满足对数据的隔离与保护,同构许可链进行互联时一方面能够满足业务场景的多样性,另一方面也大大提高了区块链的处理效率和吞吐率。这样基于高度灵活的权限管控的同构许可链互联方法能够更好地满足实际应用场景。其中,注册信息主要包括:源链名称、源链hash地址、目的链名称、目的链hash地址、链访问权限、合约访问权限、合约方法访问权限、数据字段访问权限、跨链证书信息、扩展字段等。
本发明设计注册信息CrossChainRegistInfo结构,其结构如下表所示:
其中Permission为权限管控结构,主要包括:
ChainPermission | 访问目的链的权限 | |
ChaincodePermission | 访问智能合约权限 | |
ChaincodeFuncPermission | 智能合约方法权限 | |
DataPermissoin | 访问数据字段权限 | |
Extra | 预留其他内容权限 |
四、跨链通信总线Crosshub
Crosshub为跨链通信总线,总线上定义了若干跨链通信接口,用于区块链跨链间网络通信。跨链通信消息的主要字段如下所示:
其中跨链交易内容CrosschainPayload通过json序列化成字节类型,当传递到目的链时通过json解析出对应的结构。
跨链通信接口用于许可链之间的信息交互,主要包括:
交易发送接口SendTx,用于源链向目的链发送信息;
交易接收接口ReceiveTX,用于目的链接收跨链交易;
交易验证接口VerifyTX,用于验证交易信息;
注册链接口RegistChain,用于身份注册;
更新链接口UpdateChain,用于更新链身份信息;
注销链接口DeleteChain,用于注销链身份信息。
基于以上四个部分的设计,同构许可链之间传递信息关键逻辑流程如图4 所示(均在代理节点crossagent上执行),具体包括以下步骤:
(1)证书颁发
跨链证书管理模块给跨链代理节点颁发证书及公私钥对。具体颁发规则为:假设许可链A与许可链B之间相互通信,那么A链根证书向B链颁发跨链证书及公私钥对,B链根证书向A链颁发跨链证书及公私钥对,并把证书及公私钥对部署在跨链通信代理节点crossagent上。那么B链可以用根证书去验证A链发过来的消息的跨链证书,同样A链可以用根证书去验证B链发送过来的消息的跨链证书;同时也会对消息摘要签名进行验证,进而达到跨链权限管理以及保证通信安全。
(2)链注册
许可链源链会向目的链进行跨链注册,主要包括源链的身份信息、权限信息、验证规则等,注册成功后,目的链的验证引擎模块会生成对该链的验证规则,后续按照这个验证规则对跨链交易的合法性进行验证。并把源链的身份信息、链信息存储到目的链的注册表里,进行持久化存储。目的链crossagent的验证引擎会对源链注册的信息进行核对。
crossagent支持链更新和注销操作,总体流程和注册流程类似,更新和注销信息经过检查验证后,会更新注册表内容。
(3)权限及验证规则管理
权限管理主要通过注册信息进行链间通信的权限管控,具有高度可定制化以及灵活性。
验证规则是供验证引擎对跨链交易验证存在性和有效性所用的。源链向目的链注册时,由目的链的crossagent进行相应验证规则的部署、注册,并记录注册链的身份信息到注册表里。在许可链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证,验证通过后执行相关交易。
(4)检查阶段
跨链交易的检查工作包括:产生该跨链交易的源链是否已经注册过,是否具有相关访问权限(包括链的访问权限、智能合约访问权限、合约方法权限、相关字段访问权限以及数据读写权限等)。
(5)验证阶段
检查通过的跨链交易进入验证阶段,验证阶段由验证引擎执行,通过交易的源链身份信息,在目的链的注册表里匹配验证规则,然后将交易权限信息、验证信息(存在性和有效性)、验证规则、跨链交易输入到验证引擎,然后进行验证。验证通过后,交易将进入执行阶段。
(6)执行阶段
跨链交易通过验证后进入执行阶段,执行阶段设计了交易有效性、交易存在性证明和事务一致性保证的方法。
6.1、交易有效性
通过非对称秘钥签名和验签保证交易消息的有效性。
6.2、交易存在性
本发明中,跨链交易的存在性证明是由默克尔证明来实现的。将许可链A 生成的跨链交易证明构造为默克尔树结构,许可链B接收许可链A发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
默克尔树的结构如图5所示,每个非叶子节点通过其子节点的哈希值来进行标注,树的根节点叫作默克尔根(merkle root)。图5所示是某区块X的默克尔树结构,如果要验证交易Tx_D是否在该区块中,无需获取整个区块,只需要提供交易Tx_D,H_AB,H_C以及merkleroot即可。具体过程如下:
a、根据交易Tx_D计算哈希,得到H_D;
b、根据H_C和H_D计算哈希,得到H_CD;
c、根据H_AB和H_CD计算哈希,得到H_ABCD;
d、对比H_ABCD和merkle root,如果相同,则证明区块中存在交易Tx_D,否则说明不存在。
许可链之间通信需要存在性证明,在交易信息中需要带有验证信息,证明信息是指验证过程中用到的初始哈希值,即H_AB、H_C、merkle root和Tx_D。
6.3、事务一致性
区块链通过共识机制保证了节点之间的一致性,针对单链内部的事务保证,共识算法能够保证其状态是确定的,所有的交易执行结果在所有集群中均是一致的。但是在跨链交互当中,一方面,链间状态并没有相互同步,如果链内部采用的共识协议不同的话,节点内部共识状态也无法作为事务提交的标志。但是跨链交互又需要获取链之间的交易和状态数据,那么跨链交互过程当中的事务保证则成为了一个关键点。
为了保证跨链事务一致性,本发明设计了跨链事务锁方案,跨链事务交互流程如下:
a、许可链A通过其代理节点向许可链B发起跨链交易;
b、在许可链A的代理节点和许可链B的代理节点执行以下操作:
1、许可链A的代理节点生成跨链交易证明和跨链交易摘要签名,锁定事务α,向许可链B的代理节点发起跨链事务请求;
2、许可链B的代理节点收到跨链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给许可链 A的代理节点;
3、许可链A的代理节点接收并验证事务β锁定证明,如果验证通过则向许可链B发起跨链交易请求,所述跨链交易请求中包括跨链交易证明和跨链交易摘要签名;
4、许可链B的代理节点接收跨链交易请求,并验证跨链交易证明和跨链交易摘要签名,如果验证通过则解锁事务β,提交跨链事务,并向许可链A的代理节点返回提交跨链事务凭证;
5、许可链A的代理节点接收并验证提交跨链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作。
在验证过程中:
许可链B的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务β;
许可链A的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
在一个实施例中,如图6所示,事务锁定和回滚的具体流程如下(均在代理节点上执行):
1、许可链A生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H和门限时间T0发送到许可链B;
2、许可链A用哈希值H和门限时间T0锁定事务α,α锁定的可以是跨链交互相关的价值资产信息;
3、许可链B收到随机内容s的哈希值H,并用门限时间T1时间(T1<T0) 和H锁定事务β,事务β锁定的可以是跨链交互相关的价值资产信息;
4、许可链B发送事务β锁定证明和门限时间T1到许可链A;
5、许可链A发送H的原始内容s到许可链B,许可链B如果在门限时间 T1内收到s,则解锁事务β,许可链A获取事务β锁定的价值资产,否则进行事务回滚;
6、许可链B发送H的原始内容s(s由步骤5中的许可链A发来)到许可链A,如果许可链A在门限时间T0内收到s,则解锁事务α,许可链B获取事务α锁定的价值资产,否则进行事务回滚。
本发明通过哈希值实现事务锁定和回滚,利用哈希计算的特点,正向计算 (由s计算H)较简单,但是逆向计算(由H计算s)很难实现,可以有效防止攻击。
(7)结果返回
目的链将执行结构及执行状态信息构建成返回信息发送到源链。
在一个实施例中,消息传递流程如图7所示。
1、许可链A发送跨链消息到其代理节点crossagent;
2、许可链A的crossagent对跨链通信消息签名,并通过总线将跨链通信消息发送到许可链B的代理节点crossagent;
3、许可链B的crossagent接收到跨链通信消息,依次进行签名验证、身份验证、权限验证、存在性验证,验证通过后,许可链B的crossagent将跨链交易发送到许可链B;
4、许可链B处理跨链消息,并返回处理结果。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中基于权限管控的同构许可链互联方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中基于权限管控的同构许可链互联方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种基于权限管控的同构许可链互联方法,其特征在于,包括:
互联的各方同构许可链中,每个许可链具有至少一个跨链通信代理节点,每个代理节点能够与该许可链中的任意节点连接,各个同构许可链之间通过网络通信交互,在代理节点上设有跨链证书管理模块和权限管控模块,通过代理节点进行许可链的跨链操作;
所述跨链证书管理模块用于生成和管理相关的CA证书和数字证书,包括证书签发、公私钥生成、证书检查和证书撤销;当同构许可链进行通信互联时,跨链证书管理模块给代理节点颁发证书及公私钥对;
所述权限管控模块提供多链注册、权限管控功能,当同构许可链进行通信互联时,根据权限管理要求进行注册,对方进行审核,如果注册成功则在通信时会对通信信息进行权限验证,对于其他链进行访问需要其他链的授权验证。
2.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,所述跨链证书管理模块的功能具体如下:
a、证书签发:通过跨链证书管理模块生成根证书root.ca及根证书私钥root.priv;当许可链之间发起通信时,需要注册身份信息,由目的链的根证书root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链;
b、证书检查:跨链证书管理模块提供证书检查服务,检查内容包括证书是否由目的链代理节点的root.ca证书签发的跨链证书、摘要签名是否合法;
c、证书撤销:当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向跨链证书管理模块提出证书撤销请求,跨链证书管理模块生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书,在证书验证时根据证书撤销列表检查跨链交易的证书是否被撤销。
3.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,所述权限管控模块中,注册信息包括源链名称、源链hash地址、目的链名称、目的链hash地址、链访问权限、合约访问权限、合约方法访问权限、数据字段访问权限、跨链证书信息、扩展字段等,根据注册信息进行灵活的权限管控。
4.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,各个同构许可链之间通过跨链通信总线通信交互,总线上定义了若干跨链通信接口;跨链通信消息主要字段包括:version,协议版本;SourceChainID,来源链地址;DestChainID,目的链地址;CrosschainPayload,跨链交易内容;Timestamp,时间戳;Nonce,random;signature,代理节点签名;Cert,跨链交易节点证书;Proof,存在性验证信息;OriginInfo,跨链交易原始交易信息;extra,用户扩展字段;其中CrosschainPayload通过json序列化成字节类型,当传递到目的链时通过json解析出对应的结构;跨链通信接口用于许可链之间的信息交互,包括:交易发送接口、交易接收接口、交易验证接口、注册链接口、更新链接口、注销链接口。
5.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,同构许可链之间互联过程如下:
(1)证书颁发:跨链证书管理模块给跨链代理节点颁发证书及公私钥对;
(2)链注册:源链向目的链进行跨链注册,主要包括源链的身份信息、权限信息、验证规则,注册成功后,目的链的验证引擎生成对该链的验证规则,并把源链的身份信息、链信息存储到目的链的注册表里,进行持久化存储;
(3)权限及验证规则管理:通过注册信息进行链间通信的权限管控;验证规则用于验证跨链交易的存在性和有效性,在许可链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证;
(4)检查阶段:检查产生该跨链交易的源链是否已经注册过,是否具有相关访问权限;
(5)验证阶段:通过交易的源链身份信息,在目的链的注册表里匹配验证规则,然后将交易权限信息、验证信息、验证规则、跨链交易输入到验证引擎进行验证;
(6)执行阶段:跨链交易通过验证后执行交易并返回结果。
6.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,在执行阶段通过非对称秘钥签名和验签保证交易消息的有效性。
7.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,跨链交易的存在性证明由默克尔证明来实现,将源链生成的跨链交易证明构造为默克尔树结构,目的链接收源链发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
8.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,通过跨链事务锁定和事务提交回滚保证跨链事务一致性,包括:
源链许可链通过其代理节点向目的链许可链发起跨链交易;在源链许可链的代理节点和目的链许可链的代理节点执行以下操作:
源链的代理节点生成跨链交易证明和跨链交易摘要签名,锁定事务α,向目的链的代理节点发起跨链事务请求;
目的链的代理节点收到跨链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给源链的代理节点;
源链的代理节点接收并验证事务β锁定证明,如果验证通过则向目的链发起跨链交易请求,所述跨链交易请求中包括跨链交易证明和跨链交易摘要签名;
目的链的代理节点接收跨链交易请求,并验证跨链交易证明和跨链交易摘要签名,如果验证通过则解锁事务β,提交跨链事务,并向源链的代理节点返回提交跨链事务凭证;
源链的代理节点接收并验证提交跨链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作;
在验证过程中,目的链的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务β;源链的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
9.根据权利要求8所述的一种基于权限管控的同构许可链互联方法,其特征在于,事务锁定和回滚具体如下:
源链生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H和门限时间T0发送到目的链;
源链用哈希值H和门限时间T0锁定事务α;
目的链收到随机内容s的哈希值H,并用门限时间T1和H锁定事务β,其中T1<T0;
目的链发送事务β锁定证明和门限时间T1到源链;
源链发送H的原始内容s到目的链,目的链如果在门限时间T1内收到s,则解锁事务β,源链获取事务β锁定的信息,否则进行事务回滚;
目的链发送H的原始内容s到源链,源链如果在门限时间T0内收到s,则解锁事务α,目的链获取事务α锁定的信息,否则进行事务回滚。
10.根据权利要求1所述的一种基于权限管控的同构许可链互联方法,其特征在于,跨链消息传递流程包括:
源链许可链发送跨链消息到其代理节点;
源链许可链的代理节点对跨链通信消息签名,并将跨链通信消息发送到目的链许可链的代理节点;
目的链许可链的代理节点接收到跨链通信消息,依次进行签名验证、身份验证、权限验证、存在性验证,验证通过后,目的链许可链的代理节点将跨链交易发送到目的链许可链;
目的链许可链处理跨链消息,并返回处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455348.1A CN112636920A (zh) | 2020-12-10 | 2020-12-10 | 一种基于权限管控的同构许可链互联方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455348.1A CN112636920A (zh) | 2020-12-10 | 2020-12-10 | 一种基于权限管控的同构许可链互联方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112636920A true CN112636920A (zh) | 2021-04-09 |
Family
ID=75309967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011455348.1A Pending CN112636920A (zh) | 2020-12-10 | 2020-12-10 | 一种基于权限管控的同构许可链互联方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112636920A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572825A (zh) * | 2021-07-09 | 2021-10-29 | 中国科学院计算技术研究所 | 面向中继链跨链架构的接入控制与资源访问控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426157A (zh) * | 2017-04-21 | 2017-12-01 | 杭州趣链科技有限公司 | 一种基于数字证书以及ca认证体系的联盟链权限控制方法 |
CN108881187A (zh) * | 2018-05-31 | 2018-11-23 | 杭州秘猿科技有限公司 | 一种适用于许可链场景的跨链数据传递方法及设备 |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111262860A (zh) * | 2020-01-16 | 2020-06-09 | 航天信息股份有限公司 | 跨链模式下的身份认证方法及装置 |
US20200278958A1 (en) * | 2019-03-01 | 2020-09-03 | Wanchain Ltd. | System and method for universal blockchain interoperability |
-
2020
- 2020-12-10 CN CN202011455348.1A patent/CN112636920A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426157A (zh) * | 2017-04-21 | 2017-12-01 | 杭州趣链科技有限公司 | 一种基于数字证书以及ca认证体系的联盟链权限控制方法 |
CN108881187A (zh) * | 2018-05-31 | 2018-11-23 | 杭州秘猿科技有限公司 | 一种适用于许可链场景的跨链数据传递方法及设备 |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
US20200278958A1 (en) * | 2019-03-01 | 2020-09-03 | Wanchain Ltd. | System and method for universal blockchain interoperability |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111262860A (zh) * | 2020-01-16 | 2020-06-09 | 航天信息股份有限公司 | 跨链模式下的身份认证方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572825A (zh) * | 2021-07-09 | 2021-10-29 | 中国科学院计算技术研究所 | 面向中继链跨链架构的接入控制与资源访问控制方法及系统 |
CN113572825B (zh) * | 2021-07-09 | 2023-03-21 | 中国科学院计算技术研究所 | 面向中继链跨链架构的接入控制与资源访问控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615915B (zh) | 一种在私有链之间构建联盟链的方法 | |
US20220247572A1 (en) | Secure dynamic threshold signature scheme employing trusted hardware | |
CN110875821B (zh) | 密码学区块链互操作 | |
CN112583917B (zh) | 一种基于cscp的混合链构建方法 | |
CN111144881B (zh) | 对资产转移数据的选择性访问 | |
EP3616105B1 (en) | Confidentiality in a consortium blockchain network | |
WO2020192743A1 (zh) | 权限管理方法、权限验证方法和相关装置 | |
CN110288480B (zh) | 一种区块链的私密交易方法及装置 | |
WO2021120253A1 (zh) | 链式结构数据存储、验证、实现方法、系统、装置及介质 | |
CN112507393B (zh) | 一种保障区块链跨链事务一致性的方法 | |
KR100315991B1 (ko) | 원격노드로부터의디지털서명계약서 | |
CN112529706B (zh) | 一种去中心化异构公有链资产交换方法 | |
CN117640099A (zh) | 用于避免或减少区块链网络上的加密滞留资源的系统和方法 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
EP3726774A1 (en) | Transparent blockchain sidechains to support blockchain processing heterogeneity | |
TW202025665A (zh) | 用以移轉數位資源存取權之電腦實施系統及方法 | |
CN113328997A (zh) | 联盟链跨链系统及方法 | |
US11196570B2 (en) | Cryptologic blockchain interoperability membership system | |
JP2023503607A (ja) | 自動デジタル証明書検証のための方法およびデバイス | |
Abraham et al. | Qualified eID derivation into a distributed ledger based IdM system | |
CN114503508A (zh) | 用于在区块链上存储经认证的数据的计算机实施的方法和系统 | |
KR20220006097A (ko) | 블록체인을 이용한 공개 키 관리를 위한 방법 및 디바이스 | |
CN112581128B (zh) | 一种具有存在证明的异构许可链价值交换方法 | |
Mao et al. | A survey on cross-chain technology: Challenges, development, and prospect | |
TWI818209B (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 |