首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 一种数据处理方法、装置以及计算机可读存储介质

一种数据处理方法、装置以及计算机可读存储介质

阅读:749发布:2020-05-14

专利汇可以提供一种数据处理方法、装置以及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 数据处理 方法、装置以及计算机可读存储介质,该方法包括:网关 节点 获取第一节点发送的加密通信 请求 ;第一节点为 区 块 链 网络中与目标终端相关联的节点;根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息;在待验证证书信息具备合法性时,从待验证证书信息中获取与目标用户相关联的身份标识信息,基于身份标识信息对目标用户进行身份认证;在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,根据会话对应的加密密钥将与身份标识信息相关联的加密数据信息返回给第一节点。采用本申请,可增强数据拉取的隐私性,并可提高数据传输的安全性。,下面是一种数据处理方法、装置以及计算机可读存储介质专利的具体信息内容。

1.一种数据处理方法,其特征在于,所述方法由链网络中的网关节点执行,包括:
获取第一节点发送的加密通信请求;所述第一节点为所述区块链网络中与目标终端相关联的轻量节点;所述加密通信请求用于在所述第一节点与所述网关节点之间执行握手任务;所述网关节点为所述区块链网络中用于进行权限控制的节点;
根据所述加密通信请求所指示的所述握手任务,获取与所述目标终端对应的目标用户相关联的待验证证书信息,根据所述网关节点的第一本地数据库中的根证书信息验证所述待验证证书信息的合法性;所述待验证证书信息为与所述目标用户相关联的第二证书信息中的内容信息;
在所述待验证证书信息具备合法性时,从所述待验证证书信息中获取与所述目标用户相关联的身份标识信息,基于所述身份标识信息对所述目标用户进行身份认证;
在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述第一节点之间的会话,根据所述会话对应的加密密钥将与所述身份标识信息相关联的加密数据信息返回给第一节点;所述加密密钥是由参与所述握手任务的所述第一节点和所述网关节点所共同确定的;所述加密数据信息为通过所述加密密钥对与所述目标用户相关联的业务数据信息进行加密处理后所得到的;与所述目标用户相关联的业务数据信息为从与所述网关节点相关联的共识网络中拉取到的第一区块中与所述身份标识信息相匹配的业务数据信息;所述共识网络中的第二节点为全量节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据加密通信请求从与所述网关节点相关联的第一本地数据库中获取第一证书信息,将所述第一证书信息作为所述加密通信请求对应的响应信息返回给第一节点,以使所述第一节点对所述第一证书信息进行合法校验;所述第一证书信息中携带与所述网关节点相关联的第一公钥;
接收所述第一节点基于所述第一公钥发送的握手任务完成信息;所述握手任务完成信息中携带利用所述第一公钥对目标随机数进行加密处理后的密文信息;
通过所述第一公钥对应的第一私钥对所述密文信息进行解密,得到与所述加密通信请求相关联的目标随机数;
根据所述目标随机数,生成用于与所述第一节点之间进行会话时的加密密钥。
3.根据权利要求2所述的方法,其特征在于,所述加密通信请求用于指示所述网关节点向所述第一节点发送用于获取第二证书信息的证书获取请求;
所述根据所述加密通信请求获取与所述目标终端对应的目标用户相关联的待验证证书信息,验证所述待验证证书信息的合法性,包括:
接收所述第一节点基于所述证书获取请求返回的与目标终端对应的目标用户的第二证书信息;
根据所述第二证书信息确定与所述目标用户相关联的待验证证书信息,从所述第一本地数据库的证书列表中获取用于验证所述待验证证书信息的根证书信息;所述根证书信息是由与所述网关节点相关联的认证授权机构所确定的;
根据所述根证书信息验证所述待验证证书信息的合法性。
4.根据权利要求3所述的方法,其特征在于,所述待验证证书信息中包含所述第二证书信息对应的证书版本号和证书序列号;
所述根据所述根证书信息验证所述待验证证书信息的合法性,包括:
获取与所述根证书信息相关联的证书链;
若所述证书链中包含与所述证书版本和所述证书序列号相关联的第二证书信息,且所述第二证书信息的验证时间属于所述第二证书信息对应的证书有效时长,则确定所述待验证证书信息具备合法性。
5.根据权利要求1所述的方法,其特征在于,所述待验证证书信息中包含与所述目标用户相关的身份标识信息;
所述在所述待验证证书信息具备合法性时,从所述待验证证书信息中获取与所述目标用户相关联的身份标识信息,基于所述身份标识信息对所述目标用户进行身份认证,包括:
在所述待验证证书信息具备合法性时,从所述待验证证书信息中提取所述身份标识信息;
从与所述网关节点相关联的共识网络中获取目标区块链,遍历所述目标区块链上的区块;
若在所述目标区块链上遍历到的与所述身份标识信息相关联的区块,则将遍历到与所述身份标识信息相关联的区块确定为第一区块,确定完成对所述目标用户的身份认证,且将身份认证的状态设置为成功状态。
6.根据权利要求5所述的方法,其特征在于,所述身份标识信息中包含用于表征所述目标用户的身份信息的地址信息;
所述在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述第一节点之间的会话,根据所述会话对应的加密密钥将与所述身份标识信息相关联的加密数据信息返回给第一节点,包括:
在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述第一节点之间的会话,基于所述会话对应的加密密钥获取所述第一节点发送的区块同步请求;
基于所述区块同步请求将在所述目标区块链中除所述第一区块之外的且与所述身份标识信息无关的区块确定为第二区块;
对所述目标区块链中的所述第二区块进行过滤,将过滤后的目标区块链中的第一区块确定为与所述目标用户相关联的关联区块,在所述关联区块中查找与所述地址信息相匹配的业务数据信息;
将查找到的业务数据信息用所述加密密钥进行加密处理,将加密处理后的业务数据信息作为加密数据信息,将所述加密数据信息返回给所述第一节点。
7.根据权利要求6所述的方法,其特征在于,所述区块同步请求中携带第一区块高度;
所述第一区块高度为在所述第一节点的第二本地数据库中所存储的本地区块头信息中的最大区块高度;
所述方法还包括:
基于所述区块同步请求从所述共识网络中拉取所述目标区块链上的所有区块的区块头信息,在所述所有区块的区块头信息中获取第二区块高度;所述第二区块高度为所述目标区块链上的最大区块高度;
基于所述第二区块高度与所述第一区块高度之间的高度差异参数,确定用于在所述第一节点和所述网关节点之间进行区块同步的待同步区块头信息;
将所述待同步区块头信息作为所述加密数据信息,将所述加密数据信息返回给所述第一节点。
8.根据权利要求1所述的方法,其特征在于,还包括:
在身份认证的状态为失败状态时,生成与所述加密通信请求对应的请求失败信息,将所述请求失败信息返回给第一节点,以使所述第一节点基于所述请求失败信息进行失败分析。
9.一种数据处理方法,其特征在于,所述方法由区块链网络中的第一节点执行,包括:
向所述区块链网络中的网关节点发送加密通信请求,以使所述网关节点根据所述加密通信请求所指示的握手任务获取与目标终端对应的目标用户相关联的待验证证书信息;所述待验证证书信息用于指示所述网关节点根据所述待验证证书信息中的身份标识信息对所述目标用户进行身份认证;所述第一节点为所述区块链网络中与目标终端相关联的轻量节点;所述加密通信请求用于在所述第一节点与所述网关节点之间执行所述握手任务;所述网关节点为所述区块链网络中用于进行权限控制的节点;所述待验证证书信息为与所述目标用户相关联的第二证书信息中的内容信息;
在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述网关节点之间的会话;
根据所述会话对应的加密密钥对所述网关节点返回的加密数据信息进行解密,得到与所述身份标识信息相匹配的业务数据信息;所述加密密钥是由参与所述握手任务的所述第一节点和所述网关节点所共同确定的;所述加密数据信息为通过所述加密密钥对与所述目标用户相关联的业务数据信息进行加密处理后所得到的;与所述目标用户相关联的业务数据信息为从与所述网关节点相关联的共识网络中拉取到的;所述共识网络中的第二节点为全量节点。
10.根据权利要求9所述的方法,其特征在于,还包括:
根据所述会话对应的加密密钥向所述网关节点发送区块同步请求,以使所述网关节点基于所述区块同步请求从所述网关节点相关联的共识网络中获取到的目标区块链上的所有区块的区块头信息;
接收所述网关节点根据所述会话对应的加密密钥返回的所有区块的区块头信息,基于所述所有区块的区块头信息进行区块同步。
11.根据权利要求10所述的方法,其特征在于,还包括:
获取目标终端发送的针对目标业务数据信息的业务查询请求,基于所述业务查询请求从与所述身份标识信息相匹配的业务数据信息中查找所述目标业务数据信息;
将与所述目标业务数据信息相关联的区块头信息作为目标区块头信息,确定与所述目标业务数据信息相关联的认证路径对应的待验证根哈希值;
将所述待验证根哈希值与所述目标区块头信息中的目标根哈希值进行匹配;
若所述待验证根哈希值与所述目标根哈希值匹配,则将所述目标业务数据信息返回给所述目标终端。
12.一种数据处理装置,其特征在于,所述装置应用于区块链网络中的网关节点,包括:
加密请求获取模块,用于获取第一节点发送的加密通信请求;所述第一节点为所述区块链网络中与目标终端相关联的轻量节点;所述加密通信请求用于指示在所述第一节点与所述网关节点之间执行握手任务;所述网关节点为所述区块链网络中用于进行权限控制的节点;
合法校验模块,用于根据所述加密通信请求所指示的所述握手任务,获取与所述目标终端对应的目标用户相关联的待验证证书信息,根据所述网关节点的第一本地数据库中的根证书信息验证所述待验证证书信息的合法性;所述待验证证书信息为与所述目标用户相关联的第二证书信息中的内容信息;
标识信息获取模块,用于在所述待验证证书信息具备合法性时,从所述待验证证书信息中获取与所述目标用户相关联的身份标识信息,基于所述身份标识信息对所述目标用户进行身份认证;
加密信息返回模块,用于在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述第一节点之间的会话,根据所述会话对应的加密密钥将与所述身份标识信息相关联的加密数据信息返回给第一节点;所述加密密钥是由参与所述握手任务的所述第一节点和所述网关节点所共同确定的;所述加密数据信息为通过所述加密密钥对与所述目标用户相关联的业务数据信息进行加密处理后所得到的;与所述目标用户相关联的业务数据信息为从与所述网关节点相关联的共识网络中拉取到的;所述共识网络中的第二节点为全量节点。
13.一种数据处理装置,其特征在于,所述装置应用于区块链网络中的第一节点,包括:
加密请求发送模块,用于向所述区块链网络中的网关节点发送加密通信请求,以使所述网关节点根据所述加密通信请求所指示的握手任务获取与目标终端对应的目标用户相关联的待验证证书信息;所述待验证证书信息用于指示所述网关节点根据所述待验证证书信息中的身份标识信息对所述目标用户进行身份认证;所述第一节点为所述区块链网络中与目标终端相关联的轻量节点;所述加密通信请求用于在所述第一节点与所述网关节点之间执行所述握手任务;所述网关节点为所述区块链网络中用于进行权限控制的节点;所述待验证证书信息为与所述目标用户相关联的第二证书信息中的内容信息;
会话建立模块,用于在身份认证的状态为成功状态且完成与所述加密通信请求相关联的握手任务时,建立与所述网关节点之间的会话;
加密数据接收模块,根据所述会话对应的加密密钥对所述网关节点返回的加密数据信息进行解密,得到与所述身份标识信息相匹配的业务数据信息;所述加密密钥是由参与所述握手任务的所述第一节点和所述网关节点所共同确定的;所述加密数据信息为通过所述加密密钥对与所述目标用户相关联的业务数据信息进行加密处理后所得到的;与所述目标用户相关联的业务数据信息为从与所述网关节点相关联的共识网络中拉取到的;所述共识网络中的第二节点为全量节点。
14.一种节点设备,包括:处理器、存储器以及网络接口
所述处理器与存储器、网络接口相连,其中,网络接口用于提供网络功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-11中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当处理器执行所述程序指令时执行如权利要求1-11中任一项所述的方法。

说明书全文

一种数据处理方法、装置以及计算机可读存储介质

技术领域

[0001] 本申请涉及数据处理的技术领域,尤其涉及一种数据处理方法、装置以及计算机可读存储介质。

背景技术

[0002] 现有技术中,每个实体对象(例如企业)所对应的轻量节点(即第一节点)均可以通过哈希值的方式直接向共识网络中的全量节点拉取到包含各自业务数据的整个区。由于一个区块中可以包含多个企业(比如,企业A、企业B、...、企业C)对于的业务数据信息,所以,企业A对于的轻量节点在拉取到某个区块时,可以在获取到与该企业A相关联的业务数据的同时,还可以一并获取到与其他企业相关联的业务数据,以至于难以确保同一区块中的其他企业的业务数据的隐私性。
[0003] 此外,全量节点在向该企业A对应的轻量节点返回上述区块的过程中,轻量节点可以直接从获取到的区块中拿到所有的业务数据信息,这样,在该轻量节点被非法节点攻击时,可以得到在业务数据传输过程中的所有业务数据信息,进而难以确保这些企业的业务数据信息的传输安全性。发明内容
[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] 其中,区块同步请求中携带第一区块高度;第一区块高度为在第一节点的第二本地数据库中所存储的本地区块头信息中的最大区块高度;
[0046] 加密信息返回模块还包括:
[0047] 块高确定单元,用于基于区块同步请求从共识网络中拉取目标区块链上的所有区块的区块头信息,在所有区块的区块头信息中获取第二区块高度;第二区块高度为目标区块链上的最大区块高度;
[0048] 差异确定单元,用于基于第二区块高度与第一区块高度之间的高度差异参数,确定用于在第一节点和网关节点之间进行区块同步的待同步区块头信息;
[0049] 加密返回单元,用于将待同步区块头信息作为加密数据信息,将加密数据信息返回给第一节点。
[0050] 其中,装置还包括:
[0051] 失败信息生成模块,用于在身份认证的状态为失败状态时,生成与加密通信请求对应的请求失败信息,将请求失败信息返回给第一节点,以使第一节点基于请求失败信息进行失败分析。
[0052] 本申请一方面提供了一种数据处理装置,方法应用于区块链网络中的第一节点,包括:
[0053] 加密请求发送模块,用于向区块链网络中的网关节点发送加密通信请求,以使网关节点根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息;待验证证书信息用于指示网关节点根据待验证证书信息中的身份标识信息对目标用户进行身份认证;
[0054] 会话建立模块,用于在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与网关节点之间的会话;
[0055] 加密数据接收模块,根据会话对应的加密密钥对网关节点返回的加密数据信息进行解密,得到与身份标识信息相匹配的业务数据信息。
[0056] 其中,装置还包括:
[0057] 同步请求发送模块,用于根据会话对应的加密密钥向网关节点发送区块同步请求,以使网关节点基于区块同步请求从网关节点相关联的共识网络中获取到的目标区块链上的所有区块的区块头信息;
[0058] 区块同步模块,用于接收网关节点根据会话对应的加密密钥返回的所有区块的区块头信息,基于所有区块的区块头信息进行区块同步。
[0059] 其中,装置还包括:
[0060] 目标业务查询模块,用于获取目标终端发送的针对目标业务数据信息的业务查询请求,基于业务查询请求从与身份标识信息相匹配的业务数据信息中查找目标业务数据信息;
[0061] 哈希确定模块,用于将与目标业务数据信息相关联的区块头信息作为目标区块头信息,确定与目标业务数据信息相关联的认证路径对应的待验证哈希值;
[0062] 哈希匹配模块,用于将待验证哈希值与目标区块头信息中的目标哈希值进行匹配;
[0063] 目标业务返回模块,用于若待验证根哈希值与目标根哈希值匹配,则将目标业务数据信息返回给目标终端。
[0064] 本申请一方面提供了一种节点设备,包括存储器、处理器以及网络接口,处理器与存储器、网络接口相连,其中,网络接口用于提供网络功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行如本申请实施例一方面中的方法。
[0065] 本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述一方面中的方法。
[0066] 本申请中的网关节点可以获取第一节点发送的加密通信请求;第一节点为区块链网络中与目标终端相关联的节点;进一步的,该网关节点可以根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息,验证待验证证书信息的合法性;进一步的,网关节点可以在待验证证书信息具备合法性时,从待验证证书信息中获取与目标用户相关联的身份标识信息,基于身份标识信息对目标用户进行身份认证;进一步的,网关节点可以在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,根据会话对应的加密密钥将与身份标识信息相关联的加密数据信息返回给第一节点。由此可见,网关节点在与第一节点进行握手的过程中,可以快速获取与目标用户相关联的待验证证书信息,该待验证证书信息中可以携带用于表征该目标用户的身份信息的身份标识信息,由于该网关节点在对目标用户进行身份认证的过程中,可以根据该身份标识信息对从共识网络中拉取到业务数据信息进行过滤,从而可以确保第一节点能够获取到该网关节点返回的与自己强相关的业务数据,进而可以增强数据拉取的隐私性。此外,在第一节点与网关节点建立会话之后,还可以通过加密密钥对会话过程中的所需传输的数据信息进行加密处理,从而可以提高数据传输的安全性。附图说明
[0067] 为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0068] 图1是本申请实施例提供的一种区块链网络结构的示意图;
[0069] 图2是本申请实施例提供的一种数据交互场景的示意图;
[0070] 图3是本申请提供的一种数据处理方法的流程示意图;
[0071] 图4是本申请实施例提供的一种执行握手任务的流程示意图;
[0072] 图5是本申请实施例提供的一种在网关节点中进行身份认证的场景示意图;
[0073] 图6是本申请实施例提供的另一种数据处理方法的流程示意图;
[0074] 图7是本申请实施例提供的一种进行区块同步的场景示意图;
[0075] 图8是本申请提供的一种数据处理装置的结构示意图;
[0076] 图9是本申请提供的一种计算机设备的结构示意图;
[0077] 图10是本申请提供的另一种数据处理装置的结构示意图;
[0078] 图11是本申请提供的另一种计算机设备的结构示意图;
[0079] 图12是本申请提供的一种数据处理系统的结构示意图。

具体实施方式

[0080] 下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0081] 请参见图1,是本申请实施例提供的一种区块链网络结构的示意图。如图1所示的区块链网络结构可以应用于区块链系统,该区块链系统可以是由多个类型的节点(例如,轻量节点、网关节点、全量节点等)通过网络通信的形式连接形成的分布式系统。
[0082] 如图1所示的区块链网络架构可以包括网关节点30a,第一节点集群和第二节点集群。如图1所示,第一节点集群可以包括多个轻量节点,多个轻量节点具体可以包括图1所示的节点20a、节点20b、...、节点20c;如图1所示,节点20a、节点20b、...、节点20c可以分别与网关节点30a进行网络连接,以便于能够通过与该网关节点30a之间的网络连接进行数据交互。本申请实施例可以将该第一节点集群中的每个轻量节点统称为第一节点。
[0083] 如图1所示的第二节点集群可以包括多个全量节点,每个全量节点也可以称之为共识节点,如图1所示的多个全量节点具体可以包括节点10a、节点10b、节点10c、节点10d。如图1所示,节点10a、节点10b、节点10c、节点10d可以分别与网关节点30a进行网络连接,以便于能够通过与该网关节点30a之间的网络连接进行数据交互。此外,本申请实施例可以将该第二节点集群中的每个全量节点统称为第二节点。其中,第二节点为不同于上述第一节点的区块链节点。
[0084] 应当理解,第二节点集群中的多个全量节点所构成的网络可以称之为共识网络,如图1所示,该共识网络中的任意两个全量节点均节点之间可以形成如图1所示的点对点(P2P,Peer To Peer)网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为全量节点,其中,每个全量节点均可以包括硬件层、中间层操作系统层和应用层。
[0085] 其中,可以理解的是,本申请实施例可以为接入该区块链网络结构的任意一个色(例如,任意一个企业、任意一个机构等)绑定一个轻量节点。所以,如图1所示的节点20a、节点20b、...、节点20c可以为分别与需要接入该区块链网络中的相应角色之间存在一一对应关系。比如,在电子票据系统中,开票企业A可以对应图1所示的节点20a,开票企业B可以对应图1所示的节点20b、...、开票企业C可以对应图1所示的节点20c。又比如,在电子资产转移系统中,用户1可以对应图1所示的节点20a,用户2可以对应图1所示的节点20b,以此类推,可以为该电子资产转移系统中的每个用户绑定一个轻节点。本申请实施例中的每个用户可以为每个实体对象,比如,个人用户以及企业用户等。
[0086] 其中,还可以理解的是,由于每个用户均可以对应一个轻量节点,所以,本申请实施例可以以上述企业用户(简称企业)为例,每个企业在访问该区块链网络中的轻量节点(即上述第一节点)之前,可以先在向CA(Certificate Authority,认证授权)机构申请到证书信息,该CA机构所返回的证书信息中可以携带用于唯一标识该企业的身份标识信息(例如,企业的机构代码、企业的地址信息等),然后,该企业可以通过该申请到的该证书信息访问相应的轻量节点。比如,上述开票企业A可以在获取到CA机构返回的证书信息A时,通过该证书信息A访问到该区块链系统中的轻量节点(该轻量节点可以为上述图1所示的节点20a)。其中,可以理解的是,该证书信息A中可以包含能够唯一表征该开票企业A的身份信息的身份标识信息。应当理解,对于申请接入该区块链网络中的其他角色而言,也可以预先向CA机构申请携带有能够表征自己身份信息的相应证书信息,这里将不一一进行列举。
[0087] 应当理解,本申请实施例中的证书信息可以为CA机构基于每个实体对象所提交的注册属性信息(例如,实体对象的名称、地址等)所唯一生成的数字证书。该数字证书可以理解为一种CA机构面向各类实体对象(个人或单位)所发放的可信的电子身份凭证,该电子身份凭证中可以包含用来唯一标识证书拥有者的真实身份信息的身份标识信息(例如,企业ID(Identity document,身份证标识号))。可以理解的是,该电子身份凭证可以应用于网上行、网上交易、电子政务等具体业务场景下的身份验证环节。
[0088] 其中,为便于理解,本申请实施例以实体对象为电子票据系统中的开票企业K为例,该开票企业K对应的轻量节点可以为图1所示的第一节点集群中的节点20k(未在图1中示出),此时,该节点20k可以通过图1所示的网关节点30进行权限控制,从而可以对从共识网络中获取到的于该开票企业K相关联的区块中的业务数据信息进行过滤,从而可以确保该开票企业K所对应的节点20k可以拉取到与该开票企业K的身份标识信息相匹配的业务数据信息,且可以避免该开票企业K得到与自己无关的业务数据信息(比如,与该开票企业K相关联的区块中还可以包含与其他开票企业相关联的业务数据信息),进而可以确保该电子票据系统中的其他开票企业的业务数据信息的隐私性。
[0089] 为便于理解,进一步的,请参见图2,是本申请实施例提供的一种数据交互场景的示意图。如图2所示的第一节点40c可以为上述图1的节点20a,该第一节点40c对应的实体对象可以为需要接入该区块链网络中的任意一个实体对象(即任意一个企业或者机构)。为便于理解,本申请实施以待接入该区块链网络中的实体对象为上述开票企业A为例,本申请实施例可以将该开票企业A称之为与第一节点40c相关联的目标用户,该开票企业A对应的终端设备可以为图2所示的目标终端40b。
[0090] 如图2所示的目标终端40b在接入图2所示的区块链网络之前,需要先向图2所示的认证授权机构40a(即上述CA结构)请求申请一个证书,这个证书里边会携带能够代表该目标用户的身份标识信息。可以理解的是,本申请实施例可以将该目标终端40b向CA机构所请求到的证书统称为证书信息。应当理解,此时,该目标终端40b可以通过该证书信息访问到该区块链网络中的第一节点40c。
[0091] 如图2所示,此时,该第一节点40c可以进一步向网关节点发送加密通信请求,该加密通信请求可以用于在第一节点40c与网络节点40d之间执行握手任务。可以理解的是,在网关节点40d与该第一节点40c进行握手的过程中,该网关节点40d可以向第一节点请求与上述目标用户相关联的证书信息,从而可以在该网关节点40d中对该证书信息中的身份标识信息进行身份认证。
[0092] 其中,可以理解的是,在第一节点40c与网关节点40d之间执行握手任务的过程中,可以协商出后续用于进行数据传输时的加密秘钥,可以理解的是,这里的加密秘钥可以为对称加密密钥,该对称加密密钥是由参与本次握手的第一节点40c和网关节点40d通过约定的加密算法所共同决定的。换言之,在第一节点40c与网关节点40d成功完成握手任务时,这两个节点均可以通过约定的加密算法得到同一加密密钥,并可以各自存储本次握手所协商的加密密钥。该加密密钥可以用于在第一节点40c与网关节点40d之间数据传输的过程中,对传输的数据信息进行加密处理,进而可以确保数据传输的安全性。比如,如图2所示,网关节点40d可以通过该加密密钥对过滤后得到的与目标用户相关联的业务数据信息进行加密处理,以得到图2所示的加密数据信息。
[0093] 此外,还可以理解的是,第一节点40c在获取到该加密数据信息时,可以在第一节点40c中通过同一加密密钥对该加密数据信息进行解密处理,以将与该目标用户相关联的业务数据信息存储在第一节点40c中,以便于后续在获取到目标终端40b针对某个业务数据信息的业务查询请求时,可以基于业务查询请求中所携带的查询关键信息(例如,目标交易地址等),快速在第一节点40c中找到相应的业务数据信息作为目标业务数据信息,进而可以提高业务数据的查询效率。
[0094] 其中,可以理解的是,网关节点40d在对目标用户(即上述开票企业A)进行身份认证的过程中,可以在图2所示的共识网络中拉取到的与该目标用户相关联的区块,比如,共识网络中的全量节点(即上述第二节点)可以基于网关节点40d所获取到的目标用户的身份认证信息进行区块过滤,以将过滤后的与目标用户相关联的区块返回给该网关节点40d;这样该网关节点40d可以进一步在这些区块中筛选出与该目标用户的身份标识信息相匹配的业务数据信息,以返回给目标终端40b进行存储。其中,该网关节点40d所获取到的与该目标用户的身份标识信息相匹配的业务数据信息统称为与目标用户相关联的业务数据信息。
[0095] 其中,可以理解的是,图2所示的共识网络可以为由上述图1所示的第二节点集群中的多个全量节点所构成的P2P网络。如上述图1所示,节点10a、节点10b、节点10c、节点10d均可以共享同一区块链(即上述图1的区块链10e)。可以理解的是,该共识网络中的区块链可以包括一系列按照时间先后顺序相互接续的区块(Block),新区块一旦加入到该区块链中就不会再被移除,以确保链上数据的完整性和不可篡改性。其中,可以理解的是,上述区块链10e上的区块中记录了区块链系统中每个节点(轻量节点或者全量节点)所提交的业务数据信息。
[0096] 比如,该区块链系统中的第一节点40c在完成一笔数据支付业务时,可以得到一个与该数据支付业务相关联的业务数据信息,为了确保这笔数据支付业务的可靠性,本申请实施例可以将这笔数据支付业务所对应的业务数据信息给到图2所示的网关节点40d。可以理解的是,该网关节点在预设的区块生成时长内,还可以接收其它轻量节点所上传的其它业务数据信息。然后网关节点40d可以在当前时间达到区块生成时长时,将这些接收到的业务数据信息打包成区块,以将这些区块给到上述第二节点集群中的节点10a、节点10b、节点10c、节点10d等进行共识,从而可以在这些全量节点均达成共识时,将该网关节点所生成的区块写入图2所示的区块链10e。其中,可以理解的是,区块链10e(Blockchain)本质上是一个去中心化的数据库,是一串使用相应密码学方法所产生的数据块,每一个数据块(区块)中均可以包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0097] 可选的,如图2所示的网关节点40d还可以从共识网络中获取完整的区块链(即图2所示的区块链10e),此时,该网关节点可以先在本地对该区块链10e中的所有区块进行遍历处理,以在这些区块中找到与上述开票企业(即目标用户)相关联的区块(即关联区块),然后,网关节点40d可以进一步在这些关联区块中筛选出与该目标用户的身份标识信息相匹配的业务数据信息,以返回给第一节点40c进行存储处理。
[0098] 其中,可以理解的是,网关节点40d通过上述身份标识信息进行过滤的方式可以确保第一节点40c只能获取到属于自己的节点权限内的业务数据信息,且难以获取到与自己的节点权限无关的其他业务数据信息,进而可以确保参与构建该区块链网络的其他实体对象的业务数据信息的私密性。
[0099] 其中,网关节点30d验证待验证证书信息的合法性、对目标用户进行身份认证的具体过程,可以参见如下图3至图7所对应的实施例。
[0100] 进一步的,请参见图3,是本申请提供的一种数据处理方法的流程示意图,如图3所示,方法可以由区块链网络中的网关节点执行,该网关节点可以为上述图2所对应实施例中的网关节点40d。方法具体可以包括以下步骤S101-步骤S104:
[0101] 步骤S101,获取第一节点发送的加密通信请求;
[0102] 具体的,区块链网络中的网关节点可以接收第一节点发送的加密通信请求,该加密通信请求可以理解为由第一节点所发送的用于请求与该网关节点进行握手的握手请求。其中,第一节点为区块链网络中与目标终端相关联的节点。
[0103] 其中,目标终端可以为上述图2所对应实施例中的目标终端40b、该目标终端中可以运行有目标应用(比如,区块链钱包、微信、QQ等具有电子资产转移功能的应用),该目标终端所对应的目标用户可以通过该目标应用访问到上述第一节点。此时,该区块链网络中的第一节点可以为该目标终端的后台服务设备。
[0104] 其中,应当理解,第一节点在向网关节点发送加密通信请求时,可以向网关节点提供以下待处理数据信息:
[0105] (1)支持的协议版本,比如TLS 1.0版。
[0106] (2)一个由该第一节点所生成的随机数1(例如,AAABBB)。可以理解的是,该随机数1(AAABBB)后续可以用于生成"加密密钥"。
[0107] (3)支持的加密方法。这些加密方法可以以密码套件清单的形式列出,比如该密码条件清单中可以包含RSA公钥加密方法。
[0108] (4)支持的压缩方法。这些压缩方法也可以以压缩方法清单的形式列出。
[0109] 可以理解的是,在第一节点与网关节点进行握手的过程中,因为不同的应用(或者Web浏览器)所支持的协议版本、加密方法以及压缩方法等方式可能存在不同,所以,具体需要使用哪一种方式来通信,需要和网关节点进行协商。此外,在本申请实施例中第一节点与网关节点进行握手(即握手协议)的作用之一是交换证书,另一作用是生成共享密钥(即上述加密密钥)。其中,生成共享密钥是为了在第一节点和网络节点之间进行数据传输的过程中,可以进行密码通信;交换证书是为了能够让参与通信的双方相互进行认证,以确保握手的可靠性。
[0110] 为便于理解,本申请实施例可以将网关节点的证书称之为第一证书信息,并可以将与目标用户相关联的证书称之为第二证书信息。这两个证书信息可以是由上述CA机构所下发的。可以理解的是,在本申请实施例中的第一节点的本地数据库中所安装的根证书信息可以用于验证第一证书信息的合法性;同理,在网关节点的本地数据库中所安装的根证书信息可以用于验证第二证书信息的合法性。为便于理解,本申请实施例可以将网关节点的本地数据库称之为第一本地数据库,将第一节点的本地数据库称之为第二本地数据库。
[0111] 步骤S102,根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息,验证待验证证书信息的合法性;
[0112] 具体的,加密通信请求还可以用于指示网关节点向第一节点发送用于获取第二证书信息的证书获取请求;网关节点在执行完上述步骤S101之后,可以接收第一节点基于证书获取请求返回的与目标终端对应的目标用户的第二证书信息;进一步的,该网关节点可以根据第二证书信息确定与目标用户相关联的待验证证书信息,从第一本地数据库的证书列表中获取用于验证待验证证书信息的根证书信息;根证书信息是由与网关节点相关联的认证授权机构(例如,上述图2所对应实施例中的认证授权机构40a)所确定的;进一步的,网关节点可以根据根证书信息验证待验证证书信息的合法性。
[0113] 可以理解的是,第一节点与网关节点在进行握手的过程中,该网关节点可以向第一节点请求上述第二证书信息,并可以在该网关节点的本地对该第二证书信息进行合法校验。对于第一节点而言,该第一节点可以在发送上述通信加密请求之后,进一步接收该网关节点所返回的第一证书信息,从而可以在第一节点的本地对该第一证书信息进行合法校验。其中,本申请实施例中的握手具体可以指:网关节点与第一节点在进行握手的这个过程中,可以交换验证彼此的证书。其中,可以理解的是,本申请实施例中的通信双方可以通过握手协商出相应的连接参数(沟通双方各有什么加密算法,选择一个最合适的加密算法),进而可以通过协商的加密算法完成对彼此的身份验证。
[0114] 所以,可选的,网关节点还可以根据加密通信请求从与网关节点相关联的第一本地数据库中获取第一证书信息,并可以将第一证书信息作为加密通信请求对应的响应信息返回给第一节点,以使第一节点对第一证书信息进行合法校验;第一证书信息中携带与网关节点相关联的第一公钥;进一步的,网关节点可以接收第一节点基于第一公钥发送的握手任务完成信息;握手任务完成信息中携带利用第一公钥对目标随机数进行加密处理后的密文信息;进一步的,网关节点可以通过第一公钥对应的第一私钥对密文信息进行解密,得到与加密通信请求相关联的目标随机数;进一步的,网关节点可以根据目标随机数,生成用于与第一节点之间进行会话时的加密密钥。可以理解的是,网关节点在生成加密密钥之后可以通知第一节点确认发送针对加密密钥的握手任务完成信息。应当理解,这个加密密钥可以用于将参与通信的双方所需要交换的数据进行加密处理,从而可以保证两个节点之间通信的保密性和可靠性,进而可以确保第一节点与网关节点之间的通信不被攻击者所窃听。
[0115] 为便于理解,进一步的,请参见图4,是本申请实施例提供的一种执行握手任务的流程示意图。如图4所示的第一节点可以执行步骤S1,以向图4所示的网关节点发送加密通信请求,该加密通信请求用于向网关节点请求执行握手的任务。如图4所示,该网关节点在获取到加密通信请求时,可以执行步骤S2,以提取该加密通信请求中所携带的待处理数据信息,从而可以针对该待处理数据信息向第一节点返回确认响应信息。其中,该网关节点所返回的确认响应信息具体可以包含以下信息:
[0116] (1)确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与该网关节点所支持的版本不一致,网关节点可以选择关闭加密通信。
[0117] (2)一个由该网关节点所生成的随机数2(例如,CCCDDD)。可以理解的是,该网关节点所生成的随机数2与上述第一节点所生成的随机数1是相互独立且无关的;与上述随机数1的作用相似,该随机数2(CCCDDD)后续也可以用于生成"加密密钥"。
[0118] (3)确认使用的加密方法,比如RSA公钥加密。
[0119] (4)确认的压缩方法。
[0120] (5)网关节点的证书信息。本申请实施例可以将该网关节点的证书信息称之为第一证书信息。该第一证书信息中携带有该网关节点的公钥,本申请实施例可以将该网关节点的公钥称之为第一公钥。
[0121] 可以理解的是,如图4所示,第一节点在收到网关节点所返回的确认响应信息以后,可以进一步执行步骤S4,以在该第一节点的本地验证该网关节点的证书信息(即上述第一证书信息)的合法性。如图4所示的步骤S5可以表征第一节点确定该第一证书信息具备合法性,此时,该第一节点可以进一步从第一证书信息中获取上述第一公钥,并可以基于该第一公钥跳转执行图4所示的步骤S9,以向网关节点进一步发送以下握手任务完成信息:
[0122] (1)另一个由第一节点生成的随机数3。此时,该第一节点可以通过从第一证书信息中所获取到的网关节点的公钥(即上述第一公钥)对该随机数3进行加密,以提高数据通讯的安全性,即可以防止被窃听。
[0123] (2)编码改变通知;表示随后的信息都将用双方商定的加密方法和加密密钥发送。
[0124] (3)第一节点侧的握手结束通知,表示第一节点侧的握手任务已经结束。此时,第一节点可以通过该第一公钥对随机数3(即目标随机数)进行加密处理,以得到图4所示的密文信息。
[0125] 可以理解的是,如图4所示,网关节点在获取到该密文信息时,可以进一步执行步骤S9,即该网关节点可以先通过自己的私钥(即上述第一公钥对应的第一私钥)进行解密处理,以获取上述随机数3。进一步的,该网关节点可以通过约定的加密方法对上述随机数1、随机数2和随机数3一并进行哈希计算,以得到后续在会话中用于对传输的数据信息进行加密的加密密钥。
[0126] 可以理解的是,第一节点和网关节点中均存储有上述三个随机数(即随机数1、随机数2、随机数3);所以,网关节点和第一节点后续均可以按照双方事先商定的加密方法,各自生成本次握手所协商好的同一把"加密密钥"进行会话。
[0127] 可选的,可以理解的是,第一节点在执行完上述图4所示的步骤S4之后,还可以在确定该网关节点的证书(即上述第一证书信息)不具备合法性时,生成相应的告警提示信息。换言之,若该第一节点确定该第一证书信息存在不是由可信机构颁布的、证书中的域名与实际域名不一致、证书已经过期等现象,则可以确定该第一证书信息不具备合法性,从而可以向与该第一节点相关联的访问者(即上述目标终端对应的目标用户)显示一个警告提示信息,然后,目标用户可以根据该告警提示信息选择是否还要继续通过第一节点与网关节点进行数据通信。
[0128] 应当理解,如图4所示,网关节点和第一节点进行握手的过程中,网关节点还可以执行步骤S6,即网关节点可以向第一节点发送证书获取请求,换言之,本申请实施例中的加密通信请求还可以用于指示网关节点向第一节点发送用于获取第二证书信息(即与目标用户相关联的证书)的证书获取请求。其中,网关节点在发送证书获取请求时,可以表征该网关节点已经完成与第一节点之间的握手协商,后续只需等待第一节点基于握手过程中所得到的第一公钥发送后续的加密后的密文信息即可。
[0129] 可以理解的是,第一节点在获取到该证书获取请求时,也可以执行图4所示的步骤S7,以将与该目标用户相关联的证书(即上述第二证书信息)给到网关节点,使得网关节点可以进一步执行图4所示的步骤S8,即该网关节点业务可以在本地对该第二证书信息的合法性进行合法校验。
[0130] 其中,网关节点对第二证书信息进行合法性校验的具体过程可以描述为:网关节点可以获取与根证书信息相关联的证书链;从而可以判断该证书链中是否包含该第二证书信息。若该证书链中包含与证书版本和证书序列号相关联的第二证书信息,且第二证书信息的验证时间属于第二证书信息对应的证书有效时长,则确定第二证书信息中的待验证证书信息具备合法性。可以理解的是,本申请实施例中的待验证证书信息可以具体包含第二证书信息对应的证书版本号和证书序列号等证书内容信息,这里不对该第二证书信息中的具体内容进行一一列举。
[0131] 可以理解的是,该待验证证书信息中可以包含对该第二证书信息进行合法验证的证书内容信息,还可以包含后续用于对目标用户进行身份认证的身份标识信息。应当理解,若该网关节点确定该第二证书具备合法性时,可以进一步基于身份标识信息执行下述步骤S103,以进一步在该网关节点的本地对该目标用户进行身份认证。
[0132] 步骤S103,在待验证证书信息具备合法性时,从待验证证书信息中获取与目标用户相关联的身份标识信息,基于身份标识信息对目标用户进行身份认证。
[0133] 具体的,该网关节点可以在待验证证书信息具备合法性时,从待验证证书信息中提取身份标识信息;进一步的,网关节点可以从与网关节点相关联的共识网络中获取目标区块链,遍历目标区块链上的区块;进一步的,网关节点若在目标区块链上遍历到的与身份标识信息相关联的区块,则将遍历到与身份标识信息相关联的区块确定为第一区块,从而可以确定完成对目标用户的身份认证,且将身份认证的状态设置为成功状态。
[0134] 可以理解的是,本申请实施例中的身份标识信息可以为唯一标识该目标用户的身份信息的企业ID或者企业的地址信息(比如,区块链钱包地址)。该网关节点可以通过该目标用户的身份标识信息实现权限控制,这样,网关节点在从共识网络中获取到携带所有区块的区块链(即目标区块链)时,可以通过该身份标识信息在该目标区块链的区块中找到与该目标用户相关联的区块。本申请实施例可以将与该目标用户相关联的区块称之为第一区块。由于该区块链上的区块中可以包含大量的业务数据信息,且每个业务数据信息中均可以携带有相应的业务关键参数(比如,业务交易地址),所以,该网关节点一旦在这些区块中找到与该身份标识信息相关联的区块,即找到与身份标识信息相匹配的所有业务数据信息,则可以确定完成对该目标用户的身份认证。此时,网关节点可以将身份认证的状态设置为成功状态。
[0135] 为便于理解,进一步的,请参见图5,是本申请实施例提供的一种在网关节点中进行身份认证的场景示意图。如图5的第一节点的本地存储有与目标用户相关联的证书(即图5所示的第二证书信息)。所以,第一节点在与网关节点进行握手的过程中,该第一节点可以接收该网关节点发送的证书获取请求,该证书获取请求用于指示第一节点将图5所示的第二证书信息返回给网络节点,以使网关节点在自己的本地对该第二证书信息的合法性进行校验。可以理解的是,本申请实施例可以将从该第二证书信息中提取到的证书内容称之为待验证证书信息。该待验证证书信息中可以包含第二证书信息对应的证书版本号(例如,图
5所示的证书版本号可以为X.509v3)和证书序列号,其中,该证书序列号可以理解为CA机构所分配的用于唯一标识该第二证书信息的序列号。此外,该待验证证书信息中还可以包含用于唯一标识该用户1(即目标用户)的身份信息的身份标识信息(例如,图5所示的用户1的身份标识信息可以为AAABBB)。
[0136] 如图5所示的网关节点可以在获取到携带有与该目标用户的身份标识信息相关联的第二证书信息时,可以进一步根据网关节点中所安装的根证书信息对该第二证书信息中的待验证证书信息的合法性进行校验,比如可以判断该第二证书信息中的待验证证书信息是否满足校验条件,若满足,则可以确定该待验证证书信息具备合法性。
[0137] 比如,该网关节点可以根据该第二证书信息中的签发者的公钥对该第二证书信息的签发者进行校验,以验证该第二证书信息是否由可信的CA机构所签发的,如果是由可信的CA机构所签发的,则可以确定该第二证书信息的真实性。可选的,该网关节点还可以根据本地数据库(即上述第一本地数据库)中所安装的根证书信息校验该第二证书信息的证书版本号和证书序列号,是否与该根证书信息相关联的证书链上的证书版本号和证书序列号是否一致,若确定是一致的,则可以确定该第二证书信息的完整性,即并未被非法篡改过。可选的,该网关节点还可以对当前的时间(即验证时间)是否属于该第二证书信息对应的证书有效时长,该证书的有效时长可以截止到图5所示的xx19.xx.xx,若该网关节点确定该第二证书信息的验证时间未达到图5的证书有效时长,则可以确定该第二证书信息仍具备有效性,即表明该第二证书信息的拥有者确实是图5所示的用户1,此时,该用户1可以为上述目标用户。
[0138] 可以理解的是,若该网关节点确认上述待验证证书信息满足上述校验条件中的所有子校验条件(即签发者是由可信的CA机构所签发的、第二证书信息具备完整性、第二证书信息具备有效性等),则可以确定该待验证证书信息具备合法性,从而可以在该网关节点确定该第二证书信息为合法的证书信息时,进一步从该第二证书信息中得到能够用于唯一标识该目标用户的身份信息的身份标识信息(即图5所示的AAABBB)。此时,该网关节点可以可以基于该身份标识信息对该用户1进行身份认证,这里的身份认证可以理解为一种鉴权,即看该用户1是否能够从图5的共识网络中拉取到与自己相关联的业务数据信息。
[0139] 其中,可以理解的是,该网关节点在对该用户1进行身份认证的过程中,可以从图5所示的共识网络中的任意一个第二节点(即共识节点)上获取到完整的区块链。可以理解的是,该共识网络中可以包含多个第二节点,每个第二节点均用于维护同一完整的区块链,这些第二节点所维护的完成的区块链可以为图5所示的目标区块链。该目标区块链中可以包含多个区块;多个区块具体可以包含图5所示的区块50a、区块50b、...、区块50c、区块50d、区块50e、区块50f。
[0140] 其中,如图5所示的每个区块均可以记录有大量的业务数据信息。为便于理解,本申请实施例以图5所示的区块50e为例,该区块50e中至少可以包含图5所示的多个业务数据信息,多个业务数据信息具体可以为业务数据信息60a、业务数据信息60b、业务数据信息60c、业务数据信息60d、可以理解的是,该区块50e还可以包含其他业务数据信息,这里仅以业务数据信息60a、业务数据信息60b、业务数据信息60c、业务数据信息60d为例,以阐述网关节点在获取到目标区块链时,基于该用户1的身份标识信息对该目标区块链中的每个区块进行遍历的具体过程。
[0141] 如图5所示,由于每个区块中所记录的业务数据信息均可以包含相应的业务关键参数(比如,业务交易地址),这些业务关键参数可以用于后续在接收到业务查询请求时,可以快速基于业务查询请求中的查询关键参数,在相应业务数据信息中找到与其相匹配的业务关键参数。比如,业务数据信息60a中包含的业务关键参数可以为用户1的业务交易地址1,业务数据信息60b中包含的业务关键参数可以为用户2的业务交易地址2,业务数据信息
60c中包含的业务关键参数可以为用户3的业务交易地址3,业务数据信息60d中包含的业务关键参数可以为用户4的业务交易地址4。若网关节点在对目标区块链中的区块进行遍历的过程中,可以对每个区块中的业务数据信息进行过滤,以从这些区块的区块信息中找到与该用户1的身份标识信息(比如,地址信息)相匹配的业务数据信息。比如,如图5所示,由于区块50e中存在与该用户1的身份标识信息相匹配的业务数据信息,则网关节点可以将该区块50e称之为与该用户1的身份标识信息相关联的区块(即图5所示的第一区块),进而可以确定完成对目标用户的身份认证,且可以将该身份认证的状态设置为成功状态。可以理解的是,该网关节点在成功对该用户1的身份信息进行身份认证(即完成上述鉴权)时,可以确定该用户1具备获取自己的业务数据信息的权限,从而可以进一步执行下述步骤S104。
[0142] 其中,可以理解的是,区块链网络中的第一节点和网关节点可以通过握手,协商出会话时用于进行数据加密的加密密钥,即后续第一节点和网关节点在成功建立会话时,需要变更数据的加密方式,即不再使用握手阶段时所协商的非对称加密方式,这样可以有效地防止数据被非法用户所窃听。
[0143] 可以理解的是,第一节点每向网关节点发送一次握手请求,则可以与该网关节点之间构建一次新的对话(session),也可以称之为一个新的会话。应当理解,第一节点和网关节点在完成彼此之间的握手任务时,均可以生成一个新的“对话密钥”(session key),并可以用该新的“对话密钥”(即上述加密密钥)来加密这两个节点之间所需要传送的数据信息。可以理解的是,本申请实施例中的加密秘钥可以为通信双方通过协商好的对称加密方法所生成的对称加密密钥,通过在会话过程中使用该对称加密密钥可以减少加密运算的消耗时间,从而能够提高运算速度。
[0144] 步骤S104,在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,根据会话对应的加密密钥将与身份标识信息相关联的加密数据信息返回给第一节点。
[0145] 具体的,网关节点可以在在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,从而可以基于会话对应的加密密钥获取第一节点发送的区块同步请求;进一步的,网关节点可以基于区块同步请求将在目标区块链中除第一区块之外的且与身份标识信息无关的区块确定为第二区块;进一步的,网关节点可以对目标区块链中的第二区块进行过滤,将过滤后的目标区块链中的第一区块确定为与目标用户相关联的关联区块,从而可以在关联区块中查找与地址信息相匹配的业务数据信息;进一步的,该网关节点可以将查找到的业务数据信息(例如,上述图5所示的业务数据信息60a)用加密密钥进行加密处理,并可以将加密处理后的业务数据信息作为加密数据信息,从而可以进一步将加密数据信息返回给第一节点。
[0146] 其中,可以理解的是,第一节点与网关节点在成功握手之后,可以建立用于进行数据通信的会话,并可以使用该本地数据库(即上述第二本地数据库)中所存储的会话对应的加密密钥(即上述对话密钥)对区块同步请求进行加密处理,这样,网关节点在获取到加密后的区块同步请求时,可以基于存储在本地数据库(即上述第一本地数据库)中的该会话对应的同一加密密钥进行解密,从而可以得到前述区块同步请求。该区块同步请求用于指示该网关节点需要将上述目标区块链中的所有区块的区块头信息和与目标用户相关联的所有业务数据信息返回给第一节点。
[0147] 可以理解的是,本申请实施例中的网关节点在将上述与目标用户相关联的所有业务数据信息返回给第一节点的过程中,需要用前述第一本地数据库中所存储的加密密钥进行加密处理,并可以将加密处理后的与目标用户相关联的所有业务数据信息称之为加密数据信息,从而可以将该加密数据信息返回给第一节点。本申请实施例通过协商好的加密密钥对与该目标用户相关联的所有业务数据信息进行加密处理,可以确保数据传输的安全性。比如,第一节点在获取到由网关节点所发送的加密后的加密数据信息之后,则可以用该第一节点本地所存储的加密密钥对该加密数据信息进行解密,从而可以得到将该解密后的与该目标用户相关联的业务数据信息,进而可以有效地确保数据传输的安全性。
[0148] 此外,由于网关节点可以通过上述目标用户的身份标识信息对区块中的业务数据信息进行过滤,所以,该第一节点只能够获取到与该目标用户相关联的业务数据信息,进而可以确保同一区块中的其他用户的业务数据信息的隐私性,并可以避免该第一节点的本地数据库中不必要的存储空间的浪费。比如,本申请实施例通过网关节点进行权限控制,可以提高同一区块中不同用户的业务数据信息的隐私性。
[0149] 在本申请实施例中,网关节点在与第一节点进行握手的过程中,可以快速获取与目标用户相关联的待验证证书信息,该待验证证书信息中可以携带用于表征该目标用户的身份信息的身份标识信息,由于该网关节点在对目标用户进行身份认证的过程中,可以根据该身份标识信息对从共识网络中拉取到业务数据信息进行过滤,从而可以确保第一节点能够获取到该网关节点返回的与自己强相关的业务数据,进而可以增强数据拉取的隐私性。此外,在第一节点与网关节点建立会话之后,还可以通过加密密钥对会话过程中的所需传输的数据信息进行加密处理,从而可以提高数据传输的安全性。
[0150] 请参见图6,是本申请实施例提供的一种数据处理方法的流程示意图。如图6所示,方法可以应用于区块链网络中的网关节点和第一节点,该网关节点可以为上述图2所对应实施例中的网关节点40d,该第一节点可以为上述图2所对应实施例中的第一节点40c。方法具体可以包括以下步骤S201-步骤S212。
[0151] 步骤S201,第一节点向区块链网络中的网关节点发送加密通信请求;
[0152] 具体的,第一节点可以在目标终端访问该区块链网络中的第一节点时,获取与该目标终端相关联的目标用户的证书信息,并可以基于该证书信息生成上述加密通讯请求,可以理解的是,该加密通信请求可以为上述用于请求与网关节点进行握手的握手请求。
[0153] 可以理解的是,该网关节点与第一节点在进行握手的过程中,该网关节点可以在接收端该加密通信请求时,提取该加密通信请求中所携带的与第一节点相关联的待处理数据信息,可以理解的是,该待处理数据信息可以为上述图4所对应实施例中的待处理数据信息。进一步的,该网关节点可以基于该待处理数据信息生成遇该加密通信请求相关联的确认响应信息。其中,该确认响应信息中可以携带该网关节点的证书(即上述第一证书信息)。应当理解,网关节点可以以明文的形式将该待确认响应信息中的第一证书信息发送至第一节点。由于该第一证书信息中携带该网关节点的公钥(即上述第一公钥)。所以,第一节点在确定该第一证书信息具备合法性时,可以从该第一证书信息中拿到该网关节点的公钥,从而可以基于该网关节点的公钥得到上述图4所对应实施例中的密文信息。该密文信息中的目标随机数(例如,上述图4所对应实施例中的随机数3,该随机数3可以为一串具有固定长度值得哈希值)可以用于指示网关节点得到上述加密密钥。其中,由于该目标随机数是有第一节点所生成的,且网关节点与第一节点之间通过握手可以协商出相应的加密方法,比如,可以在第一节点与网关节点之间建立会话时,通过同一加密密钥(即对称加密秘钥)对需要传输的业务数据信息进行加密处理,以提高数据传输的安全性。
[0154] 步骤S202,网关节点基于加密通信请求向第一节点发送用于获取第二证书信息的证书获取请求;
[0155] 可以理解的是,该网关节点在接收到加密通信请求之后,可以将自己的证书信息(即上述第一证书信息)返回给第一节点。然后,第一节点可以也可以向第一节点请求与目标用户相关联的证书信息(即上述第二证书信息),从而可以向第一节点发送用于获取该第二证书信息的证书获取请求。其中,应当理解,该证书获取请求可以用于指示第一节点将目标用户的证书信息(即上述第二证书信息)返回给网关节点,以使网关节点执行下述步骤S203。
[0156] 步骤S203,网关节点接收第一节点基于证书获取请求返回的与目标终端对应的目标用户的第二证书信息;
[0157] 可以理解的是,第一节点在收到上述证书获取请求时,可以在本地数据库(即上述第二本地数据库)中获取该目标用户的第二证书信息,以将该第二证书信息返回给网关节点,以使网关节点进一步执行下述步骤S204。
[0158] 步骤S204,网关节点根据第二证书信息确定与目标用户相关联的待验证证书信息,从第一本地数据库的证书列表中获取用于验证待验证证书信息的根证书信息;
[0159] 其中,本申请实施例中的根证书信息是由与网关节点相关联的认证授权机构所确定的;此外,本申请实施例可以将该网关节点所接收到的第二证书信息中的证书内容统称为待验证证书信息。其中,待验证证书信息中可以包含第二证书信息对应的证书版本号和证书序列号。
[0160] 步骤S205,网关节点根据根证书信息验证待验证证书信息的合法性。
[0161] 具体的,网关节点可以获取与根证书信息相关联的证书链;进一步的,该网关节点可以对该证书链中的所有证书信息进行遍历,若证书链中包含与证书版本和证书序列号相关联的第二证书信息,且第二证书信息的验证时间属于第二证书信息对应的证书有效时长,则确定待验证证书信息具备合法性。以在该证书链中找到该根证书信息,并一并找到该第二证书信息时,可以确保该第二证书信息的完整性和有效性。
[0162] 其中,步骤S202-步骤S205的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
[0163] 可选的,若该第二证书信息不具备合法性,比如,第二证书信息已经被吊销、证书有效时长已经失效、第二证书信息已经被非法用户所篡改(即第二证书信息不具备完整性),则会导致第一节点与网关节点之间的握手失败,进而使得第一节点无法控制网关节点从共识网关中拉去到与目标用户相关联的业务数据信息。同理,上述第一证书信息不具备合法性时,业务会导致握手失败,进而无法建立第一节点与网关节点之间的会话,以至于后续网关节点难以从共识网络中拉去到与目标用户相关联的业务数据信息。
[0164] 步骤S206,网关节点在待验证证书信息具备合法性时,从待验证证书信息中提取身份标识信息;
[0165] 步骤S207,网关节点从与网关节点相关联的共识网络中获取目标区块链,遍历目标区块链上的区块;
[0166] 步骤S208,若在目标区块链上遍历到的与身份标识信息相关联的区块,则将遍历到与身份标识信息相关联的区块确定为第一区块,确定完成对目标用户的身份认证,且将身份认证的状态设置为成功状态。
[0167] 可选的,该网关节点在执行步骤S208的过程中,若在目标区块链上未遍历到与该目标用户相关联的区块,即若在这些区块中不存在与该目标用户的身份标识信息(例如,个人用户的钱包地址信息或者企业的机构代码信息)相匹配的业务数据信息,则该网关节点可以确定对该目标用户进行身份认证的状态为失败状态。此时,该网关节点可以在身份认证的状态为失败状态时,生成与加密通信请求对应的请求失败信息,并可以将请求失败信息返回给第一节点,以使第一节点基于请求失败信息进行失败分析。
[0168] 其中,步骤S206-步骤S208的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
[0169] 步骤S209,网关节点在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,基于会话对应的加密密钥获取第一节点发送的区块同步请求;
[0170] 步骤S210,基于区块同步请求将在目标区块链中除第一区块之外的且与身份标识信息无关的区块确定为第二区块;
[0171] 步骤S211,对目标区块链中的第二区块进行过滤,将过滤后的目标区块链中的第一区块确定为与目标用户相关联的关联区块,在关联区块中查找与地址信息相匹配的业务数据信息;
[0172] 步骤S212,将查找到的业务数据信息用加密密钥进行加密处理,将加密处理后的业务数据信息作为加密数据信息,将加密数据信息返回给第一节点。
[0173] 其中,网关节点将与身份标识信息相关联的业务数据信息返回给第一节点的具体实现方法可以参见上述图5所对应实施例中对业务数据信息60a的具体描述,这里将不再继续进行赘述。
[0174] 其中,可以理解的是,网关节点在收到区块同步请求时,除了可以将与目标用户相关联的业务数据信息返回给第一节点之外,还可以根据区块同步请求中所携带的第一区块高度,在该网关节点中根据从上述共识网络中所获取到的完整的区块链上的所有区块的区块高度确定出待同步区块头信息;其中,第一区块高度为在第一节点的第二本地数据库中所存储的本地区块头信息中的最大区块高度。
[0175] 为便于理解,进一步的,请参见图7,是本申请实施例提供的一种进行区块同步的场景示意图。应当理解,本申请实施例中的第一节点在向网关节点请求进行区块同步的过程中,可以通过网关节点所获取到的区块的区块头信息进行区块同步。其中,如图7所示的数据库A可以为第一节点的本地数据库。该第一节点的本地数据库可以为上述第二本地数据库。如图7所示的数据库A中存储有该第一节点通过图7所示的网关节点在上一时刻(例如,T1时刻)进行区块同步后的所有区块头信息,比如,该第一节点在T1时刻进行区块同步后所存储的所有区块头信息中可以为图7所示的区块头信息80a。该区块头信息80a中可以多个本地区块头信息,多个本地区块头信息具体包含区块头70a、区块头70b、...、区块头70c、区块头70d。本申请实施例可以将由这些本地区块头信息(例如,图7所示的区块头70a、区块头70b、...、区块头70c、区块头70d)所构成的链式结构称之为轻量区块链。其中,该轻量区块链是由上述共识网络中的全量区块链上的所有区块的区块头信息所确定的。
[0176] 其中,可以理解的是,该区块头信息80a中的每个本地区块头头信息均与网络节点在T1时刻从上述共识网络中获取到的全量区块链中的区块头信息相同。另外,需要进行说明的是,区块头信息80a中的每个本地区块头信息中的区块高度可用按照高度递增的机制进行存储。例如,如图7所示的区块头70a中的区块高度可用从高度为1开始,即可以理解的是,该具有高度为1的区块头70a可以与共识网络中的完整的区块链(目标区块链)上的创世纪区块的区块头信息相同。所以,该第一节点每在该数据库A中缓存一个区块头信息(即在图7所示的数据库A中每新增一个本地区块头信息),区块高度则可以依次叠加1,进而可以通过N(N为正整数)次区块同步之后得到图7所示的区块头信息80a。
[0177] 其中,目标区块链中的区块是由上述图1所对应实施例中的第一节点集群中的所有节点(例如,所有轻量节点)、以及上述图1所对应实施例中的第二节点集群中的所有节点(例如,所有共识节点,也可以称之为全量节点)所上传的区块所确定的。其中,如图7所示的第一节点为轻量节点,由于该轻量节点中存储的只是目标区块链中的所有区块的区块头信息,所以,该第一节点无需参与后续的共识操作。但是上述共识网络中的所有全量节点则需要参与后续的共识操作。
[0178] 其中,如图7所示,第一节点在当前时刻为T2时刻(即T1时刻的下一时刻)向网关节点发送区块同步请求时,可以将图7所示的区块头信息80a中的第一区块高度添加到该区块同步请求,这样,网关节点在获取到该区块同步请求时,则可以快速得知该第一节点的本地所存储的最大区块高度为图7所示的第一区块高度(即图7所示的第一区块高度为区块头70d中的区块高度)。一个本地区块头信息中可以携带唯一能够指向共识网络中的全量区块链(即上述完整的区块链)上相应区块的区块高度。
[0179] 应当理解,如上述步骤S207所示,网关节点可以在对该目标用户进行身份验证之后,可以从上述共识网络中获取到图7所示的目标区块链(即前述完整区块链),并可以将该目标区块链缓存在图7所示的数据库B中,该数据库B可以为上述第一本地数据库,也可以为独立于上述第一本地数据库的另一用于进行数据缓存的数据库。如图7所示,该网关节点在获取到该目标区块链之后,可以对该目标区块链上的所有区块进行遍历,以从图7所示的区块50a、区块50b、...、区块50c、区块50d、区块50e、区块50f中进行区块过滤,以过滤掉这些区块中(例如,图7所示的区块50a、区块50b、...、区块50c、区块50d、区块50e、区块50f)与上述目标用户的身份标识信息(这里可以为用于表征目标用户的身份信息的地址信息)无关的第二区块,从而可以在这些区块中将与目标用户的地址信息相关联的区块(即上述第一区块)统称为关联区块。为便于理解,在本申请实施例中所阐述的目标区块链可以为上述图5所对应实施例中的目标区块链。所以,本申请实施例可以将图7所示的区块50e(即上述图5中的第一区块)称之为关联区块,进而可以在该关联区块中基于前述地址信息进行业务数据信息的过滤,以将在该区块50e中所找到的与该目标用户的地址信息相匹配的业务数据信息(例如,上述图5所示的业务数据信息60a)称之为图7所示的与目标用户相关联的业务数据信息(比如,上述与地址信息相匹配的业务数据信息)。
[0180] 可以理解的是,如图7所示,第一节点在上述T2时刻向网关节点进行区块同步的过程中,还可以向该网关节点请求如图7所示的待同步区块头信息。即网关节点可以在该数据库B中,获取到目标区块链上具有最大区块高度的区块头信息,比如,可以将区块50f中的区块头信息70f中的区块高度称之为图7所示的第二区块高度。所以,此时,网关节点可以通过比较区块高度(即获取到的第一区块高度与第二区块高度之间的高度差异参数),快速确定出用于在第一节点和网关节点之间进行区块同步的待同步区块头信息(即图7所示的区块头70e和区块头70f可以为待同步区块头信息)。
[0181] 进一步的,如图7所示,该网关节点可以在与第一节点建立会话之后,基于该会话的会话密钥将图7所示的待同步区块头信息和上述与目标用户相关联的业务数据信息一并进行加密处理后,返回给第一节点。然后,第一节点可以在图7所示的数据库A中对区块头信息80a进行更新处理,以确保更新处理后的区块头信息80a与图7所示的区块头信息90a相同。
[0182] 可选的,应当理解,网关节点可以根据在图7所示的数据库A中所存储的这些本地区块头信息在图7所示的数据库B中快速定位到相应的区块(比如,可以基于图7所示的区块头70d中的第一区块高度在图7所示的目标区块链中定为到具有相同区块高度的区块50d),从而可以在图7所示的目标区块链中,根据具有第一区块高度区块50d和具有第二区块高度的区块50f之间的高度差异参数,确定出待同步区块,以通过加密秘钥加密的方式将该待同步区块返回给第一节点。可以理解的是,第一节点在获取到这些待同步区块之后,可以将待同步区块中的区块的区块头信息称之为待同步区块头信息,以在第一节点中根据该同步区块头信息进行本次的区块同步。
[0183] 可选的,如上述图7所示的网关节点还可以在获取到目标区块链上的所有区块的区块头信息之后,直接将所有区块头信息以握手过程中所携带的加密秘钥的方式返回给第一节点,以使第一节点在本地基于所有区块的区块头信息进行区块同步。即此时,第一节点可以在本地比较块高,以在第一节点中确定出高度差异参数,进而可以基于该高度差异参数在第一节点的本地实现区块头信息的同步。
[0184] 其中,可以理解的是,由于第一节点中存储有与全量区块链上所有区块的区块头信息,还存储与该目标用户相关联的业务数据信息,所以,该第一节点在获取到目标终端(即上述图2所对应实施例中的目标终端40d)针对目标业务数据信息的查询请求时,可以快速在该第一节点的本地数据库(比如,上述图7所示的数据库A)中对该目标业务数据信息进行本地验证。
[0185] 进一步的,第一节点在获取到目标终端发送的针对目标业务数据信息的业务查询请求时,可以根据该业务查询请求中所携带的与目标业务数据信息相关联的查询关键信息(例如,目标交易地址),在图7所示的与该目标用户相关联的业务数据信息中查找与该目标交易地址相匹配的业务数据信息,并可以将查找到的目标业务数据信息称之为目标业务数据信息。应当理解,本申请实施例中的查询关键信息还可以包含目标块高、目标区块头哈希值等,这里将不对查询关键信息的具体内容进行一一列举。
[0186] 其中,可以理解的是,该第一节点可以在上述轻量区块链中,将与目标业务数据信息相关联的区块头信息作为目标区块头信息,并可以基于目标业务数据信息的哈希值,确定与目标业务数据信息相关联的认证路径对应的待验证哈希值;进一步的,该第一节点可以将待验证哈希值与目标区块头信息中的目标哈希值进行匹配;若待验证根哈希值与目标根哈希值匹配,则该第一节点可以将目标业务数据信息返回给目标终端,以确保该目标业务数据信息的真实性和有效性。
[0187] 其中,可以理解的是,本申请实施例中所列举的数据处理方法的具体实现方式可以应用于上述电子票据系统中,此时,该第一节点所获取到的与目标用户相关联的业务数据信息可以为电子票据。可选的,该数据处理方法的具体实现方式还可以应用于上述电子资产转移系统(例如,采用上述目标应用在电子商城或者线下店商城进行相应的支付业务等)中。此时,该第一节点所获取到的与目标用户相关联的业务数据信息可以为具体包含电子资源输出地址、电子资源输入地址以及电子资源转移量等。本申请实施例将不限制具体的应用场景。
[0188] 在本申请实施例中,网关节点在与第一节点进行握手的过程中,可以快速获取与目标用户相关联的待验证证书信息,该待验证证书信息中可以携带用于表征该目标用户的身份信息的身份标识信息,由于该网关节点在对目标用户进行身份认证的过程中,可以根据该身份标识信息对从共识网络中拉取到业务数据信息进行过滤,从而可以确保第一节点能够获取到该网关节点返回的与自己强相关的业务数据,进而可以增强数据拉取的隐私性。此外,在第一节点与网关节点建立会话之后,还可以通过加密密钥对会话过程中的所需传输的数据信息进行加密处理,从而可以提高数据传输的安全性。
[0189] 请参见图8,是本申请提供的一种数据处理装置的结构示意图。数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,数据处理装置1可应用于应用于区块链网络中的网关节点,该网关节点可以为上述图2所对应实施例中的网关节点40d。如图8所示,数据处理装置1可以包括:加密请求获取模块10、合法校验模块20、标识信息获取模块30和加密信息返回模块40;进一步的,数据处理装置1还可以包括:证书获取模块50,握手完成模块60,密文解密模块70,密钥生成模块80,失败信息生成模块90;
[0190] 加密请求获取模块10,用于获取第一节点发送的加密通信请求;第一节点为区块链网络中与目标终端相关联的节点;
[0191] 合法校验模块20,用于根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息,验证待验证证书信息的合法性;
[0192] 其中,加密通信请求用于指示网关节点向第一节点发送用于获取第二证书信息的证书获取请求;
[0193] 合法校验模块20包括:证书获取单元201,信息确定单元202,信息验证单元203;
[0194] 证书获取单元201,用于接收第一节点基于证书获取请求返回的与目标终端对应的目标用户的第二证书信息;
[0195] 信息确定单元202,用于根据第二证书信息确定与目标用户相关联的待验证证书信息,从第一本地数据库的证书列表中获取用于验证待验证证书信息的根证书信息;根证书信息是由与网关节点相关联的认证授权机构所确定的;
[0196] 信息验证单元203,用于根据根证书信息验证待验证证书信息的合法性。
[0197] 其中,待验证证书信息中包含第二证书信息对应的证书版本号和证书序列号;
[0198] 信息验证单元203包括:证书链获取子单元2031和合法确定子单元2032;
[0199] 证书链获取子单元2031,用于获取与根证书信息相关联的证书链;
[0200] 合法确定子单元2032,用于若证书链中包含与证书版本和证书序列号相关联的第二证书信息,且第二证书信息的验证时间属于第二证书信息对应的证书有效时长,则确定待验证证书信息具备合法性。
[0201] 其中,证书链获取子单元2031和合法确定子单元2032的具体实现方式可以参见上述图3所对应实施例中对在网关节点的本地验证第二证书信息的描述,这里将不再继续进行赘述。
[0202] 其中,证书获取单元201,信息确定单元202,信息验证单元203的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
[0203] 标识信息获取模块30,用于在待验证证书信息具备合法性时,从待验证证书信息中获取与目标用户相关联的身份标识信息,基于身份标识信息对目标用户进行身份认证;
[0204] 其中,待验证证书信息中包含与目标用户相关的身份标识信息;
[0205] 标识信息获取模块30包括:标识提取单元301,区块遍历单元302,身份认证单元303;
[0206] 标识提取单301,用于在待验证证书信息具备合法性时,从待验证证书信息中提取身份标识信息;
[0207] 区块遍历单元302,用于从与网关节点相关联的共识网络中获取目标区块链,遍历目标区块链上的区块;
[0208] 身份认证单元303,用于若在目标区块链上遍历到的与身份标识信息相关联的区块,则将遍历到与身份标识信息相关联的区块确定为第一区块,确定完成对目标用户的身份认证,且将身份认证的状态设置为成功状态。
[0209] 其中,标识提取单元301,区块遍历单元302,身份认证单元303的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
[0210] 加密信息返回模块40,用于在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,根据会话对应的加密密钥将与身份标识信息相关联的加密数据信息返回给第一节点。
[0211] 其中,身份标识信息中包含用于表征目标用户的身份信息的地址信息;
[0212] 加密信息返回模块40包括:会话建立单元401,区块确定单元402,区块过滤单元403,信息返回单元404;进一步的,加密信息返回模块还包括块高确定单元405,差异确定单元406,加密返回单元407;
[0213] 会话建立单元401,用于在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,基于会话对应的加密密钥获取第一节点发送的区块同步请求;
[0214] 区块确定单元402,用于基于区块同步请求将在目标区块链中除第一区块之外的且与身份标识信息无关的区块确定为第二区块;
[0215] 区块过滤单元403,用于对目标区块链中的第二区块进行过滤,将过滤后的目标区块链中的第一区块确定为与目标用户相关联的关联区块,在关联区块中查找与地址信息相匹配的业务数据信息;
[0216] 信息返回单元404,用于将查找到的业务数据信息用加密密钥进行加密处理,将加密处理后的业务数据信息作为加密数据信息,将加密数据信息返回给第一节点。
[0217] 其中,区块同步请求中携带第一区块高度;第一区块高度为在第一节点的第二本地数据库中所存储的本地区块头信息中的最大区块高度;
[0218] 可选的,块高确定单元405,用于基于区块同步请求从共识网络中拉取目标区块链上的所有区块的区块头信息,在所有区块的区块头信息中获取第二区块高度;第二区块高度为目标区块链上的最大区块高度;
[0219] 差异确定单元406,用于基于第二区块高度与第一区块高度之间的高度差异参数,确定用于在第一节点和网关节点之间进行区块同步的待同步区块头信息;
[0220] 加密返回单元407,用于将待同步区块头信息作为加密数据信息,将加密数据信息返回给第一节点。
[0221] 其中,会话建立单元401,区块确定单元402,区块过滤单元403,信息返回单元404,高确定单元405,差异确定单元406,加密返回单元407的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
[0222] 可选的,证书获取模块50,用于根据加密通信请求从与网关节点相关联的第一本地数据库中获取第一证书信息,将第一证书信息作为加密通信请求对应的响应信息返回给第一节点,以使第一节点对第一证书信息进行合法校验;第一证书信息中携带与网关节点相关联的第一公钥;
[0223] 握手完成模块60,用于接收第一节点基于第一公钥发送的握手任务完成信息;握手任务完成信息中携带利用第一公钥对目标随机数进行加密处理后的密文信息;
[0224] 密文解密模块70,用于通过第一公钥对应的第一私钥对密文信息进行解密,得到与加密通信请求相关联的目标随机数;
[0225] 密钥生成模块80,用于根据目标随机数,生成用于与第一节点之间进行会话时的加密密钥。
[0226] 可选的,失败信息生成模块90,用于在身份认证的状态为失败状态时,生成与加密通信请求对应的请求失败信息,将请求失败信息返回给第一节点,以使第一节点基于请求失败信息进行失败分析。
[0227] 其中,加密请求获取模块10、合法校验模块20、标识信息获取模块30、加密信息返回模块40、证书获取模块50,握手完成模块60,密文解密模块70,密钥生成模块80,失败信息生成模块90的具体实现方式可以参见上述图6所对应实施例中对步骤S201-步骤S212的描述,这里将不再继续进行赘述。
[0228] 在本申请实施例中,网关节点在与第一节点进行握手的过程中,可以快速获取与目标用户相关联的待验证证书信息,该待验证证书信息中可以携带用于表征该目标用户的身份信息的身份标识信息,由于该网关节点在对目标用户进行身份认证的过程中,可以根据该身份标识信息对从共识网络中拉取到业务数据信息进行过滤,从而可以确保第一节点能够获取到该网关节点返回的与自己强相关的业务数据,进而可以增强数据拉取的隐私性。此外,在第一节点与网关节点建立会话之后,还可以通过加密密钥对会话过程中的所需传输的数据信息进行加密处理,从而可以提高数据传输的安全性。
[0229] 请参见图9,是本申请实施例提供的一种节点设备的结构示意图。如图9所示,节点设备1000可以应用于上述图2对应实施例中的网关节点40d,节点设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,节点设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
[0230] 该节点设备1000中的网络接口1004还可以与区块链网络中的第一节点和共识网络中的全量节点(即上述第二节点)进行连接,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图9所示的节点设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
[0231] 获取第一节点发送的加密通信请求;第一节点为区块链网络中与目标终端相关联的节点;
[0232] 根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息,验证待验证证书信息的合法性;
[0233] 在待验证证书信息具备合法性时,从待验证证书信息中获取与目标用户相关联的身份标识信息,基于身份标识信息对目标用户进行身份认证;
[0234] 在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与第一节点之间的会话,根据会话对应的加密密钥将与身份标识信息相关联的加密数据信息返回给第一节点。
[0235] 应当理解,本申请实施例中所描述的节点设备1000可执行前文图3或图6所对应实施例中对数据处理方法的描述,也可执行前文图8所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0236] 此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图6所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
[0237] 进一步的,请参见图10,是本申请实施例提供的另一种数据处理装置的结构示意图。数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该数据处理装置2可运行于上述图2所对应实施例中的第一节点40c,该数据处理装置2至少可以包含:加密请求发送模块100,会话建立模块200,加密数据接收模块300;进一步的,该数据处理装置2还可以包含:同步请求发送模块400,区块同步模块500,目标业务查询模块600,哈希确定模块700,哈希匹配模块800,目标业务返回模块900;
[0238] 加密请求发送模块100,用于向区块链网络中的网关节点发送加密通信请求,以使网关节点根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息;待验证证书信息用于指示网关节点根据待验证证书信息中的身份标识信息对目标用户进行身份认证;
[0239] 会话建立模块200,用于在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与网关节点之间的会话;
[0240] 加密数据接收模块300,根据会话对应的加密密钥对网关节点返回的加密数据信息进行解密,得到与身份标识信息相匹配的业务数据信息。
[0241] 可选的,同步请求发送模块400,用于根据会话对应的加密密钥向网关节点发送区块同步请求,以使网关节点基于区块同步请求从网关节点相关联的共识网络中获取到的目标区块链上的所有区块的区块头信息;
[0242] 区块同步模块500,用于接收网关节点根据会话对应的加密密钥返回的所有区块的区块头信息,基于所有区块的区块头信息进行区块同步。
[0243] 可选的,目标业务查询模块600,用于获取目标终端发送的针对目标业务数据信息的业务查询请求,基于业务查询请求从与身份标识信息相匹配的业务数据信息中查找目标业务数据信息;
[0244] 哈希确定模块700,用于将与目标业务数据信息相关联的区块头信息作为目标区块头信息,确定与目标业务数据信息相关联的认证路径对应的待验证哈希值;
[0245] 哈希匹配模块800,用于将待验证哈希值与目标区块头信息中的目标哈希值进行匹配;
[0246] 目标业务返回模块900,用于若待验证根哈希值与目标根哈希值匹配,则将目标业务数据信息返回给目标终端。
[0247] 其中,加密请求发送模块100,会话建立模块200,加密数据接收模块300;进一步的,该数据处理装置2还可以包含:同步请求发送模块400,区块同步模块500,目标业务查询模块600,哈希确定模块700,哈希匹配模块800,目标业务返回模块900的具体实现方式请参见图6对应的实施例中的步骤S201-步骤S211,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0248] 进一步地,请参见图11,是本申请实施例提供的一种节点设备的示意图。如图11所示,节点设备4000可以为上述图2对应实施例中的第一节点40c,节点设备4000可以包括:至少一个处理器4001,例如CPU,至少一个网络接口4004,用户接口4003,存储器4005,至少一个通信总线4002。其中,通信总线4002用于实现这些组件之间的连接通信。其中,用户接口4003可以包括显示屏(Display)、键盘(Keyboard),网络接口4004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选地还可以是至少一个位于远离前述处理器4001的存储装置。如图11所示,作为一种计算机存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
[0249] 在图11所示的节点设备4000中,网络接口4004主要用于与区块链网络中的网关节点进行网络通信;而用户接口4003主要用于为用户提供输入的接口;而处理器4001可以用于调用存储器4005中存储的设备控制应用程序,以实现:
[0250] 向区块链网络中的网关节点发送加密通信请求,以使网关节点根据加密通信请求获取与目标终端对应的目标用户相关联的待验证证书信息;待验证证书信息用于指示网关节点根据待验证证书信息中的身份标识信息对目标用户进行身份认证;
[0251] 在身份认证的状态为成功状态且完成与加密通信请求相关联的握手任务时,建立与网关节点之间的会话;
[0252] 根据会话对应的加密密钥对网关节点返回的加密数据信息进行解密,得到与身份标识信息相匹配的业务数据信息。
[0253] 应当理解,本申请实施例中所描述的节点设备4000可执行前文图6所对应实施例中对数据处理方法的描述,也可执行前文图10所对应实施例中对数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0254] 此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图6所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
[0255] 进一步的,请参见图12,是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图8所对应实施例中的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的网关节点40d,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图10所对应实施例中的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的第一节点40c,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
[0256] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0257] 以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈