一种区块链隐私保护方法、装置及系统与流程

文档序号:12739415阅读:254来源:国知局
一种区块链隐私保护方法、装置及系统与流程

本发明涉及互联网技术领域,具体涉及一种区块链隐私保护方法、装置及系统。



背景技术:

目前区块链上的交易数据都是公开可见的,对于证券、银行等行业来说,这些数据的暴露往往不符合业务规则和监管要求。在区块链基础协议的框架内,寻找既能对交易内容背书、又不让非授权人员获取交易内容的技术方案是非常重要的。

区块链上的很多信息,比如交易数据,既是需要分布式节点予以见证的关键信息,同时又都是隐私信息。如果公开交易信息,则无法保护交易者隐私。如果对全部交易内容加密,仅有交易对手能够解密,那么见证者仅凭交易内容密文,无法验证交易是否有效。因此,现有技术不能同时满足对区块链信息的验证和隐私保护,区块链上的信息验证与隐私保护之间存在着一定的矛盾。



技术实现要素:

针对现有技术中的上述缺陷,本发明提供了一种区块链隐私保护方法、装置及系统,能够同时满足对区块链信息的验证和隐私保护,可以解决区块链上的信息验证和隐私保护之间的矛盾。

第一方面,本发明提供的一种区块链隐私保护方法,包括:

信息脱敏终端接收区块链节点发送的原始信息;

信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;

信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;

信息验证终端对所述第二默克尔树进行验证。

可选的,所述根据所述原始信息,构建完整的第一默克尔树,包括:

将所述原始信息分成若干数据块;

分别计算每个所述数据块的哈希值;

根据所述若干数据块和所述哈希值构建完整的第一默克尔树。

可选的,所述隐私信息,包括:隐私数据块和隐私节点。

可选的,在所述信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树的步骤之后,在所述信息验证终端对所述第二默克尔树进行验证步骤之前,还包括:

信息脱敏终端对所述第二默克尔树进行数字签名,获得第一签名数据;

信息验证终端利用签名公钥对所述第一签名数据进行验证;若验证没有通过,则输出验证拒绝信息,结束验证;

若验证通过,则执行信息验证终端对所述第二默克尔树进行验证的步骤。

可选的,所述对所述第二默克尔树进行验证,包括:

步骤S1:对所述第二默克尔树进行解析,获取所述第二默克尔树的数据块和所述数据块的哈希值;

步骤S2:对步骤S1中的所述第二默克尔树的所述数据块对应的哈希值进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

步骤S3:对步骤S2中验证通过的所述第二默克尔树中的中间节点和根节点进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

步骤S4:对步骤S3中验证通过的所述第二默克尔树中的数据块进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;若验证通过,则所述第二默克尔树通过验证。

可选的,所述对所述第二默克尔树的中间节点和根节点进行验证,包括:

利用所述第二默克尔树的叶节点和中间节点逐层重建第三默克尔树,并将所述第二默克尔树中的节点与所述第三默克尔树中的节点进行逐层对比验证;若所述第二默克尔树与所述第三默克尔树中存在至少一个节点不相同,则验证没有通过,结束验证;若所述第二默克尔树与所述第三默克尔树中的节点完全相同,则验证通过。

可选的,在所述对所述第二默克尔树进行验证的步骤之后,还包括:

对验证通过的所述第二默克尔树进行数字签名,获得第二签名数据;

根据所述第二默克尔树和所述第二签名数据,生成验证通过信息,并输出所述验证通过信息,并结束验证。

第二方面,本发明提供的一种区块链隐私保护装置,包括:

信息接收模块,用于信息脱敏终端接收区块链节点发送的原始信息;

第一默克尔树构建模块,用于信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;

第二默克尔树构建模块,用于信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;

第二默克尔树验证模块,用于信息验证终端对所述第二默克尔树进行验证。

第三方面,本发明提供的一种区块链隐私保护系统,包括:

信息脱敏终端和信息验证终端;

所述信息脱敏终端和信息验证终端在区块链上通过P2P协议相互耦合连接;

所述信息脱敏终端,部署在区块链中的信息发送节点上,根据节点的隐私保护需要,将接收的完整的原始信息经过加工处理后,保留信息验证终端需要的验证信息,生成待验证信息,并将所述待验证信息发送给信息验证终端;

信息验证终端,部署在区块链中的见证节点上,接收信息脱敏终端发送的所述待验证信息,并对所述待验证信息进行校验,对校验通过的待验证信息进行签名,生成验证通过信息,并将所述验证通过信息发送给所述信息脱敏终端,否则返回验证拒绝信息。

可选的,所述信息脱敏终端,包括:信息接收模块、第一默克尔树构建模块、第二默克尔树构建模块、第一数字签名模块和第一主控模块;

所述信息接收模块、第一默克尔树构建模块、第二默克尔树构建模块和第一数字签名模块均与所述第一主控模块连接;

信息接收模块,用于信息脱敏终端接收区块链节点发送的原始信息;

所述第一默克尔树构建模块,用于信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;

第二默克尔树构建模块,用于信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;

所述第一数字签名模块,用于信息脱敏终端对所述第二默克尔树进行数字签名,获得第一签名数据;

所述第一主控模块控制所述信息接收模块接收来自区块链节点的原始信息,并协调控制所述第一默克尔树构建模块、第二默克尔树构建模块和第一数字签名模块,构建第一默克尔树、第二默克尔树,并完成数字签名工作。

由以上技术方案可知,本发明提供一种区块链隐私保护方法,第一步,信息脱敏终端接收区块链节点发送的原始信息;第二步,信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;第三步,信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;第四步,信息验证终端对所述第二默克尔树进行验证。

相较于现有技术,本发明提供的一种区块链隐私保护方法,通过对区块链的原始信息构建第一默克尔树,并对所述第一默克尔树中的隐私信息进行裁剪处理,对所述第一默克尔树中的验证信息进行保留处理,可以获得不包含隐私信息但包含验证信息的第二默克尔树,最后针对不包含隐私信息的第二默克尔树进行信息验证,这样,在验证的过程中,可以避免信息验证终端获得所述隐私信息;同时,由于对所述第一默克尔树中的验证信息进行了保留处理,因此所述第二默克尔树中包含验证信息,通过对第二默克尔树进行验证,可以实现对所述区块链的原始信息的验证。这样,就能够同时满足对区块链信息的验证和隐私保护,进而能够解决区块链上的信息验证和隐私保护之间的矛盾。

本发明提供的一种区块链隐私保护装置及系统,与上述区块链隐私保护方法出于相同的发明构思,具有相同的有益效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1示出了本发明第一实施例提供的一种区块链隐私保护方法的流程图;

图2示出了本发明第一实施例提供的对所述第一签名数据和所述第二默克尔树进行验证的流程图;

图3示出了本发明第二实施例提供的8个数据块完整的第一默克尔树的示意图;

图4示出了本发明第二实施例提供的裁剪后的含8个数据块的第二默克尔树的示意图;

图5示出了本发明第三实施例提供的一种区块链隐私保护装置的示意图;

图6示出了本发明第四实施例提供的一种区块链隐私保护系统的信息脱敏终端的示意图;

图7示出了本发明第四实施例提供的一种区块链隐私保护系统的信息验证终端的示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

本发明提供了一种区块链隐私保护方法、装置及系统。下面结合附图对本发明的实施例进行说明。

图1示出了本发明第一实施例所提供的一种区块链隐私保护方法的流程图。如图1所示,本发明第一实施例提供的一种区块链隐私保护方法包括以下步骤:

步骤S101:信息脱敏终端接收区块链节点发送的原始信息。

区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。所述区块链包括多个节点,所述接收区块链节点发送的原始信息是接收区块链中的一个或多个节点发送的原始信息。所述原始信息是指区块链节点中需要进行有效性验证的原始信息。

所述原始信息可以包括:交易数据、交易者信息等。所述原始信息可以包括:隐私信息和验证信息。例如,若所述原始信息包括:资金转出公司名称、财务负责人姓名、付款合同、资金转出地址、资金转入地址、金额,其中,所述资金转出公司名称、财务负责人姓名、付款合同就是所述原始信息中的隐私信息,所述资金转出地址、资金转入地址、金额就是所述原始信息中的验证信息。其中,所述原始信息中的隐私信息和验证信息往往是根据区块链上具体业务来确定。所述隐私信息是根据区块链上具体业务需求确定的。所述验证信息是根据具体业务场景确定的。例如:若所述原始信息为转账的相关信息,则根据业务场景,就需要对账号信息、转账金额进行验证。

步骤S102:信息脱敏终端根据所述原始信息,构建完整的第一默克尔树。

在本步骤中,可以包括:将所述原始信息分成若干数据块;分别计算每个所述数据块的哈希值;根据所述若干数据块和所述哈希值构建完整的第一默克尔树。

其中,所述默克尔树(又叫哈希树)是一种二叉树,由一个根节点、一组中间节点和一组叶节点组成。最下面的叶节点包含存储数据或其哈希值,每个中间节点是它的两个孩子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成。进一步的,默克尔树可以推广到多叉树的情形。默克尔树的特点是,底层数据的任何变动,都会传递到其父亲节点,一直到树根。

默克尔树的具体构造步骤如下:

1)将输入的信息分成若干数据块D0、D1、D2……Dn;

2)计算出D0的哈希值H0=hash(D0),D1的哈希值H1=hash(D1)、……Dn的哈希值Hn=hash(Dn);

3)逐个计算Hn+1=hash(H0+H1)、Hn+2=hash(H2+H3)……;

4)按照3)的方法逐层计算哈希值,构建二叉树,直至计算出最后的根节点的哈希值HRoot。

在本步骤中,将所述原始信息分成若干数据块后,所述数据块中的信息是否是隐私信息或验证信息可以是预先设定好的,这样就可以确定哪个数据块中的信息是隐私信息或验证信息。也可以是首先预先设定好哪个编号的数据块中放入隐私信息,哪个放入验证信息,然后,将所述数据块中的隐私信息和验证信息相对应的填入所述数据块中。通过这两种方法都可以较方便地确定出所述数据快中的隐私信息和验证信息。

步骤S103:信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树。

其中,所述第二默克尔树,包括:数据块、叶节点、中间节点和根节点。所述数据块、叶节点、中间节点和根节点都是验证需知的信息,即验证信息。若所述第二默克尔树只包括了数据块或节点,则不能完成对验证。所述验证信息可以是最小需知的验证信息。

所述隐私信息包括:隐私数据块和隐私节点。所述隐私数据块是指包含隐私信息的数据块。所述隐私节点是指除验证需知的节点外的剩余节点。这样,可以最大限度地保护隐私信息。

本步骤通过裁剪所述隐私信息,可以使信息验证终端仅获得需要其验证的信息,可以避免信息验证终端获得隐私信息,保护隐私信息;同时,本步骤还保留了所述第一默克尔树中的验证信息,信息验证终端能够根据所述验证信息对整条信息的有效性进行验证。

在本步骤中,对所述第一默克尔树中隐私信息进行裁剪处理,可以包括:对所述第一默克尔树中隐私信息进行加密或隐藏处理,使信息验证终端不能获得所述隐私信息,达到保密效果。对所述隐私信息进行裁剪处理与所述加密和隐藏处理相比,所述裁剪处理是直接删除掉所述隐私信息,可以起到更好的保密效果。

在本步骤之后,在所述对所述第二默克尔树进行验证的步骤之前,还可以包括:信息脱敏终端对所述第二默克尔树进行数字签名,获得第一签名数据;

信息验证终端利用签名公钥对所述第一签名数据进行验证;若验证没有通过,则输出验证拒绝信息,结束验证;

若验证通过,则执行信息验证终端对所述第二默克尔树进行验证的步骤。

其中,对所述第二默克尔树进行数字签名,可以使用自身的签名私钥进行数字签名,进而获得第一签名数据。然后,将所述第一签名数据和所述第二默克尔树进行组包,生成待验证消息,再对所述待验证消息进行验证。所述待验证消息,包括所述第一签名数据和所述第二默克尔树。

若所述信息脱敏终端没有对所述第二默克尔树进行数字签名,则根据所述第二默克尔树生成待验证消息,对所述待验证消息进行验证。所述待验证消息,包括所述第二默克尔树。两种方案都在本发明的保护范围内。

在对所述待验证消息进行验证前,所述信息脱敏终端需要将所述待验证消息发送给信息验证终端。

所述信息脱敏终端对所述第二默克尔树进行数字签名,能够防止所述待验证信息在发送给信息验证终端的过程中被篡改。

步骤S104:信息验证终端对所述第二默克尔树进行验证。

其中,所述信息验证终端部署在区块链中的见证节点上,可以对所述待验证信息的有效性进行验证。

在本步骤之前,如果没有对所述第二默克尔树进行数字签名,则在本步骤是对所述第二默克尔树进行验证;在本步骤之前,如果对所述第二默克尔树进行了数字签名,则在本步骤中需要对所述第一签名数据和所述第二默克尔树进行验证。如图2所示为对所述第一签名数据和所述第二默克尔树进行验证的流程图。

对所述第二默克尔树和所述第一签名数据进行验证,可以包括:利用签名公钥对所述第一签名数据进行验证;若验证没有通过,则输出验证拒绝信息,结束验证;若验证通过,则对所述第二默克尔树进行验证。这样,可以将所述第二默克尔树发送给相应的信息验证终端进行验证,信息验证终端可以以此来验证信息脱敏终端的身份,能够防止信息脱敏终端的执行者抵赖相应的操作。

其中,所述签名公钥是与所述步骤S103中的签名私钥相配对的。

在本步骤中,对所述第二默克尔树进行验证,可以包括:

步骤S1:对所述第二默克尔树进行解析,获取所述第二默克尔树的数据块和所述数据块的哈希值;

步骤S2:对步骤S1中的所述第二默克尔树的所述数据块对应的哈希值进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

步骤S3:对步骤S2中验证通过的所述第二默克尔树中的中间节点和根节点进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

步骤S4:对步骤S3中验证通过的所述第二默克尔树中的数据块进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;若验证通过,则所述第二默克尔树通过验证。

其中,对所述数据块进行验证是根据所述区块链上的业务规则来对数据块进行验证。

通过对所述第二默克尔树多方面地验证,可以保证所述原始信息的正确性,可以避免恶意交易。

在步骤S2中,对所述数据块对应的哈希值进行验证时,需要重新计算所述数据块的哈希值,然后将重新计算的哈希值与解析出来的哈希值进行对比,可以判断信息是否被篡改,进而确保信息的正确性。

在本步骤中,所述对所述第二默克尔树的中间节点和根节点进行验证,可以包括:

利用所述第二默克尔树的叶节点和中间节点逐层重建第三默克尔树,并将所述第二默克尔树中的节点与所述第三默克尔树中的节点进行逐层对比验证;若所述第二默克尔树与所述第三默克尔树中存在至少一个节点不相同,则验证没有通过,结束验证;若所述第二默克尔树与所述第三默克尔树中的节点完全相同,则验证通过。

其中,在对所述第二默克尔树中的节点和所述第三默克尔树中的节点进行逐层对比验证时,是在利用所述第二默克尔树中的验证信息中的叶节点和中间节点逐层重建第三默克尔树的过程中进行对比验证的,也就是计算所述第三默克尔树中的一个中间节点就与所述第二默克尔树相应的节点进行验证。

其中,所述验证信息可以包括:数据块、叶节点、中间节点、根节点。所述叶节点就是所述数据块的哈希值。所述中间节点和根节点是根据所述叶节点计算出来的哈希值。

通过对重新计算的节点的哈希值与第二默克尔树的哈希值进行对比,可以判断在信息传输过程中是否被篡改,可以验证信息的正确性。

在步骤S4中,对所述数据块的验证是在所述信息验证终端中进行的。在本发明中,对所述数据块的验证也可以是区块链见证节点来进行验证。在步骤S3之后,所述信息验证终端可以将验证通过的所述第二默克尔树发送给区块链的见证节点,所述见证节点根据所述区块链上的业务规则对所述第二默克尔树中的数据块进行验证,若验证通过,则将验证通过的所述第二默克尔树发送给所述信息验证终端;若验证没有通过,则向所述信息验证终端发送未通过的信息,所述信息验证终端接收到所述未通过的信息后,结束验证。

在本步骤之后,还可以包括:对验证通过的所述第二默克尔树进行数字签名,获得第二签名数据;根据所述第二默克尔树和所述第二签名数据,生成验证通过信息,并输出所述验证通过信息,并结束验证。

若在对所述第二默克尔树进行验证的步骤之前,对所述第二默克尔树进行了数字签名,则对所述第一签名数据和所述第二默克尔树验证通过后,可以对所述第一签名数据和所述第二默克尔树进行组包后形成的待验证信息进行第二次数字签名,获得第二签名数据;然后,根据所述待验证信息和所述第二签名数据,生成验证通过信息,并结束验证。也可以只对所述第二默克尔树进行数字签名,获得第二签名数据;根据所述第二默克尔树和所述第二签名数据,生成验证通过信息,并结束验证。

最后,所述信息验证终端将所述验证通过信息发送给所述信息脱敏终端。

所述验证通过信息可以包括:所述第一签名数据和所述第二默克尔树进行组包后形成的待验证信息和所述第二签名数据。所述验证通过信息可以包括:所述第二默克尔树和所述第二签名数据。

通过进行第二次数字签名,所述验证通过信息中包括有所述第二签名数据。当信息脱敏终端接收到所述验证通过信息时,可以根据所述第二签名数据来验证信息验证终端的身份,防止信息验证终端的执行者抵赖相应的操作。

本发明第二实施例提供一种区块链隐私保护方法的具体案例。

在本发明提供的第二实施例中,获取的区块链的原始信息是一条转账记录。首先,将所述原始信息分成8个数据块,分别记为D0、D1、D2……D7。其中,区块链见证节点需要知道资金收付双方在区块链上的地址和金额,不需要知道其它内容,D5、D6、D7中分别存储资金收付双方在区块链上的地址和金额。由于所述信息验证终端部署在区块链中的见证节点上,因此,所述信息验证终端在对所述待验证信息的有效性进行验证时,需要获得D5、D6、D7数据块的内容。

然后,分别计算所述D0、D1、D2……D7的哈希值。计算出D0的哈希值H0=hash(D0),D1的哈希值H1=hash(D1)、……D7的哈希值Hn=hash(D7),如表1所示为8个数据块的信息内容及其相对应的哈希值。

表1 8个数据块的信息内容及其相对应的哈希值

接着,逐个计算H8=hash(H0+H1)、H9=hash(H2+H3)……H11=hash(H6+H7);最后,按照上述方法逐层计算哈希值,构建二叉树,直至计算出最后的根节点的哈希值Root。如表2所示,为完整的含8个数据块信息的默克尔树各节点的哈希值。

表2完整的含8个数据块信息的默克尔树各节点的哈希值

根据表2构建的完整的默克尔树为第一默克尔树,如图3所示。

根据预先规定和表1可知,D0、D1、D2、D3及D4的内容信息为隐私信息,相应的H0、H1、H2、H3、H8、H9节点也为隐私信息,需要裁剪掉,由于需要保证能够计算验证根节点Root,需保留H4、H12,D5、D6、D7是需要验证的数据,必须保留,同时保留相关节点H5、H6、H7、H10、H11、H13、Root,最终得到一棵裁剪的默克尔树,为第二默克尔树,如图4所示。

接下来对所述第二默克尔树进行数字签名,生成第一签名数据;然后,将所述第二默克尔树和所述第一签名数据进行组包,生成待验证消息,再对所述待验证消息进行验证。

在待验证消息进行验证的过程中,首先,利用公知的签名公钥对所述第一签名数据进行验证,若验证通过,则对所述第二默克尔树进行验证。

在对所述第二默克尔树进行验证过程中,首先,对所述第二默克尔树进行解析,获取数据块D5、D6、D7及其哈希值H5、H6、H7,然后,利用所述数据块D5、D6、D7重新计算其哈希值,将重新计算的哈希值与所述哈希值H5、H6、H7进行对比校验,若验证没有通过,则结束验证;若验证通过,则对所述第二默克尔树剩余的节点进行验证。

在对所述第二默克尔树剩余的节点进行验证过程中,需要逐层重建第三默克尔树,在重建的过程中,逐层对比所述第二默克尔树和所述第三默克尔树。具体步骤为:使用哈希值H4、H5、H6、H7,连同H10、H11,进行计算校验(H10=hash(H4+H5)、H11=hash(H6+H7));若验证通过,再利用H10、H11、H13计算校验(H13=hash(H10+H11);若验证通过,再利用H12、H13、Root计算校验(Root=hash(H12+H13)),若验证通过,则对D5、D6、D7的内容信息进行验证。上述过程中一旦有一步验证未通过,则结束验证。

在对D5、D6、D7的内容信息(即数据块的内容信息)进行验证的过程中,主要检查资金转出地址01cHnsCSfEfXCL5u9wT8cVQGijb8JU7nB的状态是否正常,余额是否大于转账金额人民币5,000,000.00元,资金转入地址1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL的状态是否正常,若验证没有通过,则结束验证;若验证通过,则使用签名私钥对所述待验证信息进行数字签名,获得第二签名数据,然后,将所述第二签名数据及待验证信息组包成验证通过信息,结束验证。

在上述的第一实施例中,提供了一种区块链隐私保护方法,与之相对应的,本申请还提供一种区块链隐私保护装置。请参考图5,其为本发明第三实施例提供的一种区块链隐私保护装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本发明第三实施例提供的一种区块链隐私保护装置,包括:

一种区块链隐私保护装置,其特征在于,包括:

信息接收模块101,用于信息脱敏终端接收区块链节点发送的原始信息;

第一默克尔树构建模块102,用于信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;

第二默克尔树构建模块103,用于信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;

第二默克尔树验证模块104,用于信息验证终端对所述第二默克尔树进行验证。

在本发明提供的一个实施例中,所述第一默克尔树构建模块,包括:

数据块生成单元,用于将所述原始信息分成若干数据块;

摘要信息生成单元,用于分别计算每个所述数据块的哈希值;

第一默克尔树构建单元,用于根据所述若干数据块和所述哈希值构建完整的第一默克尔树。

在本发明提供的一个实施例中,所述隐私信息,包括:隐私数据块和隐私节点。

在本发明提供的一个实施例中,所述装置,还包括:

第一数字签名模块,用于信息脱敏终端对所述第二默克尔树进行数字签名,获得第一签名数据;

第一签名数据验证模块,用于信息验证终端利用签名公钥对所述第一签名数据进行验证;若验证没有通过,则输出验证拒绝信息,结束验证;

若验证通过,则执行信息验证终端对所述第二默克尔树进行验证的步骤。

在本发明提供的一个实施例中,所述第二默克尔树验证模块104,包括:

解析单元,用于对所述第二默克尔树进行解析,获取所述第二默克尔树的数据块和所述数据块的哈希值;

摘要信息验证单元,用于对解析单元输出的所述第二默克尔树的所述数据块对应的哈希值进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

第二默克尔树验证单元,用于对通过摘要信息验证单元验证的所述第二默克尔树中的中间节点和根节点进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;

数据块验证单元,用于对通过第二默克尔树验证单元验证的所述第二默克尔树中的数据块进行验证,若验证没有通过,则输出验证拒绝信息,结束验证;若验证通过,则所述第二默克尔树通过验证。

在本发明提供的一个实施例中,所述第二默克尔树验证单元,具体用于:

利用所述第二默克尔树的叶节点和中间节点逐层重建第三默克尔树,并将所述第二默克尔树中的节点与所述第三默克尔树中的节点进行逐层对比验证;若所述第二默克尔树与所述第三默克尔树中存在至少一个节点不相同,则验证没有通过,结束验证;若所述第二默克尔树与所述第三默克尔树中的节点完全相同,则验证通过。

在本发明提供的一个实施例中,所述装置,还包括:

第二数字签名模块,用于对验证通过的所述第二默克尔树进行数字签名,获得第二签名数据;

验证通过信息生成模块,用于根据所述第二默克尔树和所述第二签名数据,生成验证通过信息,并输出所述验证通过信息,并结束验证。

在上述的第一实施例中,提供了一种区块链隐私保护方法,与之相对应的,本申请还提供一种区块链隐私保护系统。请参考图6、图7,其为本发明第四实施例提供的一种区块链隐私保护系统中的信息脱敏终端和信息验证终端的示意图。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。

本发明第四实施例提供的一种区块链隐私保护系统,包括:

信息脱敏终端和信息验证终端;

所述信息脱敏终端和信息验证终端在区块链上通过P2P协议相互耦合连接;

所述信息脱敏终端,部署在区块链中的信息发送节点上,根据节点的隐私保护需要,将接收的完整的原始信息经过加工处理后,保留信息验证终端需要的验证信息,生成待验证信息,并将所述待验证信息发送给信息验证终端;

信息验证终端,部署在区块链中的见证节点上,接收信息脱敏终端发送的所述待验证信息,并对所述待验证信息进行校验,对校验通过的待验证信息进行签名,生成验证通过信息,并将所述验证通过信息发送给所述信息脱敏终端,否则返回验证拒绝信息。

在本发明提供的一个实施例中,所述信息脱敏终端,包括:信息接收模块、第一默克尔树构建模块、第二默克尔树构建模块、第一数字签名模块和第一主控模块;

所述信息接收模块、第一默克尔树构建模块、第二默克尔树构建模块和第一数字签名模块均与所述第一主控模块连接;

信息接收模块,用于信息脱敏终端接收区块链节点发送的原始信息;

所述第一默克尔树构建模块,用于信息脱敏终端根据所述原始信息,构建完整的第一默克尔树;

第二默克尔树构建模块,用于信息脱敏终端将所述第一默克尔树中的隐私信息裁剪掉,并保留所述第一默克尔树中的验证信息,获得裁剪后的第二默克尔树;

所述第一数字签名模块,用于信息脱敏终端对所述第二默克尔树进行数字签名,获得第一签名数据;

所述第一主控模块控制所述信息接收模块接收来自区块链节点的原始信息,并协调控制所述第一默克尔树构建模块、第二默克尔树构建模块和第一数字签名模块,构建第一默克尔树、第二默克尔树,并完成数字签名工作。

在本发明提供的一个实施例中,所述第一主控模块控制所述信息接收模块接收区块链节点发送的原始信息,调用第一默克尔树构建模块中的数据块生成单元、摘要信息生成单元、第一默克尔树构建单元建立第一默克尔树;所述第一主控模块控制所述第一默克尔树构建模块将所述第一默克尔树发送给第二默克尔树构建模块。

在本发明提供的一个实施例中,所述第二默克尔树构建模块裁剪掉所述第一默克尔树中需要保护的隐私信息,得到脱敏的默克尔树,所述脱敏的默克尔树为第二默克尔树;所述第二默克尔树构建模块将所述第二默克尔树发送给所述第一数字签名模块,对其进行数据签名后,生成待验证信息,所述待验证信息包括,第一签名数据和第二默克尔树。

在本发明提供的一个实施例中,所述信息验证终端,包括:第一签名数据验证模块、第二默克尔树验证模块、第二数字签名模块、验证通过信息生成模块和第二主控模块;

所述第一签名数据验证模块、第二默克尔树验证模块、第二数字签名模块、验证通过信息生成模块均与所述第二主控模块连接;

其中,所述第二默克尔树验证模块,包括:解析单元、摘要信息验证单元、第二默克尔树验证单元、数据块验证单元。

在本发明提供的一个实施例中,所述第二主控模块控制所述第一签名数据验证模块接收所述待验证信息;所述第一签名数据验证模块将验证通过的待验证信息发送给所述第二默克尔树验证模块;所述第二主控模块协调所述第二默克尔树验证模块中的解析单元、摘要信息验证单元、第二默克尔树验证单元、数据块验证单元对所述第二默克尔树进行验证。

在本发明提供的一个实施例中,所述摘要信息验证单元对所述第二默克尔树的所述数据块对应的哈希值进行验证;所述第二默克尔树验证单元根据所述第二默克尔树以及摘要信息验证单元计算的哈希值进行默克尔树重建,生成第三默克尔树,将所述第二默克尔树与所述第三默克尔树进行对比校验,并将结果输出给所述第二主控模块。

在本发明提供的一个实施例中,所述第二主控模块将通过第二默克尔树验证单元验证的第二默克尔树发送给所述数据块验证单元,所述数据块验证单元对所述第二默克尔树中的数据块(即数据块中的业务数据)进行验证,并将验证结果发送给第二主控模块。

在本发明提供的一个实施例中,所述第二主控模块将验证通过的待验证信息发送给第二数字签名模块,所述第二数字签名模块对验证通过的所述待验证信息进行数字签名,并将第二签名数据发送给所述第二主控模块;

所述第二主控模块控制所述验证通过信息生成模块将所述第二签名数据和验证通过的待验证信息组包,生成验证通过信息。

以上,为本发明第四实施例提供的一种区块链隐私保护系统的实施例说明。

本发明提供的一种区块链隐私保护系统与上述一种区块链隐私保护方法出于相同的发明构思,具有相同的有益效果,此处不再赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。需要说明的是,本发明附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机机器(可以是个人计算机,服务器,或者网络机器等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1