CN111404684A - 应用于区块链的密钥协商方法及装置 - Google Patents
应用于区块链的密钥协商方法及装置 Download PDFInfo
- Publication number
- CN111404684A CN111404684A CN202010289967.1A CN202010289967A CN111404684A CN 111404684 A CN111404684 A CN 111404684A CN 202010289967 A CN202010289967 A CN 202010289967A CN 111404684 A CN111404684 A CN 111404684A
- Authority
- CN
- China
- Prior art keywords
- target node
- key
- node group
- negotiation
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种应用于区块链的密钥协商方法及装置,响应于获取到在第一目标节点组接收到的密钥协商请求,确定第一目标节点;利用第一目标节点生成第一密钥对,并将第一密钥对发送至第二目标节点;确定参与目标交易的第二目标节点组,并通过第二目标节点组的第三目标节点生成第二密钥对,使得第二目标节点组的各个目标节点均存储有第二密钥对;确定参与目标交易的第三目标节点组,并计算得到第三目标节点的第四目标节点,使得第四目标节点生成第三密钥对;根据第一密钥对、第二密钥对和第三密钥对,生成第一协商密钥和第二协商密钥。在该发明中通过节点组为密钥协商的基本单元,改进了以节点为协商单元的效率低的问题。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种应用于区块链的密钥协商方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain)本质上是一个去中心的数据库,同时是一串使用密码学方法相关联产生的数据库,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。
ECDH(椭圆曲线迪菲-赫尔曼密钥交换,EllipticCurveDiffie–HellmankeyExchange)主要是用来在一个不安全的通道中建立起安全的共有加密资料,通常交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据数据传输中使用。
在ECDH中,如果在区块链中以节点作为密钥协商的单元,当节点数量过多时,需要保证所有节点在线参与协商,太多节点参与协商时间和流程会变得复杂;对节点在线稳定性要求相对比较高,而现实区块链网络很难保证每个节点实时在线,使得密钥协商效率较低。
发明内容
针对于上述问题,本发明提供一种应用于区块链的密钥协商方法及装置,实现了提高密钥协商效率。
为了实现上述目的,本发明提供了如下技术方案:
一种应用于区块链的密钥协商方法,所述方法包括:
响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点,所述第一目标节点组表征由至少一个联盟链节点组成的节点组,且所述第一目标节点组中的任意节点在业务投票共识时,能够代表所述第一目标节点组进行投票;
利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点,所述第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,使得所述第一目标节点组中的各个目标节点均存储有所述第一密钥对,所述密钥对包括公钥和私钥;
通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;
通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;
根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。
可选地,所述第一目标节点为所述第一目标节点组的编号最小的节点;所述第三目标节点为所述第二目标节点组的编号最小的节点。
可选地,若所述第一目标节点为所述第一目标节点组的编号最小的节点,所述方法还包括:
响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
可选地,所述方法还包括:
通过所述第一目标节点分别向所述第二目标节点组的第三目标节点和第五目标节点发送协商数据,使得所述第二目标节点组中的节点获得满足条件的第三目标节点,其中,所述第二目标节点组包括第三目标节点和第五目标节点,所述协商数据包括第一节点组信息、参与节点组信息、第一节点组的公钥、交易在区块链的标识符。
可选地,所述生成第一协商密钥,包括:
根据第一密钥对中的公钥和第二密钥对中的私钥,生成第一协商密钥,所述第一协商密钥表征第一目标节点组和第二目标节点组的协商密钥。
可选地,所述方法还包括:
通过所述第二目标节点向所述第三目标组的第四目标节点发送协商数据,所述协商数据包括第一目标节点组的信息、参与节点组信息、第一节点组的公钥、第二节点组的公钥、第一协商密钥和协商标识符;
利用所述第四目标节点检查是否存在与所述协商标识符相匹配的密钥对,如果否,利用所述第四目标节点生成第三密钥对。
可选地,所述生成第二协商密钥,包括:
根据第一密钥对中的公钥、第二密钥对中的公钥和第三密钥对中的私钥,生成第二协商密钥。
可选地,所述方法还包括:
将所述第二协商密钥发送至所述第一目标节点组的各个节点和所述第二目标节点组的各个节点,使得第一目标节点组、第二目标节点组和第三目标节点组协商到的密钥相等,控制与所述密钥协商请求对应的交易通过第一目标节点发布至区块链。
一种应用于区块链的密钥协商装置,所述装置包括:
第一确定单元,用于响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点,所述第一目标节点组表征由至少一个联盟链节点组成的节点组,且所述第一目标节点组中的任意节点在业务投票共识时,能够代表所述第一目标节点组进行投票;
第一发送单元,用于利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点,所述第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,使得所述第一目标节点组中的各个目标节点均存储有所述第一密钥对,所述密钥对包括公钥和私钥;
第二确定单元,用于通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;
第三确定单元,用于通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;
生成单元,用于根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。
可选地,所述装置还包括:
第二发送单元,用于响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
相较于现有技术,本发明提供了一种应用于区块链的密钥协商方法及装置,该方法包括响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点;利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点;通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。在该发明中通过节点组为密钥协商的基本单元,保证了同一个节点组下的节点有相同的密钥,改进了以节点为协商单元的效率低的问题,进而提升了密钥协商效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种应用于区块链的密钥协商方法的流程示意图;
图2为本发明实施例提供的一种联盟区块链节点部署架构图;
图3为本发明实施例提供的一种应用于区块链的密钥协商装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在本发明实施例中提供了一种应用于区块链的密钥协商方法,该方法可以改善在联盟链中以节点为密钥协商单元的弊端,提升以多个节点划分为一个节点组,节点组中按固定算法选择一个节点生成密钥并同步给对应的节点组的其他节点,减少因节点作为协商单元的复杂性,密钥协商成功后只要保证节点组下一个节点在线就能保证区块链的使用协商的密钥做交易。
参见图1,其示出了本发明实施例提供的一种应用于区块链的密钥协商方法的流程示意图,该方法可以包括以下步骤:
S101、响应于获取到第一目标节点组接收到的密钥协商请求,确定第一目标节点组的第一目标节点。
第一目标节点组表征由至少一个联盟链节点组成的节点组,且第一目标节点组中的任意节点在业务投票共识时,能够代表该第一目标节点组进行投票。
即在本发明实施例中是将联盟链中的节点进行划分,并将划分为一组的节点作为目标节点组。在该发明实施例中是由第一目标节点组中的节点接收到的密钥协商请求,也就是用户在第一目标节点组发起的密钥协商请求。为了便于分析,可以对节点组中的节点进行编号,并且可以通过符合某个条件的节点对密钥协商请求进行接收和预处理。例如,通过编号最小的节点来接收密钥协商请求,对应的若接收到密钥协商请求的节点不是该节点组中编号最小的节点,则该节点接收到密钥协商请求后,会将该密钥协商请求转发编号最小的节点(如第一目标节点)。即若所述第一目标节点为所述第一目标节点组的编号最小的节点,所述方法还包括:响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
也可以是通过其他条件来确定第一目标节点,如节点负载情况等。
S102、利用第一目标节点生成第一密钥对,并将第一密钥对发送至第一目标节点组的第二目标节点,使得第一目标节点组中的各个目标节点均存储有第一密钥对。
第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,该密钥对包括公钥和私钥。即在本发明实施例中的密钥对是通过ECC(EllipticCurves Cryptography,椭圆曲线加密)生成的。当第一目标节点得到第一密钥对后,会将该第一密钥对发送给与之对应的第一目标节点组中的各个节点,使得各个节点均存储有该第一密钥对。
S103、通过第一目标节点,确定参与目标交易的第二目标节点组,并通过第二目标节点组的第三目标节点生成第二密钥对,使得第二目标节点组的各个目标节点均存储第二密钥对。
第三目标节点也会生成ECC密钥对,并且会通过第一目标节点发送给第三目标节点的公钥和自己生成的ECC密钥对(第二密钥对)的私钥计算得到对应的密钥协商结果的公钥。
S104、通过第三目标节点,确定参与目标节点的第三目标节点组,并计算得到第三目标节点组的第四目标节点,使得第四目标节点生成第三密钥对。
在本申请实施例中由上一节点组确定对应的密钥对后,并由该节点组确定参与交易的下一节点组,然后通过下一节点组中的节点继续生成对应的密钥对。
S105、根据第一密钥对、第二密钥对和第三密钥对,生成第一协商密钥和第二协商密钥。
其中,在本发明实施例中联盟链的节点包括第一目标节点组、第二目标节点组和第三目标节点组。若对应的联盟链中包括更多的节点组,还可以根据上述方法,继续对各个节点组进行对应的密钥对的计算。第一协商密钥可以是分别针对第一目标节点组的密钥,和针对第二目标节点组的密钥。也可以是基于第一协商密钥继续计算得到第二协商密钥,而该第二协商密钥为该联盟区块链的节点的协商密钥。
对应的,在本发明的方法还包括:
通过所述第一目标节点分别向所述第二目标节点组的第三目标节点和第五目标节点发送协商数据,使得所述第二目标节点组中的节点获得满足条件的第三目标节点,其中,所述第二目标节点组包括第三目标节点和第五目标节点,所述协商数据包括第一节点组信息、参与节点组信息、第一节点组的公钥、交易在区块链的标识符。
在本发明实施例中通过协商数据来确定各个目标节点组中可以生成ECC密钥对的节点。
在本发明实施例中,生成第一协商密钥包括:
根据第一密钥对中的公钥和第二密钥对中的私钥,生成第一协商密钥,所述第一协商密钥表征第一目标节点组和第二目标节点组的协商密钥。
在本发明实施例中,所述方法还包括:
通过所述第二目标节点向所述第三目标组的第四目标节点发送协商数据,所述协商数据包括第一目标节点组的信息、参与节点组信息、第一节点组的公钥、第二节点组的公钥、第一协商密钥和协商标识符;
利用所述第四目标节点检查是否存在与所述协商标识符相匹配的密钥对,如果否,利用所述第四目标节点生成第三密钥对。
对应的,所述生成第二协商密钥,包括:
根据第一密钥对中的公钥、第二密钥对中的公钥和第三密钥对中的私钥,生成第二协商密钥。
相应的,所述方法还包括:
将所述第二协商密钥发送至所述第一目标节点组的各个节点和所述第二目标节点组的各个节点,使得第一目标节点组、第二目标节点组和第三目标节点组协商到的密钥相等,控制与所述密钥协商请求对应的交易通过第一目标节点发布至区块链。
为了便于对本发明的实施例进行说明,下面对本发明的一些符号信息进行说明。
Domain:联盟链节点中抽象的节点组,代表节点所属组,在业务投票共识时,的任意节点又能代表该组进行投票,简称D。
ECDH:基于ECC实现的密钥协商算法,其中,ECC为椭圆曲线密码算法。
A、B、C分别为EDCH流程实例用户,d表示ECC私钥,H表示ECC公钥;S表示密钥协商结果。
TxId表示一笔交易在区块链上唯一标识符。p为指定有限域大小的素数,a为椭圆曲线方程的系数和;b为椭圆曲线方程的系数和,G为生成子群的基点,n为子群顺序;h为子群的余子式。
下面以A、B、C为EDCH流程实例用户对本发明的密钥协商方法进行说明。
分别生成节点A、B、C对应的密钥信息,该密钥信息包括节点A、B、C对应的私钥和公钥。
首先,A、B、C需要使用同一条椭圆曲线参数,参数(p,a,b,G,n,h)相同。A、B、C各自生成公私钥,A生成私钥dA,公钥HA=dAG;B生成私钥dB,公钥HB=dBG;C生成私钥dC,公钥HC=dCG。
A,B,C交易对方公钥HA,HB,HC。
A计算Sa=dAHBHC;B计算Sb=dBHAHC;C计算Sc=dCHAHB;推导Sc=dCHAHB=dCdAGHB=dA(dCG)HB=dAHBHC=Sa,同理也Sc=Sb。
在该实施例中节点组Domain1中包含节点NodeA、NodeB;节点组Domain2中包含节点NodeC,NodeD;节点组Domain3中包含节点NodeE,Domain1参与生成ECC节点为NodeA(NodeA为Domain1中编号最小的节点);Domain2参与生成ECC节点为NodeC(NodeC为Domain2中编号最小的节点);Domain3参与生成ECC节点为NodeE。参见图2,其示出了本发明实施例提供的一种联盟区块链节点部署架构图。
用户在Domain1下发起密钥协商请求(要求请求参与方的节点组有D1,D2,D3),该请求可能会到节点NodeA或NodeB,收到协商交易的节点计算自己是否是当前Domain下编号最小的节点fn=minNode(NodeA,NodeB)。
当计算所得当前第一目标节点组下最小节点为NodeA,NodeA节点生成一对ECC密钥对(私钥,公钥),NodeA节点本地存储,NodeA将生成ECC公私钥对对发送给D1下的NodeB,同步参数还包括(协商发起D1,ECC公私钥对,参与D1,D2,D3),此时Domain1下的节点都拥有相同的ECC公私钥对。
对应的,如果节点NodeB收到交易即密钥协商请求,并且计算最小节点Node名称为NodeA,则会将请求转发给NodeA,再由NodeA计算得到ECC密钥对。
然后,NodeA计算下一个参与方Domain,fn=minDomain((D1,D2,D3),D1)计算出下一个参与方为D2。
基于NodeA分别向Domain2下的NodeC,NodeD发送协商数据(协商发起机构D1,参与方D1,D2,D3,D1生成公钥D1_H,协商txId);NodeC,NodeD收到NodeA或NodeB发送的数据时,会计算当前节点是否是D2下编号最小的节点fn=minNode(NodeB,NodeC)计算D2下编号最小的节点为NodeC,NodeC和NodeD收到D1机构下任意节点发送的ECC数据正确性验证后,协商交易TxId如果在当前节点已经存在则忽略。
当前节点为NodeC时,生成一对新ECC,并同步给NodeD(保证同一个Domain下所有节点都有ECC公私钥对的副本);并且NodeD会收到NodeC同步ECC。
NodeC,NodeE使用NodeC生成的ECC公私钥对开始计算SD1D2=HD1dD2(D1下的公钥和D2下生成的私钥)。NodeC计算下一个Domain的参与方,fn=minDomain((D1,D2,D3),D2)计算下一个参与方为D3,NodeC向D3下的节点NodeE发送协商数据(协商发起机构D1,参与方D1,D2,D3,公钥HD1,公钥HD2,SD1D2,协商txId)。
NodeE接收到NodeC发送的协商交易,NodeE检查本地是否存在该协商交易TxId的ECC公私钥对,如果存在则直接忽略;反之计算D3下的最小编号节点fn=minNode(NodeE),D3下只有节点NodeE,所以由NodeE生成ECC并不需要再同步给其他节点。
通过Sc=dCHAHB=dCdAGHB=dA(dCG)HB=dAHBHC=Sa,计算SD3D2D1=SD1D2HD3=HD1HD2dD3。
节点NodeE已经协商出秘钥SD1D2D3,NodeE广播到所有参与方Domain下的所有节点(NodeA,NodeB,NodeC,NodeE),广播数据(协商发起机构D1,参与方D1,D2,D3,公钥HD1,公钥HD2,公钥HD3,HD1dD3,HD2dD3,协商txId)。
NodeA,NodeB收到NodeE广播的数据,NodeA,NodeB分别计算协商秘钥SD1D3D2=HD2dD3HD1=dD1HD2HD3,,由此NodeA和NodeB持有了相同的秘钥;
NodeC,NodeD收到NodeE广播的数据,NodeC,NodeC分别计算协商秘钥SD2D3D1=HD2dD3HD1=dD1HD2HD3,由此NodeC和NodeD持有了相同的秘钥;
基于三个Domain协商出的秘钥相等,SD2D3D1=SD1D3D1=SD3D2D1;
基于三个Domain已协商出相等的秘钥,由D1下的NodeA节点发起交易上链。
即本发明实施例的密钥协商过程包括:
S201、用户在Domain1发起密钥协商请求;
S202、Domain1中的NodeA参与生成ECC密钥对(dD1,HD1),并同步给NodeB;
S203、NodeA计算下一个Domain参与方NodeC、NodeD,并将ECC密钥对(dD2,HD1)发送给NodeC、NodeD。
S204、NodeC生成ECC同步给NodeD,使用NodeA发送给ECC公钥和自己生成的ECC私钥计算SHD1的D2;
S205、NodeC计算下一个Domain参与方NodeE并经HD1、HD2、SHD1dD2;
S206、NodeE生成ECC密钥对(dD3,HD3),计算SHD1dD2D3为协商密钥;
S207、NodeE广播HD1、HD2、HD3到节点NodeA,NodeB,NodeC,NodeD;
S208、NodeC、NodeD计算SdD2HD1HD3为Domain2的协商密钥;
S209、NodeA、NodeB计算SdD1HD1HD2为Domain1的协商密钥,密钥协商完成上链。
在本发明实施例中通过以节点组Domain为密钥协商的基本单位,改进以节点为基本单位效率;通过Domain为密钥协商的基本单位,保证了同一个Domain表的节点持有相同的密钥,在使用密钥做交易时同一个Domain下只有一个节点即可做交易,提升了交易执行的稳定性。
参见图3,在本发明实施例中还提供了一种应用于区块链的密钥协商装置,该装置包括:
第一确定单元10,用于响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点,所述第一目标节点组表征由至少一个联盟链节点组成的节点组,且所述第一目标节点组中的任意节点在业务投票共识时,能够代表所述第一目标节点组进行投票;
第一发送单元20,用于利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点,所述第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,使得所述第一目标节点组中的各个目标节点均存储有所述第一密钥对,所述密钥对包括公钥和私钥;
第二确定单元30,用于通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;
第三确定单元40,用于通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;
生成单元50,用于根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。
在上述实施例的基础上,所述装置还包括:
第二发送单元,用于响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
在上述实施例的基础上,所述第一目标节点为所述第一目标节点组的编号最小的节点;所述第三目标节点为所述第二目标节点组的编号最小的节点。
在上述实施例的基础上,所述装置还包括:
第三发送单元,用于通过所述第一目标节点分别向所述第二目标节点组的第三目标节点和第五目标节点发送协商数据,使得所述第二目标节点组中的节点获得满足条件的第三目标节点,其中,所述第二目标节点组包括第三目标节点和第五目标节点,所述协商数据包括第一节点组信息、参与节点组信息、第一节点组的公钥、交易在区块链的标识符。
在上述实施例的基础上,所述生成单元包括:
第一生成子单元,用于根据第一密钥对中的公钥和第二密钥对中的私钥,生成第一协商密钥,所述第一协商密钥表征第一目标节点组和第二目标节点组的协商密钥。
在上述实施例的基础上,所述装置还包括:
第四发送单元,用于通过所述第二目标节点向所述第三目标组的第四目标节点发送协商数据,所述协商数据包括第一目标节点组的信息、参与节点组信息、第一节点组的公钥、第二节点组的公钥、第一协商密钥和协商标识符;
检查单元,用于利用所述第四目标节点检查是否存在与所述协商标识符相匹配的密钥对,如果否,利用所述第四目标节点生成第三密钥对。
在上述实施例的基础上,所述生成单元包括:
第二生成子单元,用于根据第一密钥对中的公钥、第二密钥对中的公钥和第三密钥对中的私钥,生成第二协商密钥。
在上述实施例的基础上,所述装置还包括:
第五发送单元,用于将所述第二协商密钥发送至所述第一目标节点组的各个节点和所述第二目标节点组的各个节点,使得第一目标节点组、第二目标节点组和第三目标节点组协商到的密钥相等,控制与所述密钥协商请求对应的交易通过第一目标节点发布至区块链。
本发明提供了一种应用于区块链的密钥协商装置,响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点;利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点;通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。在该发明中通过节点组为密钥协商的基本单元,保证了同一个节点组下的节点有相同的密钥,改进了以节点为协商单元的效率低的问题,进而提升了密钥协商效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种应用于区块链的密钥协商方法,其特征在于,所述方法包括:
响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点,所述第一目标节点组表征由至少一个联盟链节点组成的节点组,且所述第一目标节点组中的任意节点在业务投票共识时,能够代表所述第一目标节点组进行投票;
利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点,所述第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,使得所述第一目标节点组中的各个目标节点均存储有所述第一密钥对,所述密钥对包括公钥和私钥;
通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;
通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;
根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。
2.根据权利权利要求1所述的方法,其特征在于,所述第一目标节点为所述第一目标节点组的编号最小的节点;所述第三目标节点为所述第二目标节点组的编号最小的节点。
3.根据权利要求2所述的方法,其特征在于,若所述第一目标节点为所述第一目标节点组的编号最小的节点,所述方法还包括:
响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第一目标节点分别向所述第二目标节点组的第三目标节点和第五目标节点发送协商数据,使得所述第二目标节点组中的节点获得满足条件的第三目标节点,其中,所述第二目标节点组包括第三目标节点和第五目标节点,所述协商数据包括第一节点组信息、参与节点组信息、第一节点组的公钥、交易在区块链的标识符。
5.根据权利要求1所述的方法,其特征在于,所述生成第一协商密钥,包括:
根据第一密钥对中的公钥和第二密钥对中的私钥,生成第一协商密钥,所述第一协商密钥表征第一目标节点组和第二目标节点组的协商密钥。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第二目标节点向所述第三目标组的第四目标节点发送协商数据,所述协商数据包括第一目标节点组的信息、参与节点组信息、第一节点组的公钥、第二节点组的公钥、第一协商密钥和协商标识符;
利用所述第四目标节点检查是否存在与所述协商标识符相匹配的密钥对,如果否,利用所述第四目标节点生成第三密钥对。
7.根据权利要求6所述的方法,其特征在于,所述生成第二协商密钥,包括:
根据第一密钥对中的公钥、第二密钥对中的公钥和第三密钥对中的私钥,生成第二协商密钥。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将所述第二协商密钥发送至所述第一目标节点组的各个节点和所述第二目标节点组的各个节点,使得第一目标节点组、第二目标节点组和第三目标节点组协商到的密钥相等,控制与所述密钥协商请求对应的交易通过第一目标节点发布至区块链。
9.一种应用于区块链的密钥协商装置,其特征在于,所述装置包括:
第一确定单元,用于响应于获取到在第一目标节点组接收到的密钥协商请求,确定所述第一目标节点组的第一目标节点,所述第一目标节点组表征由至少一个联盟链节点组成的节点组,且所述第一目标节点组中的任意节点在业务投票共识时,能够代表所述第一目标节点组进行投票;
第一发送单元,用于利用所述第一目标节点生成第一密钥对,并将所述第一密钥对发送至所述第一目标节点组的第二目标节点,所述第一密钥对表征基于椭圆曲线密钥算法生成的密钥对,使得所述第一目标节点组中的各个目标节点均存储有所述第一密钥对,所述密钥对包括公钥和私钥;
第二确定单元,用于通过所述第一目标节点,确定参与目标交易的第二目标节点组,并通过所述第二目标节点组的第三目标节点生成第二密钥对,使得所述第二目标节点组的各个目标节点均存储有所述第二密钥对;
第三确定单元,用于通过所述第三目标节点,确定参与目标交易的第三目标节点组,并计算得到所述第三目标节点组的第四目标节点,使得所述第四目标节点生成第三密钥对;
生成单元,用于根据所述第一密钥对、所述第二密钥对和所述第三密钥对,生成第一协商密钥和第二协商密钥。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于响应于所述第一目标节点组的第二目标节点接收到密钥协商请求,将所述密钥协商请求发送给所述第一目标节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289967.1A CN111404684B (zh) | 2020-04-14 | 2020-04-14 | 应用于区块链的密钥协商方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289967.1A CN111404684B (zh) | 2020-04-14 | 2020-04-14 | 应用于区块链的密钥协商方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111404684A true CN111404684A (zh) | 2020-07-10 |
CN111404684B CN111404684B (zh) | 2023-02-21 |
Family
ID=71433131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010289967.1A Active CN111404684B (zh) | 2020-04-14 | 2020-04-14 | 应用于区块链的密钥协商方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404684B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171806A (zh) * | 2017-05-18 | 2017-09-15 | 北京航空航天大学 | 基于区块链的移动终端网络密钥协商方法 |
CN108199831A (zh) * | 2017-12-27 | 2018-06-22 | 苏州同济区块链研究院有限公司 | 区块链密钥协商方法、装置与系统 |
CN109831298A (zh) * | 2019-01-31 | 2019-05-31 | 阿里巴巴集团控股有限公司 | 区块链中安全更新密钥的方法及节点、存储介质 |
US20190349199A1 (en) * | 2018-05-10 | 2019-11-14 | Alibaba Group Holding Limited | Blockchain data processing methods, apparatuses, processing devices, and systems |
-
2020
- 2020-04-14 CN CN202010289967.1A patent/CN111404684B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171806A (zh) * | 2017-05-18 | 2017-09-15 | 北京航空航天大学 | 基于区块链的移动终端网络密钥协商方法 |
CN108199831A (zh) * | 2017-12-27 | 2018-06-22 | 苏州同济区块链研究院有限公司 | 区块链密钥协商方法、装置与系统 |
US20190349199A1 (en) * | 2018-05-10 | 2019-11-14 | Alibaba Group Holding Limited | Blockchain data processing methods, apparatuses, processing devices, and systems |
CN109831298A (zh) * | 2019-01-31 | 2019-05-31 | 阿里巴巴集团控股有限公司 | 区块链中安全更新密钥的方法及节点、存储介质 |
Non-Patent Citations (3)
Title |
---|
S. WANG等: "Blockchain-Enabled Smart Contracts: Architecture, Applications, and Future Trends", 《IEEE TRANSACTIONS ON SYSTEMS》 * |
唐春明等: "区块链系统下的多方密钥协商协议", 《信息网络安全》 * |
戴千一,徐开勇,郭松,蔡国明,周致成: "分布式网络环境下基于区块链的密钥管理方案", 《网络与信息安全学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111404684B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Constant-round authenticated group key exchange for dynamic groups | |
Ateniese et al. | New multiparty authentication services and key agreement protocols | |
US6002768A (en) | Distributed registration and key distribution system and method | |
US8942377B2 (en) | Trust discovery in a communications network | |
KR101070473B1 (ko) | 동적 그룹키 생성 방법 | |
Zhao et al. | Dynamic asymmetric group key agreement for ad hoc networks | |
CN113626781B (zh) | 一种基于可信组的区块链高效认证方法 | |
Li et al. | Conference key agreement from secret sharing | |
Zhao et al. | An efficient fault-tolerant group key agreement protocol | |
Zhu et al. | Efficient and robust key management for large mobile ad hoc networks | |
CN101815294B (zh) | P2p网络的接入认证方法、设备和系统 | |
Gupta et al. | Anonymous two factor authentication protocol for roaming service in global mobility network with security beyond traditional limit | |
Lee et al. | Secure key transfer protocol based on secret sharing for group communications | |
Yi | Identity-based fault-tolerant conference key agreement | |
Huang et al. | A conference key agreement protocol with fault-tolerant capability | |
Tseng | A communication-efficient and fault-tolerant conference-key agreement protocol with forward secrecy | |
D’Arco et al. | On unconditionally secure robust distributed key distribution centers | |
CN111404684B (zh) | 应用于区块链的密钥协商方法及装置 | |
Lin et al. | TUA: A novel compromise-resilient authentication architecture for wireless mesh networks | |
Lei et al. | Mobile services access and payment through reusable tickets | |
CN110971404B (zh) | 一种面向安全跨域通信的无证书群密钥协商方法 | |
Chien et al. | Improved ID-based security framework for ad hoc network | |
Bergadano et al. | Individual authentication in multiparty communications | |
JP2003318875A (ja) | グループ暗号通信方法、認証方法、計算機及びプログラム | |
Win et al. | Lightweight and secure certificateless multi-receiver encryption based on ECC |
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 |