本技术涉及区块链,尤其涉及一种基于区块链的证书管理方法、系统及相关装置。
背景技术:
1、公钥基础设施(public key infrastructure,pki)作为互联网安全基础设施,在多个方面为身份验证提供安全服务。pki包括证书授权中心(certificate authority,ca),ca是证书的签发机构,是pki的核心。通过ca来进行证书签发、证书更新、证书撤销等操作,并负责定期将过期证书发布到证书撤销列表(certificate revocation list,crl)中。ca为每个使用公开密钥的节点发放一个数字证书,该数字证书是不能伪造和篡改的。
2、区块链服务(blockchain as a service,baas)作为区块链统一接入服务来管理多条区块链,当有新的业务节点或用户需要加入区块链服务baas时,区块链服务baas作为根ca会给上述业务节点签发数字证书,由区块链服务baas来管理这些加入区块链服务baas的业务节点或用户的数字证书。
3、由于区块链服务baas对数字证书的管理不透明,对数字证书的操作没有记录,使得对数字证书不可追溯,无法保证数字证书的可靠性。
技术实现思路
1、本技术实施例提供了一种基于区块链的证书管理方法、系统及相关装置,可以通过区块链对数字证书的管理进行背书,便于对数字证书进行追溯,可以保证数字证书的可靠性。
2、第一方面,本技术实施例提供一种基于区块链的证书管理方法,该方法包括:通过区块链接收来自业务节点的第一请求信息,其中,所述区块链用于对数字证书的管理进行背书,所述区块链上包含提供区块链服务的子节点,所述业务节点为新加入所述区块链服务的节点,所述第一请求信息用于请求加入所述区块链服务所需要的数字证书;
3、根据门限群签名的方式为所述业务节点生成所述数字证书。
4、可以看出,在区块链服务层进行了区块链证书管理,接入区块链服务的业务节点的数字证书统一由区块链来进行证书管理,由区块链对数字证书的管理进行背书,记录到区块链上,从而可以保证对数字证书管理的合规统一。
5、在第一方面的一种可能的实现方式中,所述通过区块链接收来自业务节点的第一请求信息之前,还包括:通过所述区块链存储证书授权中心ca证书的私钥。
6、可以看出,区块链是去中心化存储ca证书的私钥,可以提高私钥的存储安全性。
7、在第一方面的一种可能的实现方式中,所述通过所述区块链存储证书授权中心ca证书的私钥,包括:
8、通过秘密共享的方式将所述ca证书的私钥分为多个子私钥;
9、将所述多个子私钥中的每个子私钥分别存储到所述区块链中不同的子节点中。
10、可以看出,通过秘密共享的方式可以将ca证书的私钥分片存储到各个子节点上,大于或等于t个参与者所持有的子私钥可以重构私钥,而少于t个参与者所持有的子私钥无法重构私钥并且无法获得私钥的任何信息,保证了私钥的可信存储。
11、在第一方面的一种可能的实现方式中,所述根据门限群签名的方式为所述业务节点生成所述数字证书,包括:
12、获取所述子节点的子签名,所述子签名为根据所述子私钥所确定的;
13、根据所述子节点的子签名生成门限群签名;
14、根据所述门限群签名为所述业务节点生成所述数字证书。
15、可以看出,门限群签名体制要求签名者不能由部分签名计算出签名私钥的任意合法子私钥,更不能由少于t个的子私钥计算出签名私钥,以防止签名合成者窃取成员子私钥和其他成员合谋实施欺骗性签名。
16、在第一方面的一种可能的实现方式中,所述方法还包括:
17、接收来自第一子节点的第二请求信息,其中,所述第二请求信息用于请求加入所述区块链;
18、根据所述第二请求信息基于所述区块链上的子节点的子私钥确定所述第一子节点的子私钥。
19、可以看出,区块链中存储的私钥可以进行动态可扩展的秘密共享,在子节点动态加入区块时可以保证区块链的正常可靠运行。
20、在第一方面的一种可能的实现方式中,所述根据所述第二请求信息基于所述区块链上的子节点的子私钥确定所述第一子节点的子私钥,包括:
21、根据所述第二请求信息确定所述区块链中的目标子节点;
22、获取所述目标子节点的共享子私钥,所述共享子私钥为所述目标子节点根据子私钥所确定的;
23、根据所述目标子节点的共享子私钥确定所述第一子节点的子私钥。
24、可以看出,存储在区块链中的私钥可以根据区块链上子节点的增加而进行动态扩展,保证了区块链中的任何子节点不会保存中间状态的ca证书的私钥,保证了私钥的可信存储。
25、在第一方面的一种可能的实现方式中,所述方法还包括:
26、在所述区块链中的任意一个子节点要退出所述区块链的情况下,更新所述区块链中其他子节点的子私钥。
27、可以看出,在区块链中的子节点动态退出时,可以通过调整门限阈值的方式来更新区块链中其他子节点的子私钥,保证可任何子节点不会保存中间状态的子私钥,保证了子私钥的可信存储。
28、在第一方面的一种可能的实现方式中,所述对数字证书的管理包括以下一种或多种:对数字证书的签发、对数字证书的撤销和对数字证书的冻结。
29、可以看出,区块链中的证书管理的相关操作(比如说签发、撤销、转移、注销和冻结,等)都会记录上链,全称公开透明,区块链上的子节点都可以查看详细信息,并且该记录不可篡改,不可否认,保证了证书管理的可靠性和可追溯。
30、第二方面,本技术实施例提供了一种基于区块链的证书管理系统,该证书管理系统可以包括管理节点,业务节点和区块链中的子节点,其中;
31、所述业务节点,用于向所述区块链中提供区块链服务的子节点发送第一请求信息,其中,其中,所述区块链用于对数字证书的管理进行背书,所述业务节点为新加入所述区块链服务的节点,所述第一请求信息用于请求加入所述区块链服务所需要的数字证书;
32、所述管理节点,用于通过区块链接收来自业务节点的第一请求信息,
33、所述管理节点,还用于根据门限群签名的方式为所述业务节点生成所述数字证书。
34、在第二方面的一种可能的实现方式中,所述管理节点,还用于通过所述区块链存储ca证书的私钥。
35、在第二方面的一种可能的实现方式中,所述管理节点,具体用于通过秘密共享的方式将所述ca证书的私钥分为多个子私钥;
36、所述管理节点,具体用于将所述多个子私钥中的每个子私钥分别存储到所述区块链中不同的子节点中。
37、在第二方面的一种可能的实现方式中,所述子节点,用于根据存储的所述子私钥确定子签名;
38、所述管理节点,具体用于根据所述子节点的子签名生成门限群签名;
39、所述管理节点,还具体用于根据所述门限群签名为所述业务节点生成所述数字证书。
40、在第二方面的一种可能的实现方式中,所述系统还包括第一子节点,
41、所述第一子节点,用于向所述管理节点发送第二请求信息,其中,所述第二请求信息用于请求加入所述区块链;
42、所述管理节点,具体用于基于所述区块链中的子节点的子私钥确定所述第一子节点的子私钥。
43、在第二方面的一种可能的实现方式中,所述管理节点,具体用于根据所述第二请求信息从所述区块链中的子节点中确定目标子节点;
44、所述目标子节点,用于根据存储在所述目标子节点中的子私钥计算共享子私钥;
45、所述目标子节点,还用于向所述第一子节点发送所述共享子私钥;
46、所述第一子节点,用于根据所述共享子私钥生成所述第一子节点的子私钥。
47、在第二方面的一种可能的实现方式中,所述管理节点还用于:在所述区块链中不同的子节点中的任意一个子节点要退出所述区块链的情况下,更新所述区块链中其他子节点的子私钥。
48、在第二方面的一种可能的实现方式中,对数字证书的管理包括以下一种或多种:对数字证书的签发、对数字证书的撤销和对数字证书的冻结。
49、第三方面,本技术实施例提供了一种计算装置,所述计算装置包括通信模块和处理模块,所述计算装置用于实现第一方面任一项所描述的方法。
50、在第三方面的一种可能的实现方式中,所述通信模块,用于通过区块链接收来自业务节点的第一请求信息,其中,所述区块链用于对数字证书的管理进行背书,所述区块链上包含提供区块链服务的子节点,所述业务节点为新加入所述区块链服务的节点,所述第一请求信息用于请求加入所述区块链服务所需要的数字证书;
51、所述处理模块,用于根据门限群签名的方式为所述业务节点生成所述数字证书。
52、在第三方面的一种可能的实现方式中,所述通信模块,还用于:
53、通过所述区块链存储证书授权中心ca证书的私钥。
54、在第三方面的一种可能的实现方式中,所述通信模块,具体用于:
55、通过秘密共享的方式将所述ca证书的私钥分为多个子私钥;
56、将所述多个子私钥中的每个子私钥分别存储到所述区块链中不同的子节点中。
57、在第三方面的一种可能的实现方式中,所述处理单元,具体用于:
58、获取所述子节点的子签名,所述子签名为根据所述子私钥所确定的;
59、根据所述子节点的子签名生成门限群签名;
60、根据所述门限群签名为所述业务节点生成所述数字证书。
61、在第三方面的一种可能的实现方式中,所述通信模块,还用于接收来自第一子节点的第二请求信息,其中,所述第二请求信息用于请求加入所述区块链;
62、所述处理模块,还用于根据所述第二请求信息基于所述区块链上的子节点的子私钥确定所述第一子节点的子私钥。
63、在第三方面的一种可能的实现方式中,所述处理模块,具体用于:
64、根据所述第二请求信息确定所述区块链中的目标子节点;
65、获取所述目标子节点的共享子私钥,所述共享子私钥为所述目标子节点根据子私钥所确定的;
66、根据所述目标子节点的共享子私钥确定所述第一子节点的子私钥。
67、在第三方面的一种可能的实现方式中,所述处理模块,还用于:
68、在所述区块链中的任意一个子节点要退出所述区块链的情况下,更新所述区块链中其他子节点的子私钥。
69、在第三方面的一种可能的实现方式中,对数字证书的管理包括以下一种或多种:对数字证书的签发、对数字证书的撤销和对数字证书的冻结。
70、第四方面,本技术实施例提供一种计算设备,该计算设备包括处理器和存储器;所述处理器用于执行存储器中存储的指令,以使得所述计算设备实现前述第一方面任一项所描述的方法。
71、可选的,所述计算设备还包括通信接口,所述通信接口用于接收和/或发送数据,和/或,所述通信接口用于为所述处理器提供输入和/或输出。
72、需要说明的是,上述实施例是以通过调用计算机指定来执行方法的处理器(或称通用处理器)为例进行说明。具体实施过程中,处理器还可以是专用处理器,此时计算机指令已经预先加载在处理器中。可选的,处理器还可以既包括专用处理器也包括通用处理器。
73、可选的,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可以被集成在一起。
74、第五方面,本技术实施例还提供一种计算设备集群,该计算设备集群包含至少一个计算设备,每个计算设备包括处理器和存储器;
75、所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行第一方面任一项所述的方法。
76、第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项所描述的方法。
77、第七方面,本技术提供了一种计算机程序产品,计算机程序产品包括计算机指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项所描述的方法。
78、可选的,该计算机程序产品可以为一个软件安装包或镜像包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
79、本技术第二至第七方面所提供的技术方案,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。