本发明涉及网络通信,特别涉及一种基于区块链的分布式ca实现方法。
背景技术:
1、数字证书是一种由权威机构颁发的、用于在网络上证明用户身份的证明文件,颁发数字证书的过程也可以称为认证授权(certificationauthority,简称ca)过程。
2、当前证书加密存储的方式安全性较低,联盟链体系里中心化ca的证书状态存在同步延迟,并且存在中心化节点故障以及跨网络验证造成的运行效率慢等问题。
3、公开号为cn106372941a的专利申请,公开了一种基于区块链的ca认证管理方法、装置及系统,至少能够解决现有的ca验证方式所导致的根ca证书的安全性难以保证,进而导致整个验证过程的准确性降低的技术问题。其中,区块链进一步包括创世区块以及常规区块,且创世区块用于存储根ca证书,所述方法包括:接收待认证节点在区块链网络中发送的包含未签名证书的申请证书交易;获取所述申请证书交易中包含的未签名证书,根据所述未签名证书生成已签名证书;在区块链网络中向所述待认证节点发送包含所述已签名证书的颁发证书交易。该方案虽然采用了区块链技术,但是只是利用区块链的存证能力,对证书的申请和签发作为两条签发记录保存在链上,而且缺少证书撤销部分的能力。
4、因此,在现有数字证书签发及撤销的基础上,如何采用区块链技术,实现对数字证书的签发、撤销及验证,成为本领域技术人员亟需解决的问题。
技术实现思路
1、鉴于上述问题,本发明提出了一种至少解决上述部分技术问题的基于区块链的分布式ca实现方法,将数字证书的签发和撤销流程放到区块链上,提升了证书加密存储的安全性。
2、本发明实施例提供一种基于区块链的分布式ca实现方法,包括:
3、通过同步节点将用户证书申请的交易信息广播到共识节点,利用根证书签发用户证书,实现对用户证书的申请及签发;
4、通过同步节点将用户证书撤销申请的交易信息广播到共识节点,利用根证书对原有证书撤销行为进行签名,实现对用户证书的撤销;
5、通过验证方根据数字签名验证用户证书的真伪,并发送至同步节点验证用户证书的状态,实现对用户证书的验证。
6、进一步地,通过同步节点将用户证书申请的交易信息广播到共识节点,利用根证书签发用户证书,实现对用户证书的申请及签发,包括如下步骤:
7、s11、将用户证书申请发送至同步节点;
8、s12、所述同步节点将所述用户证书申请的交易信息广播到任意共识节点;
9、s13、所述任意共识节点将所述用户证书申请的交易信息放到待打包交易池;
10、s14、利用根证书签发用户证书,并将所述用户证书加密保存在待打包区块链中;
11、s15、将所述用户证书申请的交易信息广播到其他共识节点,多个共识节点达成共识,将所述待打包区块链出块;
12、s16、所述共识节点将所述用户证书同步到所述同步节点,实现对用户证书的申请及签发。
13、进一步地,通过所述同步节点发起证书申请,并通过所述同步节点接收生成的用户证书。
14、进一步地,通过同步节点将用户证书撤销申请的交易信息广播到共识节点,利用根证书对原有证书撤销行为进行签名,实现对用户证书的撤销,包括如下步骤:
15、s21、将用户证书撤销申请发送至同步节点;
16、s22、所述同步节点将所述用户证书撤销申请的交易信息广播到任意共识节点;
17、s23、所述任意共识节点将所述用户证书撤销申请的交易信息放到待打包交易池;
18、s24、利用根证书对原有证书撤销行为进行签名,并将所述签名保存在待打包区块链中;
19、s25、将所述用户证书撤销申请的交易信息广播到其他共识节点,多个共识节点达成共识,将所述待打包区块链出块;
20、s26、所述共识节点将所述签名同步到所述同步节点,实现对用户证书的撤销。
21、进一步地,通过验证方根据数字签名验证用户证书的真伪,并发送至同步节点验证用户证书的状态,实现对用户证书的验证,包括如下步骤:
22、s31、对待验证的用户证书进行解密并提交至验证方进行验证;
23、s32、所述验证方根据数字签名验证所述用户证书的真伪,并发送至同步节点验证所述用户证书的状态;
24、s33、所述同步节点接收所述验证方发送的证书验证申请,获取已有证书列表,查验证书已撤销列表crl,得到证书状态验证结果;
25、s34、将所述证书状态验证结果返回至所述验证方;
26、s35、所述验证方根据返回的所述证书状态验证结果,生成所述用户证书的验证结果,实现对用户证书的验证。
27、进一步地,所述验证方根据数字签名验证所述用户证书的真伪,包括:
28、所述验证方查验所述用户证书是否由根证书签发;
29、所述验证方对所述用户证书的有效期进行验证。
30、本发明实施例提供的上述技术方案的有益效果至少包括:
31、本发明实施例提供的一种基于区块链的分布式ca实现方法,包括:通过同步节点将用户证书申请的交易信息广播到共识节点,利用根证书签发用户证书,实现对用户证书的申请及签发;通过同步节点将用户证书撤销申请的交易信息广播到共识节点,利用根证书对原有证书撤销行为进行签名,实现对用户证书的撤销;通过验证方根据数字签名验证用户证书的真伪,并发送至同步节点验证用户证书的状态,实现对用户证书的验证。将数字证书的签发和撤销流程放到区块链上,提升了证书加密存储的安全性。
32、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
33、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
1.一种基于区块链的分布式ca实现方法,其特征在于,包括:
2.如权利要求1所述的一种基于区块链的分布式ca实现方法,其特征在于,通过同步节点将用户证书申请的交易信息广播到共识节点,利用根证书签发用户证书,实现对用户证书的申请及签发,包括如下步骤:
3.如权利要求2所述的一种基于区块链的分布式ca实现方法,其特征在于,通过所述同步节点发起证书申请,并通过所述同步节点接收生成的用户证书。
4.如权利要求1所述的一种基于区块链的分布式ca实现方法,其特征在于,通过同步节点将用户证书撤销申请的交易信息广播到共识节点,利用根证书对原有证书撤销行为进行签名,实现对用户证书的撤销,包括如下步骤:
5.如权利要求1所述的一种基于区块链的分布式ca实现方法,其特征在于,通过验证方根据数字签名验证用户证书的真伪,并发送至同步节点验证用户证书的状态,实现对用户证书的验证,包括如下步骤:
6.如权利要求5所述的一种基于区块链的分布式ca实现方法,其特征在于,所述验证方根据数字签名验证所述用户证书的真伪,包括: