CN114142995B - 面向区块链中继通信网络的密钥安全分发方法及装置 - Google Patents
面向区块链中继通信网络的密钥安全分发方法及装置 Download PDFInfo
- Publication number
- CN114142995B CN114142995B CN202111306182.1A CN202111306182A CN114142995B CN 114142995 B CN114142995 B CN 114142995B CN 202111306182 A CN202111306182 A CN 202111306182A CN 114142995 B CN114142995 B CN 114142995B
- Authority
- CN
- China
- Prior art keywords
- node
- key
- blockchain
- block chain
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书一个或多个实施例提供一种面向区块链中继通信网络的密钥安全分发方法及装置,该方法可以包括:源区块链节点与目标区块链节点通过区块链中继通信网络进行动态密钥协商;源区块链节点通过区块链中继通信网络向目标区块链节点发送密钥分发消息,密钥分发消息中包含由动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由源区块链节点的链上节点身份私钥为密钥密文生成的数字签名;目标区块链节点接收到密钥分发消息后,根据源区块链节点的链上节点身份公钥对密钥分发消息中的数字签名进行验签,以及动态私钥对密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至源区块链节点。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种面向区块链中继通信网络的密钥安全分发方法及装置。
背景技术
区块链网络中包含若干区块链节点,区块链节点之间的需要实现诸如共识、交易传输、区块同步等通信操作。在传统的区块链技术中,各个区块链节点之间直接采用P2P(Peer to Peer,点对点)技术进行通信,以传输交易、区块等,但由于各种网络因素导致通信时延高、稳定性差,无法满足应用需求。
因此,相关技术中提出了基于区块链中继通信网络的区块链通信技术。区块链网络中的区块链节点可以分别接入区块链中继通信网络,使得区块链节点之间就可以通过区块链中继通信网络来实现通信。由于区块链中继通信网络是面向区块链实时传输的骨干中继通信网络,各个中继节点之间能够通过高QoS保障的优质带宽进行通信交互,因而由区块链中继通信网络接管区块链节点之间通信的中间链路(middle mile),能够降低通信时延、提高稳定性,从而显著提升区块链节点之间的通信质量。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种面向区块链中继通信网络的密钥安全分发方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种面向区块链中继通信网络的密钥安全分发方法,包括:
源区块链节点与目标区块链节点通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点获取协商生成的动态公钥、所述目标区块链节点维护协商生成的动态私钥;
所述源区块链节点通过所述区块链中继通信网络向所述目标区块链节点发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
所述目标区块链节点接收到所述密钥分发消息后,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第二方面,提出了一种面向区块链中继通信网络的密钥安全分发方法,应用于源区块链节点,所述方法包括:
与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护;
获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第三方面,提出了一种面向区块链中继通信网络的密钥安全分发方法,应用于目标区块链节点,所述方法包括:
与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥;
接收所述源区块链节点通过所述区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第四方面,提出了一种面向区块链中继通信网络的密钥安全分发系统,包括:源区块链节点和目标区块链节点;其中:
所述源区块链节点与所述目标区块链节点通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点获取协商生成的动态公钥、所述目标区块链节点维护协商生成的动态私钥;
所述源区块链节点通过区块链中继通信网络向目标区块链节点发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
所述目标区块链节点在接收到所述密钥分发消息后,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第五方面,提出了一种面向区块链中继通信网络的密钥安全分发装置,应用于源区块链节点,所述装置包括:
密钥协商单元,用于与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护;
消息获取单元,用于获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息发送单元,用于通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第六方面,提出了一种面向区块链中继通信网络的密钥安全分发装置,应用于目标区块链节点,所述装置包括:
密钥协商单元,用于与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥;
消息接收单元,用于接收源区块链节点通过区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息处理单元,用于根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
根据本说明书一个或多个实施例的第七方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述第二方面或第三方面所述的方法。
根据本说明书一个或多个实施例的第八方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第二方面或第三方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种面向区块链中继通信网络的密钥安全分发方法的流程图。
图2是一示例性实施例提供的一种区块链节点通过区块链中继通信网络进行交互的示意图。
图3是一示例性实施例提供的一种基于源区块链节点侧的密钥安全分发方法的流程图。
图4是一示例性实施例提供的一种基于目标区块链节点侧的密钥安全分发方法的流程图。
图5是一示例性实施例提供的一种密钥安全分发的交互流程图。
图6是一示例性实施例提供的一种面向区块链中继通信网络的密钥安全分发系统的示意图。
图7是一示例性实施例提供的一种设备的结构示意图。
图8是一示例性实施例提供的一种基于源区块链节点侧的密钥安全分发装置的框图。
图9是一示例性实施例提供的一种基于目标区块链节点侧的密钥安全分发装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链中继通信网络可以适用于各种类型的区块链网络,包括公有链、私有链和联盟链等。譬如,应用于公有链的区块链中继通信网络主要包括Falcon、Fast BitcoinRelay Network(FBRN)、Fast Internet Bitcoin Relay Engine(FIBRE)等,而应用于联盟链的区块链中继通信网络主要包括BloXRoute、Blockchain Transmission Network(BTN)等。本说明书并不限制所采用的区块链中继通信网络。
当区块链节点之间在基于P2P技术进行端到端直连时,可以使用SSL(SecureSocket Layer,安全套接字层)链路来实现加密通信。例如,当区块链节点Node A需要向区块链节点Node B发送区块链消息时,Node A与Node B之间可以基于SSL协议进行密钥协商,从而基于协商出的传输密钥在该Node A与Node B之间建立起SSL链路。那么,区块链消息在该SSL链路内部传输时都处于密文状态(由上述的传输密钥加密),仅由持有该传输密钥的Node A与Node B能够解密出相应的消息明文。
但是,当区块链节点之间通过区块链中继通信网络进行通信时,情况则有所不同。假定Node A对接区块链中继通信网络中的中继节点a。虽然可以通过在Node A与中继节点a之间建立SSL链路,使得区块链消息在该SSL链路内部传输时均处于密文状态,但是由于传输密钥是在Node A与中继节点a之间协商得到,所以中继节点a能够通过该传输密钥对收到的消息密文进行解密,使得消息明文被暴露给区块链中继通信网络。
因此,为解决该问题,本说明书提出了一种面向区块链中继通信网络的密钥安全分发方案,能够在区块链节点之间实现安全的密钥分发,使得区块链节点之间能够基于分发的密钥实现面向区块链中继通信网络的端到端加密。
图1是一示例性实施例提供的一种面向区块链中继通信网络的密钥安全分发方法的流程图。如图1所示,该方法可以包括:
步骤102,源区块链节点与目标区块链节点通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点获取协商生成的动态公钥、所述目标区块链节点维护协商生成的动态私钥。
通过在一物理设备上运行区块链平台代码(即链代码),可以在该物理设备上形成相应的节点实例。如果不考虑该物理设备所实现的其他功能,可以不对物理设备和节点实例加以区分,此时该物理设备或节点实例均可以称为区块链节点。如果考虑到该物理设备所实现的其他功能,比如除了节点实例之外还可以运行其他的业务实例,此时可以将该物理设备称为节点设备、将该节点实例称为区块链节点。总之,区块链节点可以是物理设备层面的概念,也可以是逻辑层面的概念,需要根据实际情况来确定。
在本说明书的技术方案中,与动态密钥协商相关的功能逻辑可以属于上述的区块链平台代码的一部分,则源区块链节点和目标区块链节点可以为相应的节点实例,也可以为节点实例所处的物理设备。或者,与动态密钥协商相关的功能逻辑也可以属于一业务实例,该业务实例与节点实例处于同一物理设备上,则源区块链节点和目标区块链节点可以为相应的物理设备。
源区块链节点可以为区块链网络中的任意区块链节点。目标区块链节点可以为区块链网络中除源区块链节点之外的任意区块链节点,且目标区块链节点的数量可以为一个或多个。因此,区块链网络中的每个区块链节点都可以作为本说明书中的源区块链节点,并将除自身之外的其他一个或多个区块链节点作为目标区块链节点,从而与该目标区块链节点进行动态密钥协商,以及向该目标区块链节点分发密钥。
源区块链节点与目标区块链节点之间可以通过相关技术中的任意密钥协商方案,完成上述的动态密钥协商过程,本说明书并不对此进行限制。例如,源区块链节点可以通过区块链中继通信网络向目标区块链节点发送密钥协商请求消息,以发起密钥协商过程。该密钥协商请求消息中可以包含源区块链节点支持的非对称加密算法列表。相应的,目标区块链节点在接收到密钥协商请求消息后,可以从上述非对称加密算法列表中选取自身支持的某一种非对称加密算法,譬如可以称之为目标非对称加密算法,并进而基于该目标非对称加密算法生成动态私钥和动态公钥,即生成适用于该目标非对称加密算法的动态公私钥对。动态公私钥对的生成方式,可以参考相关技术中的密钥生成技术,此处不再赘述,且本说明书并不对此进行限制。然后,目标区块链节点可以通过区块链中继通信网络向源区块链节点返回密钥协商响应消息,该密钥协商响应消息中包含上述目标非对称加密算法的名称、所生成的动态公钥和由该目标区块链节点自身的链上节点身份私钥为动态公钥生成的数字签名。源区块链节点接收到密钥协商响应消息后,可以根据目标区块链节点的链上节点身份公钥对密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将密钥协商响应消息中包含的公钥确定为上述的动态公钥,以及将目标非对称加密算法确定为对下述对称密钥进行加密以生成密钥密文的算法。
可见,源区块链节点与目标区块链节点之间进行密钥协商的过程中,实际上完成了两部分内容的协商:第一为密钥协商,协商结果为生成的动态公私钥对,第二为算法协商,协商结果为选取了双方均支持的目标非对称加密算法。在下文所述的密钥分发过程中,动态公钥会被用于对待分发的对称密钥进行加密以生成相应的密钥密文,该过程中会采用上述的目标非对称加密算法进行加密处理,譬如由源区块链节点基于动态公钥并采用目标非对称加密算法对下述的对称密钥进行加密以生成密钥密文。相应的,目标区块链节点在获得密钥密文后,会通过自身维护的动态私钥对该密钥密文进行解密,此时同样采用上述的目标非对称加密算法进行解密处理,从而解密得到相应的对称密钥,完成密钥分发。
源区块链节点与目标区块链节点通过协商生成的动态公私钥对,可以专门用于下文中的对称密钥进行分发。由于该动态公私钥对为动态生成,而非长期生效,因而可以降低该动态公私钥对发生泄漏的概率,有助于提升分发过程的安全性。同时,在上述的密钥协商过程中,还将动态公私钥对与区块链节点的链上节点身份相结合,即通过链上节点身份对数字签名进行验签,从而在验签通过的情况下确定密钥协商响应消息确实来自于目标区块链节点且在传输过程中未发生数据缺失、替换等问题,确认该密钥协商响应消息中包含的公钥即为目标区块链节点所生成的动态公钥。
步骤104,所述源区块链节点通过所述区块链中继通信网络向所述目标区块链节点发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名。
类似于前文所述的动态密钥协商过程,与密钥分发相关的功能逻辑可以属于上述的区块链平台代码的一部分,则源区块链节点和目标区块链节点可以为相应的节点实例,也可以为节点实例所处的物理设备。或者,与密钥分发相关的功能逻辑也可以属于一业务实例,该业务实例与节点实例处于同一物理设备上,则源区块链节点和目标区块链节点可以为相应的物理设备。
源区块链节点基于非对称加密算法将上述的动态公钥用于对待分发的对称密钥进行加密,从而生成相应的密钥密文。那么,由于该密钥密文仅能够由目标区块链节点所维护的动态私钥所解密,因而能够安全地通过区块链中继通信网络进行传输,而不必担心对称密钥在区块链中继通信网络中暴露。其中,对称密钥可以为任意密钥,比如随机生成的对称密钥,且生成过程中可以采用相关技术中的任意密钥生成算法,本说明书并不对此进行限制。
源区块链节点和目标区块链节点可以分别维护有区块链节点列表。某一区块链节点所维护的区块链节点列表,通常用于记录该区块链节点所处区块链网络中的所有区块链节点的信息。当然,在一些情况下,譬如涉及到多条区块链网络之间的跨链场景时,区块链节点列表也可以维护其他区块链网络中的区块链节点的信息。因此,源区块链节点与目标区块链节点可以属于同一区块链网络,也可以分别属于不同的区块链网络。区块链节点列表中所维护的区块链节点的信息,譬如可以包括区块链节点的节点标识、链上节点身份公钥、节点IP和端口信息等。链上节点身份是基于非对称加密算法生成的,每个区块链节点的链上节点身份包含链上节点身份公钥和链上节点身份私钥。链上节点身份私钥由每个区块链节点自行维护、避免对外泄露,而链上节点身份公钥则需要公开至其他的区块链节点,以便添加至其他区块链节点维护的区块链节点列表中。由于链上节点身份属于区块链节点之间实现链上交互的信任基础,因此区块链节点之间可以借助于各自的链上节点身份,实现本说明书的安全密钥分发方案,而无需额外引入CA(Certificate Authority,证书授权中心)等中心化的身份认证机构。
因此,可以利用区块链节点的链上节点身份,为源区块链节点与目标区块链节点相互发送的消息生成数字签名,以及相应的实施签名的验证。例如,在前述的密钥协商过程中,目标区块链节点可以基于自身的链上节点身份私钥为动态公钥生成的数字签名,并通过密钥协商响应消息发送至源区块链节点;相应的,源区块链节点可以根据目标区块链节点的链上节点身份公钥对该数字签名进行验证,从而确定动态公钥在传输过程中是否发生了缺失、替换等,防止由于中间人攻击等带来的安全性问题。类似地,可以通过源区块链节点的链上节点身份私钥为上述的密钥密文生成数字签名,目标区块链节点可以根据源区块链节点的链上节点身份公钥对该数字签名进行验证,从而确定密钥密文在传输过程中是否发生了缺失、替换等,防止由于中间人攻击等带来的安全性问题。
密钥分发消息包含上述的密钥密文和针对该密钥密文的数字签名。该密钥分发消息可由源区块链节点生成,或者由其他对象生成后提供至源区块链节点,本说明书并不对此进行限制。如果由其他对象生成密钥分发消息,那么源区块链节点可以将自身的链上节点身份私钥托管至该对象,以便该对象可以据此为密钥密文生成相应的数字签名。
源区块链节点通过区块链中继通信网络发送密钥分发消息时,与相关技术中通过区块链中继通信网络进行消息传输的过程无异。以图2所示的场景为例,如图2所示:假定源区块链节点为Node A、目标区块链节点为Node B,Node A与区块链中继通信网络中的中继节点a相连、Node B与区块链中继通信网络中的中继节点b相连。Node A可以将密钥分发消息发送至中继节点a,由中继节点a将该密钥分发消息路由至中继节点b后,由中继节点b进一步将该,密钥分发消息发送至Node B。
在一实施例中,区块链中继通信网络可以对需要传输的消息进行广播,使得所有连接至该区块链中继通信网络的区块链节点均可以接收到消息。例如,中继节点a在收到密钥分发消息后,在区块链中继通信网络中对该密钥分发消息进行广播,并进一步由每个中继节点都将接收到的密钥分发消息转发至自身相连的区块链节点,比如中继节点c会接收到密钥分发消息并转发至区块链节点Node C。当然,由于密钥密文采用动态公钥进行加密,因而只有作为目标区块链节点的Node B可以通过动态私钥完成解密,其他区块链节点即便收到密钥分发消息也无法解密。
在另一实施例中,密钥分发消息中可以包含接收方节点指示信息,以使区块链中继通信网络将密钥分发消息发送至该接收方节点指示信息对应的区块链节点。此时,区块链中继通信网络对于密钥分发消息的转发将具有针对性,而不会发送至与目标区块链节点无关的中继节点。接收方节点指示信息可以包括目标区块链节点的节点标识。如果存在多个目标区块链节点:一种情况下,每条密钥分发消息中的接收方节点指示信息可以仅为一个目标区块链节点的节点标识,此时需要针对每一目标区块链节点分别发送一条密钥分发消息;另一种情况下,一条密钥分发消息中的接收方节点指示信息可以包括多个目标区块链节点的节点标识,此时仅需要发送一条密钥分发消息。或者,接收方节点指示信息可以包括目标区块链节点所属区块链节点集合的集合标识,尤其是当多个目标区块链节点属于同一个区块链节点集合时,通过该集合标识可以减少接收方节点指示信息的长度。这里的区块链节点集合可以为预先向区块链中继通信网络注册形成,同一区块链节点集合中的区块链节点可以为同一区块链网络中的全部或部分区块链节点,也可以同时包括来自多个区块链网络的区块链节点,可以根据业务需求进行注册,且该区块链节点集合中所含的区块链节点可以根据需求进行增删。
区块链中继通信网络中的各个中继节点可以维护有:各个中继节点之间的连接关系、每个中继节点与区块链节点之间的连接关系。基于所维护的上述信息,中继节点可以生成相应的路由策略,以用于进行消息传输。例如,当中继节点a读取密钥分发消息中的接收方节点指示信息时,确定目标区块链节点为Node B,该中继节点a会确定出自身与连接至该Node B的中继节点b之间的转发路径,并通过该转发路径对密钥分发消息进行转发至中继节点b。如果中继节点a与中继节点b之间存在直接相连的链路,上述转发路径为“中继节点a-中继节点b”,即中继节点a可以将密钥分发消息直接发送至中继节点b,而不会发送至中继节点c。如果中继节点a与中继节点b之间不存在直接相连的链路,或者直接相连的链路出现故障等,上述的转发路径可以为“中继节点a-中继节点c-中继节点b”,则中继节点a可以将密钥分发消息转发至中继节点c;与中继节点a相类似的,中继节点c在确定目标区块链节点为Node B后,也会确定出自身与连接至该Node B的中继节点b之间的转发路径,并通过该转发路径对密钥分发消息进行转发至中继节点b,譬如确定出的转发路径为“中继节点c-中继节点b”,即中继节点c可以将密钥分发消息直接发送至中继节点b。
如果存在上述的区块链节点集合,各个中继节点还可以维护有各个区块链节点集合的信息,包括集合标识、所含的区块链节点等。例如,当中继节点a读取密钥分发消息中的接收方节点指示信息时,确定该接收方节点指示信息为集合标识SID1,且确定出SID1所含的区块链节点为Node B和Node C,那么中继节点a将Node B和Node C分别确定为目标区块链节点,并基于如前所述的方式将密钥分发消息分别路由至Node B相连的中继节点b、NodeC相连的中继节点c,此处不再赘述。
上文中以密钥分发消息为例,详细描述了区块链中继通信网络对该密钥分发消息的传输过程。实际上,源区块链节点与目标区块链节点之间产生的其他交互消息,比如前述的密钥协商请求消息、密钥协商响应消息等,这些交互消息的传输过程类似于对密钥分发消息的上述传输过程,譬如区块链节点与中继节点之间的交互、中继节点之间的交互,以及通过接收方节点指示信息来表明作为接收方的目标区块链节点等,此处不再赘述。
步骤106,所述目标区块链节点接收到所述密钥分发消息后,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
目标区块链节点在收到密钥分发消息后,可以分别获取该密钥分发消息所含的密钥密文和数字签名。如前所述,目标区块链节点可以根据源区块链节点的节点标识,从自身维护的区块链节点列表中获取源区块链节点的链上节点身份公钥,以用于对上述的数字签名进行验签。由于在密钥分发消息中,定义了该数字签名是针对密钥密文而生成,因而目标区块链节点会根据密钥密文完成对数字签名的验证。如果验证成功,表明该密钥分发消息确实来自于源区块链节点,且传输过程中没有发生数据缺失,也没有受到中间人攻击。如果验证失败,表明密钥密文和数字签名中的至少之一存在异常,目标区块链节点可以丢弃或返回告警消息。
密钥分发消息中可以包含发送方节点标识信息,该发送方节点标识信息用于记录作为发送方的区块链节点的节点标识。因此,在源区块链节点所发出的密钥分发消息中,发送方节点标识信息的取值为源区块链节点的节点标识。相应的,目标区块链节点可以从发送方节点标识信息中提取源区块链节点的节点标识,并根据提取的节点标识从自身维护的区块链节点列表中获取源区块链节点对应的链上节点身份公钥,进而根据获取的链上节点身份公钥对密钥分发消息中的数字签名进行验签。
当然,密钥分发消息中的发送方节点标识信息只是用于表明发送方节点身份的一种方式,目标区块链节点还可以通过其他方式获得发送方节点身份,本说明书并不对此进行限制。例如,区块链中继通信网络在获得密钥分发消息后,可以将该密钥分发消息封装为中继消息,并在区块链中继通信网络中传输该中继消息。其中,中继消息中可以封装有源区块链节点的节点标识,则源区块链节点的节点标识可由区块链中继通信网络从中继消息中解封后告知目标区块链节点。具体的,以上述的Node A向Node B分发密钥为例:中继节点a收到Node A发送的密钥分发消息后,将该密钥分发消息封装为中继消息,该封装过程中会在该中继消息中添加Node A的节点标识。相应的,中继节点b收到该中继消息后,可以通过解封获取Node A的节点标识,并将该节点标识与密钥分发消息一并发送至Node B,使得Node B获知该密钥分发消息来自Node A。与密钥分发消息相类似的,前述的密钥协商请求消息、密钥协商响应消息等也可以通过发送方节点标识信息来表明发送方节点身份,或者由区块链中继通信网络主动告知发送方节点身份,以用于相应的签名验证过程,此处不再赘述。
目标区块链节点可以通过前述的动态私钥对密钥密文进行解密。如果密钥密文没有在传输过程中发生缺失,目标区块链节点通常可以顺利完成解密。如果发生了中间人攻击,那么攻击者会用动态公钥对该攻击者自己提供的密钥进行加密,目标区块链节点同样可以完成解密。因此,目标区块链节点即便顺利解密,也应当结合对数字签名的验签结果来确定后续操作:只有当验签成功时,目标区块链节点才将解密得到的密钥确定为源区块链节点所分发的对称密钥,否则应当丢弃解密出的密钥。
如前所述,一条密钥分发消息可能同时存在多个目标区块链节点,那么该密钥分发消息中应当包含分别对应于每一目标区块链节点的数据集:每一数据集包括由相应目标区块链节点提供的动态公钥生成的密钥密文和相应的数字签名。假定Node A希望将对称密钥分发至Node B和Node C,则密钥分发消息中包括Node B对应的数据集M1、Node C对应的数据集M2,其中:M1包括由Node B提供的动态公钥生成的密钥密文enc_key_B和相应的数字签名enc_key_B_sign,M2包括由Node C提供的动态公钥生成的密钥密文enc_key_C和相应的数字签名enc_key_C_sign。相应的,每一目标区块链节点在收到密钥分发消息后,需要找到自身对应的数据集,以便实现前文所述的解密和验签。每一数据集可以包含相应的目标区块链节点的节点标识,以便于各个目标区块链节点准确找到自身对应的数据集;或者,数据集可以不包含相应的目标区块链节点的节点标识,每个目标区块链节点需要分别对各个数据集进行尝试,直至找到自身对应的数据集。
在验签成功的情况下,目标区块链节点可以将解密出的对称密钥关联至源区块链节点,即将该对称密钥记录为源区块链节点所分发的密钥。例如,目标区块链节点可以将该对称密钥与源区块链节点的节点标识进行关联存储,以便与其他区块链节点分发的对称密钥进行区分。
源区块链节点在将对称密钥分发至目标区块链节点后,虽然可以在后续一直使用该对称密钥进行交互,但出于安全考虑,可以在一定时长或使用次数后更新该对称密钥,因而涉及到对称密钥的版本更新。
在一实施例中,目标区块链节点可以在每次收到源区块链节点分发的对称密钥后:如果先前尚未存储过源区块链节点分发的对称密钥,就将该对称密钥关联至源区块链节点;如果先前已存储过源区块链节点分发的对称密钥,就将已存储的对称密钥更新为本次收到的对称密钥。
在另一实施例中,密钥分发消息中可以包含当前密钥版本。在一种情况下,如果目标区块链节点仅允许针对源区块链节点维护唯一密钥,并且当前密钥版本高于源区块链节点对应的历史最新密钥版本,则目标区块链节点将本次收到的对称密钥关联至源区块链节点,以替换历史最新密钥版本对应的历史密钥。通过密钥版本的比较,目标区块链节点可以准确识别出源区块链节点希望采用的对称密钥,若攻击者将源区块链节点在历史上发送过的密钥分发消息重发至目标区块链节点,目标区块链节点可以终止密钥更新的操作。在另一种情况下,如果目标区块链节点允许针对源区块链节点维护多个密钥,那么目标区块链节点不需要对密钥版本进行比较,可以直接将本地收到的对称密钥关联至源区块链节点,并通过上述的当前密钥版本标记该对称密钥。此时,即便攻击者将源区块链节点在历史上发送过的密钥分发消息重发至目标区块链节点,也不会影响目标区块链节点所维护的对称密钥。
在将对称密钥关联至源区块链节点后,目标区块链节点可以通过区块链中继通信网络向源区块链节点返回确认消息,该确认消息中包含由目标区块链节点的链上节点身份私钥生成的数字签名。目标区块链节点向源区块链节点返回确认消息的过程,可以参考前述的源区块链节点向目标区块链节点发送密钥分发消息的过程,譬如该确认消息中可以包含接收方节点指示信息,且该接收方节点指示信息的取值为源区块链节点的节点标识,使得区块链中继通信网络可以据此将确认消息发送至源区块链节点,此处不再赘述。源区块链节点在收到确认消息后,可以根据目标区块链节点的链上节点身份公钥对确认消息中的数字签名进行验签,并在验签成功的情况下确定对称密钥已成功分发至目标区块链节点。其中,与密钥分发消息相类似的,确认消息中可以包含发送方节点标识信息,且该发送方节点标识信息可以为目标区块链节点的节点标识;或者,区块链中继通信网络可以对该确认消息进行封装后发送,并在封装得到的中继消息中添加目标区块链节点的节点标识,总之源区块链节点可以确定上述的确认消息来自于目标区块链节点,并从自身维护的区块链节点列表中获取目标区块链节点的链上节点身份公钥,以针对确认消息中的数字签名进行验签,此处不再赘述。
目标区块链节点可以针对确认消息所含的任意内容生成相应的数字签名。例如,确认消息中可以包含目标区块链节点的节点标识,那么目标区块链节点可以针对其自身的节点标识生成数字签名;相应的,源区块链节点一方面可以根据节点标识获取相应的链上节点身份公钥,另一方面可以根据该节点标识和链上节点身份公钥对确认消息中的数字签名进行验签。再例如,确认消息中可以包含源区块链节点的节点标识,那么目标区块链节点可以针对源区块链节点的节点标识生成数字签名,源区块链节点的验签过程此处不再赘述。
结合前文所述,源区块链节点可以对目标区块链节点所发的密钥协商响应消息中的数字签名进行验签,目标区块链节点可以对源区块链节点所发的密钥分发消息中的数字签名进行验签,源区块链节点也可以对目标区块链节点所发的确认消息中的数字签名进行验签。换言之,源区块链节点和目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,其过程可以总结为:任一方区块链节点根据另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取该另一方区块链节点对应的链上节点身份公钥;以及,该任一方区块链节点根据获取的链上节点身份公钥对另一方区块链节点所发消息中的数字签名进行验签。
其中,任一方区块链节点可以通过多种方式获得另一方区块链节点的节点标识,本说明书并不对此进行限制。例如前文提供了两种示例性的方式:另一方区块链节点所发消息中可以包含发送方节点标识信息,且另一方区块链节点的节点标识由该任一方区块链节点从该发送方节点标识信息中读取得到;或者,另一方区块链节点所发消息被封装为中继消息后在区块链中继通信网络中进行传输,且中继消息中封装有另一方区块链节点的节点标识;其中,该另一方区块链节点的节点标识由区块链中继通信网络从中继消息中解封后告知任一方区块链节点。
在针对确认消息进行验签成功后,源区块链节点可以确定该确认消息确实来自目标区块链节点,因而可以确定前述的对称密钥已经成功分发至目标区块链节点。那么,源区块链节点可以在后续过程中,使用该对称密钥与目标区块链节点进行加密通信。例如,源区块链节点可以通过区块链中继通信网络向目标区块链节点发送加密后区块链消息,该加密后区块链消息由上述的对称密钥进行加密生成。相应的,目标区块链节点根据关联至该源区块链节点的对称密钥对加密后区块链消息进行解密,以获得明文的区块链消息。由于在分发过程中,对称密钥是以加密后的密钥密文的形式在区块链中继通信网络中传输,使得区块链中继通信网络无法获知该对称密钥,所以区块链中继通信网络无法侵入源区块链节点与目标区块链节点的加密通信过程,确保了该加密通信过程的安全性。其中,源区块链节点通过区块链中继通信网络向目标区块链节点发送加密后区块链消息的过程,可以参考前述的密钥分发消息的发送过程,此处不再赘述。
本说明书中的源区块链节点和目标区块链节点只是不同的角色划分,任意一个区块链节点均可以作为源区块链节点或目标区块链节点,或者同时作为源区块链节点和目标区块链节点。例如,对于同一区块链网络中的所有区块链节点而言,每一区块链节点均可以作为源区块链节点来与其他的区块链节点协商动态公私钥对、向其他的区块链节点分发对称密钥,且每一区块链节点均可以作为目标区块链节点来根据其他区块链节点的请求而生成动态公私钥对、接收其他区块链节点所分发的对称密钥,这样每一区块链节点都维护有其他区块链节点所分发的对称密钥。那么,当某一区块链节点需要向其他区块链节点发送区块链消息时,可以通过自身所分发的对称密钥加密该区块链消息,并将加密后区块链消息通过区块链中继通信网络发送至其他区块链节点,且其他的每一区块链节点均可以对收到的加密后区块链消息进行解密。
需要说明的是,区块链中继通信网络中的中继节点,除了可以是物理设备之外,也可以是逻辑设备。对于逻辑设备而言,例如区块链中继通信网络可以是基于云处理平台搭建的骨干通信网络,此时中继节点可以为针对云处理平台上的云处理资源进行虚拟化而创建的虚拟设备。
图3是一示例性实施例提供的一种基于源区块链节点侧的密钥安全分发方法的流程图。
如图3所示,该方法可以包括:
步骤302,与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护。
步骤304,获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名。
步骤306,通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
如前所述,所述与目标区块链节点通过区块链中继通信网络进行动态密钥协商,包括:
通过所述区块链中继通信网络向所述目标区块链节点发送密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表,使所述目标区块链节点:接收到所述密钥协商请求消息后,从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
接收所述目标区块链节点通过所述区块链中继通信网络返回的密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名;
根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
如前所述,源区块链节点可以接收所述目标区块链节点通过所述区块链中继通信网络返回的确认消息,所述确认消息由所述目标区块链节点在将所述对称密钥关联至所述源区块链节点后返回,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名;以及,源区块链节点可以根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
如前所述,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
如前所述,所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
如前所述,所述密钥分发消息中可以包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
如前所述,所述接收方节点指示信息可以包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
如前所述,所述密钥分发消息中可以包含当前密钥版本,以使所述目标区块链节点通过下述方式将解密得到的对称密钥关联至所述源区块链节点:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。如前所述,源区块链节点可以通过所述区块链中继通信网络向所述目标区块链节点发送加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成,以使所述目标区块链节点根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
在图1所示的实施例中,已经对源区块链节点与目标区块链节点之间的交互过程进行了详细描述,图3所示的实施例在源区块链节点的角度对该交互过程所涉及的内容进行了描述,相关细节与解释均可以参考前述的交互过程,此处不再赘述。
图4是一示例性实施例提供的一种基于目标区块链节点侧的密钥安全分发方法的流程图。如图4所示,该方法可以包括:
步骤402,与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥。
步骤404,接收所述源区块链节点通过所述区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名。
步骤406,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
可选的,所述与源区块链节点通过区块链中继通信网络进行动态密钥协商,包括:
接收所述源区块链节点通过所述区块链中继通信网络发送的密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表;
从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
通过所述区块链中继通信网络向所述源区块链节点返回密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名,使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
如前所述,目标区块链节点在将所述对称密钥关联至所述源区块链节点后,可以通过所述区块链中继通信网络向所述源区块链节点返回确认消息,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名,以使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
如前所述,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
如前所述,所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
如前所述,所述密钥分发消息中可以包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
如前所述,所述接收方节点指示信息可以包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
如前所述,所述密钥分发消息中可以包含当前密钥版本;相应地,目标区块链节点可以:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。如前所述,目标区块链节点可以接收所述源区块链节点通过所述区块链中继通信网络发送的加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成;然后,目标区块链节点可以根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
在图1所示的实施例中,已经对源区块链节点与目标区块链节点之间的交互过程进行了详细描述,图4所示的实施例在目标区块链节点的角度对该交互过程所涉及的内容进行了描述,相关细节与解释均可以参考前述的交互过程,此处不再赘述。
下面以如图2所示的区块链节点Node A、Node B,以及中继节点a、b为例,结合图5对本说明书的密钥分发方案进行说明。图5是一示例性实施例提供的一种密钥安全分发的交互流程图。如图5所示,假定Node A希望通过区块链中继通信网络向Node B分发对称密钥private_key,则区块链节点Node A、Node B和以及中继节点a、b之间的交互过程可以包括以下步骤:
步骤501,Node A生成NegotiatePubkeyAlgorithm。
Node A在向Node B分发对称密钥之前,需要与Node B进行密钥协商,以生成专用于分发对称密钥的动态公私钥对,以提升安全性。
基于上述信息,Node A可以生成密钥协商请求消息NegotiatePubkeyAlgorithm,该NegotiatePubkeyAlgorithm可以包含下述字段:
Struct NegotiatePubkeyAlgorithm{
Bytes node_id_from;//发送该消息的节点ID
Bytes node_id_to;//接收该消息的节点ID
Repeated String asym_algorithms;//本端支持的非对称加密算法列表
}
其中,node_id_from字段用于填写Node A的节点ID,node_id_to字段用于填写Node B的节点ID。asym_algorithms字段包含非对称加密算法列表,该列表记录了Node A所支持的所有非对称加密算法。
步骤502,Node A将NegotiatePubkeyAlgorithm通过区块链中继通信网络发送至Node B。
Node A首先将NegotiatePubkeyAlgorithm发送至自身所连接的中继节点a,并由中继节点a基于路由策略直接或间接将NegotiatePubkeyAlgorithm发送至中继节点b,进而由中继节点b将NegotiatePubkeyAlgorithm发送至Node B。
步骤503,Node B从asym_algorithms字段中选取自身支持的非对称加密算法asym_algorithm_B,并生成密钥协商响应消息PubkeyAlgorithm。
Node A与Node B各自支持的非对称加密算法之间往往并不完全相同。因此,通过由NodeA在NegotiatePubkeyAlgorithm的asym_algorithms字段中声明自身所支持的所有非对称加密算法,使得Node B可以根据自身所支持的非对称加密算法从中进行选取,譬如选取的非对称加密算法为asym_algorithm_B。这样,Node A与Node B都必然能够支持该非对称加密算法asym_algorithm_B。
然后,Node B可以根据确定出的非对称加密算法asym_algorithm_B,生成一组非对称密钥对,即动态公私钥对。例如,Node B可以通过随机生成的方式获得这组动态公私钥对。假定生成的动态私钥为prikey、动态公钥为pubkey,其中动态私钥prikey需要由Node B进行维护,而动态公钥pubkey需要由Node B反馈给Node A。为了防范中间人攻击,Node B可以通过自身的链上节点身份私钥Pri_key_B对pubkey进行签名,生成相应的数字签名pubkey_sign。
基于上述信息,Node B可以生成密钥协商响应消息PubkeyAlgorithm,该PubkeyAlgorithm可以包含下述字段:
Struct PubkeyAlgorithm{
Bytes node_id_from;//发送该消息的节点ID
Bytes node_id_to;//接收该消息的节点ID
String asym_algorithm;//本端选取的非对称加密算法
String pubkey;//临时生成的动态公钥
String pubkey_sign;//对动态公钥的签名
}
其中,node_id_from字段用于填写Node A的节点ID,node_id_to字段用于填写Node B的节点ID。asym_algorithm字段用于填写Node B选取的非对称加密算法的名称。pubkey字段用于填写动态公钥。pubkey_sign字段用于填写针对动态公钥的数字签名。
步骤504,Node B将PubkeyAlgorithm通过区块链中继通信网络发送至Node A。
Node B首先将PubkeyAlgorithm发送至自身所连接的中继节点b,并由中继节点b基于路由策略直接或间接将PubkeyAlgorithm发送至中继节点a,进而由中继节点a将PubkeyAlgorithm发送至Node A。
步骤505,Node A对PubkeyAlgorithm中的pubkey_sign进行验签、获取asym_algorithm_B。
Node A在接收到PubkeyAlgorithm后,根据node_id_from字段中提取的节点ID,从自身维护的区块链节点列表中获取该节点ID对应的链上节点身份公钥,以用于对pubkey_sign进行验签。如果PubkeyAlgorithm的传输过程无异常,Node A将从node_id_from字段中提取到Node B的节点ID,并进而获取其链上节点身份公钥Pub_key_B,然后根据该Pub_key_B和PubkeyAlgorithm中的pubkey对pubkey_sign进行验签。
此外,Node A可以从PubkeyAlgorithm中的asym_algorithm字段读取Node B选取的非对称加密算法的名称,从而获知Node B选取的非对称加密算法为asym_algorithm_B。
如果Node A对pubkey_sign验签成功,则转入后续的步骤506,否则终止流程或返回步骤501。
步骤506,Node A生成private_key。
Node A可以通过相关技术中的任意密钥生成算法,生成一对称密钥,以作为上述的private_key。当然,该private_key可以是Node A希望进行密钥分发时临时生成,也可以由Node A在先前已经生成的密钥集合中进行选取,本说明书并不对此进行限制。
步骤507,Node A生成PrivateKeyMsg。
Node A确定向Node B分发上述的private_key后,可以通过上述的动态公钥pubkey对private_key进行非对称加密,得到相应的密钥密文enc_private_key。为了防范中间人攻击,Node A可以通过自身的链上节点身份私钥Pri_key_A对enc_private_key进行签名,生成相应的数字签名enc_private_key_sign。另外,Node A还可以为本次分发的private_key确定相应的版本号private_key_ver,以区分于Node A分发过的其他密钥。
基于上述信息,Node A可以生成密钥分发消息PrivateKeyMsg,该PrivateKeyMsg可以包含下述字段:
struct PrivateKeyMsg{
Bytes node_id_from;//发送该消息的节点ID
Bytes node_id_to;//接收该消息的节点ID
Bytes encrypted_symetric_private_key;//密钥密文
Bytes enc_private_key_sign;//对密钥密文的签名
Int private_key_ver;//密钥版本号
}
其中,node_id_from字段用于填写Node A的节点ID,node_id_to字段用于填写Node B的节点ID。encrypted_symetric_private_key字段用于填写密钥密文,即上述的enc_private_key。enc_private_key_sign字段用于填写针对密钥密文的数字签名。private_key_ver字段用于填写密钥private_key的版本号。
步骤508,Node A将PrivateKeyMsg通过区块链中继通信网络发送至Node B。
Node A首先将PrivateKeyMsg发送至自身所连接的中继节点a,并由中继节点a基于路由策略直接或间接将PrivateKeyMsg发送至中继节点b,进而由中继节点b将PrivateKeyMsg发送至Node B。由于enc_private_key始终处于密文状态,且只有Node B维护有解密密钥(即动态私钥prikey),因而中继节点a、中继节点b和区块链中继通信网络中的其他中继节点都无法获知明文的private_key。
步骤509,Node B对PrivateKeyMsg中的enc_private_key_sign进行验签、对enc_private_key进行解密。
Node B在接收到PrivateKeyMsg后,根据node_id_from字段中提取的节点ID,从自身维护的区块链节点列表中获取该节点ID对应的链上节点身份公钥,以用于对enc_private_key_sign进行验签。如果PrivateKeyMsg的传输过程无异常,Node B将从node_id_from字段中提取到Node A的节点ID,并进而获取其链上节点身份公钥Pub_key_A,然后根据该Pub_key_A和PrivateKeyMsg中的enc_private_key对enc_private_key_sign进行验签。
Node B可以在验签的过程中,同时根据动态私钥prikey对enc_private_key进行解密。Node B也可以在验签成功的情况下才执行解密操作,本说明书并不对此进行限制。当然,即便是并行实施验签和解密,Node B也仅在验签成功的情况下,才会认可解密得到的private_key。
步骤510a,Node B记录密钥。
Node B在对enc_private_key_sign验签成功的情况下,确定解密获得的private_key为NodeA所分发的对称密钥,并将该private_key关联至Node A。例如,Node B可以将该private_key、private_key_ver与Node A的节点ID进行关联存储。
步骤510b,Node B通过区块链中继通信网络向Node A返回PrivateKeyRespMsg消息。
上述的步骤510a与步骤510b之间并不存在必然的先后顺序,两者之间相互独立。
Node B通过向Node A返回确认消息PrivateKeyRespMsg,向Node A表明自己已经成功获得所分发的密钥private_key。其中,PrivateKeyRespMsg可以包含下述字段:
struct PrivateKeyRespMsg{
Bytes node_id_from;//发送该消息的节点ID
Bytes node_id_to;//接收该消息的节点ID
Bytes node_id_from_sign;//对发送该消息的节点ID的签名
Int private_key_ver;//密钥版本号
}
其中,node_id_from字段用于填写Node B的节点ID,node_id_to字段用于填写Node A的节点ID。node_id_from_sign为Node B通过自身的链上节点身份私钥Pri_key_B对node_id_from字段的内容(即Node B的节点ID)进行签名操作而生成的数字签名。private_key_ver字段为Node B所记录的private_key的版本号信息。
Node B首先将PrivateKeyRespMsg发送至自身所连接的中继节点b,并由中继节点b基于路由策略直接或间接将PrivateKeyRespMsg发送至中继节点a,进而由中继节点a将PrivateKeyRespMsg发送至Node A。
步骤511,Node A对PrivateKeyRespMsg中的node_id_from_sign进行验签。
Node A在接收到PrivateKeyRespMsg后,根据node_id_from字段中提取的节点ID,从自身维护的区块链节点列表中获取该节点ID对应的链上节点身份公钥,以用于对node_id_from_sign进行验签。如果PrivateKeyRespMsg的传输过程无异常,Node A将从node_id_from字段中提取到Node B的节点ID,并进而获取其链上节点身份公钥Pub_key_B,然后根据该Pub_key_B和PrivateKeyRespMsg中的node_id_from对node_id_from_sign进行验签。
在验签成功的情况下,Node A可以确定该PrivateKeyRespMsg来自Node B,从而确定private_key已经成功分发至Node B。
步骤512,Node A通过区块链中继通信网络向Node B发送RelayableMsg消息。
由于private_key已经成功分发至Node B,因而Node A在向Node B发送区块链消息时可以采用该private_key进行加密。例如,当Node A希望发送区块链消息raw_data时,可以采用private_key加密生成相应的加密后区块链消息enc_raw_data,然后据此生成RelayableMsg消息。例如,RelayableMsg消息可以包含下述字段:
struct RelayableMsg{
Bytes node_id_from;//发送该消息的节点ID
Bytes node_id_to;//接收该消息的节点ID
Bytes encrypted_raw_data;//使用对称密钥对区块链消息进行加密后的密文数据
}
其中,node_id_from字段用于填写Node B的节点ID,node_id_to字段用于填写Node A的节点ID。encrypted_raw_data字段用于填写加密后区块链消息enc_raw_data。
Node A首先将RelayableMsg发送至自身所连接的中继节点a,并由中继节点a基于路由策略直接或间接将RelayableMsg发送至中继节点b,进而由中继节点b将RelayableMsg发送至Node B。由于enc_raw_data始终处于密文状态,且基于前文可知,中继节点a、中继节点b和区块链中继通信网络中的其他中继节点都无法获得解密密钥private_key,因而无法对enc_raw_data解密得到明文的区块链消息raw_data。
步骤513,Node B对RelayableMsg中的enc_raw_data进行解密。
Node B在接收到RelayableMsg后,根据node_id_from字段中提取的节点ID,确定出自身维护的相关联的对称密钥private_key,进而通过该private_key对enc_raw_data进行解密,以获得明文的区块链消息raw_data。
综上所述,通过本说明书的技术方案,区块链节点之间在通过区块链中继通信网络进行数据传输的情况下,可以安全地实现密钥分发,不必担心区块链中继通信网络获得分发的对称密钥,使得区块链节点可以进而基于该对称密钥安全地实现端到端的加密通信。
图6是一示例性实施例提供的一种面向区块链中继通信网络的密钥安全分发系统的示意图。如图6所示,该系统可以包括:源区块链节点601和目标区块链节点602;其中:
所述源区块链节点601与所述目标区块链节点602通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点601获取协商生成的动态公钥、所述目标区块链节点602维护协商生成的动态私钥;
所述源区块链节点601通过区块链中继通信网络向目标区块链节点602发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点601的链上节点身份私钥为所述密钥密文生成的数字签名;
所述目标区块链节点602在接收到所述密钥分发消息后,根据所述源区块链节点601的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点601。
如前所述,源区块链节点601与目标区块链节点602通过区块链中继通信网络进行动态密钥协商,包括:
所述源区块链节点601通过所述区块链中继通信网络向所述目标区块链节点602发送密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点601支持的非对称加密算法列表;
所述目标区块链节点602接收到所述密钥协商请求消息后,从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥,以及通过所述区块链中继通信网络向所述源区块链节点601返回密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名;
所述源区块链节点601接收到所述密钥协商响应消息后,根据所述目标区块链节点602的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
如前所述,所述目标区块链节点602可以在将所述对称密钥关联至所述源区块链节点601后,通过所述区块链中继通信网络向所述源区块链节点601返回确认消息,所述确认消息中包含由所述目标区块链节点602的链上节点身份私钥生成的数字签名;所述源区块链节点601可以根据所述目标区块链节点602的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点602。
如前所述,所述源区块链节点601和所述目标区块链节点602中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
如前所述,所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
如前所述,所述密钥分发消息中可以包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
如前所述,所述接收方节点指示信息可以包括:
所述目标区块链节点602的节点标识;或者,
所述目标区块链节点602所属区块链节点集合的集合标识。
如前所述,所述密钥分发消息中可以包含当前密钥版本;所述目标区块链节点602将解密得到的对称密钥关联至所述源区块链节点601,包括:
在仅允许针对所述源区块链节点601维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点601对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点601,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点601维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点601,并通过所述当前密钥版本标记所述对称密钥。如前所述,所述源区块链节点601可以通过所述区块链中继通信网络向所述目标区块链节点602发送加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成;所述目标区块链节点602根据关联至所述源区块链节点601的对称密钥对所述加密后区块链消息进行解密。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,面向区块链中继通信网络的密钥安全分发装置可以应用于如图7所示的设备中,譬如该设备可以为源区块链节点,以实现本说明书的技术方案。其中,该面向区块链中继通信网络的密钥安全分发装置可以包括:
密钥协商单元801,用于与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护;
消息获取单元802,用于获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息发送单元803,用于通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
可选的,密钥协商单元801具体用于:
通过所述区块链中继通信网络向所述目标区块链节点发送密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表,使所述目标区块链节点:接收到所述密钥协商请求消息后,从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
接收所述目标区块链节点通过所述区块链中继通信网络返回的密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名;
根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
可选的,还包括:
消息接收单元804,接收所述目标区块链节点通过所述区块链中继通信网络返回的确认消息,所述确认消息由所述目标区块链节点在将所述对称密钥关联至所述源区块链节点后返回,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名;
结果确认单元805,根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
可选的,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
可选的,
所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
可选的,所述密钥分发消息中包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
可选的,所述接收方节点指示信息包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
可选的,所述密钥分发消息中包含当前密钥版本,以使所述目标区块链节点通过下述方式将解密得到的对称密钥关联至所述源区块链节点:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。可选的,所述消息发送单元803还用于:
通过所述区块链中继通信网络向所述目标区块链节点发送加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成,以使所述目标区块链节点根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
请参考图9,面向区块链中继通信网络的密钥安全分发装置可以应用于如图7所示的设备中,譬如该设备可以为目标区块链节点,以实现本说明书的技术方案。其中,该面向区块链中继通信网络的密钥安全分发装置可以包括:
密钥协商单元901,用于与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥;
消息接收单元902,用于接收源区块链节点通过区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息处理单元903,用于根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
可选的,密钥协商单元901具体用于:
接收所述源区块链节点通过所述区块链中继通信网络发送的密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表;
从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
通过所述区块链中继通信网络向所述源区块链节点返回密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名,使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
可选的,还包括:
消息返回单元904,在将所述对称密钥关联至所述源区块链节点后,通过所述区块链中继通信网络向所述源区块链节点返回确认消息,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名,以使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
可选的,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
可选的,
所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
可选的,所述密钥分发消息中包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
可选的,所述接收方节点指示信息包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
可选的,所述密钥分发消息中包含当前密钥版本;所述消息处理单元902具体用于:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。
可选的,
所述消息接收单元902还用于:接收所述源区块链节点通过所述区块链中继通信网络发送的加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成;
所述消息处理单元903还用于:根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (32)
1.一种面向区块链中继通信网络的密钥安全分发方法,包括:
源区块链节点与目标区块链节点通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点获取协商生成的动态公钥、所述目标区块链节点维护协商生成的动态私钥;
所述源区块链节点通过所述区块链中继通信网络向所述目标区块链节点发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
所述目标区块链节点接收到所述密钥分发消息后,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
2.根据权利要求1所述的方法,源区块链节点与目标区块链节点通过区块链中继通信网络进行动态密钥协商,包括:
所述源区块链节点通过所述区块链中继通信网络向所述目标区块链节点发送密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表;
所述目标区块链节点接收到所述密钥协商请求消息后,从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥,以及通过所述区块链中继通信网络向所述源区块链节点返回密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名;
所述源区块链节点接收到所述密钥协商响应消息后,根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
3.根据权利要求1所述的方法,还包括:
所述目标区块链节点在将所述对称密钥关联至所述源区块链节点后,通过所述区块链中继通信网络向所述源区块链节点返回确认消息,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名;
所述源区块链节点根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
4.根据权利要求1-3中任一项所述的方法,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
5.根据权利要求4所述的方法,
所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
6.根据权利要求1所述的方法,所述密钥分发消息中包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
7.根据权利要求6所述的方法,所述接收方节点指示信息包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
8.根据权利要求1所述的方法,所述密钥分发消息中包含当前密钥版本;所述目标区块链节点将解密得到的对称密钥关联至所述源区块链节点,包括:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。
9.根据权利要求1所述的方法,还包括:
所述源区块链节点通过所述区块链中继通信网络向所述目标区块链节点发送加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成;
所述目标区块链节点根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
10.一种面向区块链中继通信网络的密钥安全分发方法,应用于源区块链节点,所述方法包括:
与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护;
获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
11.根据权利要求10所述的方法,所述与目标区块链节点通过区块链中继通信网络进行动态密钥协商,包括:
通过所述区块链中继通信网络向所述目标区块链节点发送密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表,使所述目标区块链节点:接收到所述密钥协商请求消息后,从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
接收所述目标区块链节点通过所述区块链中继通信网络返回的密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名;
根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
12.根据权利要求10所述的方法,还包括:
接收所述目标区块链节点通过所述区块链中继通信网络返回的确认消息,所述确认消息由所述目标区块链节点在将所述对称密钥关联至所述源区块链节点后返回,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名;
根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
13.根据权利要求10-12中任一项所述的方法,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
14.根据权利要求13所述的方法,
所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
15.根据权利要求10所述的方法,所述密钥分发消息中包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
16.根据权利要求15所述的方法,所述接收方节点指示信息包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
17.根据权利要求10所述的方法,所述密钥分发消息中包含当前密钥版本,以使所述目标区块链节点通过下述方式将解密得到的对称密钥关联至所述源区块链节点:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。
18.根据权利要求10所述的方法,还包括:
通过所述区块链中继通信网络向所述目标区块链节点发送加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成,以使所述目标区块链节点根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
19.一种面向区块链中继通信网络的密钥安全分发方法,应用于目标区块链节点,所述方法包括:
与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥;
接收所述源区块链节点通过所述区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
20.根据权利要求19所述的方法,所述与源区块链节点通过区块链中继通信网络进行动态密钥协商,包括:
接收所述源区块链节点通过所述区块链中继通信网络发送的密钥协商请求消息,所述密钥协商请求消息中包含所述源区块链节点支持的非对称加密算法列表;
从所述非对称加密算法列表中选取自身支持的目标非对称加密算法,并基于所述目标非对称加密算法生成所述动态私钥和所述动态公钥;
通过所述区块链中继通信网络向所述源区块链节点返回密钥协商响应消息,所述密钥协商响应消息中包含所述目标非对称加密算法的名称、所述动态公钥和由自身的链上节点身份私钥为所述动态公钥生成的数字签名,使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述密钥协商响应消息中的数字签名进行验签,并在验签成功的情况下将所述密钥协商响应消息中包含的公钥确定为所述动态公钥,以及将所述目标非对称加密算法确定为对所述对称密钥进行加密以生成所述密钥密文的算法。
21.根据权利要求19所述的方法,还包括:
在将所述对称密钥关联至所述源区块链节点后,通过所述区块链中继通信网络向所述源区块链节点返回确认消息,所述确认消息中包含由所述目标区块链节点的链上节点身份私钥生成的数字签名,以使所述源区块链节点:根据所述目标区块链节点的链上节点身份公钥对所述确认消息中的数字签名进行验签,并在验签成功的情况下确定所述对称密钥已成功分发至所述目标区块链节点。
22.根据权利要求19-21中任一项所述的方法,所述源区块链节点和所述目标区块链节点中的任一方区块链节点对另一方区块链节点所发消息中的数字签名进行验签,包括:
所述任一方区块链节点根据所述另一方区块链节点的节点标识,从自身维护的区块链节点列表中获取所述另一方区块链节点对应的链上节点身份公钥;
所述任一方区块链节点根据获取的链上节点身份公钥对所述另一方区块链节点所发消息中的数字签名进行验签。
23.根据权利要求22所述的方法,
所述另一方区块链节点所发消息中包含发送方节点标识信息,所述另一方区块链节点的节点标识由所述任一方区块链节点从所述发送方节点标识信息中读取得到;或者,
所述另一方区块链节点所发消息被封装为中继消息后在所述区块链中继通信网络中进行传输,且所述中继消息中封装有所述另一方区块链节点的节点标识;其中,所述另一方区块链节点的节点标识由所述区块链中继通信网络从所述中继消息中解封后告知所述任一方区块链节点。
24.根据权利要求19所述的方法,所述密钥分发消息中包含接收方节点指示信息,以使所述区块链中继通信网络将所述密钥分发消息发送至所述接收方节点指示信息对应的区块链节点。
25.根据权利要求24所述的方法,所述接收方节点指示信息包括:
所述目标区块链节点的节点标识;或者,
所述目标区块链节点所属区块链节点集合的集合标识。
26.根据权利要求19所述的方法,所述密钥分发消息中包含当前密钥版本;所述将解密得到的对称密钥关联至所述源区块链节点,包括:
在仅允许针对所述源区块链节点维护唯一密钥的情况下,若所述当前密钥版本高于所述源区块链节点对应的历史最新密钥版本,则将所述对称密钥关联至所述源区块链节点,以替换所述历史最新密钥版本对应的历史密钥;
在允许针对所述源区块链节点维护多个密钥的情况下,直接将所述对称密钥关联至所述源区块链节点,并通过所述当前密钥版本标记所述对称密钥。
27.根据权利要求19所述的方法,还包括:
接收所述源区块链节点通过所述区块链中继通信网络发送的加密后区块链消息,所述加密后区块链消息由所述对称密钥进行加密生成;
根据关联至所述源区块链节点的对称密钥对所述加密后区块链消息进行解密。
28.一种面向区块链中继通信网络的密钥安全分发系统,包括:源区块链节点和目标区块链节点;其中:
所述源区块链节点与所述目标区块链节点通过区块链中继通信网络进行动态密钥协商,使所述源区块链节点获取协商生成的动态公钥、所述目标区块链节点维护协商生成的动态私钥;
所述源区块链节点通过区块链中继通信网络向目标区块链节点发送密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
所述目标区块链节点在接收到所述密钥分发消息后,根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
29.一种面向区块链中继通信网络的密钥安全分发装置,应用于源区块链节点,所述装置包括:
密钥协商单元,用于与目标区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态公钥,且协商生成的动态私钥由所述目标区块链节点维护;
消息获取单元,用于获取密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息发送单元,用于通过区块链中继通信网络向所述目标区块链节点发送所述密钥分发消息,使所述目标区块链节点接收到所述密钥分发消息后:根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
30.一种面向区块链中继通信网络的密钥安全分发装置,应用于目标区块链节点,所述装置包括:
密钥协商单元,用于与源区块链节点通过区块链中继通信网络进行动态密钥协商,以获取协商生成的动态私钥,并使所述源区块链节点获取协商生成的动态公钥;
消息接收单元,用于接收源区块链节点通过区块链中继通信网络发送的密钥分发消息,所述密钥分发消息中包含由所述动态公钥对待分发的对称密钥进行加密后的密钥密文,以及由所述源区块链节点的链上节点身份私钥为所述密钥密文生成的数字签名;
消息处理单元,用于根据所述源区块链节点的链上节点身份公钥对所述密钥分发消息中的数字签名进行验签,以及用所述动态私钥对所述密钥密文进行解密,并在验签成功的情况下将解密得到的对称密钥关联至所述源区块链节点。
31.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求10-27中任一项所述的方法。
32.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求10-27中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111306182.1A CN114142995B (zh) | 2021-11-05 | 2021-11-05 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111306182.1A CN114142995B (zh) | 2021-11-05 | 2021-11-05 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114142995A CN114142995A (zh) | 2022-03-04 |
CN114142995B true CN114142995B (zh) | 2023-08-22 |
Family
ID=80392227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111306182.1A Active CN114142995B (zh) | 2021-11-05 | 2021-11-05 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114142995B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174061A (zh) * | 2022-06-29 | 2022-10-11 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链中继通信网络系统的消息传输方法及装置 |
CN116388962A (zh) * | 2023-06-05 | 2023-07-04 | 敏于行(北京)科技有限公司 | 区块链网络节点间的通信方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108604983A (zh) * | 2015-02-14 | 2018-09-28 | 瓦利梅尔公司 | 通过域名服务对私钥的安全的委托分发 |
CN108989048A (zh) * | 2018-08-02 | 2018-12-11 | 中国联合网络通信集团有限公司 | 密钥分发方法、装置、设备及存储介质 |
CN109087100A (zh) * | 2018-08-02 | 2018-12-25 | 中国联合网络通信集团有限公司 | 密钥分发方法、装置、设备及存储介质 |
CN110581763A (zh) * | 2018-06-09 | 2019-12-17 | 成都零光量子科技有限公司 | 一种量子密钥服务区块链网络系统 |
CN110999255A (zh) * | 2019-03-29 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 使用高可用性的可信执行环境检索区块链网络的访问数据 |
WO2020098365A1 (zh) * | 2018-11-12 | 2020-05-22 | 阿里巴巴集团控股有限公司 | 基于区块链的业务数据加密方法及装置 |
CN111262692A (zh) * | 2020-01-08 | 2020-06-09 | 网络通信与安全紫金山实验室 | 基于区块链的密钥分发系统和方法 |
CN111586010A (zh) * | 2020-04-29 | 2020-08-25 | 中国联合网络通信集团有限公司 | 一种密钥分发方法及装置 |
WO2020215280A1 (en) * | 2019-04-25 | 2020-10-29 | Nokia Technologies Oy | Secure and private authentication and key agreement for device-to-device relay communication |
CN112953821A (zh) * | 2020-09-25 | 2021-06-11 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
WO2021197105A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的信息发布 |
CN113497709A (zh) * | 2020-04-02 | 2021-10-12 | 浪潮云信息技术股份公司 | 基于区块链的可信数据源管理方法、签名设备和验证设备 |
-
2021
- 2021-11-05 CN CN202111306182.1A patent/CN114142995B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108604983A (zh) * | 2015-02-14 | 2018-09-28 | 瓦利梅尔公司 | 通过域名服务对私钥的安全的委托分发 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN110581763A (zh) * | 2018-06-09 | 2019-12-17 | 成都零光量子科技有限公司 | 一种量子密钥服务区块链网络系统 |
CN108989048A (zh) * | 2018-08-02 | 2018-12-11 | 中国联合网络通信集团有限公司 | 密钥分发方法、装置、设备及存储介质 |
CN109087100A (zh) * | 2018-08-02 | 2018-12-25 | 中国联合网络通信集团有限公司 | 密钥分发方法、装置、设备及存储介质 |
WO2020098365A1 (zh) * | 2018-11-12 | 2020-05-22 | 阿里巴巴集团控股有限公司 | 基于区块链的业务数据加密方法及装置 |
CN110999255A (zh) * | 2019-03-29 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 使用高可用性的可信执行环境检索区块链网络的访问数据 |
WO2020215280A1 (en) * | 2019-04-25 | 2020-10-29 | Nokia Technologies Oy | Secure and private authentication and key agreement for device-to-device relay communication |
CN111262692A (zh) * | 2020-01-08 | 2020-06-09 | 网络通信与安全紫金山实验室 | 基于区块链的密钥分发系统和方法 |
WO2021197105A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的信息发布 |
CN113497709A (zh) * | 2020-04-02 | 2021-10-12 | 浪潮云信息技术股份公司 | 基于区块链的可信数据源管理方法、签名设备和验证设备 |
CN111586010A (zh) * | 2020-04-29 | 2020-08-25 | 中国联合网络通信集团有限公司 | 一种密钥分发方法及装置 |
CN112953821A (zh) * | 2020-09-25 | 2021-06-11 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114142995A (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9338150B2 (en) | Content-centric networking | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN111556025A (zh) | 基于加密、解密操作的数据传输方法、系统和计算机设备 | |
CN110971415A (zh) | 一种天地一体化空间信息网络匿名接入认证方法及系统 | |
CN106941404B (zh) | 密钥保护方法及装置 | |
CN111614621B (zh) | 物联网通信方法和系统 | |
CN112913189B (zh) | 一种ota升级方法及装置 | |
CN114142995B (zh) | 面向区块链中继通信网络的密钥安全分发方法及装置 | |
CN110690962B (zh) | 一种服务节点的应用方法与装置 | |
CN110740038B (zh) | 区块链及其通信方法、网关、通信系统和存储介质 | |
CN111080299B (zh) | 一种交易信息的防抵赖方法及客户端、服务器 | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
CN115174061A (zh) | 基于区块链中继通信网络系统的消息传输方法及装置 | |
WO2023078123A1 (zh) | 区块链中继通信网络的中立性验证 | |
CN110620776B (zh) | 一种数据转移信息传输方法及其装置 | |
CN114143038A (zh) | 面向区块链中继通信网络的密钥安全分发方法及装置 | |
CN111553686A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
EP4290804A1 (en) | Method and apparatus for realizing secure multicast in blockchain network | |
CN111836260A (zh) | 一种认证信息处理方法、终端和网络设备 | |
CN116055141A (zh) | 数据安全传输方法、系统、装置及存储介质 | |
CN110995730B (zh) | 数据传输方法、装置、代理服务器和代理服务器集群 | |
CN111431846B (zh) | 数据传输的方法、装置和系统 | |
CN116599772B (zh) | 一种数据处理方法及相关设备 | |
US11570008B2 (en) | Pseudonym credential configuration method and apparatus |
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 |