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

基于区块链的数字证书处理方法以及装置与流程

2022-03-19 12:15:22 来源:中国专利 TAG:


1.本技术涉及信息技术领域,并且更具体地,涉及一种基于区块链的数字证书处理方法以及装置。


背景技术:

2.公钥基础设施(public key infrastructure,pki)是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。其本质是将非对称密钥管理标准化,及身份与公钥的映射关系;公钥密码的诞生,标志着密码学进入了一个新的时代,密码技术的应用从单纯的保密通信发展到了身份认证。
3.pki中包括证书授权中心(certificate authority,ca),ca通过自身私钥签名为证书申请者签发证书,提供可信任的数字身份,从而保障用户在通信过程中的认证身份和保护传输信息的机密性和完整性。通常情况下,可以通过验证用户的数字证书是否合法,来判断该用户身份的合法性;目前,通常采用证书撤销列表(certificate revocation list,crl)或者在线证书状态协议(online certificate status protocol,ocsp)对证书的状态进行验证;但是,由于crl机制受限于更新周期,ocsp机制受限于证书数量和查询请求量的增加,从而导致证书状态验证存在延迟问题。
4.因此,如何提高数字证书状态验证的效率成为一个亟需解决的问题。


技术实现要素:

5.本技术提供一种基于区块链的数字证书处理方法以及装置,通过在区块链中记录数字证书的操作日志,从而能够提高数字证书状态验证的效率。
6.第一方面,提供了一种基于区块链的数字证书处理方法,包括:接收来自用户的数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;根据所述签发操作的地址信息在所述区块链中获取所述数字证书的签发操作的数据,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址;根据所述第一地址信息获取所述数字证书的当前状态;向所述用户发送所述数字证书的当前状态。
7.应理解,区块链用于存储数字证书授权中心ca对所述数字证书的至少一个操作处理的数据在所述区块链中通过区块的地址信息相互关联,所述至少一个操作处理包括所述签发操作。
8.本技术的方法可以由计算设备执行,或者可以由一个或多个计算设备中的智能芯片来执行。计算设备可以是任意具有维护与管理区块链功能的设备。例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。
9.应理解,区块链可以用于存储ca对数字证书的操作日志记录,在操作日志记录中至少一个操作处理的数据相互关联;比如,可以通过至少一个操作处理中任意一个操作数
据的数据可以查询到该任意一个操作处理相关的操作处理(例如,上一操作处理或者下一操作处理)的数据。
10.还应理解,数字证书的当前状态是指ca对数字证书的最后一个操作处理后数字证书的状态。
11.在本技术的实施例中,通过将ca对数字证书的至少一个操作处理的数据存储在区块链中,至少一个操作处理的数据在区块链中通过区块的地址信息相互关联;进而,在用户查询数字证书的当前状态时,可以向区块链发送数字证书的签发操作的地址信息;区块链可以根据数字证书的签发操作的地址信息获取该数字证书的当前状态,即可以根据数字证书的签发操作的地址信息在区块链中查询数字证书的后续生命周期,实现了区块链中链上查询数字证书的状态;从而避免用户需要集中向服务器查询数字证书的当前状态导致的延迟问题,能够提高数字证书状态验证的效率。
12.在一种可能的实现方式中,区块链接收用户发送的数字证书的查询请求,查询请求中包括数字证书的签发操作的地址信息,区块链可以通过签发操作的地址信息进行逐一查询,获得当前最新操作处理的数据在区块链中的地址信息,并将最新操作处理的数据返回给用户。
13.在一种可能的实现方式中,区块链接收用户发送的数字证书的查询请求,查询请求中包括数字证书的签发操作的地址信息,区块链可以通过签发操作的地址信息进行逐一查询,当获取一个地址信息中存储的操作处理的数据时区块链可以逐一向用户返回;直至将最新操作处理的数据返回给用户。
14.在一种可能的实现方式中,用户可以直接与区块链进行信息交互,则用户可以在本地查询数字证书的状态,或者,用户可以直接向用户管理和维护区块链的节点直接发送数字证书的查询请求。
15.在一种可能的实现方式中,用户无法直接与区块链进行信息交互,则用户需要通过区块链中的记账者转发信息;即用户可以通过区块链中的记账节点向区块链发送数字证书的查询请求。
16.结合第一方面,在第一方面的某些实现方式中,所述目标区块还包括第二地址信息,所述第二地址信息用于表示在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
17.在一种可能的实现方式中,区块链中可以包括第一区块,第一区块可以指区块链中的任意一个区块;第一区块可以用于存储第一操作处理的数据,第一操作处理可以是指签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作中的任意一项,第一区块中可以包括两个地址信息;其中,一个地址信息用于表示在区块链中存储第一操作处理的上一操作处理的数据的地址,另一个地址信息用于表示在区块链中存储第一操作处理的下一操作处理的数据的地址。
18.在本技术的实施例中,区块链中任意一个区块中的数据结构中可以包括上一操作的地址(链接前面一个操作)和下一操作的地址(修改该字段后实现向后链接),从而实现将ca对数字证书的操作处理的数据进行上链;通过区块的地址信息可以将所有操作处理的数据关联起来。
19.结合第一方面,在第一方面的某些实现方式中,还包括:
20.接收来自所述ca的第一交易,所述第一交易用于将第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址,所述第一操作处理包括所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作中的任意一项;向所述ca发送第一区块的地址信息,所述第一区块用于存储所述第一操作处理的数据。
21.结合第一方面,在第一方面的某些实现方式中,在所述第一操作处理为所述签发操作时,所述目标地址信息是指所述第二地址信息。
22.应理解,签发操作可以是指ca用于数字证书签发的操作。撤销操作可以是指ca对数字证书的证书生命终结的操作。冻结操作可以包括ca对数字证书的暂时性的冻结,而非永久的撤销。解冻操作可以是指ca对数字证书的对冻结操作的撤销。回退操作可以包括ca对数字证书的误撤销、误冻结、无修改的证书操作的撤回。更新操作是指ca对数字证书的证书内容的更新;比如,试用期延长等的更新。
23.结合第一方面,在第一方面的某些实现方式中,所述第二地址信息为预配置的初始化地址。
24.在一种可能的实现方式中,预配置的初始化地址可以为“0x00”,或者,预配置的初始化地址也可以为空。
25.结合第一方面,在第一方面的某些实现方式中,在所述第一操作处理不是所述签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址信息,或者,所述目标地址信息是指所述签发操作的地址信息。
26.结合第一方面,在第一方面的某些实现方式中,所述区块链中还包括第二区块,还包括:
27.根据所述第一区块的地址信息修改所述第二区块中包括的下一操作处理的地址信息,所述第二区块是指所述区块链中存储所述第一操作处理的上一操作处理的数据的区块。
28.结合第一方面,在第一方面的某些实现方式中,还包括:
29.根据所述签发操的地址信息验证所述数字证书的当前状态处于合法状态。
30.在本技术的实施例中,在第一操作处理不是ca对数字证书的签发操作时,还可以获取数字证书的当前状态,在确定数字证书当前处于合法状态的情况下继续对数字证书进行后续操作。
31.结合第一方面,在第一方面的某些实现方式中,所述根据所述第一地址信息获取所述数字证书的当前状态,包括:
32.根据所述签发操作的地址信息在所述区块链中确定所述目标区块,所述目标区块是指所述区块链中存储所述签发操作的数据的区块;
33.在第一地址信息为空或者预设字段时,获取所述数字证书的签发操作的数据。
34.在本技术的实施例中,在目标区块中包括的第一地址信息为空、或者预设字段或者其它预先配置字段时,说明在签发操作是ca对所述数字证书的最后一个操作的情况下,则在目标区块中获取数字证书的签发操作的数据;即数字证书的签发操作即数字证书的当前状态。
35.结合第一方面,在第一方面的某些实现方式中,在所述签发操作不是所述ca对所
述数字证书的最后一个操作处理的情况下,还包括:
36.根据所述目标区块中包括的下一操作的地址信息在所述区块链中查询所述数字证书的最后一个操作处理的地址信息;
37.根据所述最后一个操作处理的地址信息在所述区块链中获取所述数字证书的最后一个操作处理的数据。
38.在本技术的实施例中,若确定签发操作为ca对数字证书的最后一个操作,则根据签发操作的数据可以确定数字证书的当前状态。若确定签发操作不是ca对数字证书的最后一个操作,则可以根据目标区块中包括的下一操作的地址信息在区块链中查询数字证书的最后一个操作处理的地址信息,进而获取数字证书的最后一个操作处理的数据,即获取数字证书的当前状态。
39.结合第一方面,在第一方面的某些实现方式中,所述查询请求中还包括所述数字证书的标识。
40.在本技术的实施例中,通过数字证书的标识可以在目标区块中包括的多个数字证书中确定查询请求对应的目标数字证书。
41.结合第一方面,在第一方面的某些实现方式中,所述第一区块中包括的所述第一地址信息与目标地址信息不用于所述第一区块的哈希计算。
42.在本技术的实施例中,区块链中任意一个区块中包括的上一操作的地址与下一操作的地址不用于该区块的哈希计算。
43.第二方面,提供了一种基于区块链的数字证书处理方法,包括:
44.向区块链发送数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;
45.接收来自所述区块链的所述数字证书的当前状态,所述数字证书的当前状态是根据第一地址信息在所述区块链中获取的,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括所述第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址。
46.本技术的方法可以由终端设备执行,或者可以由一个或多个终端设备中的智能芯片来执行。终端设备可以是任意具有与维护与管理区块链功能的计算设备进行交互的终端设备。
47.结合第二方面,在第二方面的某些实现方式中,所述目标区块还包括第二地址信息,所述第二地址信息用于表示在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
48.在一种可能的实现方式中,区块链中可以包括第一区块,第一区块可以指区块链中的任意一个区块;第一区块可以用于存储第一操作处理的数据,第一操作处理可以是指签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作中的任意一项,第一区块中可以包括两个地址信息;其中,一个地址信息用于表示在区块链中存储第一操作处理的上一操作处理的数据的地址,另一个地址信息用于表示在区块链中存储第一操作处理的下一操作处理的数据的地址。
49.结合第二方面,在第二方面的某些实现方式中,在所述第一操作处理是所述签发
操作时,还包括:
50.向所述ca发送的所述数字证书的申请请求,所述申请请求中包括用户的身份信息。
51.结合第二方面,在第二方面的某些实现方式中,所述第一地址信息与所述第二地址信息为预配置的初始化地址。
52.结合第二方面,在第二方面的某些实现方式中,在所述第一操作处理不是所述签发操作时,所述第二地址信息是根据所述第一操作处理的上一操作处理的地址信息得到的,所述第一地址信息为预配置的初始化地址。
53.结合第二方面,在第二方面的某些实现方式中,其特征在于,所述第一操作处理是指所述ca对所述数字证书的以下操作中的任意一项:
54.签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
55.结合第二方面,在第二方面的某些实现方式中,所述第一区块中包括的所述第一地址信息与目标地址信息不用于所述第一区块的哈希计算。
56.在本技术的实施例中,区块链中任意一个区块中包括的上一操作的地址与下一操作的地址不用于该区块的哈希计算。
57.第三方面,提供了一种基于区块链的数字证书处理方法,包括:
58.向区块链发送第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;
59.接收来自所述区块链的第一区块的地址信息,所述第一区块是指所述区块链中存储所述第一操作处理的数据的区块。
60.本技术的方法可以由服务器执行,或者可以由一个或多个服务器中的智能芯片来执行。服务器可以是任意具有维护与管理数字证书功能的设备。例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。例如,服务器可以是指证书授权中心的服务器。
61.应理解,在本技术的实施例中ca可以通过向区链发送交易的形式,将对数字证书的操作处理的数据进行上链,即存储在区块链中。
62.结合第三方面,在第三方面的某些实现方式中,在所述第一操作处理是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
63.结合第三方面,在第三方面的某些实现方式中,所述目标地址信息为预配置的初始化地址。
64.结合第三方面,在第三方面的某些实现方式中,还包括:
65.接收来自用户的所述数字证书的申请请求,所述申请请求中包括用户的身份信息。
66.结合第三方面,在第三方面的某些实现方式中,在所述第一操作处理不是所述数字证书签发操作时,所述目标地址信息是指所述在区块链中存储所述第一操作处理的上一操作处理的数据的地址,或者,所述目标地址信息是指在区块链中存储所述数字证书的签发操作的数据的地址。
67.结合第三方面,在第三方面的某些实现方式中,所述第一区块中包括第三地址信息与第四地址信息,所述第三地址信息用于表示在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,所述第四地址信息用于表示在所述区块链中存储所述第一操作处理的下一操作处理的数据的地址。
68.结合第三方面,在第三方面的某些实现方式中,所述第四地址信息是所述区块链根据第三区块的地址信息得到的,所述第三区块是指在所述区块链中存储所述第一操作处理的下一操作处理的数据的区块。
69.结合第三方面,在第三方面的某些实现方式中,所述第一操作处理是指所述ca对所述数字证书的以下操作中的任意一项:
70.签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
71.第四方面,提供了一种基于区块链的数字证书处理方法,包括:
72.接收来自数字证书授权中心ca的第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;
73.向所述ca发送第一区块的地址信息,所述第一区块是指所述区块链中存储所述第一操作处理的数据的区块。
74.本技术的方法可以由计算设备执行,或者可以由一个或多个计算设备中的智能芯片来执行。计算设备可以是任意具有计算设备可以为具有维护与管理区块链功能的设备。例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。
75.结合第四方面,在第四方面的某些实现方式中,在所述第一操作处理是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
76.结合第四方面,在第四方面的某些实现方式中,所述目标地址信息为预配置的初始化地址。
77.结合第四方面,在第四方面的某些实现方式中,在所述第一操作处理不是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,或者,所述目标地址信息是指在所述区块链中存储所述数字证书的签发操作的数据的地址。
78.结合第四方面,在第四方面的某些实现方式中,所述第一区块中包括第三地址信息与第四地址信息,所述第三地址信息用于表示在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,所述第四地址信息用于表示在所述区块链中存储所述第一操作处理的下一操作处理的数据的地址。
79.结合第四方面,在第四方面的某些实现方式中,所述第四地址信息是所述区块链根据第三区块的地址信息得到的,所述第三区块是指在所述区块链中存储所述第一操作处理的下一操作处理的数据的区块。
80.结合第四方面,在第四方面的某些实现方式中,所述第一操作处理是指所述ca对所述数字证书的以下操作中的任意一项:
81.签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
82.第五方面,提供了一种基于区块链的数字证书处理装置,包括:收发单元,用于接收来自用户的数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;处理单元,用于根据所述签发操作的地址信息在所述区块链中获取所述数字证书的签发操作的数据,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址;根据所述第一地址信息获取所述数字证书的当前状态;所述收发单元还用于向所述用户发送所述数字证书的当前状态。
83.在一种可能的实现方式中,上述数字证书处理装置中包括功能单元/模块还用于执行第一方面以及第一方面中的任意一种实现方式中的数字证书处理方法。
84.应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第五方面中相同的内容。
85.第六方面,提供了一种基于区块链的数字证书处理装置,包括:发送单元,用于向区块链发送数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;接收单元,用于接收来自所述区块链的所述数字证书的当前状态,所述数字证书的当前状态是根据第一地址信息在所述区块链中获取的,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括所述第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址。
86.在一种可能的实现方式中,上述数字证书处理装置中包括功能单元/模块还用于执行第二方面以及第二方面中的任意一种实现方式中的数字证书处理方法。
87.应理解,在上述第二方面中对相关内容的扩展、限定、解释和说明也适用于第六方面中相同的内容。
88.第七方面,提供了一种基于区块链的数字证书处理装置,包括:发送单元,用于向区块链发送第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;接收单元,用于接收来自所述区块链的第一区块的地址信息,所述第一区块是指所述区块链中存储所述第一操作处理的数据的区块。
89.在一种可能的实现方式中,上述数字证书处理装置中包括功能单元/模块还用于执行第三方面以及第三方面中的任意一种实现方式中的数字证书处理方法。
90.应理解,在上述第三方面中对相关内容的扩展、限定、解释和说明也适用于第七方面中相同的内容。
91.第八方面,提供了一种基于区块链的数字证书处理装置,包括:接收单元,用于接收来自数字证书授权中心ca的第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;发送单元,用于向所述ca发送第一区块的地址信息,所述第一区块是指所述区块链中存
储所述第一操作处理的数据的区块。
92.在一种可能的实现方式中,上述数字证书处理装置中包括功能单元/模块还用于执行第四方面以及第四方面中的任意一种实现方式中的数字证书处理方法。
93.应理解,在上述第四方面中对相关内容的扩展、限定、解释和说明也适用于第七方面中相同的内容。
94.第九方面,提供了一种基于区块链的数字证书处理装置,包括:包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该训练装置执行上述第一方面以及第一方面中的任意一种实现方式中的数字证书处理方法。
95.第十方面,提供了一种基于区块链的数字证书处理装置,包括:包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该训练装置执行上述第二方面以及第二方面中的任意一种实现方式中的数字证书处理方法。
96.第十一方面,提供了一种基于区块链的数字证书处理装置,包括:包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该训练装置执行上述第三方面以及第三方面中的任意一种实现方式中的数字证书处理方法。
97.第十二方面,提供了一种基于区块链的数字证书处理装置,包括:包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该训练装置执行上述第四方面以及第四方面中的任意一种实现方式中的数字证书处理方法。
98.第十三方面,提供了一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面至第四方面以及第一方面至第四方面的任意一种实现方式中的数字证书处理方法。
99.第十四方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面至第四方面以及第一方面至第四方面的任意一种实现方式中的数字证书处理方法。
100.第十五方面,提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面至第四方面以及第一方面至第四方面的任意一种实现方式中的数字证书处理方法。
101.可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行上述第一方面至第四方面以及第一方面至第四方面的任意一种实现方式中的数字证书处理方法。
附图说明
102.图1是本技术实施例提供的pki系统的架构示意图;
103.图2是本技术实施例提供的数字证书处理方法的示意性流程图;
104.图3是本技术实施例提供的基于区块链的数字证书处理方法的示意图;
105.图4是本技术实施例提供的区块链中交易的数据结构的示意图;
106.图5是本技术实施例提供的数字证书处理方法的示意性流程图;
107.图6是本技术实施例提供的证书签发交易上链的示意性流程图;
108.图7是本技术实施例提供的证书撤销交易上链的示意性流程图;
109.图8是本技术实施例提供的证书修改交易上链的示意性流程图;
110.图9是本技术实施例提供的证书状态验证方法的示意性流程图;
111.图10是本技术实施例提供的证书状态验证方法的示意性流程图;
112.图11是本技术提供的数字证书处理装置的示意性框图;
113.图12是本技术提供的数字证书处理装置的示意性框图;
114.图13是本技术提供的数字证书处理装置的示意性框图;
115.图14是本技术提供的数字证书处理装置的示意性框图;
116.图15是本技术提供的数字证书处理装置的硬件结构示意图。
具体实施方式
117.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
118.首先对本技术实施例中涉及的概念进行简单的说明。
119.1、公钥基础设施(public key infrastructure,pki)
120.公钥基础设施是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。密码学上,公开密钥基础建设借着数字证书认证机构将用户的个人身份跟公开密钥链接在一起。
121.图1所示为pki系统的架构示意图。其中,pki100中可以包括用户110、安全服务器120、注册机构(registration authority,ra)服务器130、轻量目录访问协议(lightweight directory access protocol,ldap)服务器140、证书授权中心(certificate authority,ca)150以及数据服务器160。
122.示例性地,安全服务器120面向普通用户,用于提供证书申请、浏览、证书撤销列表、证书下载等安全服务;用户需要首先得到安全服务器的证书(该证书由ca颁发)。
123.ra服务器130在ca体系结构中起承上启下的作用;一方面,可以向ca转发安全服务器传输过来的证书申请请求,另一方面,可以向ldap服务器140和安全服务器120转发ca颁发的数字证书和证书撤销列表(certificate revocation list,crl)。
124.ldap服务器140用于提供目录浏览服务,负责将ra服务器130传输过来的用户信息以及数字证书加入到服务器上;用户通过访问ldap服务器140就能够得到其他用户的数字证书。
125.ca150是整个证书机构的核心,负责证书的签发。ca首先产生自身的私钥和公钥,然后生成数字证书,并且将数字正常传输给安全服务器;ca还负责为安全服务器、ra服务器生成数字证书。
126.数据库服务器160是ca的核心部分,用于ca中数据(如密钥和用户信息等)、日志、
统计信息的存储和管理。
127.2、区块链技术
128.狭义来讲,区块链是一种按时间顺序将数据区块以顺序相连的方式组合成的一种链式数据,并以密码学的方式保证的不可伪造的分布式账本;广义来讲,区块链技术是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全性、利用由自动化脚本代码组成的智能合约来编程和操控数据的一种全新的分布式基础架构与计算范式。
129.区块链技术实现了一种按照时间顺序将数据和信息区块以顺序相连的方式组成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式存储。一般情况下,将区块链中的数据和信息称为“交易(transaction)”。
130.ca机构通过自身私钥签名为证书申请者签发证书,提供可信任的数字身份,从而保障用户在通信过程中的认证身份和保护传输信息的机密性和完整性。通过用户的证书状态验证可以有效地判断用户身份的合法性;目前,证书的状态验证(例如,证书是否被撤销或者更新)需要额外的手段去解决;例如:采用crl技术或者ocsp技术,其中,crl技术是指通过ca定期更新并发布的证书撤销列表来判断证书的当前状态,crl中包括被撤销证书的序列号、撤销时间等信息;ocsp技术是指用户向ocsp服务器发送查询请求,服务器对查询结果进行加密并返回给用户,用户使用服务器公钥对信息进行解密,得到证书状态验证的结果。对于crl技术,由于查询证书的状态受限于crl发布期,证书状态验证存在延迟的问题;对于ocsp技术,由于ocsp是实时查询并且客户端只能向证书所对应的ocsp服务器进行查询,所以随着证书数量和查询请求量的增加,服务器的响应速度会变慢,导致证书状态验证也会存在延迟的问题。
131.有鉴于此,本技术实施例提供了一种基于区块链的数字证书处理方法,将ca对数字证书的各个操作处理后的数据部署于区块链中,通过各个操作处理后的数据部署于区块链中的地址信息将各个操作关联起来,从而能够在获取数字证书的签发操作的地址信息与数字证书的标识的情况下,在区块链中查询数字证书的当前状态;通过本技术实施例中的数字证书处理方法,通过操作处理的地址信息能够在区块链中对应的区块中查询ca对数字证书的操作处理数据,从而能够提高证书状态验证的效率。
132.下面结合图2至图10对本技术实施例提供的数字证书的处理方法进行详细的描述。
133.图2是本技术实施例提供的数字证书处理方法的示意性流程图。图2所示的方法200包括步骤s210至步骤s240,下面分别对步骤s210至步骤s240进行详细的描述。
134.应理解,图2所示的数字证书处理方法可以是指用户对数字证书状态验证的处理方法;在用户对数字证书状态验证之前,ca可以将对数字证书的操作处理数据部署于区块链中,即在执行图2所示的方法之前还可以包括图4至图10所示的数字证书处理方法。
135.s210、区块链接收来自用户的数字证书的查询请求。
136.其中,查询请求包括数字证书的签发操作的地址信息,签发操作的地址信息用于表示在区块链中存储签发操作的数据的地址。
137.换而言之,在本技术的实施例中用户可以向区块链发送数字证书的查询请求,查询请求可以包括数字证书的签发操作的地址信息。
138.可选地,在一个示例中,查询请求中还可以包括数字证书的标识。
139.示例性地,通过数字证书的签发操作的地址信息可以在区块链中的目标区块中获取数字证书的签发操作的数据。
140.示例性地,通过数字证书的标识可以在目标区块中包括的多个数字证书中确定查询请求对应的目标数字证书。
141.示例性地,用户可以包括web服务器厂商,或者数字证书申请用户等。
142.在一个示例中,若用户可以直接与区块链进行信息交互,则用户可以在本地验证数字证书的状态,或者,用户可以直接向区块链发送数字证书的查询请求;即节点可以接收用户发送的数字证书的查询请求,节点可以用于维护和管理区块链。
143.在另一个示例中,若用户无法直接与区块链进行信息交互,则用户可以通过区块链中的记账者转发信息;比如,用户可以通过区块链中的记账节点向区块链发送数字证书的查询请求。
144.应理解,区块链的记账者也可以称为矿工,每一位矿工都有一份属于自己的区块链信息副本储存在他们本地的计算机上,区块链由各个矿工运行区块链程序,达成共识,生成区块。
145.s220、根据签发操作的地址信息在区块链中获取数字证书的签发操作的数据。
146.其中,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址。
147.应理解,区块链用于存储数字证书授权中心ca对所述数字证书的至少一个操作处理的数据在所述区块链中通过区块的地址信息相互关联,所述至少一个操作处理包括所述签发操作。
148.在本技术的实施例中,ca对数字证书的多个操作处理的数据可以通过在区块链进行上链;即将ca对数字证书的多个操作处理中每个操作处理的数据可以存储在区块链的区块中。
149.s230、根据第一地址信息获取所述数字证书的当前状态。
150.在一个示例中,根据所述第一地址信息获取所述数字证书的当前状态,包括:
151.根据所述签发操作的地址信息在所述区块链中确定所述目标区块,所述目标区块是指所述区块链中存储所述签发操作的数据的区块;
152.在所述第一地址信息为空或者预设字段时,获取所述数字证书的签发操作的数据。
153.在本技术的实施例中,在目标区块中包括的第一地址信息为空、或者预设字段或者其它预先配置字段时,说明在签发操作是ca对所述数字证书的最后一个操作的情况下,则在目标区块中获取数字证书的签发操作的数据;即数字证书的签发操作即数字证书的当前状态。
154.在另一个示例中,根据所述第一地址信息获取所述数字证书的当前状态,包括:
155.根据所述签发操作的地址信息在所述区块链中确定所述目标区块,所述目标区块是指所述区块链中存储所述签发操作的数据的区块;
156.根据所述第一地址信息获取签发操作的下一操作处理的数据的地址信息,并根据
该地址信息确定区块链中存储签发操作的下一操作处理的数据的区块;
157.在签发操作的下一操作处理为ca对数字证书的最后一个操作处理时,获取签发操作的下一操作处理的数据即为数字证书的当前状态。
158.需要说明的是,在签发操作的下一操作处理不是为ca对数字证书的最后一个操作处理的情况下,则根据区块中相关关联的地址信息可以逐跳获取操作处理的地址信息;进而获取ca对数字证书的最后一个操作处理的数据即数字证书的当前状态。
159.s240、向用户发送数字证书的当前状态。
160.换而言之,在本技术的实施例中用户可以接收来自区块链的数字证书的当前状态。
161.示例性地,通过数字证书的当前状态,用户可以确定数字证书的合法性;进而有效地判断数字证书对应的用户身份的合法性。在一个示例中,区块链中可以存储数字证书的一个操作处理的数据;比如,区块链中存储数字证书的签发操作的数据;存储签发操作的数据的区块中可以包括上一操作处理的地址信息与下一操作的地址信息,其中,上一操作处理的地址信息与下一操作的第一信息可以为预先配置的初始化地址;则用户可以通过在区块链中查询数字证书的状态确定数字证书当前处于签发状态。
162.在另一个示例中,区块链中可以存储数字证书的多个操作处理的数据;多个操作处理在区块链中的地址信息相关关联,则可以根据数字证书的签发操作的地址信息查询到当前数字证书的最后一个操作处理的数据;进而,确定数字证书的当前状态。
163.应理解,多个操作处理的数据相互关联可以是指通过多个操作处理中任意一个操作处理的数据可以查询到该任意一个操作处理相关的操作处理对应的数据;比如,ca对数字证书的多个操作处理为签发操作-更新操作-撤销操作,则在区块链中可以根据ca对数字证书的签发操作的地址信息可以查询到区块链中存储更新操作的数据的地址信息;根据更新操作的地址信息可以查询到在区块链中存储撤销操作的数据的地址信息。
164.可选地,所述目标区块还包括第二地址信息,所述第二地址信息用于表示在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
165.在一种可能的实现方式中,区块链中可以包括第一区块,第一区块可以指区块链中的任意一个区块;第一区块可以用于存储第一操作处理的数据,第一操作处理可以是指签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作中的任意一项,第一区块中可以包括两个地址信息;其中,一个地址信息用于表示在区块链中存储第一操作处理的上一操作处理的数据的地址,另一个地址信息用于表示在区块链中存储第一操作处理的下一操作处理的数据的地址。在本技术的实施例中,区块链中任意一个区块中的数据结构中可以包括上一操作的地址(链接前面一个操作)和下一操作的地址(修改该字段后实现向后链接),从而实现将ca对数字证书的操作处理的数据进行上链;通过区块的地址信息可以将所有操作处理的数据关联起来。具体地,第一区块中包括的数据结构可以参见后续图4所示的数据结构的示意图。
166.示例性地,第一操作处理可以是指ca对数字证书的签发操作,则ca可以将数字证书的哈希、数字证书的序列号、ca签名等信息发布至区块链中,同时携带签发操作的上一操作以及下一操作的地址信息。具体流程可以参见后续图6所示。
167.示例性地,第一操作处理可以是指ca对数字证书的撤销操作,则ca可以将数字证
书的哈希、数字证书的序列号、撤销原因、ca签名等信息发布至区块链,同时携带撤销操作的上一操作以及下一操作的地址信息。具体流程可以参见后续图7所示。
168.可选地,在一种可能的实现方式中,所述第一操作处理为以下操作处理的任意一项:
169.所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
170.需要说明的是,签发操作可以是指ca用于数字证书签发的操作;撤销操作可以是指ca对数字证书的证书生命终结的操作;冻结操作可以包括ca对数字证书的暂时性的冻结,而非永久的撤销;解冻操作可以是指ca对数字证书的对冻结操作的撤销;回退操作可以包括ca对数字证书的误撤销、误冻结、无修改的证书操作的撤回;更新操作是指ca对数字证书的证书内容的更新;比如,试用期延长等的更新。
171.可选地,在一种可能的实现方式中,还包括:接收来自所述ca的第一交易,所述第一交易用于将所述第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;向所述ca发送所述第一区块的地址信息。
172.示例性地,在本技术的实施例中,ca可以通过向区块链发布交易将对数字证书的操作处理的数据进行上链。具体流程可以参见后续图6至图10。
173.在一个示例中,在第一操作处理为所述签发操作时,所述目标地址信息是指所述第二地址信息。
174.在本技术的实施例中,在第一操作处理为数字证书的签发操作时,第一交易中携带的目标地址信息用于表示签发操作的上一操作处理的地址信息。
175.可选地,在一种可能的实现方式中,所述第二地址信息为预配置的初始化地址。
176.例如,预配置的初始化地址可以为“0x00”,或者,预配置的初始化地址可以为空。
177.在一个示例中,在第一操作处理不是所述签发操作时,在所述第一操作处理不是所述签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址信息,或者,所述目标地址信息是指所述签发操作的地址信息。
178.在本技术的实施例中,在第一操作处理不是数字证书的签发操作时,第一交易中携带的目标地址信息可以用于表示第一操作处理的上一操作处理的地址信息;或者,目标地址信息也可以是指数字证书的签发操作的地址信息。
179.进一步地,区块链还可以对区块中包括的下一操作处理的地址信息进行修改。
180.可选地,在一种可能的实现方式中,所述区块链中还包括第二区块,还包括:
181.根据所述第一区块的地址信息修改所述第二区块中包括的下一操作处理的地址信息,所述第二区块是指所述区块链中存储所述第一操作处理的上一操作处理的数据的区块。
182.在本技术的实施例中,ca在将对数字证书的操作处理数据进行上链时还可以携带下一操作的地址信息,下一操作的地址信息可以为预先配置的地址信息;后续,根据区块链返回的在区块链中存储下一操作处理数据的区块的地址信息,区块链可以将预先配置的地址信息进行修改。
183.可选地,在一种可能的实现方式中,还包括:根据所述签发操作的地址信息验证所述数字证书的当前状态处于合法状态。
184.在本技术的实施例中,在第一操作处理不是ca对数字证书的签发操作时,还可以获取数字证书的当前状态,在确定数字证书当前处于合法状态的情况下继续对数字证书进行后续操作。
185.在一个示例中,可以根据所述签发操作的地址信息在所述区块链中获取所述数字证书的当前状态,包括:
186.根据所述签发操作的地址信息在所述区块链中确定目标区块,所述目标区块是指所述区块链中存储所述签发操作的数据的区块;
187.在所述签发操作是所述ca对所述数字证书的最后一个操作的情况下,在所述目标区块中获取所述签发操作的数据。
188.可选地,在一种可能的实现方式中,在所述签发操作不是所述ca对所述数字证书的最后一个操作处理的情况下,还包括:
189.根据所述目标区块中包括的下一操作的地址信息在所述区块链中查询所述数字证书的最后一个操作处理的地址信息;
190.根据所述最后一个操作处理的地址信息在所述区块链中获取所述数字证书的最后一个操作处理的数据。
191.需要说明的是,上述获取数字证书的当前状态的过程可以重复执行一次或者多次,直至查询到ca对数字证书的最后一个操作处理对应的数据;根据ca对数字证书的最后一个操作处理对应的数据从而获取数字证书的当前状态。具体流程可以参见后续图9或图10所示。
192.在一个示例中,区块链接收用户发送的数字证书的查询请求,查询请求中包括数字证书的签发操作的地址信息,区块链可以通过签发操作的地址信息进行逐一查询,获得当前最新操作处理的数据在区块链中的地址信息,并将最新操作处理的数据返回给用户。
193.在一个示例中,区块链接收用户发送的数字证书的查询请求,查询请求中包括数字证书的签发操作的地址信息,区块链可以通过签发操作的地址信息进行逐一查询,当获取一个地址信息中存储的操作处理的数据时区块链可以逐一向用户返回;直至将最新操作处理的数据返回给用户。
194.在本技术的实施例中,通过将ca对数字证书的至少一个操作处理的数据存储在区块链中,至少一个个操作处理的数据在区块链中通过区块的地址信息相互关联;进而,在用户查询数字证书的当前状态时,可以向区块链发送数字证书的签发操作的地址信息;区块链可以根据数字证书的签发操作的地址信息获取该数字证书的当前状态,即可以根据数字证书的签发操作的地址信息在区块链中查询数字证书的后续生命周期,实现了区块链中链上查询数字证书的状态;从而避免用户需要集中向服务器查询数字证书的当前状态导致的延迟问题,能够提高数字证书状态验证的效率。
195.示例性地,图3是本技术实施例提供的基于区块链的数字证书处理方法的示意图。如图3所示,证书授权中心ca可以将对证书状态的操作发布至区块链;其中,对证书状态的操作可以分为三种类型,分别为签发交易、撤销交易以及修改交易。
196.示例性地,签发交易用于将ca对数字证书的签发操作的数据部署于区块链中。
197.例如,ca为用户a签发证书后,将证书哈希、序列号、ca签名等信息发布至区块链;同时,携带该签发交易的上一操作地址/下一操作地址;比如,上一操作地址/下一操作地址
可以初始化为0x00;签发交易上链后获得区块链地址可以为0x12345678。
198.示例性地,撤销交易用于将ca对数字证书的撤销操作或者冻结操作的数据部署于区块链中。
199.例如,当ca将用户a的证书撤销(包括冻结)后,ca将证书哈希、序列号、撤销原因、ca签名、上一操作地址(比如,0x12345678)等信息发布至区块链;获得当前撤销操作对应的区块链地址(比如,0x23456789),k个区块链后(避免分叉),可以根据上一操作地址(比如,0x12345678)修改对应签发操作对应的区块中的“下一操作地址”字段,将其修改为0x23456789。
200.示例性地,修改交易用于将ca对数字证书的撤销操作、解冻操作或者更新操作等操作的数据部署于区块链中。
201.与证书撤销交易类似,ca可以将解冻的证书交易发布至区块链;同时,修改上一次交易的“下一操作地址”,证书更新是对证书内容(主体、有效期等信息)的修改,虽然证书的哈希值发生了变化,但是也可以通过修改交易将组织的证书生命周期连接起来。
202.应理解,通过上述基于可编辑区块链的证书状态管理以及验证这种方式可以将证书的操作通过不同操作对应的区块链中的操作地址信息链接起来,用户b可通过证书哈希和签发操作对应的区块链的地址向区块链节点请求追踪验证用户a证书的最新状态。
203.在本技术的实施例中,提出了基于可编辑区块链的证书状态以及验证方法,通过ca将对证书的操作发布至区块链,通过操作对应的区块链的地址以及上一操作地址或者下一操作地址从而将证书的各个操作关联起来,通过区块链中的地址可以查询证书的当前状态。
204.图4是本技术实施例提供的区块链中交易的数据结构的示意图。
205.在本技术的实施例中,证书的生命周期是通过区块链上的交易来实现连接的,主要的数据结构如图4所示;图4以以太坊数据进行举例说明,交易的类型分为三种,签发交易、撤销交易和修改交易。交易的附加数据中包括证书的哈希、证书序列号(签发交易)或者操作原因,比如,撤销交易或修改交易的原因;数据依据(ca签名,可能存在多ca联合签发证书的现象)、上一操作的地址(链接前面一个操作)和下一操作的地址(修改该字段后实现向后链接)。通过交易的数据结构能够记录证书验证的必要信息,便于管理证书状态以及在验证证书状态时使用。
206.需要说明的是,区块链本身具有不可篡改的特性,因为下一个区块中包含了上一个区块的哈希值;在本技术的实施例中通过修改交易的附加数据中的下一操作的地址,从而能够将对证书的不同操作在区块链中相互关联。比如,下一操作地址的初始值均为0x00,修改后链接到后面的交易;由于可编辑区块链修改了交易中的部分信息,可能会影响到区块以及区块链的完整性,因此在验证区块时,如果数据段有修改则可以先恢复至0x00验证区块的完整性,再通过地址链接的交易来验证修改值的安全性。
207.图5是本技术实施例提供的数字证书处理方法的示意性流程图。图5所示的方法300包括步骤s310至步骤s320,下面分别对步骤s310至步骤s320进行详细的描述。
208.应理解,图2所示的数字证书处理方法可以是指用户对数字证书状态验证的处理方法;在用户对数字证书状态验证之前,ca可以通过图5所示的方法将对数字证书操作处理的数据部署于区块链中。
209.s310、向所述区块链发送第一交易。
210.换而言之,在本技术的实施例中区块链可以接收来自ca的第一交易。
211.其中,第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址。
212.示例性地,在本技术的实施例中,ca可以通过向区块链发布交易将对数字证书的操作处理的数据进行上链。
213.s320、接收来自区块链的第一区块的地址信息。
214.其中,第一区块是指区块链中存储第一操作处理的数据的区块。
215.换而言之,在本技术的实施例中区块链可以向ca发送第一区块的地址信息。
216.在本技术的实施例中,当区块链将第一操作进行上链后,区块链可以向ca发送地址信息以便于ca对数字证书进行后续的信息管理。
217.示例性地,在本技术的实施例中,ca可以通过向区块链发布交易将对数字证书的操作处理的数据进行上链。
218.可选地,在一种可能的实现方式中,在所述第一操作处理是所述数字证书的签发操作时,所述目标地址信息是指在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
219.在本技术的实施例中,在第一操作处理为数字证书的签发操作时,第一交易中携带的目标地址信息可以是指签发操作的上一操作处理的地址信息。
220.可选地,在一种可能的实现方式中,所述第一地址信息为预配置的初始化地址。
221.例如,预配置的初始化地址可以为“0x00”,或者,预配置的初始化地址可以为空。
222.可选地,在一种可能的实现方式中,在第一操作处理不是数字授权中心ca对数字证书的签发操作时,第一地址信息可以是所述第一操作处理的上一操作处理的地址信息得到的,目标地址信息为可以预配置的初始化地址。
223.例如,在第一操作处理不是ca对数字证书的签发操作时,ca可以获取区块链发送的第一操作处理的上一操作处理的地址信息,从而得到第一地址信息。
224.可选地,在一种可能的实现方式中,还包括:
225.接收来自用户的所述数字证书的申请请求,所述申请请求中包括用户的身份信息。
226.示例性地,ca可以接收用户发送的数字证书的申请请求后,ca可以对数字证书申请对象的身份进行审核;申请请求中包括数字证书申请对象的身份信息,比如,数字证书申请对象的身份信息可以是指数字证书申请对象的域名、数字证书申请对象的公钥以及有效期等信息。
227.可选地,在一种可能的实现方式中,在所述第一操作处理不是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,或者,所述目标地址信息是指在所述区块链中存储所述数字证书的签发操作的数据的地址。
228.在本技术的实施例中,在第一操作处理不是数字证书的签发操作时,第一交易中携带的目标地址信息可以用于表示第一操作处理的上一操作处理的地址信息;或者,目标
地址信息也可以是指数字证书的签发操作的地址信息。
229.可选地,在一种可能的实现方式中,所述第一区块中包括第三地址信息与第四地址信息,所述第三地址信息用于表示在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,所述第四地址信息用于表示在所述区块链中存储所述第一操作处理的下一操作处理的数据的地址。
230.在本技术的实施例中,区块链中任意一个区块中的数据结构中可以包括上一操作的地址(链接前面一个操作)和下一操作的地址(修改该字段后实现向后链接),从而实现将ca对数字证书的操作处理的数据进行上链;通过区块的地址信息可以将所有操作处理的数据关联起来。
231.可选地,在一种可能的实现方式中,所述第四地址信息是所述区块链根据第三区块的地址信息得到的,所述第三区块是指在所述区块链中存储所述第一操作处理的下一操作处理的数据的区块。
232.可选地,在一种可能的实现方式中,所述第一操作处理为以下操作处理的任意一项:
233.所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
234.需要说明的是,签发操作可以是指ca用于数字证书签发的操作;撤销操作可以是指ca对数字证书的证书生命终结的操作;冻结操作可以包括ca对数字证书的暂时性的冻结,而非永久的撤销;解冻操作可以是指ca对数字证书的对冻结操作的撤销;回退操作可以包括ca对数字证书的误撤销、误冻结、无修改的证书操作的撤回;更新操作是指ca对数字证书的证书内容的更新;比如,试用期延长等的更新。
235.在本技术的实施例中,ca在将对数字证书的操作处理数据进行上链时还可以携带下一操作的地址信息,下一操作的地址信息可以为预先配置的地址信息;后续,根据区块链返回的在区块链中存储下一操作处理数据的区块的地址信息,区块链可以将预先配置的地址信息进行修改。
236.在本技术的实施例中,通过将ca对数字证书的操作处理对应的数据存储在区块链中,多个操作处理对应的数据在区块链中通过地址信息相互关联;进而根据数字证书的签发操作的地址信息则可以在区块链中查询数字证书的后续生命周期,实现了区块链中链上查询数字证书的状态;从而避免需求集中向服务器查询数字证书的当前状态导致的延迟问题,能够提高数字证书状态验证的效率。
237.下面结合图6至图10分别对证书的签发交易、撤销交易、修改交易以及证书验证的流程进行详细描述。
238.图6是本技术实施例提供的证书签发交易上链的示意性流程图。图6所示的方法400包括步骤s410至步骤s460,下面分别对步骤s410至步骤s460进行详细的描述。
239.s410、ca接收来自用户的证书申请请求。
240.其中,用户可以包括web服务器厂商,或者数字证书申请用户等。
241.s420、ca审核请求信息,确认是否签发证书。
242.s430、在ca确定签发证书的情况下,ca向区块链发送证书签发交易。
243.应理解,签发交易可以是指ca可以将对数字证书的签发操作的数据通过交易的形式部署于区块链中。
244.例如,ca可以将一个或者多个签发操作打包至交易中,然后将签发交易上链。
245.示例性地,在将签发交易进行区块链上链时,向区块链发送的数据还可以包括但不限于:证书哈希值、证书序列号、ca签名、上一操作的地址信息以及下一操作的地址信息。
246.s440、ca获取证书签发交易的区块链地址信息。
247.例如,签发交易上链之后可获得一个对应的区块链地址,通过该区块链地址可快速定位对应的签发交易。
248.s450、ca验证获取的区块链地址中是否存在证书的签发交易。
249.s460、向用户发送数字证书。
250.进一步,ca还可以向用户发送数字证书签发操作的数据在的区块链中的地址信息。
251.例如,在ca对接收的签发交易的区块链地址信息进行验证后,可以向用户发送证书以及签发交易对应的区块链地址信息。
252.在证书的签发交易上链的过程中,通过区块链地址信息可以查询证书在区块链中的状态,签发证书后的操作也需要通过对这一操作进行修改,才能够对证书状态进行更新。将证书的审计信息存储到区块链,实现了证书操作的透明化;通过签发交易的区块链地址,可以有效防止用户对证书进行恶意修改,有利于后续证书状态验证;并且用户无需特定ca的服务器即可通过任意区块链节点验证证书的状态。
253.图7是本技术实施例提供的证书撤销交易上链的示意性流程图。图7所示的方法500包括步骤s510至步骤s550,下面分别对步骤s510至步骤s550进行详细的描述。
254.s510、ca查询证书签发交易的区块链地址信息。
255.示例性地,可以根据证书的标识(例如,证书的id)在区块链中查找签发交易对应的区块地址信息。
256.s520、根据签发操作的地址信息验证证书状态。
257.示例性地,通过签发操作的地址信息ca可以进行二次验证证书的状态,若数字证书当前为合法状态,则可以进行后续操作;若数字证书当前为不合法状态(比如,证书已撤销,或者,证书未知),则可以不执行撤销操作。
258.应理解,上述s520为可选地步骤,执行完s510后也可以直接执行s530。
259.s530、ca向区块链发送证书撤销交易。
260.应理解,撤销交易可以是指ca可以将对数字证书的撤销操作数据通过交易的形式部署于区块链中。
261.例如,ca可以将一个或多个撤销操作打包到撤销交易中,然后将该撤销交易上链。
262.示例性地,撤销操作中可以包括但不限于以下数据:证书哈希值、证书序列号、撤销或修改原因、ca签名、上一操作的地址信息以及下一操作的地址信息。
263.s540、区块链中的区块验证撤销交易,修改交易地址。
264.例如,在区块中包含撤销交易时,各节点验证交易中的证书哈希值和操作者等信息,确认是否修改对应的签发交易,签发交易可以通过撤销交易中的“上一操作的地址”和证书哈希来定位。
265.可选的,可以设定在签发交易对应的区块的k个区块之后修改签发交易。
266.s550、ca接收证书撤销交易的区块链地址信息。
267.示例性地,区块链将撤销交易的地址返回给ca,便于ca进行本地的身份信息管理。
268.应理解,上述撤销交易主要是对证书进行撤销或者冻结,撤销与冻结操作的区别在于冻结操作是短期的,还可能会被解冻;而考虑到可能存在的误撤销操作,所以统一将撤销操作和冻结操作归结到撤销交易中,并在撤销交易中记录撤销(或者冻结)的原因。
269.图8是本技术实施例提供的证书修改交易上链的示意性流程图。图8所示的方法600包括步骤s610至步骤s650,下面分别对步骤s610至步骤s650进行详细的描述。
270.s610、ca查询证书签发交易或者撤销交易对应的区块链地址信息。
271.示例性地,可以根据证书的哈希值在区块链中查找签发交易对应的区块地址信息。
272.s620、根据签发操作的地址信息验证证书状态。
273.应理解,上述s620为可选地步骤,执行完s610后也可以直接执行s630。
274.示例性地,通过签发操作的地址信息ca可以进行二次验证证书的状态,若数字证书当前为合法状态,则可以进行后续操作;若数字证书当前为不合法状态(比如,证书已撤销,或者,证书未知),则可以不执行撤销操作。
275.s630、ca向区块链发送证书修改交易。
276.应理解,修改交易可以是指ca可以将对数字证书的修改操作数据通过交易的形式部署于区块链中。
277.s640、区块链中的区块验证修改交易,修改交易地址。
278.s650、ca接收证书修改交易的区块链地址信息。
279.在一种可能的实现方式中,在证书修改交易中,除了解冻和修改日志,还可以实现更新证书的操作;比如,修改证书的有效期、证书的域名范围等,记录下由于证书修改而造成的证书哈希值的变化。
280.进一步地,在验证证书时,可以直接通过更新证书的操作定位到下一个操作,更新操作能够记录该组织或用户的信息变更,从而实现对证书全生命周期的状态更新。
281.需要说明的是,ca在发布证书时已经验证证书与区块链地址的对应关系,因此签发操作一般是不需要进行修改;在对撤销操作进行验证时,其审计信息与前发信息一致,否则不能上链。
282.在本技术的实施例中,证书修改交易的主要用途是回退证书的状态,也就是处理误撤销和解冻证书;例如,ca误操作撤销了证书,则可以通过修改交易删除撤销操作。
283.下面结合图9与图10对本技术实施例提供的证书状态验证方法的示意性流程图。
284.图9是本技术实施例提供的证书状态验证方法的示意性流程图。图9所示的方法700包括步骤s710至步骤s750,下面分别对步骤s710至步骤s730进行详细的描述。
285.应理解,在图9所示的证书状态的验证方法中证书的操作日志记录在区块链中,用户可以通过查询交易,在本地验证证书状态,或者,直接向节点请求证书的状态。
286.s710、用户向区块链发送数字证书的验证请求。
287.其中,验证请求中可以包括数字证书的签发操作的地址信息。
288.可选地,在本技术的实施例中验证请求中还可以包括数字证书的标识;比如,数字证书的标识可以是指数字证书的哈希值。
289.示例性地,用户可以是指数字证书申请对象;比如,数字证书申请对象可以包括
web服务器厂商,或者数字证书申请用户。
290.在一个示例中,步骤s710中的验证请求可以是指图2所示的数字证书的查询请求。
291.s720、区块链向用户发送ca对数字证书的操作数据。
292.示例性地,区块链根据数字证书的签发操作的地址信息可以在区块链中查询到数字证书的签发操作的数据;由于ca对数字证书的至少一个操作的数据是通过在区块链中的地址信息相互关联的,因此,在存储签发操作的数据的区块中还包括签发操作的下一操作的地址信息;进而,区块链可以对数字证书的状态进行进一步查询。
293.应理解,上述s720与s730可以执行多次;用户可以根据不同的交易对应的区块链地址信息在区块链中进行查询;直至查询至证书的最后一次操作,即证书的当前状态。
294.s730、用户根据区块链中的操作信息确定数字证书的当前状态。
295.示例性地,用户可以根据前面步骤获取的ca对数字证书的操作数据,进而确定数字证书的当前状态。
296.图10是本技术实施例提供的证书状态验证方法的示意性流程图。图10所示的方法800包括步骤s810至步骤s850,下面分别对步骤s810至步骤s850进行详细的描述。
297.应理解,在图10所示的证书状态的验证方法中,客户端需要向区块链中的记账者发送操作对应的区块链地址信息,记账者通过操作对应的区块链地址信息获取对应证书一系列的交易,通过这些交易可以确认证书的最终状态,由区块链节点完成证书状态的查询并将查询结果返回至客户端。
298.应理解,区块链的记账者,也可以称为矿工;每一位矿工都有一份属于自己的区块链信息副本储存在他们本地的计算机上,区块链由各个矿工运行区块链程序,达成共识,生成区块。
299.s810、用户向记账者发送数字证书的验证请求。
300.其中,验证请求中可以包括数字证书的签发操作的地址信息。可选地,在本技术的实施例中验证请求中还可以包括数字证书的标识;比如,数字证书的标识可以是指数字证书的哈希值。
301.示例性地,用户可以是指数字证书申请对象;比如,数字证书申请对象可以包括web服务器厂商,或者数字证书申请用户。
302.在一个示例中,步骤s710中的验证请求可以是指图2所示的数字证书的查询请求。
303.s820、记账者可以向区块链发送数字证书的签发操作的地址信息。
304.可选地,记账者还可以向区块链发送数字证书的标识;比如,数字证书的哈希值。
305.s830、区块链向记账者发送ca对数字证书的操作数据。
306.示例性地,区块链根据数字证书的签发操作的地址信息可以在区块链中查询到数字证书的签发操作的数据;由于ca对数字证书的至少一个操作的数据是通过在区块链中的地址信息相互关联的,因此,在存储签发操作的数据的区块中还包括签发操作的下一操作的地址信息;进而,区块链可以对数字证书的状态进行进一步查询。
307.应理解,上述s820与s830可以执行多次;可以根据不同的交易对应的区块链地址信息在区块链中进行查询;直至查询至证书的最后一次操作,即证书的当前状态。
308.s840、记账者根据区块链中的操作数据确定数字证书的当前状态。示例性地,记账者可以根据前面步骤获取的证书操作,验证证书的状态。
309.s850记账者向用户发送数字证书的当前状态。
310.在本技术的实施例中,区块链用于存储数字证书授权中心ca对数字证书的至少一个操作处理的数据,通过将至少一个操作处理的数据部署于区块链中的地址信息关联起来,从而能够在获取数字证书的签发操作的地址信息情况下,可以在区块链中查询数字证书的当前状态;通过本技术实施例中的数字证书处理方法,通过操作处理的地址信息能够在区块链查询到数字证书的当前状态,从而能够提高证书状态验证的效率。
311.应理解,上述举例说明是为了帮助本领域技术人员理解本技术实施例,而非要将本技术实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本技术实施例的范围内。
312.上文结合图1至图10,详细描述了本技术实施例提供的基于区块链的数字证书处理方法;下面将结合图11至图15,详细描述本技术的装置实施例。应理解,本技术实施例中的基于区块链的数字证书处理装置可以执行前述本技术实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
313.图11是本技术实施例提供的基于区块链的数字证书处理装置的示意性框图。
314.应理解,图11所示的数字证书处理装置可以执行图2、图9以及图10所示的任意一个所示的数字证书处理方法中全部或部分操作;该数字证书处理装置900包括:收发单元910和处理单元920。
315.需要说明的是,数字证书处理装置900可以是指计算设备或者配置于计算设备中的芯片。
316.其中,计算设备可以为具有维护与管理区块链功能的设备,例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。计算设备中可以包括存储器和处理器;存储器可以用于存储程序代码,处理器可以用于调用存储器存储的程序代码,以实现计算设备的相应功能。计算设备中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
317.其中,收发单元910用于接收来自用户的数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;处理单元920用于根据所述签发操作的地址信息在所述区块链中获取所述数字证书的签发操作的数据,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址;根据所述第一地址信息获取所述数字证书的当前状态;收发单元910还用于向所述用户发送所述数字证书的当前状态。
318.可选地,作为一个实施例,所述目标区块还包括第二地址信息,所述第二地址信息用于表示在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
319.可选地,作为一个实施例,所述收发单元910用于:
320.接收来自所述ca的第一交易,所述第一交易用于将所述第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址,所述第一操作处理包括所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作中的任意一项;向所述ca发
送第一区块的地址信息,所述第一区块用于存储所述第一操作处理的数据。
321.可选地,作为一个实施例,在所述第一操作处理为所述签发操作时,所述目标地址信息是指所述第二地址信息。
322.可选地,作为一个实施例,所述第二地址信息为预配置的初始化地址。
323.可选地,作为一个实施例,在所述第一操作处理不是所述签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址信息,或者,所述目标地址信息是指所述签发操作的地址信息。
324.可选地,作为一个实施例,所述区块链中还包括第二区块,所述处理单元920还用于:
325.根据所述第一区块的地址信息修改所述第二区块中包括的下一操作处理的地址信息,所述第二区块是指所述区块链中存储所述第一操作处理的上一操作处理的数据的区块。
326.可选地,作为一个实施例,所述处理单元920还用于:
327.根据所述签发操的地址信息验证所述数字证书的当前状态处于合法状态。
328.可选地,作为一个实施例,所述查询请求中还包括所述数字证书的标识。
329.在一个示例中,数字证书处理装置900可以用于执行图2、图9以及图10所示的任意一个所示的数字证书处理方法中全部或部分操作。例如,收发单元910可以用于执行s210、s240、s630、s650、s710、s720中全部或部分操作;处理单元920可以用于执行s220、s230中全部或部分操作。
330.图12是本技术实施例提供的基于区块链的数字证书处理装置的示意性框图。
331.应理解,图12所示的数字证书处理装置可以执行图2、图9以及图10所示的数字证书处理方法;该数字证书处理装置1000包括:发送单元1010和接收单元1020。
332.需要说明的是,数字证书处理装置1000可以是指终端设备,或者,配置于终端设备中的芯片,用户可以通过终端设备与区块链进行信息交互。
333.其中,发送单元1010用于向区块链发送数字证书的查询请求,所述查询请求包括所述数字证书的签发操作的地址信息,所述签发操作的地址信息用于表示在所述区块链中存储所述签发操作的数据的地址;接收单元1020用于接收来自所述区块链的所述数字证书的当前状态,所述数字证书的当前状态是根据第一地址信息在所述区块链中获取的,所述签发操作的数据存储在所述区块链中的目标区块中,所述目标区块包括所述第一地址信息,所述第一地址信息用于表示在所述区块链中存储所述签发操作的下一操作处理的数据的地址。
334.可选地,作为一个实施例,所述目标区块还包括第二地址信息,所述第二地址信息用于表示在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
335.可选地,作为一个实施例,在所述第一操作处理是所述签发操作时,所述发送单元1010还用于:
336.向所述ca发送的所述数字证书的申请请求,所述申请请求中包括用户的身份信息。
337.可选地,作为一个实施例,所述第二地址信息与所述目标地址信息为预配置的初始化地址。
338.可选地,作为一个实施例,在所述第一操作处理不是所述签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址信息,或者,所述目标地址信息是指所述签发操作的地址信息。
339.在一个示例中,数字证书处理装置1000可以用于执行图2、图9以及图10中任意一个所示的数字证书处理方法中全部或部分操作。例如,接收单元1010可以用于执行s240、s720、s830、s850中全部或部分操作;发送单元1020可以用于执行s210、s710、s810中全部或部分操作。
340.应理解,数字证书处理装置1000除了上述接收单元1010与发送单元1020还可以包括其它单元;比如,处理单元,处理单元可以控制接收单元与接收单元执行上述操作。
341.图13是本技术实施例提供的基于区块链的数字证书处理装置的示意性框图。
342.应理解,图13所示的数字证书处理装置可以执行图5至图8所示的任意一个所示的数字证书处理方法中全部或部分操作;该数字证书处理装置1100包括:发送单元1110和接收单元1120。
343.需要说明的是,数字证书处理装置1100可以是服务器或者配置于服务器中的芯片;该服务器可以是指证书授权中心的服务器。
344.其中,发送单元1110用于向区块链发送第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;接收单元1120用于接收来自所述区块链的第一区块的地址信息,所述第一区块是指所述区块链中存储所述第一操作处理的数据的区块。
345.可选地,作为一个实施例,在所述第一操作处理是所述数字证书的签发操作时,所述目标地址信息是指在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
346.可选地,作为一个实施例,所述目标地址信息为预配置的初始化地址。
347.可选地,作为一个实施例,所述接收单元1120还用于:
348.接收来自用户的所述数字证书的申请请求,所述申请请求中包括用户的身份信息。
349.可选地,作为一个实施例,在所述第一操作处理不是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,或者,所述目标地址信息是指在所述区块链中存储所述数字证书的签发操作的数据的地址。
350.可选地,作为一个实施例,所述第一区块中包括第三地址信息与第四地址信息,所述第三地址信息用于表示在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,所述第四地址信息用于表示在所述区块链中存储所述第一操作处理的下一操作处理的数据的地址。
351.可选地,作为一个实施例,所述第四地址信息是所述区块链根据第三区块的地址信息得到的,所述第三区块是指在所述区块链中存储所述第一操作处理的下一操作处理的数据的区块。
352.可选地,作为一个实施例,所述第一操作处理是指所述ca对所述数字证书的以下操作中的任意一项:
353.所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
354.在一个示例中,数字证书处理装置1100可以用于执行图5至图8所示的任意一个所示的数字证书处理方法中全部或部分操作。例如,发送单元1110可以用于执行s310、s430、s460、s530、s630中全部或部分操作;接收单元1120可以用于执行s320、s440、s550、s650中全部或部分操作。
355.应理解,数字证书处理装置1100除了上述接收单元1110与发送单元1120还可以包括其它单元;比如,处理单元,处理单元可以控制接收单元与接收单元执行上述操作。
356.图14是本技术实施例提供的基于区块链的数字证书处理装置的示意性框图。
357.应理解,图13所示的数字证书处理装置可以执行图5至图8所示的任意一个所示的数字证书处理方法中全部或部分操作;该数字证书处理装置1200包括:接收单元1210和发送单元1220。
358.需要说明的是,数字证书处理装置1200可以是指计算设备或者配置于计算设备中的芯片。
359.其中,计算设备可以为具有维护与管理区块链功能的设备,例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。计算设备中可以包括存储器和处理器;存储器可以用于存储程序代码,处理器可以用于调用存储器存储的程序代码,以实现计算设备的相应功能。计算设备中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
360.其中,接收单元1210用于接收来自数字证书授权中心ca的第一交易,所述第一交易用于将数字证书授权中心ca对数字证书的第一操作处理的数据存储在所述区块链中,所述第一交易中携带目标地址信息,所述目标地址信息用于所述区块链确定存储所述第一操作处理的上一操作处理的数据的地址;发送单元1220用于向所述ca发送第一区块的地址信息,所述第一区块是指所述区块链中存储所述第一操作处理的数据的区块。
361.可选地,作为一个实施例,在所述第一操作处理是所述数字证书的签发操作时,所述目标地址信息是指在所述区块链中存储所述签发操作的上一操作处理的数据的地址。
362.可选地,作为一个实施例,所述目标地址信息为预配置的初始化地址。
363.可选地,作为一个实施例,在所述第一操作处理不是所述数字证书签发操作时,所述目标地址信息是指在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,或者,所述目标地址信息是指在所述区块链中存储所述数字证书的签发操作的数据的地址。
364.可选地,作为一个实施例,所述第一区块中包括第三地址信息与第四地址信息,所述第三地址信息用于表示在所述区块链中存储所述第一操作处理的上一操作处理的数据的地址,所述第四地址信息用于表示在所述区块链中存储所述第一操作处理的下一操作处理的数据的地址。
365.可选地,作为一个实施例,所述第四地址信息是所述区块链根据第三区块的地址信息得到的,所述第三区块是指在所述区块链中存储所述第一操作处理的下一操作处理的数据的区块。
366.可选地,作为一个实施例,所述第一操作处理是指所述ca对所述数字证书的以下操作中的任意一项:
367.所述签发操作、撤销操作、冻结操作、解冻操作、回退操作或者更新操作。
368.在一个示例中,数字证书处理装置1200可以用于执行图5至图8所示的任意一个所示的数字证书处理方法中全部或部分操作。例如,接收单元1210可以用于执行s310、s430、s530、s630中全部或部分操作;发送单元1220可以用于执行s320、s440、s550、s650中全部或部分操作。
369.应理解,数字证书处理装置1200除了上述接收单元1210与发送单元1220还可以包括其它单元;比如,处理单元,处理单元可以控制接收单元与接收单元执行上述操作。
370.需要说明的是,上述数字证书处理装置900、数字证书处理装置1000、数字证书处理装置1100以及数字证书处理装置1200以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
371.例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
372.因此,在本技术的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
373.图15是本技术实施例提供的数字证书处理装置的硬件结构示意图。
374.图15所示的数字证书处理装置1300包括存储器1310、处理器1320、通信接口1330以及总线1340。其中,存储器1310、处理器1320、通信接口1330通过总线1340实现彼此之间的通信连接。
375.存储器1310可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器1310可以存储程序,当存储器1310中存储的程序被处理器1320执行时,处理器1320用于执行本技术实施例数字证书处理方法的各个步骤。
376.在一个示例中,数字证书处理装置1300可以是指终端设备,或者,配置于终端设备中的芯片,用户可以通过终端设备与区块链进行信息交互;可以执行如图2、图9以及图10任意一个所示的数字证书处理方法。
377.在另一个示例中,数字证书处理装置1300可以是服务器或者配置于服务器中的芯片;该服务器可以是指证书授权中心的服务器;执行如图2至图7所示的任意一个所示的数字证书处理方法中全部或部分操作。
378.在另一个示例中,数字证书处理装置1300可以是指计算设备或者配置于计算设备中的芯片;执行如图2至图9所示的任意一个所示的数字证书处理方法中全部或部分操作。
379.其中,计算设备可以为具有维护与管理区块链功能的设备,例如,可以包括当前技术已知的任何设备;或者,计算设备还可以是指具有维护与管理区块链功能的芯片。计算设备中可以包括存储器和处理器;存储器可以用于存储程序代码,处理器可以用于调用存储器存储的程序代码,以实现计算设备的相应功能。计算设备中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
380.例如,存储器可以用于存储本技术实施例中提供的数字证书处理方法的相关程序指令,处理器可以用于调用存储器中存储的数字证书处理方法的相关程序指令。
381.处理器1320可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序以实现本技术方法实施例的数字证书处理方法。
382.处理器1320还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的超参数的搜索方法的各个步骤可以通过处理器1320中的硬件的集成逻辑电路或者软件形式的指令完成。
383.上述处理器1320还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1310,处理器1320读取存储器1310中的信息,结合其硬件完成本技术实施中图11至图14所示的数字证书处理装置中包括的单元所需执行的功能,或者,执行本技术方法实施例的执行图2至图10所示的数字证书处理方法。
384.通信接口1330使用例如但不限于收发器一类的收发装置,来实现数字证书处理装置1300与其他设备或通信网络之间的通信。
385.总线1340可包括在数字证书处理装置1300各个部件(例如,存储器1310、处理器1320、通信接口1330)之间传送信息的通路。
386.应注意,尽管上述数字证书处理装置1300仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,数字证书处理装置1300还可以包括实现正常运行所必须的其他器件。同时,根据具体需要本领域的技术人员应当理解,上述数字证书处理装置1300还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述数字证书处理装置1300也可仅仅包括实现本技术实施例所必须的器件,而不必包括图15中所示的全部器件。
387.示例性地,本技术实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路;该芯片可以执行上述方法实施例中的数字证书处理方法。
388.示例性地,本技术实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的数字证书处理方法。
389.示例性地,本技术实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中的数字证书处理方法。
390.应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现
成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
391.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
392.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
393.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
394.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
395.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
396.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
397.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
398.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
399.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
400.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
401.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
402.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献