CN114499898A - 一种区块链跨链安全接入方法及装置 - Google Patents

一种区块链跨链安全接入方法及装置 Download PDF

Info

Publication number
CN114499898A
CN114499898A CN202210392283.3A CN202210392283A CN114499898A CN 114499898 A CN114499898 A CN 114499898A CN 202210392283 A CN202210392283 A CN 202210392283A CN 114499898 A CN114499898 A CN 114499898A
Authority
CN
China
Prior art keywords
chain
identity
cross
user
transaction
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
Application number
CN202210392283.3A
Other languages
English (en)
Other versions
CN114499898B (zh
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 Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202210392283.3A priority Critical patent/CN114499898B/zh
Publication of CN114499898A publication Critical patent/CN114499898A/zh
Application granted granted Critical
Publication of CN114499898B publication Critical patent/CN114499898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种区块链跨链安全接入方法及装置,引入中继链作为媒介实现多个同构或异构链之间的跨链交易,在跨链接入过程中引入身份认证和跨链交易合法性认证,以源链端多节点网关和目的链端多节点网关对用户身份进行两级证明,通过中继链对跨链交易的合法性进行认证,增强跨链接入安全性。应用链、多节点网关和中继链在通信过程中,采用一次性会话密钥进行加密,能够极大降低密钥管理复杂度,降低安全风险。同时,采用多节点网关能够提升容错能力,防止网络攻击。通过引入第一设定跨链传输协议和第二设定跨链传输协议,构成完整的跨链通信协议,实现异构链之间的通信,提高安全性,并保证有效的跨链接入。

Description

一种区块链跨链安全接入方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链跨链安全接入方法及装置。
背景技术
区块链是一种去中心化、无需信任的分布式存储系统和通信系统,它通过P2P网络、分布式共识算法、密码学等让网络中所有节点共同拥有、管理和监督数据,使系统的运转可以不依赖于可信第三方,从架构上拥有了去中心化、去信任化、不可伪造、不可篡改、可追溯等特点。随着各界人士对区块链技术研究的逐步深入,目前根据节点的准入机制与去中心化程度可将区块链分为公有链、私有链和联盟链。它们基于不同的设计理念及业务场景,在技术架构上使用不同的存储方案、不同的共识算法等,而不同区块链存储的区块信息之间的隔离不可避免地造成区块链的价值“孤岛”效应。不同区块链之间如何进行通信甚至价值交换,以及区块链之间的数据流通、价值转移已成为阻碍区块链技术广泛落地应用的技术瓶颈。因此,需要一种方法进行不同区块链之间的跨链安全接入。
发明内容
鉴于此,本发明实施例提供了一种区块链跨链安全接入方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,以解决区块链之间跨链交易过程不流畅的问题。
本发明的技术方案如下:
一方面,本发明提供一种区块链跨链安全接入方法,所述方法用于在多个应用链和至少一个中继链之间运行,各应用链通过多节点网关连接所述中继链,并采用一次性会话密钥进行通信,所述方法包括:
用户向第一应用链发送对第二应用链的跨链交易申请;
所述第一应用链基于所述跨链交易申请向所述中继链请求并获取一级身份凭证;所述一级身份凭证至少包含采用第一设定规则加密的用户身份标识、用户地址、第一应用链身份标识、第二应用链身份标识、所述一级身份凭证对应的时间戳和有效期;
所述第一应用链将所述一级身份凭证发送至服务所述第一应用链的第一多节点网关进行验证并请求跨链交易,所述第一多节点网关验证合法后生成二级身份凭证和交易信息,并基于第一设定跨链传输协议发送至所述中继链;所述二级身份凭证至少包含采用第二设定规则加密的用户身份标识、用户地址、所述二级身份凭证对应的时间戳和有效期;
所述中继链对所述跨链交易进行合法性和存在性认证,在认证正确的情况下,向第二多节点网关转发所述二级身份凭证和所述交易信息;
所述第二多节点网关对接收到的所述二级身份凭证中的用户身份标识进行合法性认证,在认证合法的情况下,将接收到的所述交易信息基于第二设定传输协议发送至所述第二应用链,由所述第二应用链执行跨链交易并上链存储。
在一些实施例中,用户向第一应用链发送对第二应用链的跨链交易申请之前,还包括:
在所述中继链中对所述用户、所述第一应用链和/或所述第二应用链的身份信息进行预注册,以用于所述中继链在所述跨链交易过程中进行身份授权。
在一些实施例中,所述中继链设置密钥分发中心,所述密钥分发中心包括用于身份认证的认证服务器和用于身份凭证颁发的授权服务器;
所述第一应用链基于所述跨链交易申请向所述中继链请求并获取一级身份凭证,包括:
由所述用户通过所述第一应用链向所述认证服务器发送第一认证请求信息,所述第一认证请求信息至少包括用户身份标识、所述第一应用链身份标识、所述第二应用链身份标识、所述授权服务器身份标识以及所述第一认证请求信息的时间戳;
所述认证服务器根据所述第一认证请求信息以及本地预注册的合法用户信息对所述用户进行身份合法性认证,在认证合法的情况下将通过所述第一应用链向所述用户反馈加密后的授权服务器凭证,所述授权服务器凭证至少包括所述用户身份标识、用户地址、所述第一应用链身份标识、所述第二应用链身份标识、所述授权服务器身份标识、所述授权服务器凭证的时间戳以及所述认证服务器生成的所述用户与所述授权服务器间的会话密钥;
所述用户解密所述授权服务器凭证获取所述授权服务器凭证,并通过所述第一应用链向所述授权服务器发送第二认证请求信息,所述第二认证请求信息至少包含第一多节点网关身份标识、所述授权服务器凭证以及第一用户认证消息,所述第一用户认证消息至少包括加密后的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识以及所述第一用户认证消息的时间戳;
所述授权服务器对所述第二认证请求进行解密,以获取所述第一用户认证消息;根据所述第一用户认证消息的时间戳判断所述第一用户认证消息是否有效,若有效则生成一级身份凭证并通过所述第一应用链反馈至所述用户;所述一级身份凭证至少包括加密后的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识、所述一级身份凭证的时间戳、有效期以及所述授权服务器生成的所述用户与所述第一多节点网关间的会话密钥。
在一些实施例中,所述第一应用链将所述一级身份凭证发送至服务所述第一应用链的第一多节点网关进行验证并请求跨链交易,包括:
由所述用户通过所述第一应用链向所述第一多节点网关发送第三认证请求,所述第三认证请求包括所述一级身份凭证、第二用户认证消息和跨链信息,所述第二用户认证消息包括采用所述用户与所述第一多节点网关间的会话密钥加密的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识以及所述第二用户认证消息的时间戳;所述跨链信息至少包括交易内容;
所述第一多节点网关解密所述第三认证请求获取所述一级身份凭证、所述第二用户认证消息和所述跨链信息,从所述以及身份凭证中获取所述用户与所述第一多节点网关间的会话密钥;采用所述用户与所述第一多节点网关间的会话密钥解密所述第一用户认证消息并验证合法性,在验证合法的情况下通过所述第一应用链向所述用户返回反向认证信息;
所述第一多节点网关基于所述一级身份凭证和所述跨链信息中的所述交易内容生成所述二级身份凭证和所述交易信息,并基于第一设定跨链传输协议发送至所述中继链;
其中,所述二级身份凭证至少包括用户身份合法性证明字段。
在一些实施例中,所述中继链对所述跨链交易进行共识认证和合法性认证之前,还包括:
通过所述中继链中的多个验证节点对所述跨链交易进行验证签名,并构建梅克尔树存储梅克尔证明以对所述跨链交易进行存在性认证。
在一些实施例中,所述多节点网关分别独立部署账户管理中心,以存储合法用户的身份标识用于验证;
所述第二多节点网关对接收到的所述二级身份凭证中的用户身份标识进行合法性认证,包括:获取所述二级身份凭证中的所述用户身份合法性证明字段,并与所述第二多节点网关内部署的账户管理中心记载的合法用户的身份标识进行比对,若存在一致的记录则判断合法,否则不合法。
在一些实施例中,所述第二应用链执行所述跨链交易并上链存储之后,还包括:
由所述第二多节点网关监听所述跨链交易,在成功上链后,获取所述跨链交易的交易存在性证明,并返回所述中继链;
所述中继链根据所述交易存在性证明处理生成交易回执,并返回至所述第一应用链和所述第二应用链。
在一些实施例中,所述中继链根据所述交易存在性证明处理生成交易回执,并返回至所述第一应用链和所述第二应用链之前,还包括:
对所述跨链交易进行简单支付验证,同步所述第一应用链和所述第二应用链中的交易信息,更新区块头数据并提交候选区块,以在所述第二应用链确认跨链交易完成后将所述候选区块转为正式区块,并生成跨链证明。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
所述区块链跨链安全接入方法及装置中,引入中继链作为媒介实现多个同构或异构链之间的跨链交易,在跨链接入过程中引入身份认证和跨链交易合法性认证,以源链端多节点网关和目的链端多节点网关对用户身份进行两级证明,通过中继链对跨链交易的合法性进行认证,增强跨链接入安全性。
进一步的,应用链、多节点网关和中继链在通信过程中,采用一次性会话密钥进行加密,能够极大降低密钥管理复杂度,降低安全风险。同时,采用多节点网关能够提升容错能力,防止网络攻击。
进一步的,通过引入第一设定跨链传输协议和第二设定跨链传输协议,构成完整的跨链通信协议,实现异构链之间的通信,提高安全性,并保证有效的跨链接入。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述区块链跨链安全接入方法的流程示意图。
图2为本发明一实施例所述区块链跨链安全接入方法的硬件框架模型图
图3为本发明另一实施例所述区块链跨链安全接入方法的交互图。
图4为本发明另一实施例所述区块链跨链安全接入方法中生成一级身份认证的交互图。
图5为本发明另一实施例所述区块链跨链安全接入方法中采用的跨链通用协议G信息结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
为了实现不同的区块链平台之间的资产流转、信息互通、应用协同,跨链技术应运而生。跨链技术在区块链服务间承担了可信中介的角色,同时在区块链服务间打破因共识算法、加密机制、账本结构等方面存在异构性而形成的“孤岛”效应,旨在解决不同链间资产与数据等跨链操作问题。因此,跨链技术也被认为是构建信任互联网和价值互联网的基础与核心,未来使用将会越来越频繁。在现有的区块链跨链项目中,涌现了许多跨链方案,具有代表性的有:公证人机制、哈希锁定、侧链等。这些方案在不同方面存在一定的缺陷,同时,区块链系统的结构及特点对跨链安全性也造成了影响,例如公证人信任问题、侧链的安全性问题等,从而在跨链技术中,安全性方面也面临着较大的挑战。跨链接入的安全性作为跨链操作的重要一环,为跨链操作的有效开展提供了重要保障。如何在链与链之间进行跨链认定,如何对跨链信息用户的身份进行认定,是本发明对跨链安全接入的要解决的重点问题。
区块链跨链技术在互联网发展过程中推动了全球化发展,为资产流转提供了便捷服务。在安全性方面,跨链操作也有针对不同用户身份进行的权限策略管理,在某种程度上,部分解决了跨链过程安全性问题。然而,现有的区块链跨链技术仍然存在如下缺点:第一,区块链有较好的匿名性,但在数字货币领域以及私有链/联盟链中需要保证区块中节点身份的真实性,对于异构链之间的跨链交互带来不便;跨链操作中对于不同的用户相应的身份也不同,用户是否拥有跨链操作资格,这在跨链阶段身份认证中存在安全隐患。第二,通常异构区块链之间的通信机制,在跨链阶段只考虑了如何进行互操作,身份认证只在跨链操作之前完成,而在跨链接入过程中缺少基于身份的有效验证,使得在跨链过程中较少考虑如何进行安全接入。第三,现有的身份认证中对涉及的密钥也进行了去中心化管理,但是在区块链跨链场景下,跨链操作去中心化的密钥管理会过于复杂,传输存在安全隐患,同时加重节点负担,不利于跨链高效执行。
因此,本发明提供一种区块链跨链安全接入方法,所述方法用于在多个应用链和至少一个中继链之间运行,各应用链通过多节点网关连接中继链,并采用一次性会话密钥进行通信。
需要预先说明的是,本发明中,应用链装载执行负责跨链交易的业务逻辑。跨链网关采用多节点网关的形式,作为中间路由节点连通应用链与中继链。多节点网关采用集群的方式增强可信度,每个网关由权威机构进行背书。其中,网关各方独立部署账户管理中心。中继链负责维护各个应用链的注册申请,接入跨链系统中用户的统一身份凭证的分发,并提供跨链的信任传递服务机制,中继链验证跨链交易签名是否正确,再验证该交易Hash是否存在。在源端应用链和目的端应用链通信过程中,引入通用跨链传输协议G,提供跨链交易的验证证据,提供跨链交易的路由凭证。用于网关与中继链之间的消息传输,不同区块链平台的用户,在遵守跨链规则的前提下,进行业务交互。应用链是目前市面上已经投入使用的,需要参与跨链交互的区块链平台,无论是公链、联盟链还是私有链都可以参与到本跨链系统中。
如图1所示,所述方法包括步骤S101~S105:
步骤S101:用户向第一应用链发送对第二应用链的跨链交易申请。
步骤S102:第一应用链基于跨链交易申请向中继链请求并获取一级身份凭证;一级身份凭证至少包含采用第一设定规则加密的用户身份标识、用户地址、第一应用链身份标识、第二应用链身份标识、一级身份凭证对应的时间戳和有效期。
步骤S103:第一应用链将一级身份凭证发送至服务第一应用链的第一多节点网关进行验证并请求跨链交易,第一多节点网关验证合法后生成二级身份凭证和交易信息,并基于第一设定跨链传输协议发送至中继链;二级身份凭证至少包含采用第二设定规则加密的用户身份标识、用户地址、二级身份凭证对应的时间戳和有效期。
步骤S104:中继链对跨链交易进行合法性和存在性认证,在认证正确的情况下,向第二多节点网关转发二级身份凭证和交易信息。
步骤S105:第二多节点网关对接收到的二级身份凭证中的用户身份标识进行合法性认证,在认证合法的情况下,将接收到的交易信息基于第二设定传输协议发送至第二应用链,由第二应用链执行跨链交易并上链存储。
在步骤S101~S105中,第一应用链作为源端应用链以发起跨链交易,第二应用链作为目标端应用链以承接和执行交易内容。用户从第一应用链接入,其动作通过第一应用链发出。各步骤中设备主体之间的通信可以基于一次性会话密钥或永久性会话密钥进行加密,对于永久性会话密钥可以采用分布式存储方式,避免中心化带来的安全隐患。
在步骤S101和步骤S102中,由中继链对跨链交易申请配置一级身份凭证,用于用户与第一多节点网关之间的安全认证。这里需要说明的是,第一设定规则加密实际上就是利用第一应用链与第一多节点网关之间的一次性会话密钥进行加密。在步骤S103中,由第一应用链将一级身份凭证发送至第一多节点网关进行验证,只有在安全认证通过的条件下,网关才将跨链交易转发至中继链。其中,跨链交易的内容应当理解为包括钱款交易或者各种类型的数据交互。第一多节点网关对一级身份凭证的认证形式主要是通过解密获取一级身份凭证中的用户身份标识,并与第一多节点网关处部署的账户管理中心中预注册的用户身份标识进行对比,如果存在相同的标识信息,则认证安全。进一步的,第一多节点网关根据一级身份凭证生成二级身份凭证用于目标端的第二多节点网关的认证。其中,一级身份凭证和二级身份凭证的主体信息可以一致,主要是采用的通信密钥存在差异。这里需要说明的是,第二设定规则加密可以采用第一多节点网关与中继链以及第二多节点网关之间的一次性会话密钥进行加密。
同时,为了实现在异构链之间的有效通信,本实施例构建通用跨链协议,包含源端的第一设定跨链传输协议和在目的端的第二跨链传输协议。用于实现异构链之间通信格式的转换。
在步骤S104中,中继链对跨链交易的共识认证可以采用工作量证明算法(POW)、权益证明( Proof of Stake,PoS)机制或拜占庭算法等算法进行处理。合法性认证可以是对跨链交易主体身份和业务内容的合法性认证。
在步骤S105中,第二多节点网关对二级身份凭证进行认证,这里主要还是对发起跨链交易的用户身份进行认证。在认证成功的调节下,将交易信息按照第二设定传输协议发送至第二应用链执行交易并上链存储。
在一些实施例中,步骤S101之前,即用户向第一应用链发送对第二应用链的跨链交易申请之前,还包括:在中继链中对用户、第一应用链和/或第二应用链的身份信息进行预注册,以用于中继链在跨链交易过程中进行身份授权。
在一些实施例中,中继链设置密钥分发中心,密钥分发中心包括用于身份认证的认证服务器和用于身份凭证颁发的授权服务器。在此基础上,步骤S102中,第一应用链基于跨链交易申请向中继链请求并获取一级身份凭证,包括步骤S1021~步骤S1024:
步骤S1021:由用户通过第一应用链向认证服务器发送第一认证请求信息,第一认证请求信息至少包括用户身份标识、第一应用链身份标识、第二应用链身份标识、授权服务器身份标识以及第一认证请求信息的时间戳。
步骤S1022:认证服务器根据第一认证请求信息以及本地预注册的合法用户信息对用户进行身份合法性认证,在认证合法的情况下将通过第一应用链向用户反馈加密后的授权服务器凭证,授权服务器凭证至少包括用户身份标识、用户地址、第一应用链身份标识、第二应用链身份标识、授权服务器身份标识、授权服务器凭证的时间戳以及认证服务器生成的用户与授权服务器间的会话密钥。
步骤S1023:用户解密授权服务器凭证获取授权服务器凭证,并通过第一应用链向授权服务器发送第二认证请求信息,第二认证请求信息至少包含第一多节点网关身份标识、授权服务器凭证以及第一用户认证消息,第一用户认证消息至少包括加密后的用户身份标识、用户地址信息、第一应用链身份标识、第二应用链身份标识以及第一用户认证消息的时间戳。
步骤S1024:授权服务器对第二认证请求进行解密,以获取第一用户认证消息;根据第一用户认证消息的时间戳判断第一用户认证消息是否有效,若有效则生成一级身份凭证并通过第一应用链反馈至用户;一级身份凭证至少包括加密后的用户身份标识、用户地址信息、第一应用链身份标识、第二应用链身份标识、一级身份凭证的时间戳、有效期以及授权服务器生成的用户与第一多节点网关间的会话密钥。
步骤S1021~步骤S1024中,对于请求跨链交易的用户,首先由中继链进行身份的核查,可以明确的是,中继链的密钥分发中心KDC,包括认证服务器AS,负责身份认证;授权服务器TGS,负责身份凭证颁发,其中认证服务器对用户身份进行初步认证后,提供会话密钥以供用户和授权服务器进行通信和认证授权。用户通过第一应用链发送的第一认证请求中,除了用于验证其身份的用户身份标识外,还包括跨链交易行为所涉及的第一应用链身份标识、第二应用链身份标识,以及授权服务器的身份标识,以标记提供一级身份标识的请求对象。认证服务器在认证用户身份合法后,通过第一应用链向用户返回授权服务凭证,主要是记载了临时生成的用户与授权服务器间的会话密钥,以供用户与授权服务器建立会话。授权服务器在接收到第二认证请求信息之后,验证第一用户认证消息的有效性,并生成和反馈一级身份凭证。
在一些实施例中,步骤S103中,第一应用链将一级身份凭证发送至服务第一应用链的第一多节点网关进行验证并请求跨链交易,包括步骤S1031~步骤S1033:
步骤S1031:由用户通过第一应用链向第一多节点网关发送第三认证请求,第三认证请求包括一级身份凭证、第二用户认证消息和跨链信息,第二用户认证消息包括采用用户与第一多节点网关间的会话密钥加密的用户身份标识、用户地址信息、第一应用链身份标识、第二应用链身份标识以及第二用户认证消息的时间戳;跨链信息至少包括交易内容。
步骤S1032:第一多节点网关解密第三认证请求获取一级身份凭证、第二用户认证消息和跨链信息,从以及身份凭证中获取用户与第一多节点网关间的会话密钥;采用用户与第一多节点网关间的会话密钥解密第一用户认证消息并验证合法性,在验证合法的情况下通过第一应用链向用户返回反向认证信息。
步骤S1033:第一多节点网关基于一级身份凭证和跨链信息中的交易内容生成二级身份凭证和交易信息,并基于第一设定跨链传输协议发送至中继链。
其中,二级身份凭证至少包括用户身份合法性证明字段。
步骤S1031~步骤S1033中,服务第一应用链的第一多节点网关对用户的身份进行合法性验证之后,再进一步将二级身份凭证和交易信息转发至交易链。这里需要强调的是,由于源端的第一应用链和目标端的第二应用链可能存在是异构链的情况,所以,这里第一多节点网关将二级身份凭证和交易信息转发至中继链时是采用第一设定跨链传输协议进行处理的。这里第一设定跨链传输协议是将第一应用链上的按照设定格式进行转发,以实现异构链之间通过中继链的有效通信。
在一些实施例中,步骤S104中,中继链对跨链交易进行共识认证和合法性认证之前,还包括:通过中继链中的多个验证节点对跨链交易进行验证签名,并构建梅克尔树存储梅克尔证明以对跨链交易进行存在性认证。
梅克尔树(又叫哈希树)是一种二叉树,是一种高效和安全的组织数据的方法,被用来快速查询验证特定交易是否存在,能快速检查和归纳大量数据,可用于验证区块中交易记录的完整性,由一个根节点、一组中间节点和一组叶节点组成。它使用哈希算法将大量的书面信息转换成一串独立的字母或数字。最底层的叶节点包含存储数据或其哈希值,每个中间节点是它的两个子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成。
在一些实施例中,多节点网关分别独立部署账户管理中心,以存储合法用户的身份标识用于验证。
步骤S105中,第二多节点网关对接收到的二级身份凭证中的用户身份标识进行合法性认证,包括:获取二级身份凭证中的用户身份合法性证明字段,并与第二多节点网关内部署的账户管理中心记载的合法用户的身份标识进行比对,若存在一致的记录则判断合法,否则不合法。
在一些实施例中,步骤S105中,第二应用链执行跨链交易并上链存储之后,还包括步骤S106和步骤S107:
步骤S106:由第二多节点网关监听跨链交易,在成功上链后,获取跨链交易的交易存在性证明,并返回中继链。
步骤S107:中继链根据交易存在性证明处理生成交易回执,并返回至第一应用链和第二应用链。
在一些实施例中,步骤S107中,中继链根据交易存在性证明处理生成交易回执,并返回至第一应用链和第二应用链之前,还包括:
对跨链交易进行简单支付验证,同步第一应用链和第二应用链中的交易信息,更新区块头数据并提交候选区块,以在第二应用链确认跨链交易完成后将候选区块转为正式区块,并生成跨链证明。其中,候选区块是指预形成还没有上链时的区块。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
下面结合一具体实施例对本发明进行说明:
提供了一种区块链跨链安全接入方法:其中,如图2所示,应用链A作为源端应用链发起跨链交易,网关A为服务应用链A的多节点网关;应用链B作为目标端应用链接收跨链交易,网关B为服务应用链B的多节点网关。中继链用于实现应用链A和应用链B的跨链通信。
在进行跨链过程中,整个跨链操作采用中继链机制,通过构建的跨链安全接入模型进行跨链操作;需要进行跨链接入的身份认证,身份认证不仅要认证请求链是否合法,而且要认证用户是否具有此跨链交易的资格,在跨链请求中生成的一级身份凭证用于应用链A和网关A之间进行身份认证;网关对跨链信息进行抽象转换,通过在网关中生成的二级身份凭证,一同构建通用跨链传输协议G,利用此传输协议进行异构链间的跨链请求与响应。
如图3所示,本实施例所述区块链跨链安全接入方法步骤如下:
步骤1.用户向应用链A发起对应用链B跨链交易申请。
步骤2.中继链对该跨链交易申请生成一级身份凭证,并将其返回给应用链A。
步骤3.应用链A将一级身份凭证发送至网关A。
步骤4.网关A生成二级身份凭证,并构造通用跨链传输协议G发送至中继链。
步骤5.中继链监听到垮链消息对其验证后,存储至交易应用链B队列。
步骤6.网关B监听到跨链消息对其验证后,发送至应用链B。
步骤7.应用链B执行跨链交易,返回回执。
步骤1中,应用链A节点将该请求对外进行广播,网关A会监听并获取该跨链请求,并将该跨链请求发送至中继链。
步骤2中,一级身份凭证包括用户、应用链A和应用链B的身份标识,时间戳,有效期,会话密钥。
在获取一级身份凭证的步骤之前,所述方法还包括:
生成跨链业务注册信息;需要应用链A在中继链进行跨链注册,以供中继链根据注册信息验证跨链交易应用链是否存在。除了应用链跨链注册信息外,注册信息还包括对应的应用链的用户信息,提供跨链接入身份认证,增强信任服务。
步骤3中,网关A通过一级身份凭证对该跨链请求进行用户的跨链身份认证,若验证通过,此时说明应用链A和用户处于合法的跨链操作阶段,且该操作处于有效期间内;若验证失败,则将验证失败信息发送到用户终端,并停止后续操作。
步骤4中,通用跨链传输协议G,将在网关与中继链中进行通信。通用跨链传输协议G包括跨链服务标识Tx-id、From应用链A的ID、To应用链B的 ID、Token二级身份凭证、Content服务具体内容、Timestamp时间戳、Proof跨链交易证明、Version协议版本号。
具体的,二级身份凭证包括用户公钥
Figure DEST_PATH_IMAGE001
、身份标识
Figure DEST_PATH_IMAGE002
、地址
Figure DEST_PATH_IMAGE003
、应用链A标识
Figure DEST_PATH_IMAGE004
、应用链B标识
Figure DEST_PATH_IMAGE005
,以及用户对其的身份标识
Figure 121029DEST_PATH_IMAGE002
、地址
Figure 834907DEST_PATH_IMAGE003
、应用链A标识
Figure 926229DEST_PATH_IMAGE004
、应用链B标识
Figure 383755DEST_PATH_IMAGE005
的签名
Figure DEST_PATH_IMAGE006
。Content包括Function调用函数,Args调用函数的参数,Cid应用链B合约id,Callback回调函数。Proof字段由每一笔跨链交易的Hash值、类似SPV(Simplified Payment Verification)验证时Hash的SPV路径兄弟节点Hash值的集合Path、Merkle Root、对Merkle Root签名Signaure经json marshal后得到。
步骤5中,中继链的中继合约监听到跨链消息队列的消息后,会对其进行校验,校验通过后将跨链请求发送至共识模块参与中继链共识,最后将跨链交易从交易应用链A队列存储至交易应用链B队列。同时,在中继链上构建此跨链交易的记录,并存储merkle证明。
步骤6中,应用链B的网关B会监听转发给自己的跨链交易,收到跨链请求后,对通用跨链传输协议G进行跨链交易合法性验证,同时对二级身份凭证进行合法性验证,验证通过后将交易提交到应用链B的跨链合约中进行处理。
步骤7中,应用链B的跨链合约对该交易进行跨链执行。对签名进行验证,通过共识确认,进行签名打包,提交候选区块,更新交易状态,把交易结果经由中继链生成交易回执发送至应用链A和应用链B。
本实施例所述区块链跨链安全接入方法,具体实施过程如下:
在步骤1中,如图4所示,跨链申请需要用户向中继链请求身份凭证。中继链内密钥分发中心KDC,包括认证服务器AS,负责身份认证;授权服务器TGS,负责身份凭证颁发。网关中的监听节点,此时负责跨链请求的信息收集。网关中的路由节点,此时负责跨链请求的信息传输。具体过程如下:
用户U向AS请求获取TGS的凭证
Figure DEST_PATH_IMAGE007
,将用户身份标识
Figure 249992DEST_PATH_IMAGE002
、应用链A标识
Figure 885504DEST_PATH_IMAGE004
、应用链B链标识
Figure 214854DEST_PATH_IMAGE005
、授权服务器标识
Figure DEST_PATH_IMAGE008
、这条消息发出的时间戳
Figure DEST_PATH_IMAGE009
一同发送给认证服务器AS。
Figure DEST_PATH_IMAGE010
在步骤2中,在中继链中,此时验证用户的跨链身份权限是否合法,若合法,将生成会话密钥,并从账户数据库提取出用户相关密钥、账户信息,生成一级身份凭证,并将其发送给用户。具体过程如下:
1)AS验证用户是否存在,若存在,生成TGS凭证和会话密钥:
AS验证用户身份后,将用户身份标识
Figure 663022DEST_PATH_IMAGE002
、地址
Figure 377906DEST_PATH_IMAGE003
、应用链A标识
Figure 433586DEST_PATH_IMAGE004
、应用链B标识
Figure 965DEST_PATH_IMAGE005
、中继凭证服务器标识
Figure DEST_PATH_IMAGE011
、TGS凭证生成时的时间戳
Figure DEST_PATH_IMAGE012
、有效期
Figure DEST_PATH_IMAGE013
,连同为此次用户U和TGS会话生成的会话密钥
Figure DEST_PATH_IMAGE014
,以及用户和TGS共享的密钥
Figure DEST_PATH_IMAGE015
加密生成TGS的凭证
Figure DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE018
AS将生成的TGS凭证
Figure 254090DEST_PATH_IMAGE016
、会话密钥
Figure DEST_PATH_IMAGE019
、中继凭证服务器标识
Figure DEST_PATH_IMAGE020
、凭证生成时的时间戳
Figure DEST_PATH_IMAGE021
、有效期
Figure DEST_PATH_IMAGE022
,以及和用户共享的密钥
Figure DEST_PATH_IMAGE023
加密生成消息,返回给用户U。
Figure DEST_PATH_IMAGE024
用户U得到消息后,可以用
Figure 197382DEST_PATH_IMAGE023
解密消息获取
Figure DEST_PATH_IMAGE025
Figure DEST_PATH_IMAGE026
在此过程中,用户和TGS共享的密钥
Figure DEST_PATH_IMAGE027
、AS和用户共享的密钥
Figure 876494DEST_PATH_IMAGE023
可分别对密钥进行单独分布式存储。
2)TGS验证用户跨链权限是否合法,若合法,生成一级身份凭证和会话密钥:
用户U获取
Figure 931169DEST_PATH_IMAGE025
后,向TGS服务器请求一级身份凭证
Figure DEST_PATH_IMAGE028
,请求消息将网关服务器身份标识
Figure DEST_PATH_IMAGE029
、TGS凭证
Figure 648370DEST_PATH_IMAGE025
、用户U的认证信息
Figure DEST_PATH_IMAGE030
一同发送至TGS。
Figure DEST_PATH_IMAGE031
其中,认证信息通过U和TGS会话密钥
Figure 478791DEST_PATH_IMAGE026
将U的身份标识
Figure 876275DEST_PATH_IMAGE002
、地址
Figure 418246DEST_PATH_IMAGE003
、应用链A标识
Figure 559377DEST_PATH_IMAGE004
、应用链B标识
Figure 103360DEST_PATH_IMAGE005
、认证消息生成时的时间戳
Figure DEST_PATH_IMAGE032
加密生成。
Figure DEST_PATH_IMAGE033
TGS服务器收到消息后,对
Figure 812690DEST_PATH_IMAGE025
进行解密
Figure DEST_PATH_IMAGE034
,得到会话密钥
Figure 137230DEST_PATH_IMAGE026
,然后通过
Figure 691839DEST_PATH_IMAGE026
解密认证信息
Figure DEST_PATH_IMAGE035
,若在有效期内,用户身份信息符合授权,并为之生成一级身份凭证
Figure 412365DEST_PATH_IMAGE028
和U与网关服务器之间的会话密钥
Figure DEST_PATH_IMAGE036
生成的一级身份凭证
Figure 964700DEST_PATH_IMAGE028
包含了各身份标识、凭证生成时的时间戳
Figure DEST_PATH_IMAGE037
、有效期
Figure DEST_PATH_IMAGE038
和会话密钥
Figure 589585DEST_PATH_IMAGE036
,并用TGS和网关服务器之间共享的密钥
Figure DEST_PATH_IMAGE039
加密。
Figure DEST_PATH_IMAGE041
然后TGS再次将一级身份凭证
Figure 446420DEST_PATH_IMAGE028
连同网关身份标识
Figure 732039DEST_PATH_IMAGE029
、凭证生成时间戳
Figure DEST_PATH_IMAGE042
、有效期
Figure 953811DEST_PATH_IMAGE038
和会话密钥
Figure 941359DEST_PATH_IMAGE036
,用U和TGS之间的会话密钥
Figure 978716DEST_PATH_IMAGE026
加密生成消息返回给用户U。
Figure DEST_PATH_IMAGE043
用户U接收消息后,可以用
Figure 419974DEST_PATH_IMAGE026
解密消息获取
Figure 766641DEST_PATH_IMAGE036
Figure 992217DEST_PATH_IMAGE028
在此过程中,TGS和网关服务器之间共享的密钥
Figure DEST_PATH_IMAGE044
可对其密钥进行单独分布式存储。
在步骤3中,用户U在获得一级身份凭证后,向网关请求跨链服务。网关监听到具体过程如下:
用户向网关发送请求认证消息,包括一级身份凭证
Figure 394118DEST_PATH_IMAGE028
、认证信息
Figure DEST_PATH_IMAGE045
、跨链信息
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE047
认证信息通过会话密钥
Figure 824968DEST_PATH_IMAGE036
加密,
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE049
包括用户公钥
Figure DEST_PATH_IMAGE050
、跨链交易
Figure DEST_PATH_IMAGE051
、以及用户对其的身份标识
Figure 60646DEST_PATH_IMAGE002
、地址
Figure 773518DEST_PATH_IMAGE003
、应用链A标识
Figure 401946DEST_PATH_IMAGE004
、应用链B标识
Figure DEST_PATH_IMAGE052
的签名
Figure DEST_PATH_IMAGE053
Figure DEST_PATH_IMAGE054
网关服务器监听到跨链消息后,进行一级身份凭证解密
Figure DEST_PATH_IMAGE055
,得到
Figure 282044DEST_PATH_IMAGE036
,通过
Figure 314722DEST_PATH_IMAGE036
解密认证信息
Figure 764158DEST_PATH_IMAGE056
,网关对这些信息进行验证,验证一级身份凭证在有效期内跨链用户身份是否合法,通过验证之后再将认证信息中的时间戳加1,并用会话密钥加密,生成反向认证信息返回给用户U。
Figure DEST_PATH_IMAGE057
用户U接收消息后,可以用
Figure 507861DEST_PATH_IMAGE036
解密,完成U对S的认证。
不同用户相应的签名算法不同,签名算法包括不限于ECDSA、SM2。比如,此过程用户运用的SM2签名算法过程如下:
系统建立:输入安全参数
Figure DEST_PATH_IMAGE058
,输入系统公开参数
Figure DEST_PATH_IMAGE059
,其中
Figure DEST_PATH_IMAGE060
表示有限域的规模,为大素数或为2的幂次;
Figure DEST_PATH_IMAGE061
表示定义在有限域
Figure DEST_PATH_IMAGE062
上的椭圆曲线;
Figure DEST_PATH_IMAGE063
表示椭圆曲线
Figure 840534DEST_PATH_IMAGE061
上阶为
Figure DEST_PATH_IMAGE064
的生成元点。
密钥产生:输入系统公开参数
Figure DEST_PATH_IMAGE065
,用户随机选取秘密值
Figure DEST_PATH_IMAGE066
,计算
Figure DEST_PATH_IMAGE067
,将
Figure DEST_PATH_IMAGE068
作为公钥公开,
Figure DEST_PATH_IMAGE069
作为私钥秘密保存。
签名生成:输入系统公开参数
Figure 824540DEST_PATH_IMAGE065
,私钥
Figure 744960DEST_PATH_IMAGE069
和待签名消息
Figure DEST_PATH_IMAGE070
,签名者按如下步骤生成签名:
1)令
Figure DEST_PATH_IMAGE071
,其中
Figure DEST_PATH_IMAGE072
表示签名者身份标识与系统参数的杂凑值。
2)计算
Figure DEST_PATH_IMAGE073
,将
Figure DEST_PATH_IMAGE074
转换为整数,
Figure DEST_PATH_IMAGE075
为单向哈希函数。
3)产生随机数
Figure DEST_PATH_IMAGE076
,计算
Figure DEST_PATH_IMAGE077
4)计算
Figure DEST_PATH_IMAGE078
,若
Figure DEST_PATH_IMAGE079
Figure DEST_PATH_IMAGE080
,则重新选取随机数
Figure DEST_PATH_IMAGE081
5)计算
Figure DEST_PATH_IMAGE082
,若
Figure DEST_PATH_IMAGE083
,则重新选取随机数
Figure 801341DEST_PATH_IMAGE081
,否则将
Figure DEST_PATH_IMAGE084
作为签名结果输出。
在步骤4中,如图5所示,形成跨链通信协议G中记载的二级身份凭证中的Token字段为网关B验证跨链用户身份提供合法性证明;链通信协议G中还记载Proof字段,存储了跨链交易应用链A合法性证明,为网关B和中继链验证引擎提供具体的验证信息。Proof字段内容根据应用链A的不同而不同,具体验证规则可通过动态加载的方式注册到中继链验证引擎,然后由网关A封装成通用跨链传输协议G。
在步骤5中,解析协议G后,获知应用链A的ID、proof、根据ID检索出对应的验证规则脚本。检索到对应的规则脚本后,验证引擎会用虚拟机调用规则脚本,虚拟机会对G解析出的Proof字段进行校验,从而确定跨链交易应用链的合法性;将其跨链交易发送到共识模块参与中继链共识。构建Merkle Tree;Merkle Root经过验证节点签名,最后将跨链交易从交易来源方队列存储到交易抵达方队列。
其中,验证引擎通过智能合约的方式管理多种验证规则,对不同区块链的交易进行合法性检验,并支持验证规则的在线升级和改造。
在中继链中,对Merkle Root验证节点签名具体算法如下:
1)系统初始化:
系统中有
Figure DEST_PATH_IMAGE085
个参与者,编号分别为
Figure DEST_PATH_IMAGE086
,其中
Figure DEST_PATH_IMAGE087
为门限值,有一个可信的dealer选择两个大素数
Figure DEST_PATH_IMAGE088
Figure DEST_PATH_IMAGE089
Figure DEST_PATH_IMAGE090
是定义在有限域
Figure DEST_PATH_IMAGE091
上的一条椭圆曲线,
Figure DEST_PATH_IMAGE092
是椭圆曲线
Figure DEST_PATH_IMAGE093
的基点,其阶为
Figure 362422DEST_PATH_IMAGE089
,需要签署的信息为
Figure DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE095
为选定的哈希函数。
2)密钥共享:
a)每个参与者随机选取秘密值
Figure DEST_PATH_IMAGE096
,椭圆曲线签名私钥
Figure DEST_PATH_IMAGE097
由参与者选取的秘密值
Figure DEST_PATH_IMAGE098
生成,
Figure DEST_PATH_IMAGE099
。参与者根据Shamir门限秘密共享方案共享密钥。构建关于
Figure DEST_PATH_IMAGE100
阶方程
Figure DEST_PATH_IMAGE101
,计算
Figure DEST_PATH_IMAGE102
发送给
Figure DEST_PATH_IMAGE103
,并公布
Figure DEST_PATH_IMAGE104
Figure DEST_PATH_IMAGE105
b)参与者
Figure DEST_PATH_IMAGE106
收到
Figure DEST_PATH_IMAGE107
后首先验证
Figure DEST_PATH_IMAGE108
公式的正确性,若无误,则计算
Figure DEST_PATH_IMAGE109
是否与
Figure DEST_PATH_IMAGE110
公布的一致,若一致,则接受该碎片,否则,则终止协议。当参与者
Figure DEST_PATH_IMAGE111
收集到所有
Figure DEST_PATH_IMAGE112
,根据Shamir门限秘密共享的加法性质,可计算自身私钥碎片
Figure DEST_PATH_IMAGE113
。根据所有参与者公布信息可计算椭圆曲线公钥为
Figure 452799DEST_PATH_IMAGE114
c)参与者
Figure 611248DEST_PATH_IMAGE110
调用同态加密算法
Figure DEST_PATH_IMAGE115
的密钥生成算法,选取私钥
Figure DEST_PATH_IMAGE116
,并公布公钥
Figure DEST_PATH_IMAGE117
d)类比a)b),参与者合作生成同态加密算法
Figure 306541DEST_PATH_IMAGE093
的公共私钥
Figure DEST_PATH_IMAGE118
和公钥
Figure DEST_PATH_IMAGE119
,参与者
Figure 364539DEST_PATH_IMAGE110
持有算法
Figure DEST_PATH_IMAGE120
私钥碎片
Figure DEST_PATH_IMAGE121
3)生成部分门限签名
为不失一般性,假定参与者人数为
Figure DEST_PATH_IMAGE122
a)参与者
Figure DEST_PATH_IMAGE123
选取随机值
Figure DEST_PATH_IMAGE124
,并公布
Figure DEST_PATH_IMAGE125
。秘密
Figure DEST_PATH_IMAGE126
,
Figure DEST_PATH_IMAGE127
。函数
Figure DEST_PATH_IMAGE128
的功能为提取点
Figure DEST_PATH_IMAGE129
轴坐标。计算
Figure DEST_PATH_IMAGE130
b)参与者
Figure 985619DEST_PATH_IMAGE110
计算
Figure DEST_PATH_IMAGE131
并公布。
Figure DEST_PATH_IMAGE132
c)参与者计算
Figure DEST_PATH_IMAGE133
Figure DEST_PATH_IMAGE134
,参与者通过合作获取
Figure 874773DEST_PATH_IMAGE133
的碎片。参与者
Figure 937538DEST_PATH_IMAGE110
计算
Figure DEST_PATH_IMAGE135
Figure DEST_PATH_IMAGE136
发送给
Figure 968816DEST_PATH_IMAGE106
Figure 340892DEST_PATH_IMAGE106
如下信息发送给
Figure 723201DEST_PATH_IMAGE110
Figure DEST_PATH_IMAGE137
表示一个有效的可计算函数,
Figure DEST_PATH_IMAGE138
表示密文加法运算可扩展得到标量乘法运算。
Figure DEST_PATH_IMAGE139
Figure DEST_PATH_IMAGE140
Figure 822613DEST_PATH_IMAGE110
持有
Figure DEST_PATH_IMAGE141
,
Figure 537759DEST_PATH_IMAGE106
持有
Figure DEST_PATH_IMAGE142
,参与者两两合作可得到
Figure DEST_PATH_IMAGE143
Figure DEST_PATH_IMAGE144
。参与者验证
Figure DEST_PATH_IMAGE145
是否与之前公布的
Figure DEST_PATH_IMAGE146
相等,若相等,则计算的
Figure 647447DEST_PATH_IMAGE133
是正确的,否则,终止协议。
d)参与者
Figure 752937DEST_PATH_IMAGE110
计算
Figure DEST_PATH_IMAGE147
,并计算
Figure DEST_PATH_IMAGE148
公布。
Figure DEST_PATH_IMAGE149
Figure DEST_PATH_IMAGE151
4)组合签名
a)参与者合成
Figure DEST_PATH_IMAGE152
Figure DEST_PATH_IMAGE153
b)参与者计算
Figure DEST_PATH_IMAGE154
并共同调用算法
Figure 842991DEST_PATH_IMAGE115
的门限解密算法
Figure DEST_PATH_IMAGE155
,则签名
Figure DEST_PATH_IMAGE156
在步骤6中,网关B根据二级身份凭证token中的用户标识,通过账户管理中心,调用相应的验证算法,对用户跨链身份的合法性验证;验证proof字段,跨链交易的合法性。验证通过后,将G进行协议转换,之后构建Merkle证明并用其私钥进行签名,发送至应用链B。同时同步来自中继链的区块头及跨链交易。
调用此用户对应的验证算法,验证二级身份凭证Token:输入系统公开参数
Figure DEST_PATH_IMAGE157
,公钥
Figure DEST_PATH_IMAGE158
以及收到消息
Figure DEST_PATH_IMAGE159
的签名
Figure DEST_PATH_IMAGE160
,验证者按照如下步骤验证签名:
1)检验
Figure DEST_PATH_IMAGE161
是否成立,若不成立,则验证不通过;
2)检验
Figure DEST_PATH_IMAGE162
是否成立,若不成立,则验证不通过;
3)令
Figure DEST_PATH_IMAGE163
4)计算
Figure DEST_PATH_IMAGE164
5)计算
Figure DEST_PATH_IMAGE165
,若
Figure DEST_PATH_IMAGE166
,则验证不通过;
6)计算椭圆曲线点
Figure DEST_PATH_IMAGE167
7)计算
Figure DEST_PATH_IMAGE168
,检验
Figure DEST_PATH_IMAGE169
是否成立,若成立,则验证通过,否则验证不通过。
验证跨链交易合法性:已知签名
Figure DEST_PATH_IMAGE170
,被签名信息
Figure DEST_PATH_IMAGE171
和公钥
Figure DEST_PATH_IMAGE172
Figure DEST_PATH_IMAGE173
,若签名满足
Figure DEST_PATH_IMAGE174
,则签名合法。
在步骤7中,应用链B验证跨链交易的合法性。确认无误后,应用链B执行跨链交易。此时跨链网关B会监听是否成功执行了交易所要求的操作,一旦操作成功上链,网关B会获取该操作的交易与交易存在性证明,返回给中继链。中继链会对该跨链交易进行最终处理,处理完成后,会生成一个交易回执,返回给应用链A和应用链B,用于验证与存证,至此该跨链交易全部完成。
其中,中继链中进行的最终处理包括进行SPV验证,同时对相应的应用链数据信息进行同步,更新区块头数据、提交候选区块,等到应用链B确认跨链信息后,候选区块变成正式区块,生成跨链存证。
本发明采用中继链跨链技术,建立区块链跨链接入模型,针对用户是否有跨链资格,在跨链接入中进行身份认证,在跨链接入过程中,采用一级和二级身份凭证增强跨链接入安全性,通过跨链交易合法性及用户身份合法性的双重认证,从而提高来源链及目的链的跨链接入安全性。为了避免随着用户数量逐渐庞大,中继链需要管理大量的密钥,管理复杂,导致安全风险,因此采用生成一次性会话密钥,并不对会话密钥保存。而对于永久性密钥可采用分布式存储方式,避免中心化带来的安全隐患。在区块链跨链过程中,有效地实现去中心化的跨链机制。通过双重认证构建的通用跨链通信协议,能够实现异构链间的通信,为跨链接入操作进行强安全性认证,确保该区块链跨链接入方法有效实施。融合身份认证、加密、跨链技术,为区块链跨链安全接入提供安全、可信、高效的跨链服务。
综上所述,所述区块链跨链安全接入方法及装置中,引入中继链作为媒介实现多个同构或异构链之间的跨链交易,在跨链接入过程中引入身份认证和跨链交易合法性认证,以源链端多节点网关和目的链端多节点网关对用户身份进行两级证明,通过中继链对跨链交易的合法性进行认证,增强跨链接入安全性。
进一步的,应用链、多节点网关和中继链在通信过程中,采用一次性会话密钥进行加密,能够极大降低密钥管理复杂度,降低安全风险。同时,采用多节点网关能够提升容错能力,防止网络攻击。
进一步的,通过引入第一设定跨链传输协议和第二设定跨链传输协议,构成完整的跨链通信协议,实现异构链之间的通信,提高安全性,并保证有效的跨链接入。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种区块链跨链安全接入方法,其特征在于,所述方法用于在多个应用链和至少一个中继链之间运行,各应用链通过多节点网关连接所述中继链,并采用一次性会话密钥进行通信,所述方法包括:
用户向第一应用链发送对第二应用链的跨链交易申请;
所述第一应用链基于所述跨链交易申请向所述中继链请求并获取一级身份凭证;所述一级身份凭证至少包含采用第一设定规则加密的用户身份标识、用户地址、第一应用链身份标识、第二应用链身份标识、所述一级身份凭证对应的时间戳和有效期;
所述第一应用链将所述一级身份凭证发送至服务所述第一应用链的第一多节点网关进行验证并请求跨链交易,所述第一多节点网关验证合法后生成二级身份凭证和交易信息,并基于第一设定跨链传输协议发送至所述中继链;所述二级身份凭证至少包含采用第二设定规则加密的用户身份标识、用户地址、所述二级身份凭证对应的时间戳和有效期;
所述中继链对所述跨链交易进行合法性和存在性认证,在认证正确的情况下,向第二多节点网关转发所述二级身份凭证和所述交易信息;
所述第二多节点网关对接收到的所述二级身份凭证中的用户身份标识进行合法性认证,在认证合法的情况下,将接收到的所述交易信息基于第二设定传输协议发送至所述第二应用链,由所述第二应用链执行跨链交易并上链存储。
2.根据权利要求1所述的区块链跨链安全接入方法,其特征在于,用户向第一应用链发送对第二应用链的跨链交易申请之前,还包括:
在所述中继链中对所述用户、所述第一应用链和/或所述第二应用链的身份信息进行预注册,以用于所述中继链在所述跨链交易过程中进行身份授权。
3.根据权利要求2所述的区块链跨链安全接入方法,其特征在于,所述中继链设置密钥分发中心,所述密钥分发中心包括用于身份认证的认证服务器和用于身份凭证颁发的授权服务器;
所述第一应用链基于所述跨链交易申请向所述中继链请求并获取一级身份凭证,包括:
由所述用户通过所述第一应用链向所述认证服务器发送第一认证请求信息,所述第一认证请求信息至少包括用户身份标识、所述第一应用链身份标识、所述第二应用链身份标识、所述授权服务器身份标识以及所述第一认证请求信息的时间戳;
所述认证服务器根据所述第一认证请求信息以及本地预注册的合法用户信息对所述用户进行身份合法性认证,在认证合法的情况下将通过所述第一应用链向所述用户反馈加密后的授权服务器凭证,所述授权服务器凭证至少包括所述用户身份标识、用户地址、所述第一应用链身份标识、所述第二应用链身份标识、所述授权服务器身份标识、所述授权服务器凭证的时间戳以及所述认证服务器生成的所述用户与所述授权服务器间的会话密钥;
所述用户解密所述授权服务器凭证获取所述授权服务器凭证,并通过所述第一应用链向所述授权服务器发送第二认证请求信息,所述第二认证请求信息至少包含第一多节点网关身份标识、所述授权服务器凭证以及第一用户认证消息,所述第一用户认证消息至少包括加密后的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识以及所述第一用户认证消息的时间戳;
所述授权服务器对所述第二认证请求进行解密,以获取所述第一用户认证消息;根据所述第一用户认证消息的时间戳判断所述第一用户认证消息是否有效,若有效则生成一级身份凭证并通过所述第一应用链反馈至所述用户;所述一级身份凭证至少包括加密后的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识、所述一级身份凭证的时间戳、有效期以及所述授权服务器生成的所述用户与所述第一多节点网关间的会话密钥。
4.根据权利要求3所述的区块链跨链安全接入方法,其特征在于,所述第一应用链将所述一级身份凭证发送至服务所述第一应用链的第一多节点网关进行验证并请求跨链交易,包括:
由所述用户通过所述第一应用链向所述第一多节点网关发送第三认证请求,所述第三认证请求包括所述一级身份凭证、第二用户认证消息和跨链信息,所述第二用户认证消息包括采用所述用户与所述第一多节点网关间的会话密钥加密的所述用户身份标识、所述用户地址信息、所述第一应用链身份标识、所述第二应用链身份标识以及所述第二用户认证消息的时间戳;所述跨链信息至少包括交易内容;
所述第一多节点网关解密所述第三认证请求获取所述一级身份凭证、所述第二用户认证消息和所述跨链信息,从所述以及身份凭证中获取所述用户与所述第一多节点网关间的会话密钥;采用所述用户与所述第一多节点网关间的会话密钥解密所述第一用户认证消息并验证合法性,在验证合法的情况下通过所述第一应用链向所述用户返回反向认证信息;
所述第一多节点网关基于所述一级身份凭证和所述跨链信息中的所述交易内容生成所述二级身份凭证和所述交易信息,并基于第一设定跨链传输协议发送至所述中继链;
其中,所述二级身份凭证至少包括用户身份合法性证明字段。
5.根据权利要求4所述的区块链跨链安全接入方法,其特征在于,所述中继链对所述跨链交易进行共识认证和合法性认证之前,还包括:
通过所述中继链中的多个验证节点对所述跨链交易进行验证签名,并构建梅克尔树存储梅克尔证明以对所述跨链交易进行存在性认证。
6.根据权利要求4所述的区块链跨链安全接入方法,其特征在于,所述多节点网关分别独立部署账户管理中心,以存储合法用户的身份标识用于验证;
所述第二多节点网关对接收到的所述二级身份凭证中的用户身份标识进行合法性认证,包括:获取所述二级身份凭证中的所述用户身份合法性证明字段,并与所述第二多节点网关内部署的账户管理中心记载的合法用户的身份标识进行比对,若存在一致的记录则判断合法,否则不合法。
7.根据权利要求1所述的区块链跨链安全接入方法,其特征在于,所述第二应用链执行所述跨链交易并上链存储之后,还包括:
由所述第二多节点网关监听所述跨链交易,在成功上链后,获取所述跨链交易的交易存在性证明,并返回所述中继链;
所述中继链根据所述交易存在性证明处理生成交易回执,并返回至所述第一应用链和所述第二应用链。
8.根据权利要求7所述的区块链跨链安全接入方法,其特征在于,所述中继链根据所述交易存在性证明处理生成交易回执,并返回至所述第一应用链和所述第二应用链之前,还包括:
对所述跨链交易进行简单支付验证,同步所述第一应用链和所述第二应用链中的交易信息,更新区块头数据并提交候选区块,以在所述第二应用链确认跨链交易完成后将所述候选区块转为正式区块,并生成跨链证明。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN202210392283.3A 2022-04-15 2022-04-15 一种区块链跨链安全接入方法及装置 Active CN114499898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210392283.3A CN114499898B (zh) 2022-04-15 2022-04-15 一种区块链跨链安全接入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210392283.3A CN114499898B (zh) 2022-04-15 2022-04-15 一种区块链跨链安全接入方法及装置

Publications (2)

Publication Number Publication Date
CN114499898A true CN114499898A (zh) 2022-05-13
CN114499898B CN114499898B (zh) 2022-09-09

Family

ID=81488700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210392283.3A Active CN114499898B (zh) 2022-04-15 2022-04-15 一种区块链跨链安全接入方法及装置

Country Status (1)

Country Link
CN (1) CN114499898B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780932A (zh) * 2022-06-21 2022-07-22 中铁电气化局集团有限公司 管理三化平台的跨区块链数据交互验证方法、系统及设备
CN115633032A (zh) * 2022-10-08 2023-01-20 重庆邮电大学 一种应用于供应链弱连接的联盟链与私链单向跨链方法
CN115982208A (zh) * 2022-08-24 2023-04-18 淮阴工学院 基于区块链跨链协同的冷链产品关联性查询方法及装置
CN116170158A (zh) * 2023-02-15 2023-05-26 北京邮电大学 基于多链架构的跨域安全审查方法及装置
CN116506104A (zh) * 2023-06-25 2023-07-28 天津市城市规划设计研究总院有限公司 基于跨链区块链的不同部门信息安全交互的方法及系统
CN116866009A (zh) * 2023-06-15 2023-10-10 蚂蚁区块链科技(上海)有限公司 基于认证网络的跨链身份验证方法及装置
WO2024000988A1 (zh) * 2022-06-30 2024-01-04 浪潮电子信息产业股份有限公司 一种区块链监测方法、装置、设备及存储介质
CN117879785A (zh) * 2024-03-08 2024-04-12 人民法院信息技术服务中心 基于跨链的司法数据共享系统、方法及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180101684A1 (en) * 2016-10-06 2018-04-12 Mastercard International Incorporated Method and system for identity and credential protection and verification via blockchain
CN112398853A (zh) * 2020-11-16 2021-02-23 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及系统
CN112637189A (zh) * 2020-12-18 2021-04-09 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN113420090A (zh) * 2021-06-29 2021-09-21 北京百度网讯科技有限公司 跨链处理方法、装置、电子设备及可读存储介质
CN113965329A (zh) * 2021-10-25 2022-01-21 浙江师范大学 一种跨链互操作系统、方法、介质及数据处理终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180101684A1 (en) * 2016-10-06 2018-04-12 Mastercard International Incorporated Method and system for identity and credential protection and verification via blockchain
CN112398853A (zh) * 2020-11-16 2021-02-23 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及系统
CN112637189A (zh) * 2020-12-18 2021-04-09 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN113420090A (zh) * 2021-06-29 2021-09-21 北京百度网讯科技有限公司 跨链处理方法、装置、电子设备及可读存储介质
CN113965329A (zh) * 2021-10-25 2022-01-21 浙江师范大学 一种跨链互操作系统、方法、介质及数据处理终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶少杰等: "BitXHub:基于侧链中继的异构区块链互操作平台", 《计算机科学》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780932A (zh) * 2022-06-21 2022-07-22 中铁电气化局集团有限公司 管理三化平台的跨区块链数据交互验证方法、系统及设备
CN114780932B (zh) * 2022-06-21 2022-09-02 中铁电气化局集团有限公司 管理三化平台的跨区块链数据交互验证方法、系统及设备
WO2024000988A1 (zh) * 2022-06-30 2024-01-04 浪潮电子信息产业股份有限公司 一种区块链监测方法、装置、设备及存储介质
CN115982208A (zh) * 2022-08-24 2023-04-18 淮阴工学院 基于区块链跨链协同的冷链产品关联性查询方法及装置
CN115982208B (zh) * 2022-08-24 2023-09-29 淮阴工学院 基于区块链跨链协同的冷链产品关联性查询方法及装置
CN115633032A (zh) * 2022-10-08 2023-01-20 重庆邮电大学 一种应用于供应链弱连接的联盟链与私链单向跨链方法
CN116170158A (zh) * 2023-02-15 2023-05-26 北京邮电大学 基于多链架构的跨域安全审查方法及装置
CN116866009A (zh) * 2023-06-15 2023-10-10 蚂蚁区块链科技(上海)有限公司 基于认证网络的跨链身份验证方法及装置
CN116866009B (zh) * 2023-06-15 2024-03-26 蚂蚁区块链科技(上海)有限公司 基于认证网络的跨链身份验证方法、装置、电子设备及存储介质
CN116506104A (zh) * 2023-06-25 2023-07-28 天津市城市规划设计研究总院有限公司 基于跨链区块链的不同部门信息安全交互的方法及系统
CN116506104B (zh) * 2023-06-25 2023-08-29 天津市城市规划设计研究总院有限公司 基于跨链区块链的不同部门信息安全交互的方法及系统
CN117879785A (zh) * 2024-03-08 2024-04-12 人民法院信息技术服务中心 基于跨链的司法数据共享系统、方法及计算机设备
CN117879785B (zh) * 2024-03-08 2024-05-24 人民法院信息技术服务中心 基于跨链的司法数据共享系统、方法及计算机设备

Also Published As

Publication number Publication date
CN114499898B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN114499898B (zh) 一种区块链跨链安全接入方法及装置
CN114615095B (zh) 区块链跨链数据处理方法、中继链、应用链及跨链网络
Feng et al. Blockchain-based cross-domain authentication for intelligent 5G-enabled internet of drones
CN112039872B (zh) 基于区块链的跨域匿名认证方法及系统
CN112153608B (zh) 一种基于侧链技术信任模型的车联网跨域认证方法
CN112003889B (zh) 分布式跨链系统及跨链信息交互与系统访问控制方法
CN113256290B (zh) 去中心化加密通讯与交易系统
CN110535628B (zh) 通过证书签发进行多方安全计算的方法及装置
CN113194469B (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
US8856524B2 (en) Cryptographic methods, host system, trusted platform module, computer arrangement, computer program product and computer program
US9490979B2 (en) System and method for providing credentials
CN113556237B (zh) 基于聚合多签的阈值签名方法、系统、装置及存储介质
CN113301022B (zh) 基于区块链和雾计算的物联网设备身份安全认证方法
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
US11652647B2 (en) Authentication system and computer readable medium
CN113162768A (zh) 一种基于区块链的智能物联网设备认证方法及系统
Karbasi et al. A post-quantum end-to-end encryption over smart contract-based blockchain for defeating man-in-the-middle and interception attacks
CN114037457A (zh) 一种基于身份标识的工业复杂产品终端跨域接入认证方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
CN110752934B (zh) 拓扑结构下网络身份交互认证的方法
JP3634279B2 (ja) 複数icカード間及び同一icカード内のアプリケーション連携方法
CN113766452A (zh) 一种v2x通信系统、通信密钥分发方法与隐式认证方法
CN114900354B (zh) 一种面向能源数据的分布式身份认证和管理方法及系统
CN114050930B (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