一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数字证书处理方法、装置、电子设备及可读存储介质与流程

2022-04-30 10:38:37 来源:中国专利 TAG:


1.本发明属于网络技术领域,特别是涉及一种数字证书处理方法、装置、电子设备及可读存储介质。


背景技术:

2.目前,为了确保端与端之间的通信安全,一端需要从证书授权中心(certificate authority,ca)请求数字证书,从而在与另一端进行通信的情况下,通过数字证书进行身份验证、数据加密等操作。
3.在先技术中,在签发数字证书时,往往是由单一的ca中心生成数字签名,基于数字签名以及请求端的公钥,生成数字证书并下发给该端。这种方式中,在ca中心出现故障的情况下,会导致无法正常签发数字证书,签发操作的稳定性较差。


技术实现要素:

4.本发明提供一种数字证书处理方法、装置、电子设备及可读存储介质,以解决稳定性较差的技术问题。
5.第一方面,本发明提供一种数字证书处理方法,所述方法应用于包括至少两个候选节点的数字证书管理系统中的任一候选节点,所述方法包括:
6.响应于请求端发送的签发请求,根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书;
7.基于所述数字证书创建至少包括所述数字证书的区块,以作为候选区块;
8.在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块,并将所述目标区块中的数字证书返回给所述请求端。
9.可选的,所述在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块,包括:
10.在所述候选区块符合预设的区块上链要求的情况下,将所述候选区块确定为所述目标区块;
11.所述将所述目标区块中的数字证书返回给所述请求端之前,所述方法还包括:对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链;在成功添加之后,执行所述将所述目标区块中的数字证书返回给所述请求端的操作。
12.可选的,所述对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链,包括:
13.将所述目标区块添加至所述候选节点本地的区块链,以及,将所述目标区块广播给所述数字证书管理系统中的其他节点,所述其他节点用于针对所述目标区块执行有效性验证操作,并在验证通过的情况下,将所述目标区块同步至本地的区块链。
14.可选的,所述有效性验证操作,包括:验证所述请求端的公钥是否属于所述区块链
的指定区块中存储的可信端的公钥;和/或,验证所述目标区块中内容的数据格式是否符合指定格式;和/或,验证所述目标区块是否符合所述区块上链要求。
15.可选的,所述根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书之前,所述方法还包括:
16.获取所述区块链的指定区块中存储的可信端的公钥;
17.在所述请求端的公钥属于所述可信端的公钥的情况下,执行所述根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书的操作。
18.可选的,所述指定区块为所述区块链中的创世区块,所述创世区块是在所述区块链的初始化环节根据各可信端的公钥创建的。
19.可选的,在所述候选节点接收到查询端发送的证书验证请求的情况下,所述方法还包括:
20.响应于所述证书验证请求,根据所述证书验证请求指示的待验证证书的签发时间,确定所述区块链中待查询区块;
21.检测所述待查询区块中的数字证书是否与所述证书验证请求指示的待验证证书相匹配;
22.在相匹配的情况下,向所述查询端返回有效指示信息;
23.在不相匹配的情况下,向所述查询端返回无效指示信息。
24.可选的,所述基于所述数字证书创建至少包括所述数字证书的区块,包括:将所述数字证书以及所述候选节点的公钥,打包为区块;
25.所述检测所述待查询区块中的数字证书是否与所述证书验证请求指示的待验证证书相匹配,包括:
26.基于所述待查询区块中的候选节点的公钥,验证所述待查询区块中的数字证书与所述待验证证书是否相匹配。
27.第二方面,本发明提供一种数字证书处理装置,所述装置应用于包括至少两个候选节点的数字证书管理系统中的任一候选节点,所述装置包括:
28.生成模块,用于响应于请求端发送的签发请求,根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书;
29.创建模块,用于基于所述数字证书创建至少包括所述数字证书的区块,以作为候选区块;
30.第一返回模块,用于在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块,并将所述目标区块中的数字证书返回给所述请求端。
31.可选的,所述第一返回模块,具体用于:
32.在所述候选区块符合预设的区块上链要求的情况下,将所述候选区块确定为所述目标区块;
33.所述装置还包括:添加模块,用于对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链;第一执行模块,用于在成功添加之后,执行所述将所述目标区块中的数字证书返回给所述请求端的操作。
34.可选的,所述添加模块,具体用于:
35.将所述目标区块添加至所述候选节点本地的区块链,以及,将所述目标区块广播
给所述数字证书管理系统中的其他节点,所述其他节点用于针对所述目标区块执行有效性验证操作,并在验证通过的情况下,将所述目标区块同步至本地的区块链。
36.可选的,所述有效性验证操作,包括:验证所述请求端的公钥是否属于所述区块链的指定区块中存储的可信端的公钥;和/或,验证所述目标区块中内容的数据格式是否符合指定格式;和/或,验证所述目标区块是否符合所述区块上链要求。
37.可选的,所述装置还包括:
38.获取模块,用于获取所述区块链的指定区块中存储的可信端的公钥;
39.第二执行模块,用于在所述请求端的公钥属于所述可信端的公钥的情况下,执行所述根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书的操作。
40.可选的,所述指定区块为所述区块链中的创世区块,所述创世区块是在所述区块链的初始化环节根据各可信端的公钥创建的。
41.可选的,所述装置还包括:
42.确定模块,用于响应于所述证书验证请求,根据所述证书验证请求指示的待验证证书的签发时间,确定所述区块链中待查询区块;
43.检测模块,用于检测所述待查询区块中的数字证书是否与所述证书验证请求指示的待验证证书相匹配;
44.第二返回模块,用于在相匹配的情况下,向所述查询端返回有效指示信息;
45.第三返回模块,用于在不相匹配的情况下,向所述查询端返回无效指示信息。
46.可选的,所述创建模块,具体用于:将所述数字证书以及所述候选节点的公钥,打包为区块;
47.所述检测模块,具体用于:
48.基于所述待查询区块中的候选节点的公钥,验证所述待查询区块中的数字证书与所述待验证证书是否相匹配。
49.第三方面,本发明提供一种数字证书管理系统,所述系统包括至少两个候选节点,各所述候选节点用于执行上述数字证书处理方法。
50.第四方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述数字证书处理方法。
51.第五方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述数字证书处理方法。
52.在本发明实施例中,本发明实施例提供的数字证书处理方法,数字证书管理系统中的任一候选节点,均会响应于请求端发送的签发请求,根据该候选节点的私钥以及签发请求中携带的相关信息,生成数字证书。基于数字证书创建至少包括数字证书的区块,以作为候选区块。在候选区块符合预设要求的情况下,将候选区块确定为目标区块,并将目标区块中的数字证书返回给请求端。本发明实施例中,多个候选节点均生成数字证书,并最终会向请求端返回符合预设要求的目标区块中的数字证书,即使单一候选节点发生故障,一定程度上也可以实现数字证书签发,从而可以提高签发操作稳定性。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1是本发明实施例提供的一种数字证书处理方法的步骤流程图;
55.图2是本发明实施例提供的一种处理流程示意图;
56.图3是本发明实施例提供的一种应用场景示意图;
57.图4是本发明实施例提供的一种数字证书处理装置的结构图;
58.图5是本发明实施例提供的一种电子设备的结构图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.图1是本发明实施例提供的一种数字证书处理方法的步骤流程图,所述方法应用于包括至少两个候选节点的数字证书管理系统中的任一候选节点,如图1所示,该方法可以包括:
61.步骤101、响应于请求端发送的签发请求,根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书。
62.本发明实施例中,数字证书管理系统可以视为区块链网络,两个候选节点可以是数字证书管理系统中的所有节点,也可以是部分节点,数字证书管理系统中的各个候选节点均具备数字证书签发资质。请求端可以是服务端,服务端可以是实体的服务器。签发请求可以是请求端在初始化阶段发送的,也可以是在之前请求的数字证书过期的情况下发送的。候选节点接收到的签发请求可以是请求端直接发送给该候选节点的,也可以是间接发送的。示例的,请求端的签发请求可以按照就近原则先发送给区块链网络中距离请求端最近的候选节点,然后由该候选节点将该签发请求同步给其他各个候选节点,从而实现间接发送,以节省请求端执行发送操作所需耗费的处理资源。或者,请求端也可以直接将签发请求发送给区块链网络中的各个候选节点,本发明实施例对此不做限制。
63.签发请求又可以称为数字证书签发请求,数字证书签发认证请求,签发请求可以携带进行数字证书签发所需的相关信息,相关信息的具体内容可以根据实际需求设置,相关信息至少包括请求端的公钥。进一步地,相关信息还可以包括请求端的名称、标识、地址、发送时间等信息。示例的,对于任一候选节点,可以基于该候选节点的私钥对证书摘要进行加密,以生成数字签名,进一步可以生成至少包括该数字签名以及请求端公钥的数字证书。其中,证书摘要可以是相关信息的散列值,基于该候选节点的私钥对证书摘要进行加密的操作,可以视为候选节点使用私钥对请求端公钥进行签名的过程。需要说明的是,请求端公钥可以是请求端生成的私钥-公钥对中的公钥,各个候选节点的私钥可以是候选节点初始化阶段生成的私钥-公钥对中的私钥,不同候选节点生成的私钥-公钥对可以不同。
64.步骤102、基于所述数字证书创建至少包括所述数字证书的区块,以作为候选区块。
65.本发明实施例中,各候选节点可以在各自生成数字证书之后,均基于各自生成的数字证书创建新的区块,从而得到候选区块。由于候选节点有至少两个,相应地,最终生成的候选区块可以有至少两个。
66.步骤103、在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块,并将所述目标区块中的数字证书返回给所述请求端。
67.本发明实施例中,预设要求可以根据实际需求设置,示例的,预设要求可以是预设的区块上链要求,候选区块被成功上链至区块链中,目标区块可以是至少两个候选区块中被上链的区块。或者,预设要求也可以是候选区块的内容复杂度最高,如果该候选节点创建的候选区块的内容复杂度最高,那么该候选节点创建的候选区块可以作为目标区块。其中,该区块链可以是用于数字证书管理的区块链。如果该候选节点创建的候选区块符合预设要求,那么该候选节点可以执行将该候选节点创建的候选区块确定为目标区块,并将目标区块中的数字证书返回给请求端的操作,否则,不执行。
68.进一步地,对于任一候选节点而言,在确定出本次创建的候选区块是目标区块的情况下,将该目标区块中的数字证书,即,该候选节点生成的数字证书,下发给请求端,从而可以实现数字证书签发认证。请求端可以基于收到的数字证书进行加密通信。
69.综上所述,本发明实施例提供的数字证书处理方法,数字证书管理系统中的任一候选节点,均会响应于请求端发送的签发请求,根据该候选节点的私钥以及签发请求中携带的相关信息,生成数字证书。基于数字证书创建至少包括数字证书的区块,以作为候选区块。在候选区块符合预设要求的情况下,将候选区块确定为目标区块,并将目标区块中的数字证书返回给请求端。本发明实施例中,多个候选节点均生成数字证书,并最终会向请求端返回符合预设要求的目标区块中的数字证书,即使单一候选节点发生故障,一定程度上也可以实现数字证书签发,从而可以提高签发操作稳定性。
70.可选的,本发明实施例中还可以在根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书之前,获取区块链的指定区块中存储的可信端的公钥。在请求端的公钥属于可信端的公钥的情况下,执行根据候选节点的私钥以及签发请求中携带的相关信息,生成数字证书的操作。具体的,指定区块可以根据实际需求在区块链中已上链的区块中指定的,该候选节点可以访问指定区块,以从中读取可信端的公钥,提取签发请求中包含的公钥,作为请求端的公钥。然后,将请求端的公钥与各个可信端的公钥进行比对,以确定是否存在与该求端的公钥一致的可信端的公钥。如果存在,则可以确定请求端的公钥属于可信端的公钥。反之,则可以确定不属于。本发明实施例中,仅对指定区块中所存储公钥对应的可信端进行数字证书签发,通过在接收到签发请求的情况下,先对请求端的身份主体进行验证,即,检测请求端的公钥是否属于可信端的公钥,如果属于才为该请求端执行后续的证书签发操作,这样,一定程度上可以避免为不可信的请求端签发数字证书的问题。
71.且本发明实施例中,可信端作为可信任节点,可信端的公钥被保存至创世区块中,来自这些可信端的签发请求能够被快速响应,没有繁琐的人工审核流程,基于指定区块中存储的可信端的公钥即可自动实现身份主体验证,可以提高处理效率。
72.需要说明的是,相较于每个签发请求均需要提交至人工审核流程的方式,本发明
实施例中,也可以在请求端的公钥不属于可信端的公钥的情况下,再将该请求端发送的签发请求提交至人工审核流程,从而一定程度上减少人工审核流程,本发明实施例对此不做限制。
73.可选的,上述在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块的步骤,具体可以包括:
74.步骤s21、在所述候选区块符合预设的区块上链要求的情况下,将所述候选区块确定为所述目标区块。
75.具体的,各候选节点可以计算所创建的候选区块的哈希值,示例的,可以对候选区块的区块头中的内容进行哈希计算,从而得到该候选区块的哈希值。进一步地,可以检测该候选区块的哈希值是否符合预设数值要求。如果符合且当前仅存在一个哈希值符合预设数值要求的候选区块,那么可以确定该候选区块符合预设的区块上链要求。如果符合但是当前存在多个哈希值符合预设数值要求的候选区块,则在该候选区块符合预设的分叉选择条件的情况下,确定该候选区块符合预设的区块上链要求。其中,分叉选择条件可以是上链后可最先达到指定数量个新区块,或者,分叉选择条件也可以是其他条件,例如,最先计算出符合预设数值要求的哈希值,等等,本发明实施例对此不做限制。示例的,各候选节点之间可以同步计算出符合预设数值要求的哈希值或最先达到指定数量个新区块所需时长,以便于各候选节点判断自己是否最先计算出符合预设数值要求的哈希值,或者,判断自己是否可最先达到指定数量个新区块。
76.相应地,上述将所述目标区块中的数字证书返回给所述请求端的步骤之前,还可以执行下述操作:
77.步骤s31、对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链。
78.其中,数字证书管理系统对应的区块链可以用于进行数字证书管理,数字证书管理系统对应的区块链可以存储签发的各数字证书对应的区块,也就是说,本发明实施例中数字证书管理系统签发的各数字证书以区块链的形式存储。需要说明的是,本发明实施例中也可以在将目标区块中的数字证书返回给请求端之后,执行区块上链操作,本发明实施例对此不做限制。相应地,这种实现方式中,可以在执行区块上链操作之后,检测被成功上链的目标区块中的数字证书是否与返回给请求端的数字证书一致。在不一致的情况下,向请求端重新发送被成功上链的目标区块中的数字证书,以确保请求端持有的数字证书被准确记录在区块链中。
79.步骤s32、在成功添加之后,执行所述将所述目标区块中的数字证书返回给所述请求端的操作。
80.也就是说,将所述目标区块中的数字证书返回给所述请求端的操作具体可以是在目标区块成功添加至数字证书管理系统对应的区块链的情况下,将目标区块中的数字证书下发给请求端。需要说明的是,请求端后续还可以在数字证书无法使用的情况下,发送新的数字证书签发修改请求,以重新获取数字证书。相应地,数字证书管理系统中的候选节点可以重新进行下一次哈希计算,以再次签发数字证书。
81.本发明实施例中,在候选区块符合预设的区块上链要求的情况下,将候选区块确定为目标区块。且会对目标区块执行区块上链操作,以将目标区块添加至数字证书管理系
统对应的区块链,在成功添加之后,才将目标区块中的数字证书返回给请求端。这样,可以确保向请求端签发的数字证书被成功记录至区块链,从而方便后续基于该区块链对数字证书进行管理。
82.可选的,上述对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链的操作,具体可以包括:
83.步骤s41、将所述目标区块添加至所述候选节点本地的区块链,以及,将所述目标区块广播给所述数字证书管理系统中的其他节点,所述其他节点用于针对所述目标区块执行有效性验证操作,并在验证通过的情况下,将所述目标区块同步至本地的区块链。
84.本发明实施例中,数字证书管理系统对应的区块链可以包括部署在各节点本地的区块链。相应地,为了实现将目标区块添加至数字证书管理系统对应的区块链,可以由数字证书管理系统中的各节点均执行上链操作,从而确保各节点本地的区块链的内容一致性,从而确保后续操作能够正常进行。具体的,该候选节点可以直接执行上链操作,以将目标区块添加至该候选节点本地的区块链。进一步地,可以向数字证书管理系统中的任一其他节点广播该目标区块,以实现数字证书签发业务处理环节。对于任一其他节点而言,该其他节点可以验证目标区块的有效性,并在验证通过的情况下,将目标区块同步至其他节点本地的区块链,在目标区块被添加至候选节点本地的区块链且被各个其他节点同步的情况下,可以视为目标区块被添加至数字证书管理系统对应的区块链。需要说明的是,候选节点可以在同步之后,进一步检测目标区块是否被成功添加至数字证书管理系统对应的区块链。
85.本发明实施例中,将目标区块添加至候选节点本地的区块链,以及,将目标区块广播给数字证书管理系统中的其他节点,其他节点用于针对目标区块执行有效性验证操作,并在验证通过的情况下才将目标区块同步至本地的区块链。这样,可以确保只有通过有效性验证的目标区块可以被成功添加至数字证书管理系统对应的区块链,避免无效的目标区块被同步到其他节点本地的区块链,从而可以避免无效的目标区块被添加至数字证书管理系统对应的区块链。
86.可选的,上述有效性验证操作可以具体包括:验证所述请求端的公钥是否属于所述区块链的指定区块中存储的可信端的公钥;和/或,验证所述目标区块中内容的数据格式是否符合指定格式;和/或,验证所述目标区块是否符合所述区块上链要求。
87.本发明实施例中,请求端的公钥可以包含在目标区块的数字证书中,指定区块中存储的可信端的公钥可以是预先存储进去的。该其他节点可以从指定区块中查找指定区块中保存的可信端的公钥,对请求主体身份进行再次确认,如果请求端的公钥属于指定区块中存储的可信端的公钥,则可以确定请求端符合请求主体身份,具备被签发数字证书的资格。验证目标区块是否符合区块上链要求的实现方式,可以参照本发明实施例中的相关描述,此处不再赘述。进一步地,指定格式可以是各个节点之间预先约定的区块中内容的数据格式,如果请求端的公钥属于可信端的公钥和/或目标区块中内容的数据格式符合指定格式和/或目标区块符合区块上链要求,则一定程度上可以说明目标区块中的数字证书不是非法节点为非法请求端恶意签发的,相应地,可以在这种情况下,确定目标区块通过有效性验证。示例的,图2是本发明实施例提供的一种处理流程示意图,如图2所示,可以先接收数字证书签发请求,接着打包区块,以创建候选区块,在确定目标区块的情况下,可以进行区块广播,以使其他节点进行同步,相应地,其他节点可以验证区块,并在验证通过的情况下,
完成同步。
88.本发明实施例中,通过验证请求端的公钥是否属于区块链的指定区块中存储的可信端的公钥;和/或,验证目标区块中内容的数据格式是否符合指定格式;和/或,验证目标区块是否符合区块上链要求,实现证书签发有效性确认,一定程度上可以避免恶意签发数字证书的问题,从而可以确保数字证书签发的安全性。
89.可选的,在一种实现方式中,指定区块可以为区块链中的创世区块,创世区块可以是在区块链的初始化环节根据各可信端的公钥创建的。具体的,数字管理系统的中的指定节点可以向各可信端发送公钥上报指令,以使各可信端向指定节点上报各自的公钥。或者,也可以是直接将可信端的公钥预置在指定节点中。其中,指定节点可以是数字证书管理系统中的任一节点,指定节点可以根据各可信端的公钥,确定可信端的标识与公钥之间的对应关系,并在初始化阶段创建包括该对应关系的首个区块,以作为指定区块。相应地,将请求端的公钥与各个可信端的公钥进行比对,以确定是否存在与该求端的公钥一致的可信端的公钥的步骤,具体可以包括:将对应关系中的各个公钥与请求端的公钥与分别进行比对,如果该公钥与请求端的公钥一致,且该公钥对应的可信端的标识与该请求端的标识一致,则可以确定请求端的公钥属于可信端的公钥。反之,则可以确定该请求端的公钥不属于可信端的公钥。
90.本发明实施例中,在区块链的初始化环节根据各可信端的公钥创建创世区块,创世区块作为区块链中的第一个区块,以区块链中的创世区块作为指定区块,可以确保后续每次基于区块链网络进行数字证书签发的过程中,均可以查找到可信端的公钥,从而可以确保签发操作能够正常进行。
91.需要说明的是,本发明实施例中还可以在出现新的可信端的情况下,基于新的可信端的公钥,为数字证书管理系统创建新的区块链,以为这些新的可信端签发数字证书。相较于在创世区块中增加新的可信端的公钥,从而导致需要更新整个区块链的方式,本发明实施例中,仅需创建新的区块链即可,从而一定程度上可以确保新增效率,降低新增成本。
92.可选的,候选节点在接收到查询端发送的证书验证请求的情况下,还可以执行下述操作:
93.步骤s51、响应于所述证书验证请求,根据所述证书验证请求指示的待验证证书的签发时间,确定所述区块链中待查询区块。
94.其中,证书验证请求又可以称为数字证书查询请求,数字证书管理系统中的任一候选节点均可能收到证书验证请求,具体的,在一种实现方式中,查询端发送的证书验证请求可以具体被发送给距离该查询端最近的候选节点。查询端可以是客户端,或者,也可以是服务端。
95.示例的,图3是本发明实施例提供的一种应用场景示意图,如图3所示,服务端可以向ca区块链网络请求数字证书签发,即,服务端可以向ca区块链网络发送签发请求。客户端可以向ca区块链网络请求数字证书认证,即,客户端可以向ca区块链网络发送证书验证请求。其中,ca区块链网络可以视为数字证书管理系统,ca1、ca2、
……
、cak可以视为数字证书管理系统中的节点。本发明实施例提供的ca区块链网络可以对签发的数字证书进行快速验证,从而确保数字证书的查询效率。
96.证书验证请求指示的待验证证书可以是证书验证请求中携带的证书。待验证证书
的签发时间可以是证书验证请求中携带的,或者,在签发数字证书时,可以将数字证书的生成时间作为颁发时间写入数字证书,相应地,也可以是该候选节点从待验证证书中获取签发时间。
97.进一步地,在创建区块的情况下,可以为每个区块打上时间戳,相应地,可以将区块链中各区块的时间戳表征时间作为创建时间。具体的,可以将与创建时间与该签发时间一致的区块以及该区块之前和/或之后的m个区块确定为待查询区块。其中,m的具体值可以根据实际需求设置,例如,m可以为1。或者,也可以将创建时间与待验证证书的签发时间的时间差距小于预设阈值的区块,确定为待查询区块。其中,预设阈值可以根据实际确定的,示例的,预设阈值可以为0,或者,也可以为10分钟,等等。
98.步骤s52、检测所述待查询区块中的数字证书是否与所述证书验证请求指示的待验证证书相匹配。
99.待查询区块的可以为一个或多个,相应地,可以将各待查询区块中的数字证书分别与待验证证书进行比对,如果两者一致,则确定两者相匹配。
100.可选的,在一种实现方式中,基于候选节点生成的数字证书创建区块的操作,具体可以包括:将所述数字证书以及所述候选节点的公钥,打包为区块。示例的,每个候选节点可以直接执行ca业务处理,即,打包数字证书签发记录进区块。相应地,后续可以通过共识算法确定区块有效性。其中,签发记录至少包括数字证书以及该候选节点的公钥,通过共识算法确定区块有效性可以是进行哈希计算,以确定满足区块上链要求的候选区块。也就是说,待查询区块中还会包括生成该待查询区块中数字证书的候选节点的公钥。相应地,可以基于所述待查询区块中的候选节点的公钥,验证所述待查询区块中的数字证书与所述待验证证书是否相匹配。具体的,可以先从该待查询区块中获取其中包含的候选节点的公钥。然后使用获取到的公钥对该待验证证书中的已加密证书摘要进行解密,以及,基于证书内容获取证书摘要。如果获取的证书摘要与解密后得到的证书摘要一致,则可以确保该待验证证书与该待查询区块中的数字证书相匹配。反之,则可以确定不相匹配。本发明实施例中,通过在创建区块时,进一步打包候选节点的公钥,使得后续基于区块中的候选节点的公钥可以较为便捷的实现证书有效性验证,从而一定程度上可以提高证书查询效率。
101.需要说明的是,本发明实施例中,可以基于待验证证书的标识信息,利用默克尔树结构快速定位待查询区块中是否存在待验证证书,在存在的情况下,再基于待查询区块中的候选节点的公钥进行验证。且可以仅基于定位到存在待验证证书的待查询区块中的候选节点的公钥,验证该待查询区块中的数字证书与待验证证书是否相匹配。这样,可以避免执行不必要的验证操作,导致资源浪费的问题。
102.步骤s53、在相匹配的情况下,向所述查询端返回有效指示信息。
103.步骤s54、在不相匹配的情况下,向所述查询端返回无效指示信息。
104.本发明实施例中,有效指示信息可以用于表征所述待验证证书有效,无效指示信息可以用于表征所述待验证证书无效。
105.在一种现有的流程中,服务端向ca中心请求认证服务端数字证书的情况下,由单一ca中心向服务端下发数字证书。但是,单一ca中心由于存在中心化的问题,容易被攻击进而出现单节点故障问题,导致无法正常进行数字证书签发。相应地,该现有流程中,客户端需要先下载安装ca根证书,客户端和服务端通信时,需要先向服务端请求数字证书,服务端
向客户端返回服务端的数字证书,由客户端基于本地的ca根证书(即,ca公钥)验证该数字证书的有效性。相应地,在验证出数字证书有效的情况下,就可以确定数字证书中提供的服务端公钥确实是合法服务器提供的,可以用来在后续验证服务端的身份。但是,客户端本地存储的ca公钥容易被篡改,这种方式在ca公钥容易被篡改的情况下,无法确保通信安全。
106.本发明实施例中,将数字证书存储至数字证书管理系统对应的区块链,基于区块链对数字证书进行管理,一定程度上可以防止篡改。候选节点在接收到查询端发送的证书验证请求的情况下,会响应于证书验证请求,根据证书验证请求指示的待验证证书的签发时间,确定区块链中待查询区块。检测待查询区块中的数字证书是否与证书验证请求指示的待验证证书相匹配。在相匹配的情况下,向查询端返回有效指示信息。在不相匹配的情况下,向查询端返回无效指示信息。直接从数字管理系统对应的区块链中查询,由于接收到证书验证请求的候选节点基于区块链进行证书验证,由于无需使用客户端本地的ca根证书,进而一定程度上可以避免ca公钥容易被篡改的情况下,无法确保通信安全的问题。
107.同时,由区块链网络本身进行数字证书签发,即,由区块链网络本身作为ca中心,从架构上做到数字证书签发、认证、存储模块的一体化,将单一ca中心功能解构到整个区块链网络,实现去中心化。每个区块链节点全都进行签发请求的打包处理,将ca认证记录保存在区块中(即,创建候选区域),区块链网络将最终符合要求的目标区块上链。也就是说,本发明实施例中,每个区块链节点都履行ca功能,没有特定的ca中心,没有ca中心的确认步骤,直接进行业务处理。采用这种流程结构,攻击者没有特定的ca中心可以攻击,攻击者只能攻击区块链网络本身,然而多节点的区块链网络中在被攻击的情况下,仍旧有功能未被影响的节点可以进行数字证书签发。这样,基于去中心化的数字证书管理系统,可以更好的抵御攻击,一定程度上可以确保签发流程可以正常进行,确保系统可以稳定运行。本发明实施例提供的区块链网络可以视为有效的ca中心,系统初始化后即可稳定运行,不会因为单点故障导致签发流程不能正常进行的问题,从而确保系统稳定性。
108.且由于本发明实施例中每个区块链节点都能提供完整的签发、存储、查询功能,因此,仅需增加具备相同功能的节点即可实现扩容,从而一定程度上可以方便地对进行区块链网络进行扩容,降低扩容难度。进一步地,多节点联合签名才能生成数字证书,由单一管理节点对证书验证并返回的方式,仍然存在中心化问题且系统耦合度较高,单节点故障对整个处理流程的影响较大。本发明实施例中,每个候选节点均具备生成数字证书的能力,进而无需在生成数字证书的环节进行通信,从而一定程度上可以降低通信耗时,且本发明实施例可以有效避免中心化问题,方便进行对节点进行管理,即使单一节点出现故障,也不会影响到整个处理流程。以节点轮流作为ca中心的方式,仍然存在中心化问题且确认当前ca中心的难度较大,本发明实施例中的每个候选节点均同时作为ca中心进行数字证书签发,无需确认当前ca中心的,从而可以避免中心化问题以及确认难度较大的问题。
109.图4是本发明实施例提供的一种数字证书处理装置的结构图,该装置可以应用于包括至少两个候选节点的数字证书管理系统中的任一候选节点,该装置20可以包括:
110.生成模块201,用于响应于请求端发送的签发请求,根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书;
111.创建模块202,用于基于所述数字证书创建至少包括所述数字证书的区块,以作为候选区块;
112.第一返回模块203,用于在所述候选区块符合预设要求的情况下,将所述候选区块确定为目标区块,并将所述目标区块中的数字证书返回给所述请求端。
113.可选的,所述第一返回模块203,具体用于:
114.在所述候选区块符合预设的区块上链要求的情况下,将所述候选区块确定为所述目标区块;
115.所述装置20还包括:添加模块,用于对所述目标区块执行区块上链操作,以将所述目标区块添加至所述数字证书管理系统对应的区块链;第一执行模块,用于在成功添加之后,执行所述将所述目标区块中的数字证书返回给所述请求端的操作。
116.可选的,所述添加模块,具体用于:
117.将所述目标区块添加至所述候选节点本地的区块链,以及,将所述目标区块广播给所述数字证书管理系统中的其他节点,所述其他节点用于针对所述目标区块执行有效性验证操作,并在验证通过的情况下,将所述目标区块同步至本地的区块链。
118.可选的,所述有效性验证操作,包括:验证所述请求端的公钥是否属于所述区块链的指定区块中存储的可信端的公钥;和/或,验证所述目标区块中内容的数据格式是否符合指定格式;和/或,验证所述目标区块是否符合所述区块上链要求。
119.可选的,所述装置20还包括:
120.获取模块,用于获取所述区块链的指定区块中存储的可信端的公钥;
121.第二执行模块,用于在所述请求端的公钥属于所述可信端的公钥的情况下,执行所述根据所述候选节点的私钥以及所述签发请求中携带的相关信息,生成数字证书的操作。
122.可选的,所述指定区块为所述区块链中的创世区块,所述创世区块是在所述区块链的初始化环节根据各可信端的公钥创建的。
123.可选的,所述装置20还包括:
124.确定模块,用于响应于所述证书验证请求,根据所述证书验证请求指示的待验证证书的签发时间,确定所述区块链中待查询区块;
125.检测模块,用于检测所述待查询区块中的数字证书是否与所述证书验证请求指示的待验证证书相匹配;
126.第二返回模块,用于在相匹配的情况下,向所述查询端返回有效指示信息;
127.第三返回模块,用于在不相匹配的情况下,向所述查询端返回无效指示信息。
128.可选的,所述创建模块202,具体用于:将所述数字证书以及所述候选节点的公钥,打包为区块;
129.所述检测模块,具体用于:
130.基于所述待查询区块中的候选节点的公钥,验证所述待查询区块中的数字证书与所述待验证证书是否相匹配。
131.综上所述,本发明实施例提供的数字证书处理装置,数字证书管理系统中的任一候选节点,均会响应于请求端发送的签发请求,根据该候选节点的私钥以及签发请求中携带的相关信息,生成数字证书。基于数字证书创建至少包括数字证书的区块,以作为候选区块。在候选区块符合预设要求的情况下,将候选区块确定为目标区块,并将目标区块中的数字证书返回给请求端。本发明实施例中,多个候选节点均生成数字证书,并最终会向请求端
返回符合预设要求的目标区块中的数字证书,即使单一候选节点发生故障,一定程度上也可以实现数字证书签发,从而可以提高签发操作稳定性。
132.本发明还提供了一种数字证书管理系统,所述系统包括至少两个候选节点,各所述候选节点用于执行前述实施例的数字证书处理方法。
133.本发明还提供了一种电子设备,参见图5,包括:处理器901、存储器902以及存储在所述存储器上并可在所述处理器上运行的计算机程序9021,所述处理器执行所述程序时实现前述实施例的数字证书处理方法。
134.本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数字证书处理方法。
135.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
136.需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。
137.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
138.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
139.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
140.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
141.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明的排序设备中的一些或者全部部件
的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
142.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
143.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
144.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
145.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献