基于区块链网络的证书吊销方法、相关设备及介质转让专利

申请号 : CN201911297596.5

文献号 : CN110730081B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴小龙

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了一种基于区块链网络的证书吊销方法、相关设备及介质;其中,方法包括:共识节点接收证书吊销设备发送的配置交易数据,并对配置交易数据进行共识;配置交易数据包括待吊销证书;若配置交易数据通过共识,则将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块;将配置区块广播至区块链网络中的各个业务节点,使得各个业务节点根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表。本发明实施例通过配置区块进行证书吊销,可有效保证证书的同步吊销。

权利要求 :

1.一种基于区块链网络的证书吊销方法,其特征在于,所述区块链网络包括共识节点和至少一个业务节点,所述共识节点与位于所述区块链网络外的证书吊销设备进行通信;

所述区块链网络是由多个联盟组织共同管理的联盟链网络,所述方法包括:

所述共识节点接收所述证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案是由所述证书吊销设备在确定接收到的联盟组织的管理者针对初始配置数据的签名信息满足权限策略时生成的;所述初始配置数据包括所述待吊销证书;

若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;

将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。

2.如权利要求1所述的方法,其特征在于,每个联盟组织管理所述区块链网络中的一个或多个业务节点;

所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。

3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:

根据所述目标失效证书更新所述共识节点中的失效证书列表;

存储所述配置区块。

4.如权利要求1或2所述的方法,其特征在于,所述方法还包括:

若接收到目标交易数据,则对所述目标交易数据进行共识;

若所述目标交易数据通过共识,则根据所述目标交易数据生成目标交易区块;

将所述目标交易区块广播至所述各个业务节点,使得所述各个业务节点存储所述目标交易区块,并执行所述目标交易数据所指示的交易。

5.一种基于区块链网络的证书吊销方法,其特征在于,所述区块链网络包括共识节点和业务节点,所述共识节点与位于所述区块链网络外的证书吊销设备进行通信;所述区块链网络是由多个联盟组织共同管理的联盟链网络,所述方法包括:所述业务节点接收所述共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案是由所述证书吊销设备在确定接收到的联盟组织的管理者针对初始配置数据的签名信息满足权限策略时生成的;所述初始配置数据包括所述待吊销证书;

存储所述配置区块;

从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。

6.如权利要求5所述的方法,其特征在于,所述方法还包括:

若接收到所述共识节点发送的目标交易区块,则采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性;所述目标交易区块是由所述共识节点在目标交易数据通过共识后,根据所述目标交易数据生成的;

若所述目标交易区块有效,则存储所述目标交易区块,并执行所述目标交易数据所指示的交易。

7.如权利要求6所述的方法,其特征在于,所述目标交易数据是由目标客户端发送至所述共识节点的,所述目标交易数据携带所述目标客户端的目标签名信息;所述采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性,包括:从所述目标交易区块中提取出所述目标交易数据所携带的目标签名信息;

采用更新后的失效证书列表中的各个失效证书,对所述目标签名信息进行解密;

若解密成功,则确定所述目标交易区块无效;否则,则确定所述目标交易区块有效。

8.如权利要求5所述的方法,其特征在于,所述业务节点接收所述共识节点广播的配置区块之前,还包括:当所述业务节点加入所述区块链网络中时,向所述共识节点发送区块同步请求,以请求所述共识节点返回至少一个历史交易区块;所述至少一个历史交易区块中包括所述目标失效证书对应的历史交易区块;

接收所述共识节点返回的至少一个历史交易区块,并将各个历史交易区块作为有效区块进行存储。

9.如权利要求5所述的方法,其特征在于,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;

所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;

所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。

10.一种基于区块链网络的证书吊销方法,其特征在于,所述方法应用于证书吊销设备,所述证书吊销设备与所述区块链网络中的各个节点进行通信,所述区块链网络包括共识节点和业务节点;所述区块链网络是由多个联盟组织共同管理的联盟链网络,所述方法包括:所述证书吊销设备获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案是由所述证书吊销设备在确定接收到的联盟组织的管理者针对初始配置数据的签名信息满足权限策略时生成的;所述初始配置数据包括所述待吊销证书;

将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给所述区块链网络中的业务节点,以使得所述业务节点根据所述配置区块中的目标失效证书更新所述业务节点中的失效证书列表。

11.如权利要求10所述的方法,其特征在于,每个联盟组织管理所述区块链网络中的一个或多个业务节点;所述根据所述待吊销证书生成配置交易数据,包括:根据所述待吊销证书生成配置提案,所述配置提案中包括所述待吊销证书以及至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端;

将所述配置提案发送至所述至少一个联盟组织下的业务节点进行签名,并接收所述至少一个联盟组织下的业务节点返回的签名后的配置提案;

对接收到的签名后的配置提案进行封装,得到配置交易数据。

12.如权利要求11所述的方法,其特征在于,所述根据所述待吊销证书生成配置提案,包括:生成包括所述待吊销证书的初始配置数据,并将所述初始配置数据发送至至少一个联盟组织的管理终端进行签名;

接收所述至少一个组织的管理终端返回的签名后的初始配置数据,并根据接收到的签名后的初始配置数据生成配置提案。

13.如权利要求12所述的方法,其特征在于,所述根据接收到的签名后的初始配置数据生成配置提案之前,还包括:检测所述签名后的初始配置数据是否满足预设权限策略;所述预设权限策略包括以下至少一项:所述签名后的初始配置数据中所包括的管理终端的签名信息的数量大于预设数量,所述签名后的初始配置数据中包括指定联盟组织的管理终端的签名信息;

若满足,则执行根据接收到的签名后的初始配置数据生成配置提案的步骤。

14.一种基于区块链网络的证书吊销系统,其特征在于,所述证书吊销系统包括:所述区块链网络中的共识节点和业务节点,以及证书吊销设备;

其中,所述共识节点用于执行如权利要求1-4任一项所述的证书吊销方法;所述业务节点用于执行如权利要求5-9任一项所述的证书吊销方法;所述证书吊销设备用于执行如权利要求10-13任一项所述的证书吊销方法。

15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-4任一项所述的证书吊销方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行如权利要求5-9任一项所述的证书吊销方法;或者,所述计算机存储介质存储有一条或多条第三指令,所述一条或多条第三指令适于由处理器加载并执行如权利要求10-13任一项所述的证书吊销方法。

说明书 :

基于区块链网络的证书吊销方法、相关设备及介质

技术领域

[0001] 本发明涉及互联网技术领域,具体涉及计算机技术领域,尤其涉及一种基于区块链网络的证书吊销方法、一种基于区块链网络的证书吊销装置、一种节点设备、一种证书吊销设备、一种证书吊销系统及一种计算机存储介质。

背景技术

[0002] 随着互联网技术的发展,基于证书系统的区块链网络(如联盟链网络)逐渐受到越来越多的个人及企业的关注。对于基于证书系统的区块链网络而言,任何设备均需使用一个唯一的证书作为自身的数字身份,使得后续可采用该证书将交易数据上传至区块链网络以生成相应的区块。证书通常具有时效性,基于证书系统的区块链网络中的各个节点通常会根据证书签发机构所签发的证书有效期来判断证书是否失效。任一节点若检测到自身系统时钟所记录的当前时刻大于证书的证书有效期所指示的最晚有效时刻,则会对该证书进行吊销处理,即将该证书作为失效证书。
[0003] 经实践表明:由于区块链网络本质上是一个分布式系统,因此无法保证各个节点具有一个绝对统一的系统时钟;这样会导致各个节点内部的系统时钟存在一定的差异,从而导致各个节点在根据自身的系统时钟和证书有效期判断同一个证书是否失效时,存在判断结果不一致的问题,进而导致同一个证书存在吊销不同步的问题。

发明内容

[0004] 本发明实施例提供了一种基于区块链网络的证书吊销方法、相关设备及介质,可以通过配置区块进行证书吊销,可有效保证证书的同步吊销。
[0005] 一方面,本发明实施例提供了一种基于区块链网络的证书吊销方法,所述方法包括:
[0006] 共识节点接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;
[0007] 若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;
[0008] 将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。
[0009] 另一方面,本发明实施例提供了一种基于区块链网络的证书吊销方法,所述方法包括:
[0010] 业务节点接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;
[0011] 存储所述配置区块;
[0012] 从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。
[0013] 再一方面,本发明实施例提供了一种基于区块链网络的证书吊销方法,所述方法包括:
[0014] 证书吊销设备获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;
[0015] 将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给所述区块链网络中的业务节点。
[0016] 再一方面,本发明实施例提供了一种基于区块链网络的证书吊销装置;所述装置运行于所述区块链网络中的共识节点中,所述装置包括:
[0017] 接收单元,用于接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;
[0018] 处理单元,用于若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;
[0019] 广播单元,用于将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。
[0020] 再一方面,本发明实施例提供了一种基于区块链网络的证书吊销装置;所述装置运行于所述区块链网络中的业务节点中,所述装置包括:
[0021] 接收单元,用于接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;
[0022] 处理单元,用于存储所述配置区块;
[0023] 所述处理单元,用于从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。
[0024] 再一方面,本发明实施例提供了一种基于区块链网络的证书吊销装置;所述装置运行于证书吊销设备,所述装置包括:
[0025] 获取单元,用于获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;
[0026] 发送单元,用于将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给区块链网络中的业务节点。
[0027] 再一方面,本发明实施例提供了一种节点设备,所述节点设备包括输入接口和输出接口,所述节点还包括:
[0028] 处理器,适于实现一条或多条指令;以及,
[0029] 计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
[0030] 接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;
[0031] 若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;
[0032] 将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。
[0033] 或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
[0034] 接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;
[0035] 存储所述配置区块;
[0036] 从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。
[0037] 再一方面,本发明实施例提供了一种证书吊销设备,所述节点设备包括输入接口和输出接口,所述节点还包括:
[0038] 处理器,适于实现一条或多条指令;以及,
[0039] 计算机存储介质,所述计算机存储介质存储有一条或多条第三指令,所述一条或多条第三指令适于由所述处理器加载并执行如下步骤:
[0040] 获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;
[0041] 将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给所述区块链网络中的业务节点。
[0042] 再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行上述共识节点侧的证书吊销方法;所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行上述业务节点侧的证书吊销方法;所述计算机存储介质存储有一条或多条第三指令,所述一条或多条第三指令适于由处理器加载并执行上述证书吊销设备侧的证书吊销方法。
[0043] 本发明实施例中的区块链网络可包括共识节点和业务节点,共识节点可与证书吊销设备进行通信。在进行证书吊销时,证书吊销设备可向共识节点发送携带待吊销证书的配置交易数据。相应的,共识节点可对配置交易数据进行共识;在配置交易数据通过共识后,将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块;然后将携带目标失效证书的配置区块广播至各个业务节点,使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表,从而实现证书的吊销。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。

附图说明

[0044] 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045] 图1a是本发明实施例提供的一种证书吊销系统的架构示意图;
[0046] 图1b是本发明实施例提供的另一种证书吊销系统的架构示意图;
[0047] 图1c是本发明实施例提供的一种证书吊销方案的流程示意图;
[0048] 图1d是本发明实施例提供的一种区块链的示意图;
[0049] 图2是本发明实施例提供的一种证书吊销方法的流程示意图;
[0050] 图3a是本发明实施例提供的一种共识节点添加配置区块的示意图;
[0051] 图3b是本发明实施例提供的一种业务节点添加配置区块的示意图;
[0052] 图3c是本发明实施例提供的一种业务节点添加目标失效证书的示意图;
[0053] 图4是本发明另一实施例提供的一种证书吊销方法的流程示意图;
[0054] 图5是本发明实施例提供的一种目标客户端上传目标交易数据的示意图;
[0055] 图6是本发明实施例提供的一种证书吊销装置的结构示意图;
[0056] 图7是本发明另一实施例提供的一种证书吊销装置的结构示意图;
[0057] 图8是本发明另一实施例提供的一种证书吊销装置的结构示意图;
[0058] 图9是本发明实施例提供的一种节点设备的结构示意图;
[0059] 图10是本发明实施例提供的一种证书吊销设备的结构示意图。

具体实施方式

[0060] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0061] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式;其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(或称为区块)。此处的区块是指用于记录交易数据的数据结构,每个区块均具有时间戳,每个区块中的交易数据均携带签名信息。随着区块链技术的发展,基于证书系统的区块链网络逐渐受到了广泛的关注;此处的基于证书系统的区块链网络(下述简称区块链网络)是指:采用证书作为数字身份以进行数据交易的区块链网络。在基于证书系统的区块链网络中,每个区块均对应一个证书;证书可用于对区块中的交易数据所携带的签名信息进行解密。若区块对应的证书有效,则表明该区块为有效区块;否则,则表明区块为无效区块。其中,证书是一种通过公钥所生成的数字身份标识,其可由统一的证书签发机构(如CA机构)进行签发。证书签发机构在签发每个证书时,通常会为每个证书设置一个证书有效期,以使得每个证书均具有时效性。证书一旦失效,便需要对该证书进行吊销处理以使得该证书不能再继续被使用;此处的吊销处理是指将证书作为无效证书的处理。
[0062] 本发明实施例的相关技术提及:目前通常是由区块链网络中的各个节点分别根据自身的系统时钟和证书有效期来判断是否需要吊销证书的。然而经实践表明,此证书吊销方式具有如下缺点:①由于区块链网络无法保证一个绝对统一的系统时钟,这样会使得各个节点在根据自身的系统时钟和证书有效期判断同一个证书是否失效时,存在判断结果不一致的问题,从而导致同一个证书存在吊销不同步的问题。若同一个证书存在吊销不同步,则会在各节点根据证书校验同一区块的有效性时,进一步导致有效性校验结果不一致的问题,从而影响区块链网络的性能。例如,当各节点接收到证书a对应的区块a时,若节点1还未吊销证书a,则节点1会将区块a作为有效区块;但若节点2在此之前已吊销了证书a,则节点2会将区块a作为无效区块。②会导致在吊销某证书之后,后期加入至区块链网络中的新节点在同步区块的过程中,会将使用该证书上传的各个历史交易数据所对应的历史交易区块均判定为失效区块,从而拒绝同步这些历史交易区块,进而导致新节点无法同步证书被吊销前,使用该证书所上传的历史交易数据所对应的历史交易区块。
[0063] 为了有效解决上述所提及的问题,本发明实施例提出了一种基于共识的一致性证书吊销方案;该证书吊销方案可应用于一个基于区块链网络的证书吊销系统中。此处的区块链网络可以是任何基于证书系统的区块链网络,如联盟链网络、后续研发出的基于证书系统的私有链网络,等等。其中,所谓的联盟链网络是指由多个联盟组织共同管理的区块链网络,私有链网络是指由某一个组织机构进行管理的区块链网络。为便于阐述,除非特别指明,本发明实施例所提及的区块链网络均以联盟链网络为例进行说明。具体实现中,区块链网络可包括多个节点且各节点内均可存储一个或多个区块;此处的节点是指区块链网络中用于进行数据处理的基础设备,其可以包括但不限于:智能终端、平板电脑、台式计算机以及服务器等等。区块链网络中的多个节点可包括共识节点和业务节点。
[0064] 基于区块链网络的证书吊销系统可至少包括:共识节点11、业务节点12以及证书吊销设备13。证书吊销设备13可以是一个独立的设备(如终端、服务器等),也可以是由多个设备所构成的集群设备;证书吊销设备13可与区块链网络中的共识节点11和业务节点12进行通信。具体实现中,证书吊销设备13可以为区块链网络外的设备,也可以为区块链网络中的节点设备;为便于阐述,后续均以证书吊销设备为区块链网络外的设备进行说明,此情况下的证书吊销系统可参见图1a所示。需要说明的是,图1a只是示例性地表示证书吊销系统的架构,其并不对证书吊销系统的实际架构进行限定;例如,图1a中的证书吊销设备13是由一个终端构成的,但实际应用中,其可以由多个终端构成;又如,当区块链网络为联盟链网络时,每个联盟组织可分别管理一个或多个业务节点12;此时可根据各个业务节点12所属的联盟组织,将图1a中的各个业务节点12划分成多个不同的组织集合,此时的系统架构图可参见图1b所示。
[0065] 由上述证书吊销系统的相关描述可知,区块链网络中的各个节点内均可存储一个或多个区块,各个区块均具有区块号和区块哈希。此处的区块号是指区块在区块链上的编号;区块号可用于确定区块高度,区块高度可是指区块在区块链上的连接位置;例如,某区块的区块号为100,则表明该区块的区块高度为100,即表明该区块属于区块链上的第100个区块。区块哈希是对当前的区块链状态的一个数学摘要表示,不同的区块哈希对应不同的区块高度。经研究表明,由于区块链网络中主要涉及是各个交易数据的执行,而区块链中的各个区块的区块号和区块哈希可以代表区块链网络中各个区块中的交易数据被执行的先后顺序。因此,本发明实施例所提出的证书吊销方案摒弃了各个节点内部的系统时钟,而是设计采用根据区块号或者区块哈希所确定的区块高度作为各个节点的参考时钟。通过将待吊销证书以配置区块的方式上链至区块链,使得各个节点可根据配置区块的区块高度这个相对时间来对后续的区块所使用的证书进行有效性校验。具体的,该证书吊销方案主要包括以下三个方面:①证书吊销配置的权限策略:不同的联盟组织可以自定义不同的权限,以便于联盟组织对证书吊销进行管理。例如可设置权限策略为:需要至少两个联盟组织的管理者进行签名;或者需要指定的联盟组织(如组织1(0rg1)和组织2(0rg2))的管理者进行签名,等等。②证书吊销配置交易的背书:在吊销证书的过程中,需要由联盟组织下的各个业务节点进行背书;此处的背书是指在提案(一种提交的建议)上进行签名。③证书吊销区块生成和共识:由共识节点对携带待吊销证书的配置交易数据进行共识,并在共识通过后,生成相应的配置区块;一个关于证书吊销的配置交易数据生成一个配置区块,通过共识节点进行共识可保证配置一致性。
[0066] 下面将结合图1c所示的流程图,对本发明实施例所提出的证书吊销方案的具体流程作进一步的阐述:首先,证书吊销设备可将待吊销证书生成初始配置数据,初始配置数据中可包括该待吊销证书;证书吊销设备可在步骤s11中通过链下方式获取所需联盟组织(以组织1和组织2为例进行说明)的管理者针对初始配置数据的签名信息。接着,证书吊销设备可在步骤s12中根据管理者的签名信息和待吊销证书生成完整的配置提案,即配置提案中可包括管理者的签名信息和待吊销证书。可选的,在生成配置提案之前,证书吊销设备可检测接收到的管理者的签名信息是否满足权限策略;例如,权限策略可包括:接收到签名信息需包括:组织1的管理者的签名信息及组织2的管理者的签名信息。当接收到的管理者的签名信息满足权限策略时,证书吊销设备则可生成配置提案。在生成配置提案之后,证书吊销设备可通过步骤s13将配置提案发送给所需联盟组织下的业务节点进行背书(即签名),并通过步骤s14接收各个业务节点返回的背书签名信息,背书签名信息中可包括签名后的配置提案。然后,证书吊销设备可通过步骤s15根据接收到的背书签名信息生成配置交易数据,并通过步骤s16将配置交易数据发送给共识节点进行共识,配置交易数据中包括待吊销证书和所需联盟组织下的业务节点的背书签名信息。相应的,共识节点在接收到配置交易数据后,可通过步骤s17对配置交易数据进行共识。在共识通过后,共识节点便可将配置交易数据中的待吊销证书作为目标失效证书,并在步骤s18中根据该目标失效证书更新共识节点的本地MSP(身份管理模块)中的失效证书列表。共识节点还可生成包含目标失效证书的配置区块,并通过步骤s19将配置区块广播给各个业务节点。各个业务节点在接收到共识节点广播的配置区块后,可通过步骤s20根据配置区块中的目标失效证书更新各个业务节点的本地MSP中的失效证书列表。
[0067] 通过上述的证书吊销方案进行证书吊销,可使得区块链网络中的各个节点(如共识节点和业务节点)在后续校验交易区块的有效性时,可将失效证书所在的配置区块的区块高度作为分界线,从而进行区块的有效性校验。例如,参见图1d所示:设区块高度为M的配置区块中包括了失效的证书A,那么各个节点均以区块高度M作为分界线,认为区块高度为0-(M-1)之间的所有历史交易区块均是有效区块。也就是说,即使0-(M-1)之间的历史区块中包括了证书A所对应的目标历史交易区块,则各节点仍会将证书A对应的目标历史交易区块作为有效区块。当各节点接收到证书A所对应的新交易区块后,由于该新交易区块的区块高度≥M,此时证书A已失效,因此可认为根据采用证书A上传的新交易数据所生成的新交易区块为无效区块。同理,当区块链网络存在新加入的新增业务节点时,该新增业务节点可从共识节点或者同一联盟组织下的其他业务节点处进行区块同步。由于只有同步到配置区块时,新增节点才会将证书A作为失效证书以更新本地的失效证书列表;因此,在同步创世块(第一个区块)至区块高度为M-1的历史交易区块的过程中,新增业务节点可认为此过程中的证书A仍然是有效的;即使区块高度为0-(M-1)之间的历史交易区块中存在证书A所对应的目标历史区块,新增业务节点仍可将该目标历史区块作为有效区块进行同步。在同步区块高度≥M的交易区块后,若存在证书A所对应的交易区块,则会将该交易区块作为无效区块,并拒绝同步该无效区块。
[0068] 由此可见,本发明实施例所提出的证书吊销方案可至少包括以下优点:①无需使用证书签发机构所签发的证书有效期来判断证书是否有效,而是通过把要过期的待吊销证书以配置交易的方式上链达成共识。各节点以配置区块的区块高度为时间分界线来判定证书是否有效,可有效解决证书吊销不同步的问题。通过实现证书的同步吊销,还可进一步使得各节点根据证书校验同一区块的有效性时,有效解决有效性校验结果不一致的问题,从而提升区块链网络的性能。②在对某证书进行吊销后,若存在新增业务节点加入区块链网络,则该新增业务节点可从共识节点或者同一联盟组织下的其他业务节点处,同步得到证书被吊销前,使用该证书所上传的历史交易数据所对应的历史交易区块。
[0069] 基于上述证书吊销方案的描述,本发明实施例提出一种基于区块链网络的证书吊销方法。在本发明实施例中,以区块链网络是由多个联盟组织共同管理的联盟链网络为例进行说明,每个联盟组织管理区块链网络中的一个或多个业务节点。请参见图2,该证书吊销方法可包括以下步骤S201-S208:
[0070] S201,证书吊销设备获取待吊销证书,并根据待吊销证书生成配置交易数据。
[0071] 在具体实现中,证书吊销设备在获取待吊销证书时,可至少包括以下两种实施方式:一种实施方式中,证书吊销设备可根据证书的证书有效期来确定待吊销证书;当检测当前系统时刻晚于某证书的证书有效期的最晚有效时刻,则可将该证书作为待吊销证书;例如,当前系统时刻为2019.11.14上午10:00,而证书A的证书有效期为2018.11.13-2019.11.13,则证书吊销设备可将证书A作为待吊销证书。另一种实施方式中,证书吊销设备还可在接收到其他设备发送的证书吊销请求后,解析该证书吊销请求得到待吊销证书。
[0072] 证书吊销设备在获取到待吊销证书之后,可根据待吊销证书生成配置交易数据。具体实现中,可先根据待吊销证书生成配置提案;其次,可将配置提案发送至至少一个联盟组织下的业务节点进行签名,并接收至少一个联盟组织下的业务节点返回的签名后的配置提案;然后,可对接收到的签名后的配置提案进行封装,得到配置交易数据,该配置交易数据可包括待吊销证书。
[0073] S202,证书吊销设备将配置交易数据发送至区块链网络中的共识节点。
[0074] S203,共识节点接收证书吊销设备发送的配置交易数据,并对配置交易数据进行共识。
[0075] 在具体实现中,共识节点在接收到证书吊销设备发送的配置交易数据后,可基于共识机制对配置交易数据进行共识;共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链网络中各节点共同认可的一种数学算法。若共识通过,则共识节点可继续执行步骤S204-S205;否则,结束本流程。
[0076] S204,若配置交易数据通过共识,则共识节点将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块。
[0077] S205,共识节点将配置区块广播至区块链网络中的各个业务节点。
[0078] 共识节点在通过步骤S204生成配置区块之后,可通过步骤S205将配置区块广播至区块链网络中的各个业务节点。相应的,业务节点可接收共识节点广播的配置区块,并执行步骤S206-S207。可选的,共识节点还可根据目标失效证书更新共识节点中的失效证书列表;具体的,共识节点可将目标失效证书添加至共识节点所存储的失效证书列表中,以更新共识节点中的失效证书列表。另外,共识节点还可存储该配置区块;具体的,共识节点可将配置区块添加至共识节点内的账本中,如图3a所示。
[0079] S206,业务节点存储配置区块。
[0080] S207,业务节点从配置区块中提取出目标失效证书,并根据目标失效证书更新业务节点中的失效证书列表。
[0081] 在步骤S206-S207中,由于配置区块是由共识节点在配置交易数据通过共识后,将配置交易数据中的待吊销证书作为目标失效证书而生成的;配置区块包括目标失效证书。因此,业务节点在接收到共识节点广播的配置区块之后,可存储该配置区块;具体的,业务节点可将配置区块添加至业务节点内的账本中,如图3b所示。业务节点还可从配置区块中提取出目标失效证书,并将目标失效证书添加至业务节点的失效证书列表中(如图3c所示),以更新业务节点的失效证书列表。
[0082] 在一个实施例中,在业务节点接收共识节点广播的配置区块之前,业务节点在加入区块链网络时,还可从共识节点或者其它业务节点处同步历史交易区块。下面以从共识节点处同步区块为例,对区块同步过程进行阐述:当业务节点加入区块链网络中时,可先向共识节点发送区块同步请求,以请求共识节点返回至少一个历史交易区块;至少一个历史交易区块中包括目标失效证书对应的历史交易区块。然后,可接收共识节点返回的至少一个历史交易区块,并将各个历史交易区块作为有效区块进行存储;具体实现中,业务节点可将各个历史交易区块作为有效区块添加至业务节点内的账本中。由此可见,业务节点在接收到配置区块之前,可从共识节点处同步得到目标失效证书所对应的历史交易区块。
[0083] 本发明实施例中的区块链网络可包括共识节点和业务节点,共识节点可与证书吊销设备进行通信。在进行证书吊销时,证书吊销设备可向共识节点发送携带待吊销证书的配置交易数据。相应的,共识节点可对配置交易数据进行共识;在配置交易数据通过共识后,将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块;然后将携带目标失效证书的配置区块广播至各个业务节点,使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表,从而实现证书的吊销。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而对将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0084] 基于图2所示的方法实施例的描述,本发明实施例提出了另一种基于区块链网络的证书吊销方法的流程示意图;该证书吊销方法由上述证书吊销系统中的证书吊销设备执行。在本发明实施例中,以区块链网络是由多个联盟组织共同管理的联盟链网络为例进行说明,每个联盟组织管理区块链网络中的一个或多个业务节点。请参见图4,该证书吊销方法可包括以下步骤S401-S405:
[0085] S401,证书吊销设备获取待吊销证书,并根据待吊销证书生成配置提案。
[0086] 在具体实现中,证书吊销设备可先获取待吊销证书,其具体实施方式可参见上述发明实施例中的步骤S201的相关描述,在此不再赘述。然后,证书吊销设备可根据待吊销证书生成配置提案。具体的,首先,可生成包括待吊销证书的初始配置数据,并将初始配置数据发送至至少一个联盟组织的管理终端进行签名,管理终端是指联盟组织的管理者所使用的终端;其次,可接收至少一个组织的管理终端返回的签名后的初始配置数据,并根据接收到的签名后的初始配置数据生成配置提案,该配置提案中包括待吊销证书以及至少一个联盟组织的管理终端的签名信息。
[0087] 其中,在将初始配置数据发送至至少一个联盟组织的管理终端进行签名时,可将初始配置数据同时分别发送给至少一个联盟组织的管理终端进行签名;也可将初始配置数据依次发送给至少一个联盟组织的管理终端进行签名。所谓的依次发送是指:每次只将初始配置数据发送给一个联盟组织的管理终端进行签名,且每次发送的初始配置数据均携带上一个联盟组织的管理终端的签名信息。例如,可先将初始配置数据发送给联盟组织1的管理终端进行签名;然后,将该联盟组织1的管理终端返回的签名后的初始配置数据,再发送给联盟组织3的管理终端进行签名,依次类推。
[0088] 在一个实施例中,由前述可知,本发明实施例还可预设一个权限策略来实现对配置提案的生成进行约束;只有在接收到的联盟组织的管理终端的签名信息(即管理者的签名信息)满足预设权限策略时,才可允许生成配置提案。因此,证书吊销设备在根据接收到的签名后的初始配置数据生成配置提案之前,还可检测检测签名后的初始配置数据是否满足预设权限策略;此处的预设权限策略包括以下至少一项:签名后的初始配置数据中所包括的管理终端的签名信息的数量大于预设数量,签名后的初始配置数据中包括指定联盟组织的管理终端的签名信息;若满足,则执行根据接收到的签名后的初始配置数据生成配置提案的步骤。
[0089] S402,将配置提案发送至至少一个联盟组织下的业务节点进行签名。
[0090] 在一种实施方式中,证书吊销设备在生成配置提案之后,可直接将配置提案发送至至少一个联盟组织下的业务节点进行签名。再一种实施方式中,证书吊销设备也可先根据配置提案中所包括管理终端的签名信息从至少一个联盟组织中确定出目标联盟组织;所述配置提案中包括目标联盟组织的管理终端的签名信息;然后将配置提案发送至目标联盟组织下的业务节点进行签名。在此实施方式下,对配置提案进行签名的业务节点是指步骤S401中对初始配置数据进行签名的联盟组织下的业务节点。通过上述任一种方式将配置提案发送至至少一个联盟组织下的业务节点进行签名后,证书吊销设备可接收至少一个联盟组织下的业务节点返回的签名后的配置提案。
[0091] 需要说明的是,在将配置提案发送至至少一个联盟组织下的业务节点进行签名时,证书吊销设备也可选择将配置提案同时分别发送至至少一个联盟组织下的业务节点进行签名;或者,选择将配置提案依次发送至至少一个联盟组织下的业务节点进行签名。
[0092] S403,接收至少一个联盟组织下的业务节点返回的签名后的配置提案。
[0093] S404,对接收到的签名后的配置提案进行封装,得到配置交易数据,该配置交易数据可包括待吊销证书。
[0094] S405,将配置交易数据发送至区块链网络中的共识节点。
[0095] 具体的,证书吊销设备在生成配置交易数据之后,可采用证书吊销设备的私钥对该配置交易数据进行签名,然后将携带证书吊销设备的签名信息的配置交易数据发送至共识节点;从而使得共识节点在配置交易数据通过共识后,将待吊销证书作为目标失效证书,以及将包含目标失效证书的配置区块广播给各个业务节点,从而使得各个业务节点根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表。
[0096] 本发明实施例中的证书吊销设备可和区块链网络中的共识节点和业务节点进行通信。证书吊销设备在获取到待吊销证书后,可先根据待吊销证书生成配置交易数据,配置交易数据包括待吊销证书。然后,将配置交易数据发送至共识节点,使得共识节点在配置交易数据通过共识后,将待吊销证书作为目标失效证书,生成并广播包含目标失效证书的配置区块至各个业务节点,从而使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0097] 需要说明的是,上述图2和图4所示的发明实施例主要阐述的是证书吊销的流程。在采用图2和图4所示的证书吊销方法对共识节点和业务节点内的失效证书列表进行更新,从而实现证书的同步吊销之后;共识节点和业务节点还可根据更新后的失效证书列表中的各个失效证书对后续的交易区块进行有效性校验;具体如下:
[0098] 参见图5所示:当用户需要在区块链网络中执行某交易时,用户可通过目标客户端将交易提案发送给区块链网络中的各个业务节点进行背书签名。需要说明的是,目标客户端需要预先向证书签发机构进行注册,以获取到目标客户端的证书;只有客户端具有证书之后,才可与区块链网络中的各个节点进行数据交互。目标客户端在接收到各个业务节点返回的签名后的交易提案后,可对各个业务节点返回的签名后的交易提案进行封装,得到初始交易数据。然后,目标客户端可对该初始交易数据进行签名,得到目标交易数据,并将目标交易数据发送至共识节点。相应的,共识节点若接收到目标交易数据,则可对目标交易数据进行共识;若目标交易数据通过共识,则根据目标交易数据生成目标交易区块;并将目标交易区块广播至各个业务节点,使得各个业务节点存储该目标交易区块,并执行目标交易数据所指示的交易。
[0099] 相应的,业务节点若接收到共识节点发送的目标交易区块,则可采用更新后的失效证书列表中的失效证书校验目标交易区块的有效性;目标交易区块是由共识节点在目标交易数据通过共识后,根据目标交易数据生成的。若目标交易区块有效,则可存储该目标交易区块,并执行目标交易数据所指示的交易;否则,便结束本流程。由前述可知,目标交易数据是由目标客户端发送至共识节点的,目标交易数据携带目标客户端的目标签名信息;因此,采用更新后的失效证书列表中的失效证书校验目标交易区块的有效性的具体实施方式可以是:从目标交易区块中提取出目标交易数据所携带的目标签名信息;采用更新后的失效证书列表中的各个失效证书,对目标签名信息进行解密;若解密成功,则确定目标交易区块无效;否则,则确定目标交易区块有效。可选的,采用更新后的失效证书列表中的失效证书校验目标交易区块的有效性的具体实施方式还可以是:从证书签发机构处查询目标客户端的证书;检测更新后的失效证书列表中是否包含目标客户端的证书;若包含,则确定目标交易区块无效;否则,则确定目标交易区块有效。
[0100] 基于上述方法实施例的相关描述,本发明实施例还公开了一种基于区块链网络的证书吊销装置;所述证书吊销装置可以是运行于共识节点中的一个计算机程序(包括程序代码)。请参见图6,所述证书吊销装置可以包括如下单元:
[0101] 接收单元601,用于接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;
[0102] 处理单元602,用于若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;
[0103] 广播单元603,用于将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。
[0104] 在一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。
[0105] 再一种实施方式中,处理单元602还可用于:根据所述目标失效证书更新所述共识节点中的失效证书列表;存储所述配置区块。
[0106] 再一种实施方式中,处理单元602还可用于:若接收到目标交易数据,则对所述目标交易数据进行共识;若所述目标交易数据通过共识,则根据所述目标交易数据生成目标交易区块;将所述目标交易区块广播至所述各个业务节点,使得所述各个业务节点存储所述目标交易区块,并执行所述目标交易数据所指示的交易。
[0107] 根据本发明的一个实施例,图2中所示的步骤S203-S205可以分别由图6中所示的接收单元601、处理单元602以及广播单元603来执行。根据本发明的另一个实施例,图6所示的证书吊销装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于证书吊销装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0108] 根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中所涉及的步骤S203-S205的计算机程序(包括程序代码),来构造如图6中所示的证书吊销装置设备,以及来实现本发明实施例的证书吊销方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0109] 本发明实施例中的区块链网络可包括共识节点和业务节点,共识节点可与的证书吊销设备进行通信。在进行证书吊销时,证书吊销设备可向共识节点发送携带待吊销证书的配置交易数据。相应的,共识节点可对配置交易数据进行共识;在配置交易数据通过共识后,将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块;然后将携带目标失效证书的配置区块广播至各个业务节点,使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表,从而实现证书的吊销。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0110] 基于上述方法实施例的相关描述,本发明实施例还公开了一种基于区块链网络的证书吊销装置;所述证书吊销装置可以是运行于业务节点中的一个计算机程序(包括程序代码)。请参见图7,所述证书吊销装置可以包括如下单元:
[0111] 接收单元701,用于接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;
[0112] 处理单元702,用于存储所述配置区块;
[0113] 所述处理单元702,用于从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。
[0114] 在一种实施方式中,处理单元702还可用于:若接收到所述共识节点发送的目标交易区块,则采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性;所述目标交易区块是由所述共识节点在目标交易数据通过共识后,根据所述目标交易数据生成的;若所述目标交易区块有效,则存储所述目标交易区块,并执行所述目标交易数据所指示的交易。
[0115] 再一种实施方式中,所述目标交易数据是由目标客户端发送至所述共识节点的,所述目标交易数据携带所述目标客户端的目标签名信息;相应的,处理单元702在用于采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性时,可具体用于:从所述目标交易区块中提取出所述目标交易数据所携带的目标签名信息;采用更新后的失效证书列表中的各个失效证书,对所述目标签名信息进行解密;若解密成功,则确定所述目标交易区块无效;否则,则确定所述目标交易区块有效。
[0116] 再一种实施方式中,所述业务节点接收所述共识节点广播的配置区块之前;处理单元702还可用于:当所述业务节点加入所述区块链网络中时,向所述共识节点发送区块同步请求,以请求所述共识节点返回至少一个历史交易区块;所述至少一个历史交易区块中包括所述目标失效证书对应的历史交易区块;接收所述共识节点返回的至少一个历史交易区块,并将各个历史交易区块作为有效区块进行存储。
[0117] 再一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。
[0118] 根据本发明的一个实施例,图2中所示的步骤S206-S207可由图7中所示的处理单元702来执行。根据本发明的另一个实施例,图7所示的证书吊销装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于证书吊销装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0119] 根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中所涉及的步骤S206-S207的计算机程序(包括程序代码),来构造如图7中所示的证书吊销装置设备,以及来实现本发明实施例的证书吊销方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0120] 本发明实施例中的区块链网络可包括共识节点和业务节点。业务节点可接收到共识节点广播的配置区块,配置区块是由共识节点在配置交易数据通过共识后,将配置交易数据中的待吊销证书作为目标失效证书而生成的。其次,可存储该配置区块,以及从配置区块中提取目标失效证书,并根据目标失效证书更新业务节点中的失效证书列表。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0121] 基于上述方法实施例的相关描述,本发明实施例还公开了一种基于区块链网络的证书吊销装置;所述证书吊销装置可以是运行于证书吊销设备中的一个计算机程序(包括程序代码)。请参见图8,所述证书吊销装置可以包括如下单元:
[0122] 获取单元801,用于获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;
[0123] 发送单元802,用于将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给区块链网络中的业务节点。
[0124] 在一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;相应的,获取单元801在用于根据所述待吊销证书生成配置交易数据时,可具体用于:根据所述待吊销证书生成配置提案,所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端;将所述配置提案发送至所述至少一个联盟组织下的业务节点进行签名,并接收所述至少一个联盟组织下的业务节点返回的签名后的配置提案;对接收到的签名后的配置提案进行封装,得到配置交易数据。
[0125] 再一种实施方式中,获取单元801在用于根据所述待吊销证书生成配置提案时,可具体用于:生成包括所述待吊销证书的初始配置数据,并将所述初始配置数据发送至至少一个联盟组织的管理终端进行签名;接收所述至少一个组织的管理终端返回的签名后的初始配置数据,并根据接收到的签名后的初始配置数据生成配置提案。
[0126] 再一种实施方式中,在根据接收到的签名后的初始配置数据生成配置提案之前,获取单元801还可用于:检测所述签名后的初始配置数据是否满足预设权限策略;所述预设权限策略包括以下至少一项:所述签名后的初始配置数据中所包括的管理终端的签名信息的数量大于预设数量,所述签名后的初始配置数据中包括指定联盟组织的管理终端的签名信息;若满足,则执行根据接收到的签名后的初始配置数据生成配置提案的步骤。
[0127] 根据本发明的一个实施例,图2中所示的步骤S201-S202可分别由图8中所示的获取单元801和发送单元802来执行;图4中所示的步骤S401-S404可由图8中所示的获取单元801来执行,图4中所示的步骤S405可由图8中所示的发送单元802来执行。根据本发明的另一个实施例,图8所示的证书吊销装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于证书吊销装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0128] 根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中所涉及的步骤S201-S202或者图4中所涉及的步骤的计算机程序(包括程序代码),来构造如图8中所示的证书吊销装置设备,以及来实现本发明实施例的证书吊销方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0129] 本发明实施例中的证书吊销设备可和区块链网络中的共识节点和业务节点进行通信。证书吊销设备在获取到待吊销证书后,可先根据待吊销证书生成配置交易数据,配置交易数据包括待吊销证书。然后,将配置交易数据发送至共识节点,使得共识节点在配置交易数据通过共识后,将待吊销证书作为目标失效证书,生成并广播包含目标失效证书的配置区块至各个业务节点,从而使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0130] 基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种节点设备,该节点设备可以是上述的共识节点,也可以是上述的业务节点。请参见图9,该节点设备至少包括处理器901、输入接口902、输出接口903以及计算机存储介质904。其中,节点设备内的处理器901、输入接口902、输出接口903以及计算机存储介质904可通过总线或其他方式连接。计算机存储介质904可以存储在节点设备的存储器中,所述计算机存储介质904用于存储计算机程序,所述计算机程序包括程序指令,所述处理器901 用于执行所述计算机存储介质904存储的程序指令。处理器901(或称CPU(Central Processing Unit,中央处理器))是节点设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
[0131] 在一个实施例中,若节点设备为共识节点,则本发明实施例所述的处理器901可以用对配置交易数据进行一系列的处理,包括:接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表,等等。
[0132] 再一个实施例中,若节点设备为业务节点,则本发明实施例所述的处理器901可以用对配置区块进行一系列的处理,包括:接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;存储所述配置区块;从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点的失效证书列表,等等。
[0133] 本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是节点设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括节点设备中的内置存储介质,当然也可以包括节点设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了节点设备的操作系统。并且,在该存储空间中还存放了适于被处理器901加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
[0134] 在一个实施例中,若节点设备为共识节点,则可由处理器901加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关证书吊销方法实施例中的相关方法步骤;具体实现中,计算机存储介质中的一条或多条第一指令由处理器901加载并执行如下步骤:
[0135] 接收证书吊销设备发送的配置交易数据,并对所述配置交易数据进行共识;所述配置交易数据包括待吊销证书;
[0136] 若所述配置交易数据通过共识,则将所述待吊销证书作为目标失效证书,并生成包含所述目标失效证书的配置区块;
[0137] 将所述配置区块广播至所述区块链网络中的各个业务节点,使得所述各个业务节点根据所述配置区块中的目标失效证书更新所述各个业务节点中的失效证书列表。
[0138] 在一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。
[0139] 再一种实施方式中,所述一条或多条第一指令还可由处理器901加载并具体执行:根据所述目标失效证书更新所述共识节点中的失效证书列表;存储所述配置区块。
[0140] 再一种实施方式中,所述一条或多条第一指令还可由处理器901加载并具体执行:若接收到目标交易数据,则对所述目标交易数据进行共识;若所述目标交易数据通过共识,则根据所述目标交易数据生成目标交易区块;将所述目标交易区块广播至所述各个业务节点,使得所述各个业务节点存储该所述目标交易区块,并执行所述目标交易数据所指示的交易。
[0141] 再一个实施例中,若节点设备为业务节点,则可由处理器901加载并执行计算机存储介质中存放的一条或多条第二指令,以实现上述有关证书吊销方法实施例中的相关方法步骤;具体实现中,计算机存储介质中的一条或多条第二指令由处理器901加载并执行如下步骤:
[0142] 接收共识节点广播的配置区块,所述配置区块是由所述共识节点在配置交易数据通过共识后,将所述配置交易数据中的待吊销证书作为目标失效证书而生成的,所述配置区块包括所述目标失效证书;
[0143] 存储所述配置区块;
[0144] 从所述配置区块中提取出所述目标失效证书,并根据所述目标失效证书更新所述业务节点中的失效证书列表。
[0145] 再一种实施方式中,所述一条或多条第二指令还可由处理器901加载并具体执行:若接收到所述共识节点发送的目标交易区块,则采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性;所述目标交易区块是由所述共识节点在目标交易数据通过共识后,根据所述目标交易数据生成的;若所述目标交易区块有效,则存储所述目标交易区块,并执行所述目标交易数据所指示的交易。
[0146] 再一种实施方式中,所述目标交易数据是由目标客户端发送至所述共识节点的,所述目标交易数据携带所述目标客户端的目标签名信息;相应的,在采用更新后的失效证书列表中的失效证书校验所述目标交易区块的有效性时,所述一条或多条第二指令可由处理器901加载并具体执行:从所述目标交易区块中提取出所述目标交易数据所携带的目标签名信息;采用更新后的失效证书列表中的各个失效证书,对所述目标签名信息进行解密;若解密成功,则确定所述目标交易区块无效;否则,则确定所述目标交易区块有效。
[0147] 再一种实施方式中,在业务节点接收所述共识节点广播的配置区块之前,所述一条或多条第二指令还可由处理器901加载并具体执行:当所述业务节点加入所述区块链网络中时,向所述共识节点发送区块同步请求,以请求所述共识节点返回至少一个历史交易区块;所述至少一个历史交易区块中包括所述目标失效证书对应的历史交易区块;接收所述共识节点返回的至少一个历史交易区块,并将各个历史交易区块作为有效区块进行存储。
[0148] 再一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;所述配置交易数据是由所述证书吊销设备在将配置提案发送给至少一个联盟组织下的业务节点进行签名后,根据所述至少一个联盟组织下的业务节点返回的签名后的配置提案生成的;所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端。
[0149] 本发明实施例中的区块链网络可包括共识节点和业务节点,共识节点可与证书吊销设备进行通信。在进行证书吊销时,证书吊销设备可向共识节点发送携带待吊销证书的配置交易数据。相应的,共识节点可对配置交易数据进行共识;在配置交易数据通过共识后,将待吊销证书作为目标失效证书,并生成包含目标失效证书的配置区块;然后将携带目标失效证书的配置区块广播至各个业务节点,使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表,从而实现证书的吊销。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0150] 基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种证书吊销设备点。请参见图10,该证书吊销设备至少包括处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004。其中,节点设备内的处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004可通过总线或其他方式连接。
[0151] 计算机存储介质1004可以存储在证书吊销设备的存储器中,所述计算机存储介质1004用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1001 用于执行所述计算机存储介质1004存储的程序指令。处理器1001(或称CPU(Central Processing Unit,中央处理器))是证书吊销设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。具体的,本发明实施例所述的处理器1001可以用对待吊销证书进行一系列的处理,包括:获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;将所述配置交易数据发送至所述共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给各个业务节点,等等。
[0152] 本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是证书吊销设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括证书吊销设备中的内置存储介质,当然也可以包括证书吊销设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了证书吊销设备的操作系统。并且,在该存储空间中还存放了适于被处理器1001加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
[0153] 在一个实施例中,可由处理器901加载并执行计算机存储介质中存放的一条或多条第三指令,以实现上述有关证书吊销方法实施例中的相关方法步骤;具体实现中,计算机存储介质中的一条或多条第三指令由处理器1001加载并执行如下步骤:
[0154] 获取待吊销证书,并根据所述待吊销证书生成配置交易数据,所述配置交易数据包括所述待吊销证书;
[0155] 将所述配置交易数据发送至所述区块链网络中的共识节点,使得所述共识节点在所述配置交易数据通过共识后,将所述待吊销证书作为目标失效证书,以及将包含所述目标失效证书的配置区块广播给区块链网络中的业务节点。
[0156] 在一种实施方式中,所述区块链网络是由多个联盟组织共同管理的联盟链网络,每个联盟组织管理所述区块链网络中的一个或多个业务节点;相应的,在根据所述待吊销证书生成配置交易数据时,所述一条或多条第三指令可由处理器1001加载并具体执行:根据所述待吊销证书生成配置提案,所述配置提案中包括所述待吊销证书以及所述至少一个联盟组织的管理终端的签名信息,所述管理终端是指联盟组织的管理者所使用的终端;将所述配置提案发送至所述至少一个联盟组织下的业务节点进行签名,并接收所述至少一个联盟组织下的业务节点返回的签名后的配置提案;对接收到的签名后的配置提案进行封装,得到配置交易数据。
[0157] 再一种实施方式中,在根据所述待吊销证书生成配置提案时,所述一条或多条第三指令可由处理器1001加载并具体执行:生成包括所述待吊销证书的初始配置数据,并将所述初始配置数据发送至至少一个联盟组织的管理终端进行签名;接收所述至少一个组织的管理终端返回的签名后的初始配置数据,并根据接收到的签名后的初始配置数据生成配置提案。
[0158] 再一种实施方式中,在根据接收到的签名后的初始配置数据生成配置提案之前,所述一条或多条第三指令还可由处理器1001加载并具体执行:检测所述签名后的初始配置数据是否满足预设权限策略;所述预设权限策略包括以下至少一项:所述签名后的初始配置数据中所包括的管理终端的签名信息的数量大于预设数量,所述签名后的初始配置数据中包括指定联盟组织的管理终端的签名信息;若满足,则执行根据接收到的签名后的初始配置数据生成配置提案的步骤。
[0159] 本发明实施例中的证书吊销设备可和区块链网络中的共识节点和业务节点进行通信。证书吊销设备在获取到待吊销证书后,可先根据待吊销证书生成配置交易数据,配置交易数据包括待吊销证书。然后,将配置交易数据发送至共识节点,使得共识节点在配置交易数据通过共识后,将待吊销证书作为目标失效证书,生成并广播包含目标失效证书的配置区块至各个业务节点,从而使得各个业务节点可同步地根据配置区块中的目标失效证书更新各个业务节点中的失效证书列表。在上述证书吊销的过程中,通过将待吊销证书以配置交易的形式发送至共识节点达成共识,从而将待吊销证书作为失效证书的方式,无需各个节点根据自身的系统时钟和证书有效期来判断证书是否有效,可有效保证证书的同步吊销。
[0160] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。