一种去中心化的节点证书管理方法及系统与流程

文档序号:23727587发布日期:2021-01-26 17:45阅读:78来源:国知局
一种去中心化的节点证书管理方法及系统与流程

[0001]
本发明涉及区块链技术领域,特别涉及一种去中心化的节点证书管理方法及系统。


背景技术:

[0002]
联盟链由多个节点构成,各个节点之间的信息交互时,需要通过对各自节点的身份证书进行校验,当校验通过后才可以进行信息交互。
[0003]
现有技术中,各个节点的身份证书通常是由第三方权威机构生成并手动绑定到节点上的,对于证书的管理也是依靠第三方权威机构来完成。证书的主要内容包括证书序列号、证书有效期、证书所有者的公钥等。
[0004]
然而,这种方式仍相当于是一种中心化服务器部署运维的管理方式,证书的安全取决于第三方权威机构的安全性,一旦该机构被恶意攻破或者该机构本身主观想要仿冒用户,很容易造成信息泄露或身份冒用等情况,信息安全性不高;此外,通常颁发的整数具有时效性,过期之后需要重新颁发新的证书,当联盟链对节点证书进行冻结、吊销等操作时,也需要重新颁发证书,这大量增加了操作难度以及运营成本。


技术实现要素:

[0005]
本申请提供了一种去中心化的节点证书管理方法及系统,以解决现有技术管理各节点证书时中心化信任较低、安全性较差、操作复杂的问题。
[0006]
第一方面,本申请提供了一种去中心化的节点证书管理方法,所述方法包括:发送节点将对第一节点执行第一证书操作的交易请求发送至联盟链中除发送节点外的其它节点;所述交易请求中包含第一节点的签名;其它节点校验所述交易请求;发送节点获取其它节点发送的反馈信息;发送节点根据所有其它节点发送的反馈信息,得到共识结果;若所述共识结果为共识成功,则发送节点执行对第一节点的第一证书操作,同时将共识结果发送至所有其它节点;所有其它节点根据所述共识结果执行交易。
[0007]
在一些实施例中,所述发送节点为第一节点,所述方法还包括:发送节点在本地生成执行第一证书操作的交易请求;对所述交易请求签名;其中,所述发送节点执行对第一节点的第一证书操作步骤包括:发送节点在本地执行第一证书操作。
[0008]
在一些实施例中,所述发送节点为联盟链中除第一节点外的其它节点;所述方法还包括:发送节点生成执行第一证书操作的交易请求;
发送节点生成签名请求发送至第一节点;所述签名请求包含所述交易请求;第一节点根据签名请求对所述交易请求进行签名,得到包含第一节点签名的交易请求;第一节点将包含第一节点签名的交易请求发送至发送节点;其中,所述发送节点执行对第一节点的第一证书操作步骤包括:发送节点向第一节点发送执行第一证书操作的控制指令;第一节点根据所述控制指令执行第一证书操作。
[0009]
在一些实施例中,所述发送节点根据所有其它节点发送的反馈信息,得到共识结果的步骤包括:统计所有其它节点发送的反馈信息中同意执行交易的节点的个数;若所述节点的个数大于或等于预设阈值,则得到共识成功的共识结果;若所述节点的个数小于预设阈值,则得到共识失败的共识结果。
[0010]
在一些实施例中,所述第一证书操作包括证书冻结、证书解冻、证书吊销、证书替换之中的一种。
[0011]
在一些实施例中,所述其它节点发送的反馈信息中包含节点状态信息;所述发送节点根据所有其它节点发送的反馈信息,得到共识结果的步骤包括:将所有其它节点中节点状态信息为非正常的节点作为非正常节点,所述发送节点根据剔除非正常节点后的其它节点发送的反馈信息,得到共识结果;所述非正常的节点状态信息包括证书冻结或证书吊销。
[0012]
第二方面,本申请还提供了一种应用第一方面所述方法的系统。
[0013]
本申请提供的方法具有下列有益效果:一、本申请的方案中,对于证书的管理过程是通过交易的方式上传到区块链数据中,能保证整个过程的记录数据完整性。
[0014]
二、本申请的方案中,通过集群共识算法,确保集群节点拥有统一的节点可信任性。
[0015]
三、本申请通过交易的方式形式共识记录在区块上完成对证书的各种操作,实现了去中心化的管理,提高运营效率,也降低了使用第三方权威机构的安全性隐患和复杂性。
附图说明
[0016]
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]
图1为本申请提供的一种去中心化的节点证书管理方法的流程图;图2为图1所示方法中步骤s400的分解步骤图;图3为图1所示方法在一种实施例下的流程图;图4为图1所示方法在另一种实施例下的流程图。
具体实施方式
[0018]
区块链具有去中心化、可追溯、防篡改、匿名性等特点,通过区块链技术,可以在一
定程度上实现数据的确权,进一步保证数据的安全性。本申请旨在提供一种区块链/联盟链中节点证书的管理方法,提高节点证书管理的安全性和灵活性,下面对本申请的方法进行详细说明:参见图1,为本申请提供的一种去中心化的节点证书管理方法的流程图;由图1可知,本申请提供的方法包括:s100:发送节点将对第一节点执行第一证书操作的交易请求发送至联盟链中除发送节点外的其它节点;所述交易请求中包含第一节点的签名;在本实施例中,位于联盟链中的任意一个节点均可作为发送节点执行s100步骤的操作,第一节点指的是想要对其执行操作的节点;第一证书操作可以包含多种操作,例如证书冻结、证书解冻、证书吊销、证书替换或其它,本实施例以证书冻结为例进行解释,应当认为,执行其它第一证书操作的方法步骤均与其相同或近似。例如,联盟链中设有a/b/c/d四个节点,则如果想要对a节点的证书请求冻结操作,则可由a/b/c/d四个节点中的任意一个节点执行步骤s100的操作,假设a作为发送节点,则b/c/d则作为其它节点。
[0019]
发送的交易请求包含第一节点的签名,证明该请求得到第一节点的许可,并且通过对签名的验证可以对请求的真实性进行判断,防止有节点恶意操作。
[0020]
s200:其它节点校验所述交易请求;校验交易请求,一是要校验发送者(发送节点)的身份、二是要校验被操作者(第一节点)的身份,所以交易请求中至少应包括标识上述两种身份的信息,其它节点在接收到交易请求后,提取请求中这些信息进行验证,例如发送者是否具备请求资格,被操作者是否处于可以被操作的状态等等,当对交易请求的校验通过后,才可执行后续步骤。若交易请求校验未通过,则可直接生成不接受该交易请求等反馈信息。
[0021]
s300:发送节点获取其它节点发送的反馈信息;其中,反馈信息中除了包含是否接收该交易请求的信息之外,还可以包括不接受的理由等,另外,反馈信息中还应包括发送该信息的节点的身份信息,用于提供其对应反馈信息的真实性验证依据、以及对校验过程的数据记录。
[0022]
s400:发送节点根据所有其它节点发送的反馈信息,得到共识结果;在本实施例中,步骤s400中得到的共识结果包含两种,即共识成功、共识失败,当联盟链中满足共识规则要求的数量的节点选择接收该交易请求时,即表明该交易被成功共识,并即将被所有节点执行,反之则表明没有成功共识,不会被所有节点执行。
[0023]
进一步的,共识规则可通过设置预设阈值(达到共识标准的节点数量)来实现,预设阈值可以是一个具体数值,例如100个节点构成的联盟链中,预设阈值为60表示当有60个节点同意该交易请求时,成功共识;预设阈值也可以是一个百分数,例如80%,即当所有节点中80%的节点同意该交易请求时才成功共识。相应的,以预设阈值为具体数值为例,如图2所示,步骤s400将分解为:s410:统计所有其它节点发送的反馈信息中同意执行交易的节点的个数;是否同意执行交易,是由其他节点经过校验交易请求后自行选择的,如果同意,则在反馈信息中包含有同意执行交易的信息,如不同意,则在反馈信息中包含有不同意执行交易的信息。
[0024]
s420:若所述节点的个数大于或等于预设阈值,则得到共识成功的共识结果;s430:若所述节点的个数小于预设阈值,则得到共识失败的共识结果。
[0025]
若所述共识结果为共识成功,则执行s500:发送节点执行对第一节点的第一证书操作,以执行的操作为冻结为例,此时就需要对第一节点的证书冻结。
[0026]
执行对第一节点冻结的同时,需要执行s600:将共识结果发送至所有其它节点;这里的所有其它节点指的是所有发送反馈信息的节点,包括同意执行交易与不同意执行交易的节点。
[0027]
s700:所有其它节点根据所述共识结果执行交易,保证联盟链上各个节点的信息数据同步。
[0028]
由上述技术方案可知,本申请提供了一种去中心化的节点证书管理方法,包括发送节点将对第一节点执行第一证书操作的交易请求发送至联盟链中除发送节点外的其它节点;其它节点校验所述交易请求;发送节点获取其它节点发送的反馈信息;发送节点根据所有其它节点发送的反馈信息,得到共识结果;若所述共识结果为共识成功,则发送节点执行对第一节点的第一证书操作,同时将共识结果发送至所有其它节点;所有其它节点根据所述共识结果执行交易。本申请通过区块链技术实现信任机制的证书管理,通过交易的方式形成共识记录在区块上完成对证书的各项操作(例如冻结、吊销等),实现去中心化的证书管理,提高运营效率,也降低了使用第三方权威机构的安全性隐患以及复杂性。
[0029]
进一步的,由于在本申请中,作为发送节点的节点可以是第一节点本身,即节点a发送对节点a证书的第一证书操作的交易请求,也可以是联盟链中其它任意节点,即节点b发送对节点a证书的第一证书操作的交易请求,因此,当发送节点为不同主体时,本申请的方法将会由两种实施例的演变:在第一种可行性实施例中,由图3所示,此时的所述发送节点为第一节点本身,所述方法还包括:s80:发送节点在本地生成执行第一证书操作的交易请求;s90:对所述交易请求签名;步骤s80和s90是生成交易请求的过程,由于发送节点是第一节点本身,因此交易请求以及签名均是本地生成。
[0030]
在此实施例中,步骤s500实际是由发送节点在本地直接执行第一证书操作(例如冻结)。
[0031]
本实施例中的其它步骤均与上述实施例相同,在此不再赘述。
[0032]
在第二中可行性实施例中,由图4所示,此时的所述发送节点为联盟链中除第一节点外的其它节点;所述方法还包括:s40:发送节点生成执行第一证书操作的交易请求;s50:发送节点生成签名请求发送至第一节点,请求第一节点对交易请求进行签名;所述签名请求包含所述交易请求;s60:第一节点根据签名请求对所述交易请求进行签名,得到包含第一节点签名的交易请求;s70:第一节点将包含第一节点签名的交易请求发送至发送节点,此时的交易请求作为即将在步骤s100中发送的交易请求。
[0033]
相应的,执行步骤s500时,步骤s500将分解为:s510:发送节点向第一节点发送执行第一证书操作的控制指令;
s520:第一节点根据所述控制指令执行第一证书操作。
[0034]
本实施例中的其它步骤均与上述实施例相同,在此不再赘述。
[0035]
当按照上述任意实施例执行完本申请提供的方法后,如第一证书操作为冻结或者吊销,则此时所有节点均共识了对第一节点a的冻结或吊销操作,则此时执行完证书冻结或吊销操作的节点a将不再能参加后续其它共识过程,待其冻结恢复或者重新获得证书后才可以及参加共识。也就是说,在得到共识结果时,需要考虑所有其它节点中是否存在被冻结的节点或者被吊销的节点,这些节点反馈的信息将不能作为共识结果的参考,因此,在上述任意一种实施例中,所述其它节点发送的反馈信息中包含节点状态信息;步骤s300还包括:将所有其它节点中节点状态信息为非正常的节点作为非正常节点,所述发送节点根据剔除非正常节点后的其它节点发送的反馈信息,得到共识结果;所述非正常的节点状态信息包括证书冻结或证书吊销。这样就避免了非正常节点对共识结果的影响,共识更加准确,可信性更高。
[0036]
需要说明的是,上述实施例中仅是以证书冻结为例进行的说明,对于证书吊销、证书替换、证书解冻均可以采用本实施例提供的方法。
[0037]
对应于上述方法,本申请还提供了一种应用上述方法的去中心化的节点证书管理系统,包括以一个发送节点和多个其它节点构成的联盟链,其中,所述发送节点被配置为将对第一节点执行第一证书操作的交易请求发送至联盟链中除发送节点外的其它节点;所述交易请求中包含第一节点的签名;获取其它节点发送的反馈信息;根据所有其它节点发送的反馈信息,得到共识结果;若所述共识结果为共识成功,则执行对第一节点的第一证书操作,同时将共识结果发送至所有其它节点;所述其它节点被配置为校验所述交易请求;还被配置为根据所述共识结果执行交易。
[0038]
进一步的,所述发送节点为第一节点,所述发送节点还被配置为:在本地生成执行第一证书操作的交易请求;对所述交易请求签名;其中,执行对第一节点的第一证书操作时,发送节点还被配置为在本地执行第一证书操作。
[0039]
进一步的,所述发送节点为联盟链中除第一节点外的其它节点;所述发送节点还被配置为:生成执行第一证书操作的交易请求;生成签名请求发送至第一节点;所述签名请求包含所述交易请求;第一节点被配置为:根据签名请求对所述交易请求进行签名,得到包含第一节点签名的交易请求;将包含第一节点签名的交易请求发送至发送节点;根据所述控制指令执行第一证书操作。
[0040]
其中,执行对第一节点的第一证书操作时,所述发送节点还配置为向第一节点发送执行第一证书操作的控制指令。
[0041]
进一步的,所述其它节点发送的反馈信息中包含节点状态信息;所述发送节点还配置为:将所有其它节点中节点状态信息为非正常的节点作为非正常节点,根据剔除非正常节点后的其它节点发送的反馈信息,得到共识结果;所述非正常的节点状态信息包括证书冻结或证书吊销。
[0042]
本申请系统的功能参见上述方法实施例中的说明,在此不再赘述。
[0043]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由本申请的权利要求指出。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1