掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链隐私保护方法及装置

文献发布时间:2023-06-19 11:52:33


一种区块链隐私保护方法及装置

技术领域

本发明涉及区块链领域,特别涉及一种区块链隐私保护方法及装置。

背景技术

由于区块链不依赖于第三方交易平台,而是由所有的区块链节点维护同一个公共账本,以密码学的方式保证交易数据的不可篡改和不可伪造,吸引越来越多的人选择在区块链上进行交易。

当区块链终端向区块链节点发送已签名的待查询交易信息时,若区块链节点确定待查询交易信息通过签名验证且公共账本未被篡改时,则会将相应的交易数据发送给该区块链终端。由于区块链上的各个区块存储的交易数据均未加密,且区块链节点无法确定区块链终端是否拥有访问权限,一旦将涉及大量商业机密的交易数据,发送给无访问权限的区块链终端,会导致交易数据泄露,进而降低数据安全性。

有鉴于此,需要设计一种新的区块链隐私保护方法,以克服上述缺陷。

发明内容:

本发明提供一种区块链隐私保护方法及装置,用于提高区块链数据存储安全性。

第一方面,本发明实施例提供了一种区块链隐私保护方法,应用于第一区块链终端,包括:

第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;

所述第一区块链终端对所述交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定所述交易数据包通过签名验证且公共账本未被篡改时,将所述交易数据包存储在区块中。

可选的,第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包,包括:

第一区块链终端基于所述群公钥和所述合法账户公钥集合,生成密文信息和会话密钥,其中,所述密文信息用于在确认第二区块链终端为合法账户时,为所述第二区块链终端生成所述会话密钥;

第一区块链终端基于所述会话密钥对所述交易数据加密,得到加密的交易数据;

第一区块链终端将所述加密的交易数据、所述密文信息和所述合法账户公钥集合封装为所述交易数据包。

可选的,所述第一区块链终端对所述交易数据包签名,包括:

所述第一区块链终端采用哈希算法,计算所述交易数据包的哈希值;

基于预设的第一验证私钥,对所述交易数据包的哈希值进行加密,得到所述第一区块链终端的数字签名;

将所述交易数据包的哈希值和所述第一区块链终端的数字签名,确定为所述已签名的交易数据包。

可选的,进一步包括:

所述第一区块链终端基于非对称加密算法,生成第一验证公钥和所述第一验证私钥,其中,所述第一验证公钥用于所述各个区块链节点验证所述第一区块链终端的数字签名。

可选的,所述账户公钥为以下任意一种:所述账户的姓名、所述账户的邮箱地址、所述账户的网际协议IP地址。

第二方面,本发明实施例还提供了一种区块链隐私保护方法,应用于第二区块链终端,包括:

第二区块链终端生成并向各个区块链节点发送已签名的待查询交易信息,以触发任意一个区块链节点在确定所述待查询交易信息通过签名验证,且各个区块链节点确定公共账本未被篡改时,从区块中读取与所述待查询交易信息对应的交易数据包,并将所述交易数据包发送给所述第二区块链终端;

所述第二区块链终端接收并解析所述交易数据包,从所述交易数据包中获取所述加密的交易数据、所述密文信息和所述合法账户公钥集合;

所述第二区块链终端基于预设的账户公钥和所述合法账户公钥集合,在确定所述第二区块链终端为合法访问账户时,基于预设的账户私钥和所述密文信息,生成所述会话密钥,并基于所述会话密钥对所述加密的交易数据解密,得到所述交易数据。

可选的,第二区块链终端生成已签名的待查询交易信息,包括:

所述第二区块链终端采用哈希算法,计算所述待查询交易信息的哈希值;

基于预设的第二验证私钥,对所述待查询交易信息的哈希值进行加密,得到所述第二区块链终端的数字签名;

将所述待查询信息的哈希值和所述第二区块链终端的数字签名,确定为所述已签名的待查询交易信息。

可选的,进一步包括:

所述第二区块链终端基于非对称加密算法,生成第二验证公钥和所述第二验证私钥,其中,所述第二验证公钥用于所述各个区块链节点验证所述第二区块链终端的数字签名。

可选的,所述第二区块链终端基于预设的账户公钥和所述合法账户公钥集合,确定所述第二区块链终端为合法账户,包括:

将所述账户公钥与各个合法账户公钥进行匹配,在确定所述账户公钥与其中一个合法账户公钥匹配一致时,确定所述第二区块链终端为合法账户。

可选的,在基于预设的账户私钥和所述密文信息,生成所述会话密钥之前,进一步包括:

所述第二区块链终端基于预设的主密钥和所述账户公钥,生成所述第二区块链终端的账户私钥。

第三方面,本发明实施例还提供了一种区块链隐私保护装置,应用于第一区块链终端,包括:

加密模块,用于基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;

处理模块,用于对所述交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定所述交易数据包通过签名验证且公共账本未被篡改时,将所述交易数据包存储在区块中。

可选的,基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包,所述加密模块用于:

基于所述群公钥和所述合法账户公钥集合,生成密文信息和会话密钥,其中,所述密文信息用于在确认第二区块链终端为合法账户时,为所述第二区块链终端生成所述会话密钥;

基于所述会话密钥对所述交易数据加密,得到加密的交易数据;

将所述加密的交易数据、所述密文信息和所述合法账户公钥集合封装为所述交易数据包。

可选的,对所述交易数据包签名,所述处理模块用于:

采用哈希算法,计算所述交易数据包的哈希值;

基于预设的第一验证私钥,对所述交易数据包的哈希值进行加密,得到所述第一区块链终端的数字签名;

将所述交易数据包的哈希值和所述第一区块链终端的数字签名,确定为所述已签名的交易数据包。

可选的,所述处理模块进一步用于:

所述第一区块链终端基于非对称加密算法,生成第一验证公钥和所述第一验证私钥,其中,所述第一验证公钥用于所述各个区块链节点验证所述第一区块链终端的数字签名。

可选的,所述账户公钥为以下任意一种:所述账户的姓名、所述账户的邮箱地址、所述账户的网际协议IP地址。

第四方面,本发明实施例还提供了一种区块链隐私保护装置,应用于第二区块链终端,包括:

生成模块,用于生成并向各个区块链节点发送已签名的待查询交易信息,以触发任意一个区块链节点在确定所述待查询交易信息通过签名验证,且各个区块链节点确定公共账本未被篡改时,从区块中读取与所述待查询交易信息对应的交易数据包,并将所述交易数据包发送给所述第二区块链终端;

接收模块,用于接收并解析所述交易数据包,从所述交易数据包中获取所述加密的交易数据、所述密文信息和所述合法账户公钥集合;

解密模块,用于基于预设的账户公钥和所述合法账户公钥集合,在确定所述第二区块链终端为合法访问账户时,基于预设的账户私钥和所述密文信息,生成所述会话密钥,并基于所述会话密钥对所述加密的交易数据解密,得到所述交易数据。

可选的,生成已签名的待查询交易信息,所述生成模块用于:

采用哈希算法,计算所述待查询交易信息的哈希值;

基于预设的第二验证私钥,对所述待查询交易信息的哈希值进行加密,得到所述第二区块链终端的数字签名;

将所述待查询信息的哈希值和所述第二区块链终端的数字签名,确定为所述已签名的待查询交易信息。

可选的,所述生成模块进一步用于:

所述第二区块链终端基于非对称加密算法,生成第二验证公钥和所述第二验证私钥,其中,所述第二验证公钥用于所述各个区块链节点验证所述第二区块链终端的数字签名。

可选的,基于预设的账户公钥和所述合法账户公钥集合,确定所述第二区块链终端为合法账户,所述解密模块用于:

将所述账户公钥与各个合法账户公钥进行匹配,在确定所述账户公钥与其中一个合法账户公钥匹配一致时,确定所述第二区块链终端为合法账户。

可选的,在基于预设的账户私钥和所述密文信息,生成所述会话密钥之前,所述解密模块进一步用于:

所述第二区块链终端基于预设的主密钥和所述账户公钥,生成所述第二区块链终端的账户私钥。

第五方面,本发明实施例还提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一项区块链隐私保护方法。

第六方面,本发明实施例还提供了一种存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述任一项区块链隐私保护方法。

本发明实施例中,第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;第一区块链终端对交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定交易数据包通过签名验证且公共账本未被篡改时,将交易数据包存储在区块中。第一区块链终端采用广播加密方式生成交易数据包,并向各个区块链节点广播该交易数据包,当签名验证通过且公共账本未被篡改时,将交易数据包存储在区块中,这样,相比于现有技术将交易数据明文存储在区块中,本发明实施例将加密后的交易数据包存储在区块中,即便非法账户获取了该交易数据包,也无法解密获取交易数据,保证只有合法账户才能对加密的交易数据进行解密,大大提高了区块链数据存储安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种区块链系统的架构示意图;

图2为本发明实施例提供的一种应用于第一区块链终端的区块链交易记录的流程示意图;

图3为本发明实施例提供的一种应用于第二区块链终端的区块链交易查询的流程示意图;

图4为本发明实施例提供的一种应用于第一区块链终端的区块链隐私保护装置的结构示意图;

图5为本发明实施例中一种应用于第二区块链终端的区块链隐私保护装置的结构示意图;

图6为本发明实施例提供的一种计算设备的结构示意图。

具体实施方式

为了解决的问题,在本发明实施例中,为提高区块链数据存储安全性提供了一种新的解决方案。该方案为:第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;第一区块链终端对交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定交易数据包通过签名验证且公共账本未被篡改时,将交易数据包存储在区块中。

下面结合附图对本发明优选的实施方式作出详细说明。

参阅图1所示,本发明实施例提供了一种区块链系统,该系统中包括多个区块链终端和多个区块链节点,以及用于存储交易数据的多个区块。参阅图2所示,本发明实施例提供了一种应用于第一区块链终端的区块链交易记录方法,具体过程如下:

S201:第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包。

在执行步骤201之前,第一区块链终端基于非对称加密算法,生成第一验证公钥和对应的第一验证私钥,其中,第一验证私钥用于第一区块链终端对交易数据包进行数字签名,生成已签名的交易数据包,第一验证公钥用于各个区块链节点验证第一区块链终端的数字签名;

同时,第一区块链终端基于预设的主密钥和账户公钥,生成第一区块链终端的账户私钥,其中,账户公钥可为以下任意一种:账户的姓名、账户的邮箱地址、账户的网际协议IP地址。

可选的,第一区块链终端对交易数据广播加密的具体过程如下:

A1、第一区块链终端基于群公钥和合法账户公钥集合,生成密文信息和会话密钥,其中,密文信息用于在确认第二区块链终端为合法账户时,为第二区块链终端生成所述会话密钥;

A2、第一区块链终端基于会话密钥对交易数据加密,得到加密的交易数据;

A3、第一区块链终端将加密的交易数据、密文信息和合法账户公钥集合封装为交易数据包。

S202:第一区块链终端对交易数据包签名。

可选的,第一区块链终端对交易数据包签名的过程描述如下:

B1、第一区块链终端采用哈希算法,计算交易数据包的哈希值;

B2、基于预设的第一验证私钥,对交易数据包的哈希值进行加密,得到第一区块链终端的数字签名;

B3、将交易数据包的哈希值和第一区块链终端的数字签名,确定为已签名的交易数据包。

S203:第一区块链终端向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定所述交易数据包通过签名验证且公共账本未被篡改时,将交易数据包存储在区块中。

任意一个区块链节点X使用第一区块链终端公开的第一验证公钥,验证第一区块链终端的数字签名,当签名验证通过且公共账本未被篡改时,区块链节点X将交易数据包存储在区块中。

参阅图3所示,本发明实施例还提供了一种应用于第二区块链终端的区块链交易查询的过程具体如下:

S301:第二区块链终端生成已签名的待查询交易信息。

在执行步骤301之前,第二区块链终端基于非对称加密算法,生成第二验证公钥和对应的第二验证私钥,其中,第二验证私钥用于第二区块链终端对待查询交易信息进行数字签名,生成已签名的交易数据包,第二验证公钥用于各个区块链节点验证第二区块链终端的数字签名;

同时,第二区块链终端基于预设的主密钥和账户公钥,生成第二区块链终端的账户私钥,其中,账户公钥可为以下任意一种:账户的姓名、账户的邮箱地址、账户的网际协议IP地址。

可选的,第二区块链终端对待查询交易信息签名的过程描述如下:

C1、第二区块链终端采用哈希算法,计算待查询交易信息的哈希值;

C2、基于预设的第二验证私钥,对待查询交易信息的哈希值进行加密,得到第二区块链终端的数字签名;

C3、将待查询信息的哈希值和第二区块链终端的数字签名,确定为已签名的待查询交易信息。

S302:第二区块链终端向各个区块链节点发送已签名的待查询交易信息,以触发任意一个区块链节点在确定待查询交易信息通过签名验证,且各个区块链节点确定公共账本未被篡改时,从区块中读取与待查询交易信息对应的交易数据包,并将交易数据包发送给所述第二区块链终端。

任意一个区块链节点X使用第二区块链终端公开的第二验证公钥,验证第二区块链终端的数字签名,在确定待查询交易信息通过签名验证,且各个区块链节点确定公共账本未被篡改时,从区块中读取与待查询交易信息对应的交易数据包。

S303:第二区块链终端接收并解析交易数据包,从交易数据包中获取加密的交易数据、密文信息和合法账户公钥集合。

S304:第二区块链终端基于预设的账户公钥和合法账户公钥集合,在确定第二区块链终端为合法访问账户时,基于预设的账户私钥和密文信息,生成会话密钥。

可选的,第二区块链终端确定自身是否为合法账户的过程如下:

将账户公钥与各个合法账户公钥进行匹配,在确定账户公钥与其中一个合法账户公钥匹配一致时,确定第二区块链终端为合法账户。

S305:基于会话密钥对加密的交易数据解密,得到交易数据。

基于同一发明构思,本发明实施例中,提供一种应用于第一区块链终端的区块链隐私保护装置,参阅图4所示,至少包括加密模块401和处理模块402,其中,

加密模块401,用于基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;

处理模块402,用于对所述交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定所述交易数据包通过签名验证且公共账本未被篡改时,将所述交易数据包存储在区块中。

可选的,基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包,所述加密模块401用于:

基于所述群公钥和所述合法账户公钥集合,生成密文信息和会话密钥,其中,所述密文信息用于在确认第二区块链终端为合法账户时,为所述第二区块链终端生成所述会话密钥;

基于所述会话密钥对所述交易数据加密,得到加密的交易数据;

将所述加密的交易数据、所述密文信息和所述合法账户公钥集合封装为所述交易数据包。

可选的,对所述交易数据包签名,所述处理模块402用于:

采用哈希算法,计算所述交易数据包的哈希值;

基于预设的第一验证私钥,对所述交易数据包的哈希值进行加密,得到所述第一区块链终端的数字签名;

将所述交易数据包的哈希值和所述第一区块链终端的数字签名,确定为所述已签名的交易数据包。

可选的,所述处理模块402进一步用于:

所述第一区块链终端基于非对称加密算法,生成第一验证公钥和所述第一验证私钥,其中,所述第一验证公钥用于所述各个区块链节点验证所述第一区块链终端的数字签名。

可选的,所述账户公钥为以下任意一种:所述账户的姓名、所述账户的邮箱地址、所述账户的网际协议IP地址。

基于同一发明构思,本发明实施例中,提供一种应用于第二区块链终端的区块链隐私保护装置,参阅图5所示,至少包括生成模块501、接收模块502和解密模块503,其中,

生成模块501,用于生成并向各个区块链节点发送已签名的待查询交易信息,以触发任意一个区块链节点在确定所述待查询交易信息通过签名验证,且各个区块链节点确定公共账本未被篡改时,从区块中读取与所述待查询交易信息对应的交易数据包,并将所述交易数据包发送给所述第二区块链终端;

接收模块502,用于接收并解析所述交易数据包,从所述交易数据包中获取所述加密的交易数据、所述密文信息和所述合法账户公钥集合;

解密模块503,用于基于预设的账户公钥和所述合法账户公钥集合,在确定所述第二区块链终端为合法访问账户时,基于预设的账户私钥和所述密文信息,生成所述会话密钥,并基于所述会话密钥对所述加密的交易数据解密,得到所述交易数据。

可选的,生成已签名的待查询交易信息,所述生成模块501用于:

采用哈希算法,计算所述待查询交易信息的哈希值;

基于预设的第二验证私钥,对所述待查询交易信息的哈希值进行加密,得到所述第二区块链终端的数字签名;

将所述待查询信息的哈希值和所述第二区块链终端的数字签名,确定为所述已签名的待查询交易信息。

可选的,所述生成模块501进一步用于:

所述第二区块链终端基于非对称加密算法,生成第二验证公钥和所述第二验证私钥,其中,所述第二验证公钥用于所述各个区块链节点验证所述第二区块链终端的数字签名。

可选的,基于预设的账户公钥和所述合法账户公钥集合,确定所述第二区块链终端为合法账户,所述解密模块503用于:

将所述账户公钥与各个合法账户公钥进行匹配,在确定所述账户公钥与其中一个合法账户公钥匹配一致时,确定所述第二区块链终端为合法账户。

可选的,在基于预设的账户私钥和所述密文信息,生成所述会话密钥之前,所述解密模块503进一步用于:

所述第二区块链终端基于预设的主密钥和所述账户公钥,生成所述第二区块链终端的账户私钥。

基于同一发明构思,本发明实施例中,提供一种计算设备,参阅图6所示,至少包括存储器601和至少一个处理器602,其中,存储器601和处理器602通过通信总线完成相互间的通信;

存储器601用于存储程序指令;

处理器602用于调用存储器601中存储的程序指令,按照获得的程序执行前述区块链隐私保护方法。

基于同一发明构思,本发明实施例中,提供一种存储介质,至少包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行前述区块链隐私保护方法。

综上所述,本发明实施例中,第一区块链终端基于预设的群公钥和预设的各个合法账户公钥,对交易数据进行广播加密处理,得到交易数据包;第一区块链终端对交易数据包签名,并向各个区块链节点广播发送已签名的交易数据包,以触发任意一个区块链节点在确定交易数据包通过签名验证且公共账本未被篡改时,将交易数据包存储在区块中。

显然,在本发明实施例中,将第一区块链终端作为广播者,将已签名的交易数据包广播发送到各个区块链节点上,当签名验证通过且公共账本未被篡改时,由区块链节点X将交易数据包存储在区块中,当第二区块链终端作为接收者,接收到区块链节点X发送的交易数据包,若第二区块链终端为合法账户,则为第二区块链终端生成会话密钥,以便第二区块链终端获取解密的交易数据;若第二区块链终端为非法账户,则第二区块链终端无法会话密钥,进而无法获取解密的交易数据,这样,可以保证指定的合法账户才能对加密的交易数据进行解密,获取交易数据,而非法账户只能获取加密的交易数据,无法解密获取交易数据,大大提高了区块链数据存储安全性。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种基于区块链和差异隐私的车联网隐私数据保护方法
  • 一种区块链交易数据的隐私保护方法及区块链系统
技术分类

06120113082502