CN109691013A - 区块链节点间通信方法、装置及存储介质、区块链系统 - Google Patents

区块链节点间通信方法、装置及存储介质、区块链系统 Download PDF

Info

Publication number
CN109691013A
CN109691013A CN201880002219.1A CN201880002219A CN109691013A CN 109691013 A CN109691013 A CN 109691013A CN 201880002219 A CN201880002219 A CN 201880002219A CN 109691013 A CN109691013 A CN 109691013A
Authority
CN
China
Prior art keywords
block chain
chain node
key
public key
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880002219.1A
Other languages
English (en)
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.)
District Chain Tong Network Co Ltd
Original Assignee
District Chain Tong Network Co Ltd
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 District Chain Tong Network Co Ltd filed Critical District Chain Tong Network Co Ltd
Publication of CN109691013A publication Critical patent/CN109691013A/zh
Pending legal-status Critical Current

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供一种区块链节点间通信方法、装置及存储介质、区块链系统,所述方法包括:第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥;第二区块链节点根据椭圆曲线加密算法生成第二公钥和第二私钥;第一区块链节点向第二区块链节点发送第一公钥,第二区块链节点根据第一公钥和第二私钥生成共享密码;第二区块链节点向第一区块链节点发送第二公钥,第一区块链节点根据第二公钥和第一私钥生成共享密码;第一区块链节点与第二区块链节点根据共享密码,通过Double Ratchet协议进行通信。上述方法为区块链网络中节点间端对端通信提供了前向安全属性的加密通信,保证了区块链网络用户的通信信息安全。

Description

区块链节点间通信方法、装置及存储介质、区块链系统
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种区块链节点间通信方法、装置及存储介质、区块链系统。
背景技术
区块链构建了一个去中心化的可信任的分布式网络。区块链系统中,所有区块链节点维护共享的数据库账本。在区块链系统中,数据库账本中所有的记录均可追溯,且记录不可更改。然而,区块链系统处于公开的网络坏境,所有的区块链节点均可查看账本的完整信息,系统用户的隐私容易泄露。此外,区块链系统中的网络通信为非加密型,区块链用户的交易数据在网络中明文传输,因此恶意攻击者可以随意拦截修改用户的交易数据。如比特币交易数据被篡改,导致生成不同的数据记录。
为了能够搭建更安全的区块链平台,需要对区块链节点间端对端通信进行加密。目前,使用端对端加密通信的区块链网络主要有ZenCash。ZenCash使用SSL/TLS协议来提供端对端通信的加密安全。然而,普通的SSL加密协议并不提供完美的前向安全属性,其主要提供身份认证的密钥交换,以及单一密钥的加密通信。因此,区块链节点间通信仍然没有解决系统用户通信过程中的信息安全问题。
发明内容
本申请提出一种区块链节点间通信方法、装置及存储介质、区块链系统,以对区块链节点之间通信进行加密,为系统用户提供更加安全的信息通信。
本申请的实施例根据第一方面,提供一种区块链节点间通信方法,所述方法包括:第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥;第二区块链节点根据所述椭圆曲线加密算法生成第二公钥和第二私钥;所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码;所述第二区块链节点向所述第一区块链节点发送所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码;所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。
本申请的实施例根据第二方面,还提供了一种区块链节点间通信装置,所述装置包括;第一生成模块,用于第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥;第二生成模块,用于第二区块链节点根据所述椭圆曲线加密算法生成第二公钥和第二私钥;第三生成模块,用于所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码;第四生成模块,用于所述第二区块链节点向所述第一区块链节点所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码;通信模块,用于所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。
本申请的实施例根据第三方面,还提供了一种存储介质,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述任一实施例所述的区块链节点间通信方法。
本申请的实施例根据第四方面,还提供了一种区块链系统,包括若干区块链节点;所述区块链节点间根据上述任一实施例所述的区块链节点间通信方法进行通信。
上述实施例提供的区块链节点间通信方法,第一区块链节点和第二区块链节点分别通过椭圆曲线加密算法生成对应的公钥和私钥。同时分别根据各自的私钥和另一通信区块链节点的公钥生成共享密码。第一区块链节点和第二区块链节点分别根据共享密码,通过Double Ratchet协议进行通信。因此,为区块链网络中节点间端对端通信提供了前向安全属性的加密通信,保证了区块链网络用户的通信信息安全。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个实施例的通信双方采用DH协议/算法进行通信的示意图;
图2为本申请一个实施例的一种区块链节点间通信方法的方法流程图;
图3为本申请一个实施例的Symmetric Ratchet协议中KDF单向函数生成消息密钥的流程示意图;
图4为本申请一个实施例的通信双方执行DH Ratche运算的流程示意图;
图5为本申请一个实施例的通信双方使用Double Ratchet通信时根据KDF单向函数生成消息密钥的流程示意图;
图6为本申请另一个实施例的一种区块链节点间通信方法的方法流程图;
图7为本申请又一个实施例的一种区块链节点间通信方法的方法流程图;
图8为本申请再一个实施例的一种区块链节点间通信方法的方法流程图;
图9为本申请一个实施例的一种区块链节点间通信方法使用场景示意图;
图10为本申请一个实施例的一种区块链节点间通信装置的结构示意图;
图11为本申请一个实施例的一种区块链系统的结构示意图;
图12为本申请一个实施例的服务器的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请提供一种区块链节点间通信方法,首先对本申请的研究背景进行如下的先导性说明。
前向安全性:用于在通信过程中产生会话密钥的长期密钥。也即是,通信过程中某个时间点的密钥泄露出去之后,不会造成之前通讯时使用的会话密钥的泄露,因此不会暴露之前的通信内容。
迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,DH协议/算法):利用该DH协议/算法进行通信的通信双方,在没有对方任何预先信息的条件下,通过不安全信道建立密钥,该密钥可在后续的通讯中作为对称密钥来加密通讯内容。因此可避免协商密钥带来的通讯消息的泄露。
通信双方采用DH协议/算法进行通信的方式如图1所示。假设通信双方Alice和Bob要确定一个消息密钥,DH协议/算法的原理可以用下面的公式来表示:
DH(A私钥,B公钥)=消息密钥S=DH(B私钥,A公钥)
DH协议算法需要2个参数:一个通信端的私钥以及与该通信端进行通信的另一通信端的公钥。对于相互通信的Alice和Bob而言,Alice或Bob只需获得对方的公钥,即可计算出的通信的消息密钥S。并且,Alice和Bob两通信端计算得到的消息密钥S相同。
X3DH协议/算法,在DH协议/算法的使用基础上增加第三方服务器的通信协议:X3DH协议/算法可以在通信双方之间建立共享密钥,同时根据对方公钥认证对方身份的合法性。X3DH协议/算法可提供前向安全和不可抵赖性。X3DH协议/算法可实现某一方在离线时,通信双方也可以进行密钥交换以建立共享密钥。
传统的前向安全的实时通信中,如Signal应用程序以及Whatsapp应用程序的通信方式,通常采用X3DH协议/算法进行加密通信。本申请提供的区块链节点间通信方法,在传统的加密通信协议的基础上,实现前向安全的区块链端对端加密通信。
在一实施例中,如图2所示,本申请提供的一种区块链节点间通信方法,包括以下步骤:
S100,第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥。
在本实施例中,第一区块链节点根据椭圆曲线加密算法生成一对公私钥,即第一公钥和第一私钥。在椭圆曲线加密算法中,根据椭圆曲线上的离散对数,计算成对的密码,即第一公钥和第一私钥。具体地,在椭圆曲线加密算法中,已知椭圆曲线E上的一基点G,以及另一点xG。xG点的值为x倍的G点的值。根据该已知条件即可求解x值。此时,xG为公钥,x值为私钥。由椭圆曲线性质可知,已知私钥求公钥很简单,而已知公钥求私钥几乎不可能。因此,保证了椭圆曲线密码的安全性。
在一实施例中,椭圆曲线加密算法为secp256k1椭圆曲线加密算法。secp256k1椭圆曲线加密算法为非对称椭圆曲线算法,根据该算法计算出的公钥为唯一的。因此,不会出现多个私钥对应同一公钥的情况。
S200,第二区块链节点根据所述椭圆曲线加密算法生成第二公钥和第二私钥。
在本实施例中,第二区块链节点根据椭圆曲线加密算法生成一对公私钥,即第二公钥和第二私钥。此处,第二区块链节点运用的椭圆曲线加密算法与第一区块链节点中的椭圆曲线加密算法为同一椭圆曲线加密算法,从而使得后续操作步骤中,第一区块链节点根据接收到的第二区块链节点发送的公钥与自身私钥生成的共享密码,第二区块链节点根据接收到的第一区块链节点发送的公钥与自身私钥生成的共享密码,两者生成的共享密码为同一密码值。
S300,所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码。
在本实施例中,区块链系统基于DH协议进行通信时,第一区块链节点向第二区块链节点发送第一公钥,以便于第二区块链节点根据所述第一公钥进行DH算法运算之后,生成对应的共享密码,并通过共享密码与所述第一区块链节点进行加密通信。此处,第二区块链节点根据第一区块链节点的第一公钥以及自身的第二私钥生成共享密码。
在一实施例中,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码,包括:所述第二区块链根据以下方式生成所述共享密码:
SK=PEB*EKA
其中,SK表示所述共享密码;PEB为所述第二私钥;EKA为所述第一公钥;*表示乘积。
所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码,包括:所述第一区块链根据以下方式生成所述共享密码:
SK=PEA*EKB
其中,SK表示所述共享密码;PEA为所述第一私钥;EKB为所述第二公钥;*表示乘积。
在该实施例中,第一区块链节点和第二区块链节点根据同一椭圆曲线加密算法分别生成公私钥对,同时在区块链节点生成共享密码时,利用与该区块链节点通信的另一区块链节点的公钥和该区块链节点的私钥生成共享密码。因此,互相通信的第一区块链节点和第二区块链节点生成的共享密码相同,以便根据共同的共享密码进行通信。
S400,所述第二区块链节点向所述第一区块链节点发送所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码。
在本实施例中,区块链系统基于DH协议/算法进行通信时,第二区块链节点向第一区块链节点发送第二公钥,以便于第一区块链节点根据所述第二公钥进行DH算法运算之后,生成对应的共享密码,并通过共享密码与所述第二区块链节点进行加密通信。此处,第一区块链节点根据第二区块链节点的第二公钥以及自身的第一私钥生成共享密码。
S500,所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。
在本实施例中,Double Ratchet协议结合了Symmetric Ratchet协议和DHRatchet协议的特点。第一区块链节点或第二区块链节点每当发送和接收一条消息时,结合Symmetric Ratchet协议分别获取发送消息链和接收消息链的共享密码。每当接收到的消息中包含新的公钥时,在解密该消息之前,区块链节点均执行一次DH Ratchet(Diffie-Hellman ratchet,迪菲-赫尔曼密钥交换协议的棘轮算法)运算,更新对应的消息链密钥。
Symmetric Ratchet协议:每条消息的发送和接收都使用相同的Message Key(消息密码)进行加密解密。其中,Message Key是sending chain(发送链)或receiving chain(接收链)的KDF(Key derivation function,密钥导出函数)中key输出,Message Key使用之后可以删除以保证前向安全,具体见图3所示。需要注意的是,Message Key在后续KDF单向函数生成新的消息密码时,不再作为输入。因此,Message Key可以存储而不影响后续其他消息密码的安全性。
DH Ratchet:执行DH协议时,通信双方,此处指区块链系统中进行通信的两个区块链节点,均生成一个椭圆曲线公私钥对Ratchet(PK,SK)。例如,Alice和Bob通信时,每条消息都附送当前节点的DH Ratchet输出的公钥。
一旦一方,如Alice接收到另一方Bob的消息中,Bob附加的公钥PK发生了变化,那么Alice就使用自身的私钥SK和Bob的公钥PK执行一一次DH Ratche运算,DH Ratche运算用于更新对应的Chain Key(Sending Chain或者Receiving Chain)。而Bob更新自身的公私密钥对,并将公钥发送给Alice之前,用新生成的私钥以及Alice当前的公钥执行一次DHRatchet运算。Alice和Bob按顺序来回更新自身的密钥对,并且向对方发送自身的公钥,执行DH Ratche运算过程,更新对应的链密码。
通信双方执行DH Ratche运算过程参见图4所示。首先由Bob向Alice发送自身的公钥,之后依次迭代更新DH Ratche的输出。
Double Ratchet通信过程结合了上述Symmetric Ratchet协议以及DH Ratchet算法。如图5所示,此处只展示Alice端的通信过程:
Alice端接收到Bob端的公钥更新消息,此处用虚线箭头表示。如图中B1和B3。Alice端的通信过程包含了Root Chain、Sending Chain和Receiving Chain的Ratchet(棘轮算法)过程。Alice在收到B1和B3时,因为均包含了Bob新的公钥,Alice先使用自身的私钥和Bob的公钥进行DH Ratchet运算,更新Receiving Chain的密钥,之后再使用SymmetricRatchet获取B1和B3的消息密钥对B1、B3消息进行解密。
在本实施例的一个实施方式中,步骤S400包括:所述第一区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第一加密密钥;所述第一区块链节点根据所述第一加密密钥,通过Double Ratchet协议与所述第二区块链节点通信;和/或,所述第二区块链节点根据所述共享密码,通过所述KDF单向函数生成节点间通信消息的第二加密密钥;所述第二区块链节点根据所述第二加密密钥,通过Double Ratchet协议与所述第一区块链节点通信。
此处所述的第一加密密钥为第一区块链节点发送消息或接收消息的消息密钥。所述的第二加密密钥为第二区块链节点发送消息或接收消息的消息密钥。区块链系统中的第一区块链节点与第二区块链节点,将获取到的共享密码作为KDF(Key derivationfunction,密钥导出函数)初始的RK输入(参见图5所示)。因此,可获得该区块链节点与另一区块链节点通信时的发送消息(Sending Chain)以及接收消息(Receiving Chain)的消息密钥,从而实现两个区块链节点之间的通信。
进一步地,所述第一区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第一加密密钥,包括:所述第一区块链节点根据所述第二公钥和所述第一私钥执行DH运算,得到第一DH值;将所述第一DH值和所述共享密码输入所述KDF单向函数,生成所述第一加密密钥。所述第二区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第二加密密钥,包括:所述第二区块链节点根据所述第一公钥和所述第二私钥执行DH运算,得到第二DH值;将所述第二DH值和所述共享密码输入所述KDF单向函数,生成所述第二加密密钥。
也即是,第一区块链节点将根据上述获得的共享密钥作为KDF单向函数的初始RK输入。同时,将第二公钥和第一私钥执行DH运算,得到的DH值作为另一输入。将两者输入到KDF单向函数中,即可得到加密密钥。此处的加密密钥为第一区块链节点的发送消息以及接收消息的消息密钥,同时还可得到下一次执行KDF单向函数的RK输入。具体参见图5所示。在后续第一区块链节点与第二区块链节点通信过程,第二公钥和第一私钥均为更新过的密钥。第一区块链节点将更新的第二公钥和第一私钥执行新的DH运算,得到新的DH值。此时,将新的DH值和上一次执行的KDF单向函数的输出作为本次KDF单向函数的两个输入,以输出本次第一区块链节点的发送消息以及接收消息的消息密钥。以此类推,即可得到每次第一区块链节点与第二区块链节点通信时的消息密钥。
第二区块链节点生成与第一区块链节点通信的消息密钥,即发送消息的消息密钥和接收消息的消息密钥,与上述第一区块链节点生成的消息密钥的方式相同,参考上述第一区块链节点生成的消息密钥的方式即可,此处不再详述。
上述实施例提供的区块链节点间通信方法,第一区块链节点和第二区块链节点分别通过椭圆曲线加密算法生成对应的公钥和私钥。同时分别根据各自的私钥和另一通信区块链节点的公钥生成共享密码。第一区块链节点和第二区块链节点分别根据共享密码,通过Double Ratchet协议进行通信。因此,为区块链网络中节点间端对端通信提供了前向安全属性的加密通信,保证了区块链网络用户的通信信息安全。
在一实施例中,如图6所示,所述区块链节点间通信方法还包括步骤:
S110,所述第一区块链节点根据所述椭圆曲线加密算法生成第一身份密钥,利用所述第一身份密钥对所述第一公钥进行签名。
S120,所述第一区块链节点向所述第二区块链节点发送所述第一身份密钥。
S130,所述第二区块链节点将所述第一身份密钥与所述第一区块链节点的地址进行绑定并存储,以作为所述第一区块链节点的身份识别标识。
在该实施例中,第一区块链节点在生成包含第一公钥和第一私钥的公私钥对时,根据该椭圆曲线加密算法生成第一身份密钥,并利用该第一身份密钥对第一公钥进行签名,以增强第一公钥的验证的安全性,避免其他区块链节点伪造所述第一公钥。
同时,第二区块链节点将第一区块链节点发送的第一身份密钥与第一区块链节点的地址进行绑定存储。当第二区块链节点调取第一区块链节点的地址时,可匹配出该节点的第一身份密钥。或者,当第一区块链节点向第二区块链节点发送消息时,第二区块链节点根据第一区块链节点的地址匹配出该节点的第一身份密钥。第一身份密钥可作为第一区块链节点的身份识别标识。
在一实施例中,如图7所示,所述区块链节点间通信方法还包括步骤:
S140,所述第二区块链节点根据所述椭圆曲线加密算法生成第二身份密钥,利用所述第二身份密钥对所述第二公钥进行签名。
S150,所述第二区块链节点向所述一区块链节点发送所述第二身份密钥。
S160,所述第一区块链节点将所述第二身份密钥与所述第二区块链节点的地址进行绑定并存储,以作为所述第二区块链节点的身份识别标识。
同理,在该实施例中,第二区块链节点在生成包含第二公钥和第二私钥的公私钥对时,根据该椭圆曲线加密算法生成第二身份密钥,并利用该第二身份密钥对第二公钥进行签名,以增强第二公钥的验证的安全性,避免其他区块链节点伪造所述第二公钥。
同时,第一区块链节点将第二区块链节点发送的第二身份密钥与第二区块链节点的地址进行绑定存储。当第一区块链节点调取第二区块链节点的地址时,可匹配出该节点的第二身份密钥。或者,当第二区块链节点向第一区块链节点发送消息时,第一区块链节点根据第二区块链节点的地址匹配出该节点的第二身份密钥。第二身份密钥可作为第二区块链节点的身份识别标识。
在一实施例中,如图8所示,所述区块链节点间通信方法还包括步骤:
S600,第一区块链节点定期更新所述第一公钥。
S700,第二区块链节点定期更新所述第二公钥。
在本实施例中,第一区块链节点和第二区块链节点进行一次通信之后,分别更新自身节点的公钥。当然,随着公钥的更新,对应的私钥也可相应更新。同时,第一区块链节点删除更新之前的所述第二公钥以及所述第一加密密钥。第二区块链节点删除更新之前的所述第一公钥以及所述第二加密密钥。因此,可保证通信的前向安全。
S800,所述第一区块链节点利用更新后的所述第二公钥生成所述第一加密密钥。
S900,所述第二区块链节点利用更新后的所述第一公钥生成所述第二加密密钥。
在本实施例中,第一区块链节点和第二区块链节点均利用更新后的本节点的私钥和与该节点通信的另一节点的公钥生成新的加密密钥,以根据新的加密密钥进行后续的消息通信。具体地,第一区块链节点每次与第二区块链节点进行通信时,采用当前的加密密钥进行消息发送或消息接收。当当前通信结束后,更新节点的公钥和私钥,同时第二区块链节点也更新当前节点的公钥和私钥。利用更新后的公钥和私钥,生成下一次通信的加密密钥。同理,第二区块链节点与第一区块链节点通信时,也采用上述方式生成新的加密密钥。下一次通信中,第一区块链节点和第二区块链节点采用新的加密密钥进行消息通信。
在本实施例的一个实施方式中,所述方法还包括:
所述第一区块链节点利用更新之前的第一身份密钥对更新后的所述第一公钥进行签名;和/或,所述第二区块链节点利用更新之前的第二身份密钥对更新后的所述第二公钥进行签名。
在该实施方式中,第一区块链节点或者第二区块链节点更新节点公钥时,采用更新之前的身份密钥对自身节点的公钥进行签名。
以下对本申请所述的区块链节点间通信方法的具体实施场景进行解释说明:
如图9所示,假设第一区块链节点为Alice,第二区块链节点为Bob,两个区块链节点的通信过程如下:
(1)Alice向Bob发起连接请求。Alice根据secp256k1椭圆曲线算法计算得到公私钥(EKA,PEA)。同时根据该secp256k1椭圆曲线算法生成身份密钥IKA。公钥EKA使用身份密钥IKA进行签名。Alice向Bob发送公钥EKA以及身份密钥IKA
(2)Bob接收到Alice的连接请求后,以及接收到身份密钥IKA和公钥EKA。将身份密钥IKA与Alice的IP地址作一个身份绑定,保存在本地,以作为后续通信时Alice默认的身份密钥。同时,Bob根据secp256k1椭圆曲线算法计算得到公私钥(EKB,PEB)。同时根据该secp256k1椭圆曲线算法生成身份密钥IKB,使用身份密钥IKB对EKB进行签名。此外,Bob计算共享密钥SK=PEB*EKA。之后,向Alice发送身份密钥IKB以及公钥EKB
(3)Alice接收到Bob的回复,以及Bob的身份密钥IKB和公钥EKB,将IKB与Bob的IP地址作一个身份绑定,保存在本地,以作为后续通信Bob默认的身份密钥。进一步计算共享密钥SK=PEA*EKB
(4)建立了共享密钥之后,Alice和Bob使用具有完美前向安全的Double Ratchet协议进行通信:定期使用更新的EKA,EKB进行密钥交换以更新Sending Chain和ReceivingChain。如10分钟,一个小时,1天等。如图9所示。每条消息的加密密钥Mk都通过SendingChain和Receiving Chain的KDF单向函数来生成,过程不可逆,如图5所示。Alice和Bob通信的每条消息中包括DH消息,均使用不同的密钥加密。
Alice和Bob通信过程,交换密钥的EKA,EKB和消息密钥Mk在每次通信结束之后,均需要删除以保证前向安全。此外,密钥EKA和密钥EKB更新后,新的身份密钥需要Mk加密后发送,同时附上上一个身份密钥的签名。
本申请还提供一种区块链节点间通信装置。如图10所示,所述装置包括第一生成模块101、第二生成模块103、第三生成模块105、第四生成模块107以及通信模块109。
第一生成模块101用于第一区块链节点根据第一椭圆曲线加密算法生成第一公钥和第一私钥。在本实施例中,第一区块链节点根据椭圆曲线加密算法生成一对公私钥,即第一公钥和第一私钥。在椭圆曲线加密算法中,根据椭圆曲线上的离散对数,计算成对的密码,即第一公钥和第一私钥。具体地,在椭圆曲线加密中,已知椭圆曲线E上的一基点G,以及另一点xG。xG点的值为x倍的G点的值。根据该已知条件即可求解x值。此时,xG为公钥,x值为私钥。由椭圆曲线性质可知,已知私钥求公钥很简单,而已知公钥求私钥几乎不可能。因此,保证了椭圆曲线密码的安全性。
在一实施例中,椭圆曲线加密算法为secp256k1椭圆曲线加密算法。secp256k1椭圆曲线加密算法为非对称椭圆曲线算法,根据该算法计算出的公钥为唯一的。因此,不会出现多个私钥对应同一公钥的情况。
第二生成模块103用于所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码。在本实施例中,第二区块链节点根据椭圆曲线加密算法生成一对公私钥,即第二公钥和第二私钥。此处,第二区块链节点运用的椭圆曲线加密算法与第一区块链节点中的椭圆曲线加密算法为同一椭圆曲线加密算法,从而使得后续操作步骤中,第一区块链节点根据接收到的第二区块链节点发送的公钥与自身私钥生成的共享密码,第二区块链节点根据接收到的第一区块链节点发送的公钥与自身私钥生成的共享密码,两者生成的共享密码为同一密码值。
第三生成模块105用于所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码。在本实施例中,区块链系统基于DH协议进行通信时,第一区块链节点向第二区块链节点发送第一公钥,以便于第二区块链节点根据所述第一公钥进行DH运算之后,生成对应的共享密码,并通过共享密码与所述第一区块链节点进行加密通信。此处,第二区块链节点根据第一区块链节点的第一公钥以及自身的第二私钥生成共享密码。
在一实施例中,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码,包括:所述第二区块链根据以下方式生成所述共享密码:
SK=PEB*EKA
其中,SK表示所述共享密码;PEB为所述第二私钥;EKA为所述第一公钥;*表示乘积。
所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码,包括:所述第一区块链根据以下方式生成所述共享密码:
SK=PEA*EKB
其中,SK表示所述共享密码;PEA为所述第一私钥;EKB为所述第二公钥;*表示乘积。
在该实施例中,第一区块链节点和第二区块链节点根据同一椭圆曲线加密算法分别生成公私钥对,同时在区块链节点生成共享密码时,利用与该区块链节点通信的另一区块链节点的公钥和该区块链节点的私钥生成共享密码。因此,互相通信的第一区块链节点和第二区块链节点生成的共享密码相同,以便根据共同的共享密码进行通信。
第四生成模块107用于所述第二区块链节点向所述第一区块链节点所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码。在本实施例中,区块链系统基于DH协议进行通信时,第二区块链节点向第一区块链节点发送第二公钥,以便于第一区块链节点根据所述第二公钥进行DH运算之后,生成对应的共享密码,并通过共享密码与所述第二区块链节点进行加密通信。此处,第一区块链节点根据第二区块链节点的第二公钥以及自身的第一私钥生成共享密码。
通信模块109用于所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。在本实施例中,Double Ratchet协议结合了Symmetric Ratchet协议和DH Ratchet协议的特点。第一区块链节点或第二区块链节点每当发送和接收一条消息时,结合Symmetric Ratchet协议分别获取发送消息链和接收消息链的共享密码。每当接收到的消息中包含新的公钥时,在解密该消息之前,区块链节点均执行一次DH Ratchet(Diffie-Hellman ratchet,迪菲-赫尔曼密钥交换协议的棘轮算法)运算,更新对应的消息链密钥。
在其他实施例中,本申请提供的区块链节点间通信装置中的各个模块还用于执行本申请所述的区块链节点间通信方法中,对应各个步骤执行的操作,在此不再做详细的说明。
本申请还提供一种存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的区块链节点间通信方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储介质包括但不限于这些类型的存储器。本申请所公开的存储器只作为例子而非作为限定。
本申请还提供一种区块链系统。如图11所示,该区块链系统11包括若干区块链节点。每个区块链节点间根据上述任一实施例所述的区块链节点间通信方法进行通信。在一实施例中,区块链节点为服务器节点。服务器通过“挖矿”成功以成为区块链系统中的区块链节点。
如图12所示,为本申请一实施例提供的服务器的结构示意图,包括处理器122、存储装置123等器件。本领域技术人员可以理解,图12示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置123可用于存储应用程序121以及各功能模块,处理器122运行存储在存储装置123的应用程序121,从而执行设备的各种功能应用以及数据处理。存储装置123可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储装置包括但不限于这些类型的存储装置。本申请所公开的存储装置123只作为例子而非作为限定。
处理器122是服务器的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置123内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种区块链节点间通信方法,其特征在于,所述方法包括:
第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥;
第二区块链节点根据所述椭圆曲线加密算法生成第二公钥和第二私钥;
所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码;
所述第二区块链节点向所述第一区块链节点发送所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码;
所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。
2.根据权利要求1所述的方法,其特征在于,所述椭圆曲线加密算法为secp256k1椭圆曲线加密算法。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一区块链节点根据所述椭圆曲线加密算法生成第一身份密钥,利用所述第一身份密钥对所述第一公钥进行签名;
所述第一区块链节点向所述第二区块链节点发送所述第一身份密钥;
所述第二区块链节点将所述第一身份密钥与所述第一区块链节点的地址进行绑定并存储,以作为所述第一区块链节点的身份识别标识。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二区块链节点根据所述椭圆曲线加密算法生成第二身份密钥,利用所述第二身份密钥对所述第二公钥进行签名;
所述第二区块链节点向所述一区块链节点发送所述第二身份密钥;
所述第一区块链节点将所述第二身份密钥与所述第二区块链节点的地址进行绑定并存储,以作为所述第二区块链节点的身份识别标识。
5.根据权利要求1所述的方法,其特征在于,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码,包括:所述第二区块链根据以下方式生成所述共享密码:
SK=PEB*EKA
其中,SK表示所述共享密码;PEB为所述第二私钥;EKA为所述第一公钥;*表示乘积;
所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码,包括:所述第一区块链根据以下方式生成所述共享密码:
SK=PEA*EKB
其中,SK表示所述共享密码;PEA为所述第一私钥;EKB为所述第二公钥;*表示乘积。
6.根据权利要求1所述的方法,其特征在于,所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信,包括:
所述第一区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第一加密密钥;所述第一区块链节点根据所述第一加密密钥,通过Double Ratchet协议与所述第二区块链节点通信;和/或,
所述第二区块链节点根据所述共享密码,通过所述KDF单向函数生成节点间通信消息的第二加密密钥;所述第二区块链节点根据所述第二加密密钥,通过Double Ratchet协议与所述第一区块链节点通信。
7.根据权利要求6所述的方法,其特征在于,所述第一区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第一加密密钥,包括:
所述第一区块链节点根据所述第二公钥和所述第一私钥执行DH运算,得到第一DH值;将所述第一DH值和所述共享密码输入所述KDF单向函数,生成所述第一加密密钥;
所述第二区块链节点根据所述共享密码,通过KDF单向函数生成节点间通信消息的第二加密密钥,包括:
所述第二区块链节点根据所述第一公钥和所述第二私钥执行DH运算,得到第二DH值;将所述第二DH值和所述共享密码输入所述KDF单向函数,生成所述第二加密密钥。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
第一区块链节点定期更新所述第一公钥;
第二区块链节点定期更新所述第二公钥;
所述第一区块链节点利用更新后的所述第二公钥生成所述第一加密密钥;
所述第二区块链节点利用更新后的所述第一公钥生成所述第二加密密钥。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述第一区块链节点利用更新之前的第一身份密钥对更新后的所述第一公钥进行签名;和/或,
所述第二区块链节点利用更新之前的第二身份密钥对更新后的所述第二公钥进行签名。
10.一种区块链节点间通信装置,其特征在于,所述装置包括;
第一生成模块,用于第一区块链节点根据椭圆曲线加密算法生成第一公钥和第一私钥;
第二生成模块,用于第二区块链节点根据所述椭圆曲线加密算法生成第二公钥和第二私钥;
第三生成模块,用于所述第一区块链节点向所述第二区块链节点发送所述第一公钥,所述第二区块链节点根据所述第一公钥和所述第二私钥生成共享密码;
第四生成模块,用于所述第二区块链节点向所述第一区块链节点所述第二公钥,所述第一区块链节点根据所述第二公钥和所述第一私钥生成所述共享密码;
通信模块,用于所述第一区块链节点与所述第二区块链节点根据所述共享密码,通过Double Ratchet协议进行通信。
11.一种存储介质,其特征在于,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述权利要求1至9中任一项所述的区块链节点间通信方法。
12.一种区块链系统,其特征在于,包括若干区块链节点;所述区块链节点间根据上述权利要求1至9中任一项所述的区块链节点间通信方法进行通信。
CN201880002219.1A 2018-08-16 2018-08-16 区块链节点间通信方法、装置及存储介质、区块链系统 Pending CN109691013A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/100851 WO2020034151A1 (zh) 2018-08-16 2018-08-16 区块链节点间通信方法、装置及存储介质、区块链系统

Publications (1)

Publication Number Publication Date
CN109691013A true CN109691013A (zh) 2019-04-26

Family

ID=66191849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880002219.1A Pending CN109691013A (zh) 2018-08-16 2018-08-16 区块链节点间通信方法、装置及存储介质、区块链系统

Country Status (2)

Country Link
CN (1) CN109691013A (zh)
WO (1) WO2020034151A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290108A (zh) * 2019-05-17 2019-09-27 深圳市网心科技有限公司 一种区块链网络中的数据处理方法、系统及相关设备
CN110677246A (zh) * 2019-10-08 2020-01-10 北京中电普华信息技术有限公司 一种基于区块链的密钥生成方法及装置
CN111294203A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 信息传输方法
CN111369237A (zh) * 2020-02-28 2020-07-03 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111415252A (zh) * 2020-01-23 2020-07-14 众安信息技术服务有限公司 一种基于区块链的隐私交易处理方法和装置
CN111865972A (zh) * 2020-07-17 2020-10-30 西安工业大学 一种匿名通信方法与系统
CN112073179A (zh) * 2020-07-21 2020-12-11 杜晓楠 区块链系统中更换节点会话密钥的方法、计算机可读介质和区块链系统
CN112468291A (zh) * 2020-11-02 2021-03-09 深圳依时货拉拉科技有限公司 一种同步敏感数据的方法、装置、系统、计算机设备及计算机可读存储介质
CN113037499A (zh) * 2021-03-15 2021-06-25 杭州链网科技有限公司 一种区块链加密通讯方法及系统
CN113794570A (zh) * 2021-09-14 2021-12-14 广州蚁比特区块链科技有限公司 一种基于零知识证明的私钥管理方法及系统
WO2022089518A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备
CN115914243A (zh) * 2021-08-17 2023-04-04 中移物联网有限公司 一种信息处理方法及装置、存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131591A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 对信息的密文进行压缩的加密方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
WO2018096539A1 (en) * 2016-11-23 2018-05-31 Logdog Information Security Ltd Controlling access to electronic messages and shared data
CN108366057A (zh) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 一种数据处理方法、客户端及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106685989A (zh) * 2017-02-07 2017-05-17 杭州秘猿科技有限公司 一种基于许可链支持监管的隐私通信方法
CN108199831A (zh) * 2017-12-27 2018-06-22 苏州同济区块链研究院有限公司 区块链密钥协商方法、装置与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018096539A1 (en) * 2016-11-23 2018-05-31 Logdog Information Security Ltd Controlling access to electronic messages and shared data
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
CN108366057A (zh) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 一种数据处理方法、客户端及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KATRIEL COHN-GORDON等: "A Formal Security Analysis of the Signal Messaging Protocol", 《2017 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P)》 *
MARLINSPIKE M: "The Double Ratchet Algorithm", 《OPEN WHISPER SYSTEMS》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290108A (zh) * 2019-05-17 2019-09-27 深圳市网心科技有限公司 一种区块链网络中的数据处理方法、系统及相关设备
CN110677246A (zh) * 2019-10-08 2020-01-10 北京中电普华信息技术有限公司 一种基于区块链的密钥生成方法及装置
WO2021068290A1 (zh) * 2019-10-08 2021-04-15 北京中电普华信息技术有限公司 基于区块链的密钥生成方法、相关装置及计算机存储介质
CN111294203A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 信息传输方法
CN111415252A (zh) * 2020-01-23 2020-07-14 众安信息技术服务有限公司 一种基于区块链的隐私交易处理方法和装置
CN111369237A (zh) * 2020-02-28 2020-07-03 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111369237B (zh) * 2020-02-28 2023-07-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111865972A (zh) * 2020-07-17 2020-10-30 西安工业大学 一种匿名通信方法与系统
CN112073179A (zh) * 2020-07-21 2020-12-11 杜晓楠 区块链系统中更换节点会话密钥的方法、计算机可读介质和区块链系统
CN112073179B (zh) * 2020-07-21 2024-05-17 杜晓楠 区块链系统中更换节点会话密钥的方法、计算机可读介质和区块链系统
WO2022089518A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备
CN114531224A (zh) * 2020-10-31 2022-05-24 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备
CN114531224B (zh) * 2020-10-31 2024-03-01 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备
CN112468291A (zh) * 2020-11-02 2021-03-09 深圳依时货拉拉科技有限公司 一种同步敏感数据的方法、装置、系统、计算机设备及计算机可读存储介质
CN113037499A (zh) * 2021-03-15 2021-06-25 杭州链网科技有限公司 一种区块链加密通讯方法及系统
CN113037499B (zh) * 2021-03-15 2024-01-05 杭州链网科技有限公司 一种区块链加密通讯方法及系统
CN115914243A (zh) * 2021-08-17 2023-04-04 中移物联网有限公司 一种信息处理方法及装置、存储介质
CN113794570A (zh) * 2021-09-14 2021-12-14 广州蚁比特区块链科技有限公司 一种基于零知识证明的私钥管理方法及系统
CN113794570B (zh) * 2021-09-14 2023-06-06 广州蚁比特区块链科技有限公司 一种基于零知识证明的私钥管理方法及系统

Also Published As

Publication number Publication date
WO2020034151A1 (zh) 2020-02-20

Similar Documents

Publication Publication Date Title
CN109691013A (zh) 区块链节点间通信方法、装置及存储介质、区块链系统
CN104023013B (zh) 数据传输方法、服务端和客户端
US11575660B2 (en) End-to-end encryption for personal communication nodes
JP7353375B2 (ja) エポック鍵交換を用いたエンドツーエンドの二重ラチェット暗号化
CN107104977B (zh) 一种基于sctp协议的区块链数据安全传输方法
CN110419193A (zh) 用于安全智能家居环境的基于ksi的认证和通信方法及其系统
CN107708112A (zh) 一种适用于mqtt‑sn协议的加密方法
CN113556237B (zh) 基于聚合多签的阈值签名方法、系统、装置及存储介质
CN108886468A (zh) 用于分发基于身份的密钥资料和证书的系统和方法
CN102724041B (zh) 一种基于隐写术的密钥传输与密钥更新方法
CN114008967A (zh) 经认证的基于晶格的密钥协商或密钥封装
ES2847751T3 (es) Infraestructura de clave pública y método de distribución
CN113037499B (zh) 一种区块链加密通讯方法及系统
CN110912686B (zh) 一种安全通道的密钥的协商方法及系统
CN112187450B (zh) 密钥管理通信的方法、装置、设备及存储介质
CN107395368A (zh) 无介质环境中的数字签名方法及解密封方法与解密方法
CN108306853A (zh) 一种支持区块链和iot无线通讯的智能数据采集器及加密通讯方法
CN111404950A (zh) 一种基于区块链网络的信息共享方法、装置和相关设备
CN110402560A (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
CN112039883A (zh) 一种区块链的数据分享方法及装置
CN110190956A (zh) 数据传输方法、装置、电子设备及机器可读存储介质
Chanal et al. Hybrid algorithm for data confidentiality in Internet of Things
CN102724197B (zh) 无线中继网络中的链路双向安全认证方法
US11088835B1 (en) Cryptographic module to generate cryptographic keys from cryptographic key parts
CN109889329A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190426