发明内容
本申请实施例提供一种数字证书管理方法、装置和系统,用以解决现有技术中当CA被黑或者CA作恶时,容易出现节点数字证书的权限被随意更改的问题。
本申请实施例提供一种数字证书管理方法,包括:
接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链;
确定所述区块链对所述数字证书进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第一交易请求。
可选的,所述确定所述区块链对所述数字证书进行共识校验的共识结果包括:
确定所述区块链中参与对所述数字证书进行共识校验的节点的校验结果;
确定参与共识校验的节点中第一节点的数量和/或第二节点的数量,所述第一节点为校验结果为通过共识校验的节点,所述第二节点为校验结果为未通过共识校验的节点;
根据所述第一节点的数量和/或第二节点的数量确定共识结果。
可选的,所述确定所述区块链中参与对所述数字证书进行共识校验的节点的校验结果包括:
确定节点在对所述数字证书进行共识校验后发布的公告,所述公告用于向其他节点广播所述交易请求和该节点的校验结果;
根据每个节点的公告确定参与共识校验的节点的校验结果。
可选的,所述根据所述第一节点的数量确定共识结果包括:
当所述第一节点的数量达到第一预定阈值,或者,所述第一节点在参与共识校验的节点中所占比重达到第二预定阈值时,确定所述数字证书通过共识校验。
可选的,所述根据所述共识结果响应或拒绝响应所述第一交易请求包括:
若所述共识结果为通过共识校验,则响应所述第一交易请求,将所述数字证书写入所述区块链;
若所述共识结果为未通过共识校验,则拒绝响应所述第一交易请求。
本申请实施例提供一种数字证书管理方法,包括:
接收证书授权中心CA发送的第二交易请求,所述第二交易请求用于请求将证书吊销列表写入区块链,所述证书吊销列表用于记录被吊销数字证书;
确定所述区块链对所述证书吊销列表进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第二交易请求。
可选的,还包括:
基于所述证书吊销列表对所述区块链中的第三交易请求进行校验,所述第三交易请求用于请求完成第一节点组和第二节点组之间的交易;
根据校验结果响应或拒绝响应所述第三交易请求。
可选的,所述基于所述证书吊销列表对所述区块链中的第三交易请求进行校验包括:
将所述第一节点组和所述第二节点组中节点的数字证书与所述证书吊销列表中记录的被吊销数字证书进行对比;
基于对比结果,结合所述交易的预设交易规则确定校验结果。
可选的,还包括:
接收所述CA发送的第四交易请求,所述第四交易请求用于请求将证书吊销列表的更新信息写入所述区块链;
确定所述区块链对所述更新信息进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第四交易请求。
本申请实施例提供一种数字证书管理方法,包括:
接收证书授权中心CA发送的第五交易请求,所述第五交易请求用于请求将所述CA吊销数字证书的记录写入区块链;
确定所述区块链对所述吊销数字证书的记录进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第五交易请求。
可选的,还包括:
基于写入区块链的吊销数字证书的记录构建证书吊销列表,所述证书吊销列表用于记录被吊销数字证书。
本申请实施例提供一种数字证书管理方法,包括:
接收区块链的节点发送的申请请求,所述申请请求用于请求证书授权中心CA为所述节点签发数字证书;
响应所述申请请求,为所述节点签发数字证书;
向所述区块链发送第六交易请求,所述第六交易请求用于请求将所述数字证书写入所述区块链,以使所述区块链对所述数字证书进行共识校验,并基于共识结果响应或拒绝响应所述第六交易请求。
本申请实施例提供一种数字证书管理装置,包括:
接收单元,用于接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链;
确定单元,用于确定所述区块链对所述数字证书进行共识校验的共识结果;
响应单元,用于根据所述共识结果响应或拒绝响应所述第一交易请求。
可选的,所述确定单元,用于确定所述区块链中参与对所述数字证书进行共识校验的节点的校验结果;确定参与共识校验的节点中第一节点的数量和/或第二节点的数量,所述第一节点为校验结果为通过共识校验的节点,所述第二节点为校验结果为未通过共识校验的节点;根据所述第一节点的数量和/或第二节点的数量确定共识结果。
本申请实施例提供一种数字证书管理装置,包括:存储器和处理器,其中:
存储器,用于存放程序;
处理器,用于执行所述存储器存放的程序,并具体执行:
接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链;
确定所述区块链对所述数字证书进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第一交易请求。
本申请实施例提供一种数字证书管理装置,包括:
接收单元,用于接收证书授权中心CA发送的第二交易请求,所述第二交易请求用于请求将证书吊销列表写入区块链,所述证书吊销列表用于记录被吊销数字证书;
确定单元,用于确定所述区块链对所述证书吊销列表进行共识校验的共识结果;
响应单元,用于根据所述共识结果响应或拒绝响应所述第二交易请求。
可选的,所述响应单元,还用于基于所述证书吊销列表对所述区块链中的第三交易请求进行校验,所述第三交易请求用于请求完成第一节点组和第二节点组之间的交易;根据校验结果响应或拒绝响应所述第三交易请求。
可选的,所述响应单元,还用于将所述第一节点组和所述第二节点组中节点的数字证书与所述证书吊销列表中记录的被吊销数字证书进行对比;基于对比结果,结合所述交易的预设交易规则确定校验结果。
本申请实施例提供一种数字证书管理装置,包括:
接收单元,用于接收证书授权中心CA发送的第五交易请求,所述第五交易请求用于请求将所述CA吊销数字证书的记录写入区块链;
确定单元,用于确定所述区块链对所述吊销数字证书的记录进行共识校验的共识结果;
响应单元,用于根据所述共识结果响应或拒绝响应所述第五交易请求。
可选的,所述响应单元,还用于基于写入区块链的吊销数字证书的记录构建证书吊销列表,所述证书吊销列表用于记录被吊销数字证书。
本申请实施例提供一种数字证书管理装置,包括:
接收单元,用于接收区块链的节点发送的申请请求,所述申请请求用于请求证书授权中心CA为所述节点签发数字证书;
响应单元,用于响应所述申请请求,为所述节点签发数字证书;
交易单元,用于向所述区块链发送第六交易请求,所述第六交易请求用于请求将所述数字证书写入所述区块链,以使所述区块链对所述数字证书进行共识校验,并基于共识结果响应或拒绝响应所述第六交易请求。
本申请实施例提供一种数字证书管理系统,包括:至少上述一种数字证书管理装置。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在CA签发数字证书之后以及数字证书上链之前,由区块链对数字证书进行共识校验,并基于校验结果判定数字证书的合法性,进而允许/不允许数字证书上链。与现有技术中使用中心化的CA签发证书并直接上链的方案相比,本申请实施例中去中心化的CA仅具有签发证书并请求将签发的数字证书写入区块链的作用,也就是说CA签发的数字证书在未上链之前并不具有合法性。因此,即便CA出现问题(例如:被黑等)而被恶意利用随意签发数字证书等,但由于签发的数字证书不具有合法性,因此,并不会对区块链造成安全影响。故,本申请实施例能有效避免在CA出现问题时,整个区块链需要承受巨大的安全风险的情况,提高区块链的安全性。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图2为本申请实施例提供的一种数字证书管理方法的流程示意图,参见图2,该方法具体包括如下步骤:
步骤22:接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链。
举例说明:结合图3,区块链中的节点2向CA申请数字证书,CA为节点2签发数字证书,并采用发起第一交易请求的方式请求将节点2的数字证书写入区块链中。
其中,数字证书可包括版本、序列号、签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥、CA数字签名、其它信息等等。
步骤24:确定所述区块链对所述数字证书进行共识校验的共识结果;
结合图3,区块链在接收到交易请求后,对节点2的数字证书进行共识检验。校验的标准可与数字证书中的信息相关,例如:有效期是否过期、序列号是否符合要求等等;也可以基于自定义标准进行校验,例如:在数字证书中添加自定义的字符串A,若节点检测出数字证书中存在字符串A,则校验通过;若不存在,则校验不通过。
步骤26:根据所述共识结果响应或拒绝响应所述第一交易请求。
不难理解的是,若所述共识结果为通过共识校验,则响应所述第一交易请求,即,认可数字证书的合法性,并允许数字证书写入区块链中。在申请证书的节点(例如图3中的节点2)发起交易时,可正常使用该节点的数字证书。若所述共识结果为未通过共识校验,则拒绝响应所述第一交易请求,即,认定CA签发的数字证书不合法,不允许数字证书上链。
可见,本申请实施例在CA签发数字证书之后以及数字证书上链之前,由区块链对数字证书进行共识校验,并基于校验结果判定数字证书的合法性,进而允许/不允许数字证书上链。与现有技术中使用中心化的CA签发证书并直接上链的方案相比,本申请实施例中去中心化的CA仅具有签发证书并请求将签发的数字证书写入区块链的作用,也就是说CA签发的数字证书在未上链之前并不具有合法性。因此,即便CA出现问题(例如:被黑等)而被恶意利用随意签发数字证书等,但由于签发的数字证书不具有合法性,因此,并不会对区块链造成安全影响。故,本申请实施例能有效避免在CA出现问题时,整个区块链需要承受巨大的安全风险的情况,提高区块链的安全性。
实施例2
本实施例与实施例1的不同之处在于,本实施例进一步对步骤24进行了限定,参见图4,步骤24的共识校验步骤具体包括:
步骤42:确定所述区块链中参与对所述数字证书进行共识校验的节点的校验结果;
举例说明:结合图4,在CA以第一交易请求的方式将签发给节点2的数字证书发送至区块链后,区块链中的节点对该数字证书进行校验。
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致,因此,需要预定一种共识机制对各个节点发生事务的先后顺序进行共识。
基于预定的共识机制,区块链中的节点先后对数字证书进行共识校验,每个节点在完成共识校验后广播公告,以告知其他节点本节点的校验结果和CA的交易请求。然后,基于每个节点广播的公告,确定参与共识校验的节点的校验结果。另外,在各个节点在校验数字证书时还可以在数字证书上签名,以完成多重签名和认证的目的。
其中,预定的共识机制可以为工作量证明机制、权益证明机制等。
步骤44:确定参与共识校验的节点中第一节点的数量和/或第二节点的数量,所述第一节点为校验结果为通过共识校验的节点,所述第二节点为校验结果为未通过共识校验的节点;
不难理解的是,基于参与共识校验的节点的校验结果,对参与共识校验的节点进行分类,统计出第一节点和第二节点的数量。
步骤46:根据所述第一节点的数量和/或第二节点的数量确定共识结果。
需要说明的是,确定共识的方式有多种,举例如下:
第一种:当第一节点的数量达到第一预定阈值时,则确定数字证书通过共识校验。
其中,第一预定阈值可以等于区块链中节点的总和,也可以小于区块链中节点的总和,具体视情况而定。若第一预定阈值等于节点的总和,则当第二节点的数量不等于0时,则确定数字证书未通过共识校验。
第二种:首先,设定参与共识校验的节点的数量,例如:600个,即区块链中率先完成共识校验的600个节点。然后实时确定第一节点的数量在600个节点中所占比重,当比重达到第二预定阈值时,则确定数字证书通过共识校验。
第三种:首先,设定共识校验的时间长度,例如:2s。然后统计2s内第一节点的数量和第二节点的数量,进而计算第一节点/第二节点所占比重,基于第一节点/第二节点的比重或者数量确定数字证书是否通过共识校验。
可见,本申请实施例基于节点在完成共识校验后广播的校验结果,确定每个节点的校验结果,进而确定达成的共识结果。由于此共识校验的过程由区块链上一半以上的节点、甚至全部节点参与完成。因此,除非大部分节点、甚至全部节点同时被黑,否则,共识结果不会被影响。由此,本申请实施例能进一步地提高区块链的安全性。
实施例3
图5为本申请实施例3提供的一种数字证书管理方法的流程示意图,参见图5,该方法具体包括如下步骤:
步骤52:接收证书授权中心CA发送的第二交易请求,所述第二交易请求用于请求将证书吊销列表写入区块链,所述证书吊销列表用于记录被吊销数字证书;
步骤54:确定所述区块链对所述证书吊销列表进行共识校验的共识结果;
需要说明的是,结合图6,在证书吊销列表上链之前,区块链需要对吊销列表进行共识校验,以避免CA发送的证书吊销列表为CA被黑后发送的、有误的证书吊销列表。其中,校验方式可参照实施例1中记载的相关内容。不难理解的是,对数字证书的校验标准和对证书吊销列表的校验标准可相同也可不相同。以自定义的校验方式为例,两者对应校验标准可以均为特定字符串A,也可以分别为特定字符串A和B,此处不做具体限定。
步骤56:根据所述共识结果响应或拒绝响应所述第二交易请求。
需要说明的是,共识校验通过后,区块链可以利用自身的对等网络及共识算法将证书吊销列表同步至区块链的各个节点中,即将证书吊销列表广播至各个节点上。然后节点可将证书吊销列表保存至本地账本。
然后,当区块链中发生第三交易请求时,可基于本地账本的证书吊销列表对所述区块链中的第三交易请求进行校验,以查看交易双方的数字证书的权限,所述第三交易请求用于请求完成第一节点组和第二节点组之间的交易;根据校验结果响应或拒绝响应所述第三交易请求。
其中,第一节点组和第二节点组中均包括至少一个节点,而且一个节点组为交易发起节点组,另一个节点组为交易接收节点组。
结合图6,以节点2为交易发起节点,节点1为交易接收节点举例说明如下几种校验方案:
第一种、当节点1接收到节点2发起的交易时,节点1对交易进行解析获取节点2的数字证书,然后从本地账本中提取证书吊销列表,并将节点2的数字证书分别与证书吊销列表中记录的被吊销数字证书进行对比,若节点2的数字证书属于证书吊销列表,则判定节点2的数字证书没有相关的交易权限,拒绝响应节点2发起的交易请求;若节点2的数字证书有相关的交易权限,则响应节点2发起的交易请求,以完成两者之间的交易,并将交易上链。
第二种、节点1接收节点2发起的交易并在对比获知节点2的数字证书通过检验后,响应该交易,以反馈交易数据。节点2对节点1的反馈的交易数据中携带的节点1的数字证书进行校验,若校验不通过,则拒绝交易;若校验通过则完成交易,并将交易上链。
另外,在发起交易之前,节点2与节点1可先进行“握手”,相互获取对方的数字证书,然后节点2和节点1分别从各自的本地账本提取证书吊销列表,对对方的数字证书进行校验,若均通过校验,则节点2发起交易。
不难理解的是,由于交易性质的不同,交易的交易规则也是不同的,因此,发起节点组和交易接收节点组与证书吊销列表之间数字证书的对比结果对应的校验也是多样行的,例如:第一种交易为交易发起方仅有A节点,交易接收方有多个节点,交易规则可以为交易双方节点的数字证书必须都有交易权限;也可以为只要A节点和交易接收方中的至少一个节点的数字证书具有交易权限,则交易部分通过,A节点可以与交易接收方中有交易权限的节点进行交易。
具体交易规则可视用户需求而定,此处不做限定。
其中,交易可包括资产转让信息,这些信息囊括卖家(转让人)和买家(接收人)的身份、交易资产或价值、交易时间以及(或者)潜在的合同条款。
本实施例中,被吊销证书可能发生变化,例如,增加了某个/某些数字证书,则CA会将增加的被吊销数字证书的相关信息等作为更新信息以第四交易请求的形式发布至区块链中,以请求将证书吊销列表的更新信息写入所述区块链。然后,区块链中的节点对更新信息进行共识校验的共识结果。然后,基于共识结果响应响应第四交易请求,以将更新信息写上链;或者,拒绝响应第四交易请求。
另外,校验过程请参考上述实施例记载的相关内容,此处不再赘述。
区块链上的节点将新增的被吊销数字证书添加至证书吊销列表中。
可见,本实施例通过将证书吊销列表发布至区块链中,以在节点接收到交易请求时,直接从本地账本中读取证书吊销列表并校验交易发起节点的数字证书是否为被吊销数字证书。与现有技术中节点向CA发送交易发起节点的数字证书,由CA基于存储的吊销列表校验该数字证书的权限,并将校验结果返回至节点的技术方案相比,本申请实施例无需远程请求CA的校验服务,能有效地降低校验数字证书的成本、提高交易效率。
而且,由于本申请实施例中证书吊销列表上链之前由区块链的节点对其进行共识校验并签名,以认证其合法性,避免出现CA被黑后发送的证书吊销列表是错误的。而且证书吊销列表存储在本地账本中,因此,即便CA被黑,也不会出现现有技术方案中CA被黑证书吊销列表被随意修改,而导致节点数字证书的权限被随意吊销,进而无法正常交易、甚至影响整个区块链安全的问题。
实施例4
图7为本申请实施例4提供的一种数字证书管理方法的流程示意图,参见图7,该方法包括:
72、接收证书授权中心CA发送的第五交易请求,所述第五交易请求用于请求将所述CA吊销数字证书的记录写入区块链;
74、确定所述区块链对所述吊销数字证书的记录进行共识校验的共识结果;
76、根据所述共识结果响应或拒绝响应所述第五交易请求。
若记录未通过共识校验,则拒绝响应第五交易请求;若记录通过共识检验,则响应第五交易请求,并基于写入区块链的吊销数字证书的记录构建证书吊销列表,所述证书吊销列表用于记录被吊销数字证书。
然后,后续写入区块链的记录作为更新数据更新证书吊销列表。
不难理解的是,记录写入区块链上后被广播至每个节点,因此,每个节点都有在本地账户构建证书吊销列表。
需要说明的是,本实施例与实施例3相似,因此,记录的校验方式、使用证书吊销列表验证交易参与节点的数字证书的权限等等,请参照实施例3中的相关记载。
可见,本实施例CA仅具有签发证书、吊销证书等的功能,构建证书吊销列表、存储及维护证书吊销列表等功能都是由区块链上的各个节点来完成。由此,在节点接收到交易请求时,节点可直接从本地账本中读取证书吊销列表并校验交易发起节点的数字证书是否为被吊销数字证书。与现有技术中节点向CA发送交易发起节点的数字证书,由CA基于存储的吊销列表校验该数字证书的权限,并将校验结果返回至节点的技术方案相比,本申请实施例无需远程请求CA的校验服务,能有效地降低校验数字证书的成本、提高交易效率。
实施例5
图8为本申请实施例5提供的一种数字证书管理方法的流程示意图,参见图8,本实施例的执行主题为CA,具体包括如下步骤:
82、接收区块链的节点发送的申请请求,所述申请请求用于请求证书授权中心CA为所述节点签发数字证书;
84、响应所述申请请求,为所述节点签发数字证书;
86、向所述区块链发送第六交易请求,所述第六交易请求用于请求将所述数字证书写入所述区块链,以使所述区块链对所述数字证书进行共识校验,并基于共识结果响应或拒绝响应所述第六交易请求。
结合图3,举例说明:节点2向CA发送申请证书的请求,请求中携带有节点2的相关信息,例如:节点2的标识等。然后CA对节点2的相关信息进行审核,若审核通过则为节点2签发数字证书,并发起将节点2的数字证书写入区块链的请求。
由于,本实施例与上述实施例相互对应,由此,部分步骤不再展开说明,具体请参照上述实施例的相应部分。
可见,本申请实施例在CA为节点签发数字证书之后,向区块链请求该数字证书上链,由区块链校验该数字证书的合法性并决定是否上链。与现有技术中CA为节点签发数字证书直接写入区块链以上链的方案相比,本申请实施例中的CA不具有中心化的证书管理、证书存储、证书上链的功能,仅具有签发数字证书的功能,因此,能降低CA被攻击的风险,提高CA的稳定性和安全性。
对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
实施例6
图9为本申请实施例6提供的一种数字证书管理装置的结构示意图,参加图9,该装置包括:接收单元91、确定单元92和响应单元93,其中:
接收单元91,用于接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链;
确定单元92,用于确定所述区块链对所述数字证书进行共识校验的共识结果;
响应单元93,用于根据所述共识结果响应或拒绝响应所述第一交易请求。
结合图3,举例说明:节点2向CA发出申请证书的请求,CA响应节点2的请求,为节点2签发数字证书,并将签发的数字证书以交易的形式请求上链。接收单元91接收CA发送的交易请求,并将其转发至确定单元92,由确定单元92确定区块链对该数字证书进行共识校验的共识结果,以确定数字证书的合法性。然后确定单元92将确定的共识结果发送至响应单元93,响应单元93分析共识结果,若分析获知共识结果为检验通过则响应CA的交易请求,则允许数字证书上链;若分析获知共识结果为校验未通过则拒绝响应CA的交易请求,则不允许数字证书上链。
本实施例中,确定单元92的共识校验原理包括:
确定所述区块链中参与对所述数字证书进行共识校验的节点的校验结果。较佳地,确定节点在对所述数字证书进行共识校验后发布的公告,所述公告用于向其他节点广播所述交易请求和该节点的校验结果;根据每个节点的公告确定所有参与共识校验的节点的校验结果。
确定所有参与共识校验的节点中第一节点的数量,所述第一节点为校验结果为通过共识校验的节点。
根据所述第一节点的数量确定共识结果。较佳地,当所述第一节点的数量达到第一预定阈值,或者,所述第一节点在所有参与共识校验的节点中所占比重达到第二预定阈值时,确定所述数字证书通过共识校验。
可见,本申请实施例在CA签发数字证书之后以及数字证书上链之前,由区块链对数字证书进行共识校验,并基于校验结果判定数字证书的合法性,进而允许/不允许数字证书上链。与现有技术中使用中心化的CA签发证书并直接上链的方案相比,本申请实施例中去中心化的CA仅具有签发证书并请求将签发的数字证书写入区块链的作用,也就是说CA签发的数字证书在未上链之前并不具有合法性。因此,即便CA出现问题(例如:被黑等)而被恶意利用随意签发数字证书等,但由于签发的数字证书不具有合法性,因此,并不会对区块链造成安全影响。故,本申请实施例能有效避免在CA出现问题时,整个区块链需要承受巨大的安全风险的情况,提高区块链的安全性。
实施例7
图10为本申请实施例7提供的一种电子设备的结构示意图,参见图10,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数字证书管理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
接收证书授权中心CA发送的第一交易请求,所述第一交易请求用于请求将所述CA为区块链的节点签发的数字证书写入所述区块链;
确定所述区块链对所述数字证书进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第一交易请求。
上述如本申请图2、4和图9所示实施例揭示的数字证书管理装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数字证书管理装置还可执行图2的方法,并实现管理者节点执行的方法。
实施例8
图11为本申请实施例8提供的一种数字证书管理装置的结构示意图,参见图11,该装置包括:接收单元111、确定单元112和响应单元113,其中:
接收单元111,用于接收证书授权中心CA发送的第二交易请求,所述第二交易请求用于请求将证书吊销列表写入区块链,所述证书吊销列表用于记录被吊销数字证书;
确定单元112,用于确定所述区块链对所述证书吊销列表进行共识校验的共识结果;
响应单元113,用于根据所述共识结果响应或拒绝响应所述第二交易请求。
需要说明的是,在对现有的区块链CA体系升级后,CA将当前维护的证书吊销列表发布至区块链,接收单元111在接收到证书吊销列表后,对证书吊销列表进行共识校验。由确定单元112确定出共识结果,并将共识结果发送至响应单元113,响应单元113若得知通过校验则允许上链,不通过则拒绝上链。
另外,上链可具体为存入各个节点的本地账户中。然后,当某个节点接收到第三交易请求时,响应单元113基于存储在本地账户的证书吊销列表校验第三交易请求,然后基于校验结果响应或拒绝响应所述第三交易请求。其中,所述第三交易请求用于请求完成第一节点组和第二节点组之间的交易。
本实施例中,响应单元113的工作原理如下:
将所述第一节点组和所述第二节点组中节点的数字证书与所述证书吊销列表中记录的被吊销数字证书进行对比;基于对比结果,结合所述交易的预设交易规则确定校验结果。
本实施例中,装置还包括更新单元,用于接收所述CA发送的第四交易请求,所述第四交易请求用于请求将证书吊销列表的更新信息写入所述区块链;确定所述区块链对所述更新信息进行共识校验的共识结果;根据所述共识结果响应或拒绝响应所述第四交易请求。
可见,本实施例中将证书吊销列表发布至区块链中,以在节点接收到交易发起节点发起的交易时,直接从本地账户读取证书吊销列表并校验交易发起节点的数字证书权限。而无需远程调用CA的校验服务,有效地降低校验成本、提高校验效率。而且,由于证书吊销列表是保存在本地账户中,即便CA被黑,也不会出现严重的后果。
实施例9
图12为本申请实施例9提供的一种电子设备的结构示意图,参见图12,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数字证书管理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
接收证书授权中心CA发送的第二交易请求,所述第二交易请求用于请求将证书吊销列表写入区块链,所述证书吊销列表用于记录被吊销数字证书;
确定所述区块链对所述证书吊销列表进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第二交易请求。
上述如本申请图5和图11所示实施例揭示的数字证书管理装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数字证书管理装置还可执行图5的方法,并实现管理者节点执行的方法。
实施例10
图13为本申请实施例10提供的一种数字证书管理装置的结构示意图,参见图13,该装置包括:接收单元131、确定单元132和响应单元133,其中:
接收单元131,用于接收证书授权中心CA发送的第五交易请求,所述第五交易请求用于请求将所述CA吊销数字证书的记录写入区块链;
确定单元132,用于确定所述区块链对所述吊销数字证书的记录进行共识校验的共识结果;
响应单元133,用于根据所述共识结果响应或拒绝响应所述第五交易请求.
需要说明的是,与实施例8的不同之处在于,本实施例比较适用于重新构建的CA体系。新建体系中,CA将第一笔吊销证书的记录请求发布至区块链,接收单元131在接收到CA的该请求后,转发至确定单元132。由确定单元132对该记录共识校验,并将共识结果发送至响应单元133,响应单元133若得知校验通过则允许上链,不通过则拒绝上链。
另外,不难理解的是,区块链上的各个节点基于第一笔吊销证书的记录在本地账本上构建出证书吊销列表,以存储被吊销数字证书的信息,例如编号等。然后,基于后续写入区块链的记录更新、维护各自的证书吊销列表。
需要说明的是,基于证书吊销列表验证区块链上参与交易的节点的数字证书权限等步骤与实施例8或者上述对应的方法实施例相似,故,此处不再赘述,具体请参见对应实施例的相关记载。
可见,本实施例中CA将吊销证书的记录发布至区块链中,以使节点构建证书吊销列表。然后,在节点接收到交易发起节点发起的交易时,直接从本地账户读取证书吊销列表并校验交易发起节点的数字证书权限。而无需远程调用CA的校验服务,有效地降低校验成本、提高校验效率。而且,由于证书吊销列表是保存在本地账户中,即便CA被黑,也不会出现严重的后果。
实施例11
图14为本申请实施例11提供的一种电子设备的结构示意图,参见图14,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数字证书管理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
接收证书授权中心CA发送的第五交易请求,所述第五交易请求用于请求将所述CA吊销数字证书的记录写入区块链;
确定所述区块链对所述吊销数字证书的记录进行共识校验的共识结果;
根据所述共识结果响应或拒绝响应所述第五交易请求。
上述如本申请图7和图13所示实施例揭示的数字证书管理装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数字证书管理装置还可执行图7的方法,并实现管理者节点执行的方法。
实施例12
图15为本申请实施例12提供的一种数字证书管理装置的结构示意图,参见图15,该装置包括:接收单元151、响应单元152和交易单元153,其中:
接收单元151,用于接收区块链的节点发送的申请请求,所述申请请求用于请求证书授权中心CA为所述节点签发数字证书;
响应单元152,用于响应所述申请请求,为所述节点签发数字证书;
交易单元153,用于向所述区块链发送第六交易请求,所述第六交易请求用于请求将所述数字证书写入所述区块链,以使所述区块链对所述数字证书进行共识校验,并基于共识结果响应或拒绝响应所述第六交易请求。
需要说明的是,接收单元151在接收到节点发送的申请数字证书的请求后,将请求发送至响应单元152,响应单元152响应该请求,并将签发的数字证书请求上链。
可见,本申请实施例在CA为节点签发数字证书之后,向区块链请求该数字证书上链,由区块链校验该数字证书的合法性并决定是否上链。与现有技术中CA为节点签发数字证书直接写入区块链以上链的方案相比,本申请实施例中的CA不具有中心化的证书管理、证书存储、证书上链的功能,仅具有签发数字证书的功能,因此,能降低CA被攻击的风险,提高CA的稳定性和安全性。
实施例13
图16为本申请实施例13提供的一种电子设备的结构示意图,参见图16,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数字证书管理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
接收区块链的节点发送的申请请求,所述申请请求用于请求证书授权中心CA为所述节点签发数字证书;
响应所述申请请求,为所述节点签发数字证书;
向所述区块链发送第六交易请求,所述第六交易请求用于请求将所述数字证书写入所述区块链,以使所述区块链对所述数字证书进行共识校验,并基于共识结果响应或拒绝响应所述第六交易请求。
上述如本申请图8和图15所示实施例揭示的数字证书管理装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数字证书管理装置还可执行图8的方法,并实现管理者节点执行的方法。
对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
实施例14
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行实施例1、3、4和5提供的数字证书管理方法。
实施例15
基于相同的发明创造,本申请实施例还提供了一种数字证书管理系统,包括:如图9、11、13和15对应实例提出的数字证书管理装置中的任意一个或多个。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。