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

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

Info

Publication number
CN114499898B
CN114499898B CN202210392283.3A CN202210392283A CN114499898B CN 114499898 B CN114499898 B CN 114499898B CN 202210392283 A CN202210392283 A CN 202210392283A CN 114499898 B CN114499898 B CN 114499898B
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.)
Active
Application number
CN202210392283.3A
Other languages
English (en)
Other versions
CN114499898A (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

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 199949DEST_PATH_IMAGE001
、身份标识
Figure 901188DEST_PATH_IMAGE002
、地址
Figure 141677DEST_PATH_IMAGE003
、应用链A标识
Figure 826736DEST_PATH_IMAGE004
、应用链B标识
Figure 443662DEST_PATH_IMAGE005
,以及用户对其的身份标识
Figure 530567DEST_PATH_IMAGE002
、地址
Figure 676377DEST_PATH_IMAGE006
、应用链A标识
Figure 848733DEST_PATH_IMAGE004
、应用链B标识
Figure 502306DEST_PATH_IMAGE007
的签名
Figure 443717DEST_PATH_IMAGE008
。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 26008DEST_PATH_IMAGE009
,将用户身份标识
Figure 420080DEST_PATH_IMAGE010
、应用链A标识
Figure 378809DEST_PATH_IMAGE011
、应用链B链标识
Figure 174727DEST_PATH_IMAGE005
、授权服务器标识
Figure 193498DEST_PATH_IMAGE012
、这条消息发出的时间戳
Figure 809287DEST_PATH_IMAGE013
一同发送给认证服务器AS。
Figure 571707DEST_PATH_IMAGE014
在步骤2中,在中继链中,此时验证用户的跨链身份权限是否合法,若合法,将生成会话密钥,并从账户数据库提取出用户相关密钥、账户信息,生成一级身份凭证,并将其发送给用户。具体过程如下:
1)AS验证用户是否存在,若存在,生成TGS凭证和会话密钥:
AS验证用户身份后,将用户身份标识
Figure 222131DEST_PATH_IMAGE010
、地址
Figure 734558DEST_PATH_IMAGE015
、应用链A标识
Figure 103222DEST_PATH_IMAGE016
、应用链B标识
Figure 403754DEST_PATH_IMAGE005
、中继凭证服务器标识
Figure 908684DEST_PATH_IMAGE017
、TGS凭证生成时的时间戳
Figure 269259DEST_PATH_IMAGE018
、有效期
Figure 859640DEST_PATH_IMAGE019
,连同为此次用户U和TGS会话生成的会话密钥
Figure 963862DEST_PATH_IMAGE020
,以及用户和TGS共享的密钥
Figure 854458DEST_PATH_IMAGE021
加密生成TGS的凭证
Figure 120354DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE023
AS将生成的TGS凭证
Figure 198031DEST_PATH_IMAGE022
、会话密钥
Figure 73321DEST_PATH_IMAGE024
、中继凭证服务器标识
Figure 818423DEST_PATH_IMAGE025
、凭证生成时的时间戳
Figure 520800DEST_PATH_IMAGE026
、有效期
Figure 85774DEST_PATH_IMAGE027
,以及和用户共享的密钥
Figure 531799DEST_PATH_IMAGE028
加密生成消息,返回给用户U。
Figure 131407DEST_PATH_IMAGE029
用户U得到消息后,可以用
Figure 4685DEST_PATH_IMAGE030
解密消息获取
Figure 56955DEST_PATH_IMAGE031
Figure 306671DEST_PATH_IMAGE032
在此过程中,用户和TGS共享的密钥
Figure 760786DEST_PATH_IMAGE033
、AS和用户共享的密钥
Figure 804965DEST_PATH_IMAGE028
可分别对密钥进行单独分布式存储。
2)TGS验证用户跨链权限是否合法,若合法,生成一级身份凭证和会话密钥:
用户U获取
Figure 78952DEST_PATH_IMAGE034
后,向TGS服务器请求一级身份凭证
Figure 365314DEST_PATH_IMAGE035
,请求消息将网关服务器身份标识
Figure 673936DEST_PATH_IMAGE036
、TGS凭证
Figure 889017DEST_PATH_IMAGE031
、用户U的认证信息
Figure 181458DEST_PATH_IMAGE037
一同发送至TGS。
Figure 241817DEST_PATH_IMAGE038
其中,认证信息通过U和TGS会话密钥
Figure 936104DEST_PATH_IMAGE039
将U的身份标识
Figure 322086DEST_PATH_IMAGE040
、地址
Figure 570665DEST_PATH_IMAGE006
、应用链A标识
Figure 700295DEST_PATH_IMAGE004
、应用链B标识
Figure 983509DEST_PATH_IMAGE007
、认证消息生成时的时间戳
Figure 540392DEST_PATH_IMAGE041
加密生成。
Figure 541846DEST_PATH_IMAGE042
TGS服务器收到消息后,对
Figure 708123DEST_PATH_IMAGE031
进行解密
Figure 111422DEST_PATH_IMAGE043
,得到会话密钥
Figure 839207DEST_PATH_IMAGE039
,然后通过
Figure 327957DEST_PATH_IMAGE039
解密认证信息
Figure 799390DEST_PATH_IMAGE044
,若在有效期内,用户身份信息符合授权,并为之生成一级身份凭证
Figure 57196DEST_PATH_IMAGE045
和U与网关服务器之间的会话密钥
Figure 690302DEST_PATH_IMAGE046
生成的一级身份凭证
Figure 666349DEST_PATH_IMAGE047
包含了各身份标识、凭证生成时的时间戳
Figure 941472DEST_PATH_IMAGE048
、有效期
Figure 788205DEST_PATH_IMAGE049
和会话密钥
Figure 123372DEST_PATH_IMAGE046
,并用TGS和网关服务器之间共享的密钥
Figure 321135DEST_PATH_IMAGE050
加密。
Figure 632905DEST_PATH_IMAGE051
然后TGS再次将一级身份凭证
Figure 599724DEST_PATH_IMAGE047
连同网关身份标识
Figure 105792DEST_PATH_IMAGE036
、凭证生成时间戳
Figure 790851DEST_PATH_IMAGE052
、有效期
Figure 142198DEST_PATH_IMAGE049
和会话密钥
Figure 229103DEST_PATH_IMAGE046
,用U和TGS之间的会话密钥
Figure 640493DEST_PATH_IMAGE039
加密生成消息返回给用户U。
Figure 812848DEST_PATH_IMAGE053
用户U接收消息后,可以用
Figure 233465DEST_PATH_IMAGE039
解密消息获取
Figure 909297DEST_PATH_IMAGE046
Figure 757167DEST_PATH_IMAGE047
在此过程中,TGS和网关服务器之间共享的密钥
Figure 416819DEST_PATH_IMAGE054
可对其密钥进行单独分布式存储。
在步骤3中,用户U在获得一级身份凭证后,向网关请求跨链服务。网关监听到具体过程如下:
用户向网关发送请求认证消息,包括一级身份凭证
Figure 608503DEST_PATH_IMAGE047
、认证信息
Figure 670000DEST_PATH_IMAGE055
、跨链信息
Figure DEST_PATH_IMAGE056
Figure 892034DEST_PATH_IMAGE057
认证信息通过会话密钥
Figure 38982DEST_PATH_IMAGE058
加密,
Figure 801401DEST_PATH_IMAGE059
Figure 451826DEST_PATH_IMAGE060
包括用户公钥
Figure 641498DEST_PATH_IMAGE061
、跨链交易
Figure 10163DEST_PATH_IMAGE062
、以及用户对其的身份标识
Figure 45115DEST_PATH_IMAGE063
、地址
Figure 81204DEST_PATH_IMAGE006
、应用链A标识
Figure 441778DEST_PATH_IMAGE004
、应用链B标识
Figure 530695DEST_PATH_IMAGE064
的签名
Figure 634917DEST_PATH_IMAGE065
Figure 525513DEST_PATH_IMAGE066
网关服务器监听到跨链消息后,进行一级身份凭证解密
Figure 791409DEST_PATH_IMAGE067
,得到
Figure 134666DEST_PATH_IMAGE068
,通过
Figure 511420DEST_PATH_IMAGE068
解密认证信息
Figure 256522DEST_PATH_IMAGE069
,网关对这些信息进行验证,验证一级身份凭证在有效期内跨链用户身份是否合法,通过验证之后再将认证信息中的时间戳加1,并用会话密钥加密,生成反向认证信息返回给用户U。
Figure 958899DEST_PATH_IMAGE070
用户U接收消息后,可以用
Figure 523873DEST_PATH_IMAGE068
解密,完成U对S的认证。
不同用户相应的签名算法不同,签名算法包括不限于ECDSA、SM2。比如,此过程用户运用的SM2签名算法过程如下:
系统建立:输入安全参数
Figure 969898DEST_PATH_IMAGE071
,输入系统公开参数
Figure 569506DEST_PATH_IMAGE072
,其中
Figure 442784DEST_PATH_IMAGE073
表示有限域的规模,为大素数或为2的幂次;
Figure 993589DEST_PATH_IMAGE074
表示定义在有限域
Figure DEST_PATH_IMAGE075
上的椭圆曲线;
Figure 712146DEST_PATH_IMAGE076
表示椭圆曲线
Figure 166261DEST_PATH_IMAGE074
上阶为
Figure 210441DEST_PATH_IMAGE077
的生成元点。
密钥产生:输入系统公开参数
Figure 750006DEST_PATH_IMAGE078
,用户随机选取秘密值
Figure 537834DEST_PATH_IMAGE079
,计算
Figure 112035DEST_PATH_IMAGE080
,将
Figure 61536DEST_PATH_IMAGE081
作为公钥公开,
Figure 353977DEST_PATH_IMAGE082
作为私钥秘密保存。
签名生成:输入系统公开参数
Figure 679916DEST_PATH_IMAGE078
,私钥
Figure 108624DEST_PATH_IMAGE082
和待签名消息
Figure 4860DEST_PATH_IMAGE083
,签名者按如下步骤生成签名:
1)令
Figure 519018DEST_PATH_IMAGE084
,其中
Figure 648648DEST_PATH_IMAGE085
表示签名者身份标识与系统参数的杂凑值。
2)计算
Figure 931861DEST_PATH_IMAGE086
,将
Figure 488745DEST_PATH_IMAGE087
转换为整数,
Figure 490199DEST_PATH_IMAGE088
为单向哈希函数。
3)产生随机数
Figure 157940DEST_PATH_IMAGE089
,计算
Figure 561240DEST_PATH_IMAGE090
4)计算
Figure 289024DEST_PATH_IMAGE091
,若
Figure 512195DEST_PATH_IMAGE092
Figure DEST_PATH_IMAGE093
,则重新选取随机数
Figure 718049DEST_PATH_IMAGE094
5)计算
Figure 208811DEST_PATH_IMAGE095
,若
Figure 373076DEST_PATH_IMAGE096
,则重新选取随机数
Figure 349122DEST_PATH_IMAGE097
,否则将
Figure 93087DEST_PATH_IMAGE098
作为签名结果输出。
在步骤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 470979DEST_PATH_IMAGE099
个参与者,编号分别为
Figure 274987DEST_PATH_IMAGE100
,其中
Figure 738329DEST_PATH_IMAGE101
为门限值,有一个可信的dealer选择两个大素数
Figure 551564DEST_PATH_IMAGE102
Figure 518383DEST_PATH_IMAGE103
Figure 24451DEST_PATH_IMAGE104
是定义在有限域
Figure 709510DEST_PATH_IMAGE105
上的一条椭圆曲线,
Figure 559392DEST_PATH_IMAGE106
是椭圆曲线
Figure 646297DEST_PATH_IMAGE107
的基点,其阶为
Figure 323266DEST_PATH_IMAGE103
,需要签署的信息为
Figure 230042DEST_PATH_IMAGE108
Figure 385080DEST_PATH_IMAGE109
为选定的哈希函数。
2)密钥共享:
a)每个参与者随机选取秘密值
Figure 592071DEST_PATH_IMAGE110
,椭圆曲线签名私钥
Figure 174362DEST_PATH_IMAGE111
由参与者选取的秘密值
Figure 834013DEST_PATH_IMAGE112
生成,
Figure 792742DEST_PATH_IMAGE113
。参与者根据Shamir门限秘密共享方案共享密钥。构建关于
Figure 323080DEST_PATH_IMAGE114
阶方程
Figure 341852DEST_PATH_IMAGE115
,计算
Figure 488799DEST_PATH_IMAGE116
发送给
Figure 484175DEST_PATH_IMAGE117
,并公布
Figure 400178DEST_PATH_IMAGE118
Figure 58693DEST_PATH_IMAGE119
b)参与者
Figure 692936DEST_PATH_IMAGE120
收到
Figure 993468DEST_PATH_IMAGE121
后首先验证
Figure 29557DEST_PATH_IMAGE122
公式的正确性,若无误,则计算
Figure 858973DEST_PATH_IMAGE123
是否与
Figure 980512DEST_PATH_IMAGE124
公布的一致,若一致,则接受该碎片,否则,则终止协议。当参与者
Figure 84735DEST_PATH_IMAGE125
收集到所有
Figure 444172DEST_PATH_IMAGE126
,根据Shamir门限秘密共享的加法性质,可计算自身私钥碎片
Figure 975647DEST_PATH_IMAGE127
。根据所有参与者公布信息可计算椭圆曲线公钥为
Figure 318904DEST_PATH_IMAGE128
c)参与者
Figure 459773DEST_PATH_IMAGE124
调用同态加密算法
Figure 204875DEST_PATH_IMAGE129
的密钥生成算法,选取私钥
Figure 907252DEST_PATH_IMAGE130
,并公布公钥
Figure 472225DEST_PATH_IMAGE131
d)类比a)b),参与者合作生成同态加密算法
Figure 918250DEST_PATH_IMAGE132
的公共私钥
Figure 517859DEST_PATH_IMAGE133
和公钥
Figure 125558DEST_PATH_IMAGE134
,参与者
Figure 443407DEST_PATH_IMAGE124
持有算法
Figure 427543DEST_PATH_IMAGE135
私钥碎片
Figure 881658DEST_PATH_IMAGE136
3)生成部分门限签名
为不失一般性,假定参与者人数为
Figure 925838DEST_PATH_IMAGE137
a)参与者
Figure DEST_PATH_IMAGE138
选取随机值
Figure 698359DEST_PATH_IMAGE139
,并公布
Figure 486187DEST_PATH_IMAGE140
。秘密
Figure 60388DEST_PATH_IMAGE141
,
Figure DEST_PATH_IMAGE142
。函数
Figure 744310DEST_PATH_IMAGE143
的功能为提取点
Figure 771172DEST_PATH_IMAGE144
轴坐标。计算
Figure 97111DEST_PATH_IMAGE145
b)参与者
Figure 525818DEST_PATH_IMAGE146
计算
Figure 911800DEST_PATH_IMAGE147
并公布。
Figure DEST_PATH_IMAGE148
c)参与者计算
Figure 160379DEST_PATH_IMAGE149
Figure 290009DEST_PATH_IMAGE150
,参与者通过合作获取
Figure 806179DEST_PATH_IMAGE149
的碎片。参与者
Figure 628641DEST_PATH_IMAGE151
计算
Figure 630095DEST_PATH_IMAGE152
Figure 297837DEST_PATH_IMAGE153
发送给
Figure 435557DEST_PATH_IMAGE120
Figure 163342DEST_PATH_IMAGE120
如下信息发送给
Figure 652092DEST_PATH_IMAGE146
Figure 123524DEST_PATH_IMAGE154
表示一个有效的可计算函数,
Figure 115751DEST_PATH_IMAGE155
表示密文加法运算可扩展得到标量乘法运算。
Figure 280016DEST_PATH_IMAGE156
Figure 990483DEST_PATH_IMAGE157
Figure 28DEST_PATH_IMAGE151
持有
Figure 876455DEST_PATH_IMAGE158
,
Figure 946042DEST_PATH_IMAGE120
持有
Figure 143805DEST_PATH_IMAGE159
,参与者两两合作可得到
Figure 957040DEST_PATH_IMAGE160
Figure 189438DEST_PATH_IMAGE161
。参与者验证
Figure 164348DEST_PATH_IMAGE162
是否与之前公布的
Figure 114986DEST_PATH_IMAGE163
相等,若相等,则计算的
Figure 731912DEST_PATH_IMAGE149
是正确的,否则,终止协议。
d)参与者
Figure 553238DEST_PATH_IMAGE124
计算
Figure 230207DEST_PATH_IMAGE164
,并计算
Figure 402562DEST_PATH_IMAGE165
公布。
Figure 292021DEST_PATH_IMAGE166
Figure 9265DEST_PATH_IMAGE167
4)组合签名
a)参与者合成
Figure 591556DEST_PATH_IMAGE168
Figure 985628DEST_PATH_IMAGE169
b)参与者计算
Figure 944357DEST_PATH_IMAGE170
并共同调用算法
Figure 5854DEST_PATH_IMAGE129
的门限解密算法
Figure 759046DEST_PATH_IMAGE171
,则签名
Figure DEST_PATH_IMAGE172
在步骤6中,网关B根据二级身份凭证token中的用户标识,通过账户管理中心,调用相应的验证算法,对用户跨链身份的合法性验证;验证proof字段,跨链交易的合法性。验证通过后,将G进行协议转换,之后构建Merkle证明并用其私钥进行签名,发送至应用链B。同时同步来自中继链的区块头及跨链交易。
调用此用户对应的验证算法,验证二级身份凭证Token:输入系统公开参数
Figure 640415DEST_PATH_IMAGE173
,公钥
Figure 871676DEST_PATH_IMAGE174
以及收到消息
Figure 787679DEST_PATH_IMAGE175
的签名
Figure 977352DEST_PATH_IMAGE176
,验证者按照如下步骤验证签名:
1)检验
Figure 346016DEST_PATH_IMAGE177
是否成立,若不成立,则验证不通过;
2)检验
Figure 145083DEST_PATH_IMAGE178
是否成立,若不成立,则验证不通过;
3)令
Figure 915593DEST_PATH_IMAGE179
4)计算
Figure 10588DEST_PATH_IMAGE180
5)计算
Figure DEST_PATH_IMAGE181
,若
Figure 866548DEST_PATH_IMAGE182
,则验证不通过;
6)计算椭圆曲线点
Figure 439612DEST_PATH_IMAGE183
7)计算
Figure 330208DEST_PATH_IMAGE184
,检验
Figure 861683DEST_PATH_IMAGE185
是否成立,若成立,则验证通过,否则验证不通过。
验证跨链交易合法性:已知签名
Figure 939361DEST_PATH_IMAGE186
,被签名信息
Figure 847274DEST_PATH_IMAGE187
和公钥
Figure 326797DEST_PATH_IMAGE188
Figure 29173DEST_PATH_IMAGE189
,若签名满足
Figure 358261DEST_PATH_IMAGE190
,则签名合法。
在步骤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 CN114499898A (zh) 2022-05-13
CN114499898B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780932B (zh) * 2022-06-21 2022-09-02 中铁电气化局集团有限公司 管理三化平台的跨区块链数据交互验证方法、系统及设备
CN114826790B (zh) * 2022-06-30 2022-11-15 浪潮电子信息产业股份有限公司 一种区块链监测方法、装置、设备及存储介质
CN115982208B (zh) * 2022-08-24 2023-09-29 淮阴工学院 基于区块链跨链协同的冷链产品关联性查询方法及装置
CN116866009B (zh) * 2023-06-15 2024-03-26 蚂蚁区块链科技(上海)有限公司 基于认证网络的跨链身份验证方法、装置、电子设备及存储介质
CN116506104B (zh) * 2023-06-25 2023-08-29 天津市城市规划设计研究总院有限公司 基于跨链区块链的不同部门信息安全交互的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420090A (zh) * 2021-06-29 2021-09-21 北京百度网讯科技有限公司 跨链处理方法、装置、电子设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3039031C (en) * 2016-10-06 2022-06-21 Mastercard International Incorporated Method and system for identity and credential protection and verification via blockchain
CN112398853B (zh) * 2020-11-16 2023-04-18 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及系统
CN112637189B (zh) * 2020-12-18 2022-06-24 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN113965329A (zh) * 2021-10-25 2022-01-21 浙江师范大学 一种跨链互操作系统、方法、介质及数据处理终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420090A (zh) * 2021-06-29 2021-09-21 北京百度网讯科技有限公司 跨链处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN114499898A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114499898B (zh) 一种区块链跨链安全接入方法及装置
Feng et al. Blockchain-based cross-domain authentication for intelligent 5G-enabled internet of drones
CN112039872B (zh) 基于区块链的跨域匿名认证方法及系统
CN112153608B (zh) 一种基于侧链技术信任模型的车联网跨域认证方法
CN114615095B (zh) 区块链跨链数据处理方法、中继链、应用链及跨链网络
CN110535628B (zh) 通过证书签发进行多方安全计算的方法及装置
CN113194469B (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
US9490979B2 (en) System and method for providing credentials
CN106341232B (zh) 一种基于口令的匿名实体鉴别方法
CN109728909A (zh) 基于USBKey的身份认证方法和系统
CN113256290A (zh) 去中心化加密通讯与交易系统
CN113556237B (zh) 基于聚合多签的阈值签名方法、系统、装置及存储介质
CN113301022B (zh) 基于区块链和雾计算的物联网设备身份安全认证方法
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN116566660A (zh) 基于医疗区块链的身份认证方法
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
CN113360861A (zh) 一种面向抵押贷款的基于中继器跨链的去中心化身份方法
CN114938280A (zh) 一种基于非交互零知识证明与智能合约的认证方法及系统
CN114037457A (zh) 一种基于身份标识的工业复杂产品终端跨域接入认证方法
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
CN110752934B (zh) 拓扑结构下网络身份交互认证的方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Yao et al. DIDs-Assisted Secure Cross-Metaverse Authentication Scheme for MEC-Enabled Metaverse
JP3634279B2 (ja) 複数icカード間及び同一icカード内のアプリケーション連携方法
CN114900354B (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