一种基于区块链的数据传输方法、装置及存储介质与流程

文档序号:16307901发布日期:2018-12-19 05:09阅读:160来源:国知局
一种基于区块链的数据传输方法、装置及存储介质与流程

本发明涉及通信技术领域,具体涉及一种基于区块链的数据传输方法、装置及存储介质。

背景技术

区块链是一种去中心化的存储和计算技术,其通过将数据块按照时间顺序叠加而生成持久的不可修改的记录,并且将计入存储在区块链网络的各个节点中,使得以去中心化的方式集体维护一个可靠数据库。

现有技术中,由于区块链本质上是一个分布式的数据库,因此区块链上面的数据会被网络分享到所有节点上去,因而其他节点均能够获得数据内容,能够有效保证区块链网络中的数据共享性和透明性。例如,当参与方a想要发布一个交易数据指定给参与方b和参与方c时,如果这笔交易在区块链上进行,那么所有其他在区块链上的节点都会看到这笔交易,这使得交易参与方的交易毫无秘密可言,一个机构的账户也有可能被其他节点上的机构跟踪,从而带来数据泄露的风险,导致交易数据的安全较低。



技术实现要素:

本发明实施例提供一种基于区块链的数据传输方法、装置及存储介质,旨在提高数据传输的安全性。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种基于区块链的数据传输方法,包括:

获取区块链上传输节点的待传输数据,并确定所述待传输数据对应的授权节点;

按照预设策略将所述待传输数据划分为敏感数据和非敏感数据;

生成所述敏感数据的对称密钥,并根据所述对称密钥对所述敏感数据进行加密,得到密文数据;

获取所述授权节点的公钥,并根据所述授权节点的公钥对所述对称密钥进行加密,得到加密后对称密钥;

根据所述密文数据、加密后对称密钥和非敏感数据生成加密后传输数据;

将所述加密后传输数据通过所述区块链传输给所述授权节点。

一种基于区块链的数据传输装置,包括:

获取单元,用于获取区块链上传输节点的待传输数据,并确定所述待传输数据对应的授权节点;

划分单元,用于按照预设策略将所述待传输数据划分为敏感数据和非敏感数据;

第一加密单元,用于生成所述敏感数据的对称密钥,并根据所述对称密钥对所述敏感数据进行加密,得到密文数据;

第二加密单元,用于获取所述授权节点的公钥,并根据所述授权节点的公钥对所述对称密钥进行加密,得到加密后对称密钥;

生成单元,用于根据所述密文数据、加密后对称密钥和非敏感数据生成加密后传输数据;

传输单元,用于将所述加密后传输数据通过所述区块链传输给所述授权节点。

可选地,所述生成单元包括:

设置子单元,用于将所述加密后对称密钥和非敏感数据设置为明文字段,以及将所述密文数据设置为密文字段;

生成子单元,用于根据所述明文字段和密文字段生成加密后传输数据。

可选地,所述生成子单元用于:

为所述明文字段设置第一标识,以及为所述密文字段设置第二标识;

根据所述第一标识和第二标识生成数据包头;

根据所述数据包头、明文字段和密文字段生成加密后传输数据。

可选地,所述获取单元用于:

获取区块链上传输节点的待传输数据,并将所述待传输数据组合为多组待传输数据;

确定所述每组待传输数据对应的授权节点。

可选地,所述划分单元用于:

获取数据结构配置信息,根据所述数据结构配置信息解析每组待传输数据;

基于解析结果和预设策略将所述每组待传输数据划分为敏感数据和非敏感数据。

可选地,所述第一加密单元用于:

按照预设算法生成每组敏感数据对应的对称密钥,得到对称密钥集合;

根据所述对称密钥集合分别对每组敏感数据进行加密,得到密文数据。

可选地,所述第二加密单元用于:

向每个授权节点发送公钥获取请求;

接收每个授权节点基于所述公钥获取请求返回的公钥;

根据每个授权节点的公钥分别对每个授权节点对应的对称密钥进行加密,得到加密后对称密钥。

一种基于区块链的数据传输方法,包括:

接收传输节点通过区块链发送的加密后传输数据;

从所述加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,所述密文数据为利用所述传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,所述加密后对称密钥为利用授权节点的公钥对所述对称密钥进行加密得到;

获取所述授权节点中与所述公钥匹配的私钥,根据所述私钥对所述加密后对称密钥进行解密,得到对称密钥;

根据所述对称密钥对所述密文数据进行解密,得到解密后的敏感数据;

根据所述敏感数据和所述非敏感数据生成解密后的待传输数据。

一种基于区块链的数据传输装置,包括:

接收单元,用于接收传输节点通过区块链发送的加密后传输数据;

提取单元,用于从所述加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,所述密文数据为利用所述传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,所述加密后对称密钥为利用授权节点的公钥对所述对称密钥进行加密得到;

第一解密单元,用于获取所述授权节点中与所述公钥匹配的私钥,根据所述私钥对所述加密后对称密钥进行解密,得到对称密钥;

第二解密单元,用于根据所述对称密钥对所述密文数据进行解密,得到解密后的敏感数据;

数据生成单元,用于根据所述敏感数据和所述非敏感数据生成解密后的待传输数据。

可选地,所述提取单元用于:

从所述加密后传输数据的数据包头中提取出第一标识和第二标识;

根据所述第一标识确定所述加密后传输数据中的明文字段,以及根据所述第二标识确定所述加密后传输数据中的密文字段;

从所述明文字段中提取出加密后对称密钥和非敏感数据,从所述密文字段中提取出密文数据。

可选地,数据生成单元用于:

获取所述敏感数据和所述非敏感数据组合成待传输数据的数据结构配置信息;

根据所述数据结构配置信息将所述敏感数据和所述非敏感数据组合成解密后的待传输数据。

一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例提供的任一种数据传输方法中的步骤。

一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本发明实施例提供的任一种数据传输方法中的步骤。

本发明实施例可以获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点,然后按照预设策略将待传输数据划分为敏感数据和非敏感数据,以及生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据,此时可以获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥,其次根据密文数据、加密后对称密钥和非敏感数据生成传输数据,最后可以将传输数据通过区块链传输给授权节点。该方案中实现了对通过区块链传输的敏感数据进行加密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。

附图说明

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

图1是本发明实施例提供的数据传输方法的场景示意图;

图2是本发明实施例提供的数据传输方法的流程示意图;

图3是本发明实施例提供的数据传输方法的流程示意图;

图4是本发明实施例提供的数据传输方法的流程示意图;

图5是本发明实施例提供的资产在区块链中流转的示意图;

图6是本发明实施例提供的附加数据的数据结构的示意图;

图7是本发明实施例提供的数据传输装置的结构示意图;

图8是本发明实施例提供的数据传输装置的另一结构示意图;

图9是本发明实施例提供的设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种基于区块链的数据传输方法、装置及存储介质。

请参阅图1,图1为本发明实施例所提供的数据传输方法的场景示意图,该数据传输方法可以应用于基于区块链的数据传输装置,该数据传输装置具体可以集成在网络设备如终端或服务器等设备中,例如,当设备作为传输结点时,可以获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点,该授权节点可以是终端或服务器等设备。然后,按照预设策略将待传输数据划分为敏感数据和非敏感数据,例如,可以根据数据结构配置信息解析每组待传输数据,并基于解析结果按照预设策略将所述每组待传输数据划分为敏感数据和非敏感数据。其次,可以按照预设算法或随机生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据。再次,获取授权节点的公钥,例如,可以向授权节点发送公钥获取请求,并接收授权节点返回的公钥,此时可以根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。最后,可以根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据,例如,可以将加密后对称密钥和非敏感数据设置为明文字段,以及将密文数据设置为密文字段,根据明文字段和密文字段生成加密后传输数据,此时可以将加密后传输数据通过区块链传输给授权节点,等等。

当设备作为授权结点时,可以接收传输节点通过区块链发送的加密后传输数据,然后从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,例如,可以从加密后传输数据的明文字段中提取出加密后对称密钥和非敏感数据,从加密后传输数据的密文字段中提取出密文数据。其次,获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥,以及根据对称密钥对密文数据进行解密,得到解密后的敏感数据。最后,可以数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据,等等。

需要说明的是,图1所示的数据传输方法的场景示意图仅仅是一个示例,本发明实施例描述的数据传输方法的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着数据传输方法的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

以下分别进行详细说明。

在本实施例中,将从数据传输装置的角度进行描述,该数据传输装置具体可以集成在服务器或终端等设备中。

一种数据传输方法,包括:获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点;按照预设策略将待传输数据划分为敏感数据和非敏感数据;生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据;获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥;根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据;将加密后传输数据通过区块链传输给授权节点。

请参阅图2,图2是本发明一实施例提供的数据传输方法的流程示意图。该数据传输方法可以包括:

在步骤s101中,获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点。

其中,传输节点位于区块链上,该传输节点为需要通过区块链传输数据的服务器或终端等设备,该传输节点可以为数据传输装置;授权节点位于区块链上,该授权节点为接收区块链上数据的服务器或终端等设备,该授权节点有权限查看待传输数据。

数据传输装置可以主动获取待传输数据,或者,接收授权节点发送的数据获取请求,并基于数据获取请求获取待传输数据,例如,数据传输装置可以根据交易信息生成待传输数据,或者从存储数据的服务器上获取待传输数据等,该待传输数据可以是资产、账目或发票等交易数据,还可以是其他的类型的数据,具体内容在此处不作限定。

该待传输数据对应的授权节点可以包括一个或多个,例如,若传输节点仅授权给授权节点a查看待传输数据,则该待传输数据对应的授权节点仅为授权节点a;若传输节点授权给授权节点a、授权节点b和授权节点c查看待传输数据,则该待传输数据对应的授权节点为授权节点a、授权节点b和授权节点c。

在某些实施方式中,数据传输装置获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点的步骤可以包括:数据传输装置获取区块链上传输节点的待传输数据,并将待传输数据组合为多组待传输数据;确定每组待传输数据对应的授权节点。

其中,每组待传输数据可以均完全不一样,也可以存在部分或全部一样的数据,数据传输装置可以将获取到的待传输数据组合为多组待传输数据,并分别确定每组待传输数据对应的授权节点,例如,可以按照数据内容将待传输数据划分为多组不同类型的待传输数据,或者可以按照数字段划分为多组不同字段的待传输数据;等等。

例如,待传输数据为一发票数据,数据发票业务的相关授权节点有税务局、开票企业和消费者等,传输发票数据的传输节点为报销企业等,希望这些授权节点对于某一发票数据拥有不同级别的解密权限,而其他节点不能解密。此时,可以设置报销企业按照税务局、开票企业和消费者等各个授权节点的查看权限,将发票数据划分为三组数据,第一组数据对应的授权节点为税务局,第二组数据对应的授权节点为开票企业,第三组数据对应的授权节点为消费者。

又例如,待传输数据包括数据a、数据b和数据c等不同类型的数据,需要将数据a传输给授权节点a,将数据b传输给授权节点b,将数据c传输给授权节点c,此时可以将待传输数据组合为数据a、数据b和数据c等多组待传输数据,数据a、数据b和数据c对应的授权节点分别为授权节点a、授权节点b和授权节点c。

数据传输装置还可以为每组待传输数据设置数据标识,以及获取每个授权节点对应的权限标识,并建立每个数据标识与每个权限标识之间的映射关系,以便后续可以根据该映射关系,查找某个某组数据对应的授权节点,或者,查找某个授权节点对应的数据,例如,可以根据某组数据的数据标识查询映射关系中对应的权限标识,即可根据权限标识确定对应的授权节点。

在步骤s102中,按照预设策略将待传输数据划分为敏感数据和非敏感数据。

其中,敏感数据可以为具有隐私权的数据,只有区块链上具有权限的授权节点可以查看该敏感数据;非敏感数据为可以公开的数据,区块链上所有节点均可以查看该非敏感数据。预设策略可以根据实际需要进行灵活设置,例如,可以按照授权节点对应的待传输数据内容的重要程度或保密程度等,将待传输数据划分为敏感数据和非敏感数据,或者根据传输节点或授权节点的需求将待传输数据划分为敏感数据和非敏感数据。

在某些实施方式中,按照预设策略将待传输数据划分为敏感数据和非敏感数据的步骤可以包括:获取数据结构配置信息,根据数据结构配置信息解析每组待传输数据;基于解析结果和预设策略将每组待传输数据划分为敏感数据和非敏感数据。

其中,数据结构配置信息可以包括组成数据的的字段、各个字段顺序、包头和包尾等,当存在一组待传输数据时,可以根据数据结构配置信息解析该待传输数据,得到待传输数据的各个组成结构等,并基于解析结果及预设策略将每组待传输数据划分为敏感数据和非敏感数据。当存在多组待传输数据时,可以根据数据结构配置信息解析每组待传输数据;基于解析结果和预设策略将每组待传输数据划分为敏感数据和非敏感数据。例如,可以将待传输数据中的某些字段设置为敏感数据,将某些字段设置为非敏感数据。例如,待传输数据为某一交易数据,可以将交易数据中交易双方的名称设置为非敏感数据,将交易数据中的金额及交易方式等设置为敏感数据。

在步骤s103中,生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据。

数据传输装置可以在本地随机生成对称密钥,或者按照预设算法生成敏感数据的对称密钥等,该预设算法可以根据实际需要进行灵活设置,例如,可以通过数据加密标准(dataencryptionstandard,des)、国际数据加密算法(internationaldataencryptionalgorithm,idea)或分组加密算法(fastdataenciphermentalgorithm,feal)等生成对称密钥。

在某些实施方式中,生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据的步骤可以包括:按照预设算法生成每组敏感数据对应的对称密钥,得到对称密钥集合;根据对称密钥集合分别对每组敏感数据进行加密,得到密文数据。

例如,当敏感数据包括多组时,数据传输装置可以先根据敏感数据的组数来确定所需的对称密钥的个数,然后按照预设算法生成与每组敏感数据一一对应的对称密钥,得到对称密钥集合,再根据对称密钥集合中的每一个对称密钥分别对每组敏感数据进行加密,得到密文数据。

或者是,数据传输装置可以随机生成预设个数的对称密钥(该预设个数大于或等于敏感数据的组数),然后根据每个数据标识将预设个数的对称密钥分别分配给每组敏感数据,根据分配后的对称密钥分别对每组敏感数据进行加密,得到密文数据。

在步骤s104中,获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。

数据传输装置可以向授权节点发送公钥获取请求,接收授权节点基于公钥获取请求返回的公钥,或者是,数据传输装置可以接收授权节点发送的数据获取请求,该数据获取请求中携带有授权节点的公钥,然后基于数据获取请求获取待传输数据。在得到授权节点的公钥后,可以根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。

在某些实施方式中,获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥的步骤可以包括:向每个授权节点发送公钥获取请求;接收每个授权节点基于公钥获取请求返回的公钥;根据每个授权节点的公钥分别对每个授权节点对应的对称密钥进行加密,得到加密后对称密钥。

当待传输数据为多组,及授权节点包括多个时,可以向每个授权节点发送公钥获取请求,并接收每个授权节点基于公钥获取请求返回的公钥。在得到每个授权节点的公钥后,可以根据每个授权节点的公钥分别对每个授权节点对应的对称密钥进行加密,得到加密后对称密钥。例如,可以预先设置权限标识和每组对称密钥的密钥标识之间的映射关系,公钥获取请求中可以携带用于标识授权节点的权限标识,在得到每个授权节点的公钥后,可以根据权限标识和密钥标识之间的映射关系,确定每个授权节点的公钥需要加密的对称密钥,得到每个授权节点的公钥与每个对称密钥之间的对应关系,此时可以根据该对应关系基于每个授权节点的公钥分别对每个对称密钥进行加密,得到加密后对称密钥。从而实现了对待传输数据进行分组加密,可以控制不同授权节点拥有不同的权限。

在步骤s105中,根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据。

其中,加密后传输数据中包括密文数据、加密后对称密钥和非敏感数据等。

在某些实施方式中,根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据的步骤可以包括:将加密后对称密钥和非敏感数据设置为明文字段,以及将密文数据设置为密文字段;根据明文字段和密文字段生成加密后传输数据。

加密后传输数据中可以包括明文字段和密文字段,其中,明文字段是区块链上所有节点可查看的字段,可查看的字段中若存在加密后对称密钥等,则仅可查看有加密后对称密钥,而无法查看对称密钥的内容;密文字段是区块链上具有权限的授权节点利用私钥等解密后可查看的字段。数据传输装置可以将加密后对称密钥和非敏感数据设置为明文字段,该明文字段还可以包括其他的内容,以及将密文数据设置为密文字段,该密文字段还可以包括其他的内容,然后根据明文字段和密文字段和/或其他字段等生成加密后传输数据。

在某些实施方式中,根据明文字段和密文字段生成加密后传输数据的步骤可以包括:为明文字段设置第一标识,以及为密文字段设置第二标识;根据第一标识和第二标识生成数据包头;根据数据包头、明文字段和密文字段生成加密后传输数据。

具体地,为了方便区分明文字段和密文字段在加密后传输数据中的位置,可以为明文字段设置第一标识,以及为密文字段设置第二标识,该第一标识用于唯一识别明文字段,可以是明文字段的名称或编号等,该第二标识用于唯一识别密文字段,可以是密文字段的名称或编号等,该第一标识和第二标识可以根据实际需要进行灵活设置,具体内容在此处不作限定。然后可以将第一标识和第二标识放置在加密后传输数据的数据包头中,即根据第一标识和第二标识生成数据包头,该数据包头还可以包括其他内容,此时可以根据数据包头、明文字段和密文字段生成加密后传输数据。

在步骤s106中,将加密后传输数据通过区块链传输给授权节点。

在得到加密后传输数据后,可以将加密后传输数据上传到区块链,此时授权节点可以从区块链上获取加密后传输数据。

授权节点在得到加密后传输数据后,可以从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据等,例如,可以从加密后传输数据的数据包头中提取出第一标识和第二标识,根据第一标识确定加密后传输数据中的明文字段,以及根据第二标识确定加密后传输数据中的密文字段,从明文字段中提取出加密后对称密钥和非敏感数据,从密文字段中提取出密文数据。然后,获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥,以及根据对称密钥对密文数据进行解密,得到解密后的敏感数据,最后可以根据敏感数据和非敏感数据生成解密后的待传输数据,例如,可以获取敏感数据和非敏感数据组合成待传输数据的数据结构配置信息,根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据等。

需要说明的是,在生成加密后对称密钥的过程中还可以包括:获取传输节点的公钥,并根据传输节点的公钥对对称密钥进行加密,得到传输节点的加密后密钥,将密文数据和传输节点的加密后密钥上传至区块链。当传输节点需要读取待传输数据时,可以从区块链上获取密文数据和传输节点的加密后密钥,获取传输节点中与公钥匹配的私钥,并根据传输节点的私钥对该加密后密钥进行解密,得到对称密钥,此时可以根据对称密钥对密文数据进行解密,得到上传至区块链之前的待传输数据。

需要说明的是,在实际应用的过程中,传输节点可以作为授权节点,并执行授权节点对应的操作,授权节点也可以作为传输节点,并执行传输节点对应的操作。

例如,传输节点可以接收授权节点通过区块链发送给传输节点的目标传输数据,从目标传输数据中提取出目标密文数据、目标加密后对称密钥和目标非敏感数据,例如,从目标传输数据的数据包头中提取出第三标识和第四标识;根据第三标识确定目标传输数据中的目标明文字段,以及根据第四标识确定目标传输数据中的目标密文字段;从目标明文字段中提取出目标加密后对称密钥和目标非敏感数据,从目标密文字段中提取出目标密文数据。然后,获取传输节点的私钥,根据传输节点的私钥对目标加密后对称密钥进行解密,得到目标对称密钥,以及,根据目标对称密钥对目标密文数据进行解密,得到解密后的目标敏感数据,此时,可以根据目标敏感数据和目标非敏感数据生成解密后数据,例如,可以获取目标敏感数据和目标非敏感数据组合成解密后数据的数据结构配置信息,根据数据结构配置信息将目标敏感数据和目标非敏感数据组合成解密后数据。

由上可知,本发明实施例可以获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点,然后按照预设策略将待传输数据划分为敏感数据和非敏感数据,以及生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据,此时可以获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥,其次根据密文数据、加密后对称密钥和非敏感数据生成传输数据,最后可以将传输数据通过区块链传输给授权节点。该方案中实现了对通过区块链传输的敏感数据进行加密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。

在本实施例中,将从数据传输装置的角度进行描述,该数据传输装置具体可以集成在服务器或终端等设备中。

一种数据传输方法,包括:接收传输节点通过区块链发送的加密后传输数据;从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,密文数据为利用传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,加密后对称密钥为利用授权节点的公钥对对称密钥进行加密得到;获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥;根据对称密钥对密文数据进行解密,得到解密后的敏感数据;根据敏感数据和非敏感数据生成解密后的待传输数据。

请参阅图3,图3是本发明一实施例提供的数据传输方法的流程示意图。该数据传输方法可以包括:

在步骤s201中,接收传输节点通过区块链发送的加密后传输数据。

其中,传输节点位于区块链上,该传输节点为需要通过区块链传输数据的服务器或终端等设备;授权节点位于区块链上,该授权节点为接收区块链上数据的服务器或终端等设备,该授权节点由权限查看加密后传输数据,该授权节点即为数据传输装置,数据传输装置可以接收传输节点通过区块链发送的加密后传输数据。

在步骤s202中,从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据。

由于加密后传输数据可以根据密文数据、加密后对称密钥和非敏感数据生成,因此,数据传输装置可以从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据。其中,密文数据为利用传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,加密后对称密钥为利用授权节点的公钥对对称密钥进行加密得到。

在某些实施方式中,从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据的步骤可以包括:从加密后传输数据的数据包头中提取出第一标识和第二标识;根据第一标识确定加密后传输数据中的明文字段,以及根据第二标识确定加密后传输数据中的密文字段;从明文字段中提取出加密后对称密钥和非敏感数据,从密文字段中提取出密文数据。

由于加密后传输数据可以包括数据包头、明文字段和密文字段等,该明文字段可以包括加密后对称密钥和非敏感数据,该密文字段可以包括密文数据,该明文字段可以设置有第一标识,以及密文字段可以设置有第二标识,该第一标识和第二标识可以设置于加密后传输数据的数据包头,因此,数据传输装置可以从加密后传输数据的数据包头中提取出第一标识和第二标识,根据第一标识确定加密后传输数据中的明文字段,以及根据第二标识确定加密后传输数据中的密文字段。其中,该第一标识用于唯一识别明文字段,可以是明文字段的名称或编号等,该第二标识用于唯一识别密文字段,可以是密文字段的名称或编号等,该第一标识和第二标识可以根据实际需要进行灵活设置,具体内容在此处不作限定。此时可以从明文字段中提取出加密后对称密钥和非敏感数据,从密文字段中提取出密文数据。

在步骤s203中,获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥。

由于加密后对称密钥是根据授权节点的公钥对传输节点生成的对称密钥进行加密得到的,因此可以获取授权节点中与公钥匹配的私钥,并根据授权节点的私钥对加密后对称密钥进行解密,得到对称密钥。

在步骤s204中,根据对称密钥对密文数据进行解密,得到解密后的敏感数据。

由于密文数据是利用对称密钥对敏感数据进行加密得到的,因此,在得到对称密钥后,可以根据对称密钥对密文数据进行解密,得到解密后的敏感数据。

在步骤s205中,根据敏感数据和非敏感数据生成解密后的待传输数据。

其中,敏感数据为具有隐私权的数据,只有区块链上具有权限的授权节点可以查看该敏感数据;非敏感数据为可以公开的数据,区块链上所有节点均可以查看该非敏感数据。由于待传输数据包括敏感数据和非敏感数据等,因此可以根据敏感数据和非敏感数据生成解密后的待传输数据。

在某些实施方式中,根据敏感数据和非敏感数据生成解密后传输数据的步骤可以包括:获取敏感数据和非敏感数据组合成待传输数据的数据结构配置信息;根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据。

其中,数据结构配置信息可以包括组成数据的的字段、各个字段顺序、包头和包尾等,由于敏感数据和非敏感数据是根据数据结构配置信息进行划分得到的,因此,可以获取数据结构配置信息,并根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据。

由上可知,本发明实施例可以接收传输节点通过区块链发送的加密后传输数据,并从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,然后获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥,以及根据对称密钥对密文数据进行解密,得到解密后的敏感数据,此时可以根据敏感数据和非敏感数据生成解密后的待传输数据。该方案中实现了对通过区块链传输的敏感数据进行解密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。

根据上述实施例所描述的方法,以下将举例作进一步详细说明。

本实施例以传输节点通过区块链向授权节点发送加密后传输数据,及授权节点对接收到的加密后传输数据进行解密为例,其中,传输节点位于区块链上,该传输节点为需要通过区块链传输数据的服务器或终端等设备,授权节点位于区块链上,该授权节点为接收区块链上数据的服务器或终端等设备。

请参阅图4,图4为本发明实施例提供的数据传输方法的另一流程示意图。该方法流程可以包括:

s301、传输节点获取待传输数据,并确定待传输数据对应的授权节点。

传输节点可以主动获取待传输数据,或者,接收授权节点发送的数据获取请求,并基于数据获取请求获取待传输数据,例如,传输节点可以根据交易信息生成待传输数据,或者从存储数据的服务器上获取待传输数据等,该待传输数据可以是资产、账目或发票等交易数据,还可以是其他的类型的数据,具体内容在此处不作限定。

该待传输数据对应的授权节点可以包括一个或多个,例如,如图5所示,资产在区块链流转的过程中,待传输数据为一资产数据,角色a可以作为传输节点,角色b(和/或其他角色)可以作为授权节点,角色a可以发行资产,并生成附加数据(即加密后传输数据)传输给角色b,在附加数据传输的过程中,还可以根据实际需要加入找零数据或其他的资产流转数据等。当然,角色b也可以作为传输节点,角色a也可以作为授权节点,角色b生成附加数据并传输给角色a。当授权节点包括多个时,各个角色作为授权节点,对于某一资产数据可以拥有不同级别的解密权限,传输节点对应的角色可以根据各个授权节点的查看权限,将待传输数据组合为多组待传输数据,并确定每组待传输数据对应的授权节点。

s302、传输节点按照预设策略及数据结构配置信息将待传输数据划分为敏感数据和非敏感数据。

其中,敏感数据为具有隐私权的数据,只有区块链上具有权限的授权节点可以查看该敏感数据;非敏感数据为可以公开的数据,区块链上所有节点均可以查看该非敏感数据。预设策略可以根据实际需要进行灵活设置,例如,可以按照授权节点对应的待传输数据内容的重要程度或保密程度等,将待传输数据划分为敏感数据和非敏感数据,或者根据传输节点或授权节点的需求将待传输数据划分为敏感数据和非敏感数据。

例如,传输节点可以获取数据结构配置信息,根据数据结构配置信息解析待传输数据,基于解析结果和预设策略将每组待传输数据划分为敏感数据和非敏感数据。其中,数据结构配置信息可以包括组成数据的的字段、各个字段顺序、包头和包尾等,例如,可以将待传输数据中的某些字段设置为敏感数据,将某些字段设置为非敏感数据。例如,待传输数据为某一交易数据,可以将交易数据中交易双方的名称设置为非敏感数据,将交易数据中的金额及交易方式等设置为敏感数据。

s303、传输节点生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据。

传输节点可以在本地随机生成对称密钥,或者按照预设算法生成敏感数据的对称密钥等,该预设算法可以根据实际需要进行灵活设置,然后根据对称密钥对敏感数据进行加密,得到密文数据。

s304、传输节点获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。

传输节点可以向授权节点发送公钥获取请求,接收授权节点基于公钥获取请求返回的公钥,或者是,传输节点可以接收授权节点发送的数据获取请求,该数据获取请求中携带有授权节点的公钥,然后基于数据获取请求获取待传输数据。在得到授权节点的公钥后,可以根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。

s305、传输节点将加密后对称密钥和非敏感数据设置为明文字段,以及将密文数据设置为密文字段,根据明文字段和密文字段生成加密后传输数据。

加密后传输数据中可以包括明文字段和密文字段,其中,明文字段是区块链上所有节点可查看的字段,可查看的字段中若存在加密后对称密钥等,则仅可查看有加密后对称密钥,而无法查看加密后对称密钥的内容;密文字段是区块链上具有权限的授权节点利用私钥等解密后可查看的字段。

传输节点可以将加密后对称密钥和非敏感数据设置为明文字段,该明文字段还可以包括其他的内容,以及将密文数据设置为密文字段,该密文字段还可以包括其他的内容,然后根据明文字段和密文字段和/或其他字段等生成加密后传输数据。为了方便区分明文字段和密文字段在加密后传输数据中的位置,可以为明文字段设置第一标识,以及为密文字段设置第二标识,该第一标识用于唯一识别明文字段,可以是明文字段的名称或编号等,该第二标识用于唯一识别密文字段,可以是密文字段的名称或编号等,该第一标识和第二标识可以根据实际需要进行灵活设置,具体内容在此处不作限定。然后根据第一标识和第二标识生成数据包头,该数据包头还可以包括其他内容;根据数据包头、明文字段和密文字段生成加密后传输数据。

例如,如图5所示,角色a,b....,都与某一资产相关,每一个角色预先生成各自对应的非对称公钥和私钥,例如,可以利用rsa加密算法生成对应的公钥和私钥,或者利用ecc加密算法生成对应的公钥和私钥。角色a(即传输节点)发行资产时,随机生成一个对称密钥aes_key,例如,可以利用aes加密算法或des加密算法等生成对称密钥。资产在区块链中流转时,每一个交易都会有一个附加数据,该附加数据即为加密后传输数据,附加数据一部分是密文数据,另一部分是明文数据,例如,如图6所示,使用每一个参与角色的公钥加密对称密钥aes_key,得到的密文数据存在附加数据的明文处。例如使用角色a的公钥a.rsa_pubkey加密对称密钥aes_key,得到的密文数据为keya=rsa_encryption(aes_key,a.rsa_pubkey),使用角色b的公钥b.rsa_pubkey加密对称密钥aes_key,得到的密文数据为keyb=rsa_encryption(aes_key,b.rsa_pubkey),等等。该资产的交易数据中的敏感数据则通过对称密钥aes_key进行加密保存,得到密文数据为aes_encryption(data,aes_key)。这样就实现了有权限的角色(即授权节点),才能解密区块链上的数据。解密的流程是:各个角色可以使用自己的私钥解密对应字段得到对称密钥aes_key,然后使用对称密钥aes_key解密交易数据中的敏感数据,而无相关角色(即非授权节点)不能解密该交易数据。另外由于对称密钥aes_key是随机生成,如果被泄露,也只会影响到区块链上某一个资产,其它资产不受影响。通过对交易数据进行分段加密,则可以控制不同角色拥有不同的权限。

s306、传输节点将加密后传输数据通过区块链传输给授权节点。

s307、授权节点接收传输节点通过区块链发送的加密后传输数据。

传输节点在得到加密后传输数据后,可以将加密后传输数据上传到区块链,此时授权节点可以从区块链上获取加密后传输数据。

s308、授权节点从加密后传输数据的明文字段中提取出加密后对称密钥和非敏感数据,以及从加密后传输数据的密文字段中提取出密文数据。

授权节点在得到加密后传输数据后,由于加密后传输数据可以根据密文数据、加密后对称密钥和非敏感数据生成,因此,授权节点可以从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据。

例如,加密后传输数据可以包括数据包头、明文字段和密文字段等,该明文字段可以包括加密后对称密钥和非敏感数据,该密文字段可以包括密文数据,该明文字段可以设置有第一标识,以及密文字段可以设置有第二标识,该第一标识和第二标识可以设置于加密后传输数据的数据包头,因此,授权节点可以从加密后传输数据的数据包头中提取出第一标识和第二标识,根据第一标识确定加密后传输数据中的明文字段,以及根据第二标识确定加密后传输数据中的密文字段。其中,该第一标识用于唯一识别明文字段,可以是明文字段的名称或编号等,该第二标识用于唯一识别密文字段,可以是密文字段的名称或编号等,该第一标识和第二标识可以根据实际需要进行灵活设置,具体内容在此处不作限定。此时可以从明文字段中提取出加密后对称密钥和非敏感数据,从密文字段中提取出密文数据。

s309、授权节点获取公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥。

由于加密后对称密钥是根据授权节点的公钥对传输节点生成的对称密钥进行加密得到的,因此授权节点可以获取授权节点中与公钥匹配的私钥,并根据授权节点的私钥对加密后对称密钥进行解密,得到对称密钥。

s310、授权节点根据对称密钥对密文数据进行解密,得到解密后的敏感数据。

由于密文数据是利用对称密钥对敏感数据进行加密得到的,因此,在得到对称密钥后,授权节点可以根据对称密钥对密文数据进行解密,得到解密后的敏感数据。

s311、授权节点根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据。

由于待传输数据包括敏感数据和非敏感数据等,因此可以根据敏感数据和非敏感数据生成解密后的待传输数据。例如,授权节点可以获取敏感数据和非敏感数据组合成待传输数据的数据结构配置信息;根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据。其中,数据结构配置信息可以包括组成数据的的字段、各个字段顺序、包头和包尾等,由于敏感数据和非敏感数据是根据数据结构配置信息进行划分得到的,因此,可以获取数据结构配置信息,并根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据,此时授权节点可以读取该待传输数据。

本发明实施例传输节点可以将待传输数据划分为敏感数据和非敏感数据,并利用对称密钥对敏感数据进行加密,得到密文数据,以及利用授权节点的公钥对对称密钥进行加密,得到加密后对称密钥,然后将根据密文数据、加密后对称密钥和非敏感数据生成的传输数据通过区块链传输给授权节点。此时,授权节点可以从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,利用授权节点的私钥对加密后对称密钥进行解密,得到对称密钥,以及根据对称密钥对密文数据进行解密,得到解密后的敏感数据,然后可以根据敏感数据和非敏感数据生成解密后的待传输数据。该方案中实现了对通过区块链传输的敏感数据进行加密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。并且实现了在区块链服务中轻量化的加解密技术,并且拥有权限管理的属性,可方便拓展为去中心化的分级权限管理,以及分布式加解密不依赖中心化部署的服务,不会成为性能瓶颈,另外利用非对称加密技术,使得加密相关所有信息可以在区块链上流转。

为便于更好的实施本发明实施例提供的数据传输方法,本发明实施例还提供一种基于上述数据传输方法的装置。其中名词的含义与上述数据传输方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图7,图7为本发明实施例提供的数据传输装置的结构示意图,其中该数据传输装置可以包括获取单元401、划分单元402、第一加密单元403、第二加密单元404、生成单元405及传输单元406等。

其中,获取单元401,用于获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点。

在某些实施方式中,获取单元401具体可以用于:获取区块链上传输节点的待传输数据,并将待传输数据组合为多组待传输数据;确定每组待传输数据对应的授权节点。

划分单元402,用于按照预设策略将待传输数据划分为敏感数据和非敏感数据。

在某些实施方式中,划分单元402具体可以用于:获取数据结构配置信息,根据数据结构配置信息解析每组待传输数据;基于解析结果和预设策略将每组待传输数据划分为敏感数据和非敏感数据。

第一加密单元403,用于生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据。

在某些实施方式中,第一加密单元403具体可以用于:按照预设算法生成每组敏感数据对应的对称密钥,得到对称密钥集合;根据对称密钥集合分别对每组敏感数据进行加密,得到密文数据。

第二加密单元404,用于获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥。

在某些实施方式中,第二加密单元具体可以用于:向每个授权节点发送公钥获取请求;接收每个授权节点基于公钥获取请求返回的公钥;根据每个授权节点的公钥分别对每个授权节点对应的对称密钥进行加密,得到加密后对称密钥。

生成单元405,用于根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据。

在某些实施方式中,生成单元405可以包括:设置子单元,用于将加密后对称密钥和非敏感数据设置为明文字段,以及将密文数据设置为密文字段;生成子单元,用于根据明文字段和密文字段生成加密后传输数据。

在某些实施方式中,生成子单元具体可以用于:为明文字段设置第一标识,以及为密文字段设置第二标识;根据第一标识和第二标识生成数据包头;根据数据包头、明文字段和密文字段生成加密后传输数据。

传输单元406,用于将加密后传输数据通过区块链传输给授权节点。

由上可知,本发明实施例获取单元401可以获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点,然后划分单元402按照预设策略将待传输数据划分为敏感数据和非敏感数据,以及第一加密单元403生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据,此时第二加密单元404可以获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥,其次生成单元405根据密文数据、加密后对称密钥和非敏感数据生成传输数据,最后传输单元406可以将传输数据通过区块链传输给授权节点。该方案中实现了对通过区块链传输的敏感数据进行加密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。

为便于更好的实施本发明实施例提供的数据传输方法,本发明实施例还提供一种基于上述数据传输方法的装置。其中名词的含义与上述数据传输方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图8,图8为本发明实施例提供的数据传输装置的结构示意图,其中该数据传输装置可以包括接收单元501、提取单元502、第一解密单元503、第二解密单元504及数据生成单元505等。

接收单元501,用于接收传输节点通过区块链发送的加密后传输数据。

提取单元502,用于从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据。

其中,密文数据为利用传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,加密后对称密钥为利用授权节点的公钥对对称密钥进行加密得到。

在某些实施方式中,提取单元502具体可以用于:从加密后传输数据的数据包头中提取出第一标识和第二标识;根据第一标识确定加密后传输数据中的明文字段,以及根据第二标识确定加密后传输数据中的密文字段;从明文字段中提取出加密后对称密钥和非敏感数据,从密文字段中提取出密文数据。

第一解密单元503,用于获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥。

第二解密单元504,用于根据对称密钥对密文数据进行解密,得到解密后的敏感数据。

数据生成单元505,用于根据敏感数据和非敏感数据生成解密后的待传输数据。

在某些实施方式中,数据生成单元505具体可以用于:获取敏感数据和非敏感数据组合成待传输数据的数据结构配置信息;根据数据结构配置信息将敏感数据和非敏感数据组合成解密后的待传输数据。

由上可知,本发明实施例接收单元501可以接收传输节点通过区块链发送的加密后传输数据,并由提取单元502从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,然后第一解密单元503获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥,以及第二解密单元504根据对称密钥对密文数据进行解密,得到解密后的敏感数据,此时数据生成单元505可以根据敏感数据和非敏感数据生成解密后的待传输数据。该方案中实现了对通过区块链传输的敏感数据进行解密,使得仅有授权节点可以读取敏感数据内容,而非授权节点无法读取敏感数据内容,从而减少了敏感数据泄露的风险,提高了数据传输的安全性。

本发明实施例还提供一种设备,该设备可以为服务器或终端等设备,该设备可以是传输节点或者是授权节点。如图9所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图9中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器601是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。

存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。

服务器还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现本发明实施例提供的数据传输方法,如下:

(1)当设备为传输节点时,处理器601可以运行存储在存储器602中的应用程序,从而实现各种功能,如下:

获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点;按照预设策略将待传输数据划分为敏感数据和非敏感数据;生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据;获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥;根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据;将加密后传输数据通过区块链传输给授权节点。

(2)当设备为授权节点时,处理器601可以运行存储在存储器602中的应用程序,从而实现各种功能,如下:

接收传输节点通过区块链发送的加密后传输数据;从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,密文数据为利用传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,加密后对称密钥为利用授权节点的公钥对对称密钥进行加密得到;获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥;根据对称密钥对密文数据进行解密,得到解密后的敏感数据;根据敏感数据和非敏感数据生成解密后的待传输数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据传输方法的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种数据传输方法中的步骤。例如,该指令可以执行如下步骤:

获取区块链上传输节点的待传输数据,并确定待传输数据对应的授权节点;按照预设策略将待传输数据划分为敏感数据和非敏感数据;生成敏感数据的对称密钥,并根据对称密钥对敏感数据进行加密,得到密文数据;获取授权节点的公钥,并根据授权节点的公钥对对称密钥进行加密,得到加密后对称密钥;根据密文数据、加密后对称密钥和非敏感数据生成加密后传输数据;将加密后传输数据通过区块链传输给授权节点。

又例如,该指令可以执行如下步骤:

接收传输节点通过区块链发送的加密后传输数据;从加密后传输数据中提取出密文数据、加密后对称密钥和非敏感数据,密文数据为利用传输节点生成的对称密钥对待传输数据中的敏感数据进行加密得到,加密后对称密钥为利用授权节点的公钥对对称密钥进行加密得到;获取授权节点中与公钥匹配的私钥,根据私钥对加密后对称密钥进行解密,得到对称密钥;根据对称密钥对密文数据进行解密,得到解密后的敏感数据;根据敏感数据和非敏感数据生成解密后的待传输数据。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据传输方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据传输方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种基于区块链的数据传输方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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