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

一种异构隐私数据的跨链共享方法、装置、系统及设备

文献发布时间:2024-04-18 19:52:40


一种异构隐私数据的跨链共享方法、装置、系统及设备

技术领域

本说明书实施例涉及区块链技术领域,尤其涉及一种异构隐私数据的跨链共享方法、装置、系统及设备。

背景技术

随着计算机技术的发展,区块链(Blockchain)技术被应用在各个领域。由于区块链技术具有不依赖第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流等特点,造成区块链技术天生便是一个可共享的、不可篡改的分布式账本,可以实现对具体业务网络中的交易记录和资产跟踪流程。区块链是一个在分布式环境下存储大量存在全序关系的数据记录系统。数据以及对数据的操作均存储在区块内并以区块的粒度进行管理。

然而,各子系统内部数据均为敏感及隐私数据,如果不进行加密处理,就对这些数据进行跨链传输,势必造成隐私泄露,引起不必要的麻烦。此外各子系统内部数据之间是异构的,数据体量大且数据格式不统一,目前无法实现异构隐私数据的跨链共享。

现在亟需一种异构隐私数据的跨链共享方法,从而解决现有技术无法实现异构隐私数据的跨链共享的问题。

发明内容

为解决现有技术无法实现异构隐私数据的跨链共享的问题,本说明书实施例提供了一种异构隐私数据的跨链共享方法、装置、系统及设备,采用链上链下相结合的数据传输模式,并且在跨链桥上进行异构数据映射表的生成和发送,源链从链下获取到目标链的加密数据并解密后,利用跨链桥生成的异构数据映射表对解密后的数据进行格式转换,从而完成异构隐私数据的跨链共享。

为了解决上述技术问题,本说明书实施例的具体技术方案如下:

一方面,本说明书实施例提供了一种异构隐私数据的跨链共享方法,由跨链桥执行,所述方法包括:

接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码,所述获取接口为所述目标链在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口,所述数据提取码为所述目标链生成的与所述获取接口以及所述解密密钥对应的数据提取码,所述目标链将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上并将所述数据提取码发送给所述源链;

在接收到所述源链发出的以所述数据提取码作为参数的数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链,所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求,所述目标链接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

进一步地,在利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证通过的情况下,所述方法还包括:

根据所述目标链对应的数据语义特征以及所述源链对应的语义特征生成所述异构数据映射表,所述异构数据映射表进一步用于描述所述源链和目标链上异构数据的语义要素之间的第二对应关系。

进一步地,接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码之后,所述方法还包括:

记录所述获取接口和解密密钥二者与所述数据提取码之间的第三对应关系;

利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证进一步包括:

查找记录的所述目标链发送的数据提取码中是否存在与所述源链发送的所述数据提取码相同的数据提取码,若是,则第二验证的结果为通过;

在第二验证结果为通过的情况下,所述方法还包括:

根据所述第三对应关系确定所述源链发送的数据提取码对应的所述获取接口和解密密钥。

基于同一发明构思,本说明书实施例还提供了一种异构隐私数据的跨链共享方法,由目标链执行,所述方法包括:

在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;

生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码;

将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上;

将所述获取接口、解密密钥以及数据提取码发送给跨链桥;

将所述数据提取码发送给所述源链;以便于所述源链以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,所述跨链桥在接收到所述数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取请求中的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链;所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求;

在接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;以便于所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

进一步地,所述获取接口为所述加密数据对应的获取链接地址;

接收到源链发送的异构数据获取请求并进行第一验证通过后,所述方法还包括:

利用与所述解密密钥对应的加密密钥对所述数据唯一标识对应的数据进行加密,得到所述加密数据;

根据所述用户唯一标识、数据唯一标识和解密密钥生成加密数据的获取链接地址。

进一步地,所述获取请求为所述源链发送的所述获取链接地址的访问请求,所述访问请求中包括所述用户唯一标识;

第三验证通过后,所述方法还包括:

建立与所述源链之间的长连接;

将所述加密数据通过所述获取接口发送给所述源链进一步包括:

通过所述长连接将所述加密数据发送给所述源链。

另一方面,本说明书实施例还提供了一种异构隐私数据的跨链共享装置,包括,

目标链数据交互单元,用于接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码,所述获取接口为所述目标链在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口,所述数据提取码为所述目标链生成的与所述获取接口以及所述解密密钥对应的数据提取码,所述目标链将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上并将所述数据提取码发送给所述源链;

源链数据交互单元,用于在接收到所述源链发出的以所述数据提取码作为参数的数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链,所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求,所述目标链接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

基于同一发明构思,本说明书实施例还提供了一种异构隐私数据的跨链共享装置,包括:

获取接口生成单元,用于在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;

数据提取码生成单元,用于生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码;

上链存储单元,用于将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在目标链上;

跨链桥数据交互单元,用于将所述获取接口、解密密钥以及数据提取码发送给跨链桥;

数据提取码发送单元,用于将所述数据提取码发送给所述源链;以便于所述源链以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,所述跨链桥在接收到所述数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取请求中的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链;所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求;

加密数据发送单元,用于在接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;以便于所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

另一方面,本说明书实施例还提供了一种异构隐私数据的跨链共享系统,所述系统包括源链、跨链桥和目标链;

所述源链用于向所述目标链发送异构数据获取请求,所述异构数据获取请求中包括用户唯一标识和数据唯一标识;

所述目标链用于在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码;将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上;将所述获取接口、解密密钥以及数据提取码发送给跨链桥;将所述数据提取码发送给所述源链;

所述跨链桥用于接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码;

所述源链进一步用于以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥;

所述跨链桥进一步用于在接收到所述源链发出的以所述数据提取码作为参数的数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取请求中的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链,所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;

所述源链进一步用于将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求;

所述目标链进一步用于接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;

所述源链进一步用于利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在存储器上的计算机程序,处理器执行所述计算机程序时实现上述的方法。

利用本说明书实施例,源链向目标链发送异构数据请求,目标链响应异构数据请求,但因为目标链的数据和源链的数据是异构的,所以本说明书实施例目标链并未直接将数据发送给源链,而是生成加密数据对应的获取接口,并将获取接口和加密数据的解密密钥提供给跨链桥,同时生成加密数据的提取码,将提取码发送给源链和跨链桥,即交由跨链桥负责源链的身份验证工作、获取接口的分发工作以及指导源链适配目标链的异构数据。源链在获取目标链的异构数据时,以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,跨链桥对数据提取码进行验证,并将对应的获取接口、解密密钥以及源链与目标链之间的异构数据映射表发送给源链,源链在通过获取接口向目标链获取加密数据,并对获取到的加密数据进行解密,得到解密数据,最后利用跨链桥发送的异构数据映射表解密后的数据进行格式转换,完成异构数据的跨链共享。相比于传统的目标链将数据发送给跨链桥并由跨链桥进行格式转换适配源链的方法,本说明书实施例采用获取接口的方式使得目标链直接将加密数据发送给源链,跨链桥仅向源链提供异构数据映射表,因此跨链桥自始至终都无法获取到目标链中存储的数据,即便跨链桥被恶意攻击,也不会导致目标链中数据的泄露。此外,由跨链桥负责源链的身份验证工作、获取接口的分发工作以及指导源链适配目标链的异构数据,目标链无需存储对应所有源链的异构数据映射表,能够减轻目标链的处理压力。

附图说明

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

图1所示为本说明书实施例一种异构隐私数据的跨链共享方法的实施系统示意图;

图2所示为本说明书实施例一种异构隐私数据的跨链共享方法的第一流程图;

图3所示为本说明书实施例一种异构隐私数据的跨链共享方法的第二流程图;

图4所示为本说明书实施例中跨链桥对源链发送的数据提取码的具体验证流程示意图;

图5所示为本说明书实施例中目标链对数据进行加密,并生成获取链接地址的流程示意图;

图6所示为本说明书实施例中目标链通过获取链接地址将加密数据发送给源链的流程示意图;

图7所示为本说明书实施例一种异构隐私数据的跨链共享装置的第一结构示意图;

图8所示为本说明书实施例一种异构隐私数据的跨链共享装置的第二结构示意图;

图9所示为本说明书实施例一种异构隐私数据的跨链共享系统的数据流图;

图10所示为本说明书实施例计算机设备的结构示意图。

【附图标记说明】:

101、源链;

102、跨链桥;

103、目标链;

701、目标链数据交互单元;

702、源链数据交互单元;

801、获取接口生成单元;

802、数据提取码生成单元;

803、上链存储单元;

804、跨链桥数据交互单元;

805、数据提取码发送单元;

806、加密数据发送单元;

1002、计算机设备;

1004、处理设备;

1006、存储资源;

1008、驱动机构;

1010、输入/输出模块;

1012、输入设备;

1014、输出设备;

1016、呈现设备;

1018、图形用户接口;

1020、网络接口;

1022、通信链路;

1024、通信总线。

具体实施方式

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

需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本说明书的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图1所示为本说明书实施例一种异构隐私数据的跨链共享方法的实施系统示意图,可以包括:源链101、跨链桥102和目标链103,源链101、目标链103与跨链桥102之间通过网络进行通信,网络可以包括局域网(Local Area Network,简称为LAN)、广域网(WideArea Network,简称为WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。跨链桥102负责源链101的身份验证工作、获取接口的分发工作以及指导源链101适配目标链的异构数据。其中,源链101或目标链103可以通过一个或多个服务器处理业务,服务器上部署数据处理系统。可选地,服务器可以是云计算系统的节点(图中未显示),或者每个服务器可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。服务器可以运行任何适当的计算系统,使其能够作为源链101或目标链103的区块链网络中的节点。

此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境,例如对多个系统(例如交通管理系统、车辆管理系统、交警管理系统)的跨链事务处理也可以在图1所示的源链101、跨链桥102和目标链103上实现,还可以多个源链101向多个目标链103发起跨链文件获取请求,本说明书不做限制。

具体地,本说明书实施例提供了一种异构隐私数据的跨链共享方法,采用链上链下相结合的数据传输模式,并且在跨链桥上进行异构数据映射表的生成和发送,源链从链下获取到目标链的加密数据并解密后,利用跨链桥生成的异构数据映射表对解密后的数据进行格式转换,从而完成异构隐私数据的跨链共享。图2所示为本说明书实施例一种异构隐私数据的跨链共享方法的流程图。在本图中描述了异构隐私数据的跨链获取过程,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,由跨链桥执行,所述方法可以包括:

步骤201:接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码;

在本步骤中,所述获取接口为所述目标链在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口,所述数据提取码为所述目标链生成的与所述获取接口以及所述解密密钥对应的数据提取码,所述目标链将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上并将所述数据提取码发送给所述源链;

步骤202:在接收到所述源链发出的以所述数据提取码作为参数的数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链。

在本步骤中,所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求,所述目标链接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

相对应地,本说明书实施例还提供了一种异构隐私数据的跨链共享方法,由目标链执行,如图3所示,所述方法包括:

步骤301:在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;

步骤302:生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码;

步骤303:将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上;

步骤304:将所述获取接口、解密密钥以及数据提取码发送给跨链桥;

步骤305:将所述数据提取码发送给所述源链;

所述源链以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,所述跨链桥在接收到所述数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取请求中的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链;所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求;

步骤306:在接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链。

所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

利用本说明书实施例,源链向目标链发送异构数据请求,目标链响应异构数据请求,但因为目标链的数据和源链的数据是异构的,所以本说明书实施例目标链并未直接将数据发送给源链,而是生成加密数据对应的获取接口,并将获取接口和加密数据的解密密钥提供给跨链桥,同时生成加密数据的提取码,将提取码发送给源链和跨链桥,即交由跨链桥负责源链的身份验证工作、获取接口的分发工作以及指导源链适配目标链的异构数据。源链在获取目标链的异构数据时,以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,跨链桥对数据提取码进行验证,并将对应的获取接口、解密密钥以及源链与目标链之间的异构数据映射表发送给源链,源链在通过获取接口向目标链获取加密数据,并对获取到的加密数据进行解密,得到解密数据,最后利用跨链桥发送的异构数据映射表解密后的数据进行格式转换,完成异构数据的跨链共享。相比于传统的目标链将数据发送给跨链桥并由跨链桥进行格式转换适配源链的方法,本说明书实施例采用获取接口的方式使得目标链直接将加密数据发送给源链,跨链桥仅向源链提供异构数据映射表,因此跨链桥自始至终都无法获取到目标链中存储的数据,即便跨链桥被恶意攻击,也不会导致目标链中数据的泄露。此外,由跨链桥负责源链的身份验证工作、获取接口的分发工作以及指导源链适配目标链的异构数据,目标链无需存储对应所有源链的异构数据映射表,能够减轻目标链的处理压力。

在本说明书实施例中,源链直接向目标链请求获取目标链上存储的异构数据,目标链首先会验证源链上请求的用户是否合法,例如源链将向目标链请求异构数据的用户唯一标识和请求的数据唯一标识发送给目标链,目标链判断该用户唯一标识对应的用户是否具有数据唯一标识对应数据的获取权限,若没有获取权限,则通知源链。若有获取权限,则生成数据唯一标识对应的加密数据的获取接口,以便于源链通过获取接口获取加密数据。

但因为目标链可能同时存在多个源链获取数据,并且因为目标链上存储的数据格式与源链的数据格式不同,源链再获取到目标链的数据后还需要进行格式转换,因此出于源链和目标链处理效率的考量,目标链无法存储与所有源链对应的数据转换策略,源链上也无法存储与所有目标链对应的数据转换策略。并且目标链也无法响应所有源链的数据获取请求。因此本说明书实施例将源链的身份验证工作、获取接口的分发工作以及指导源链适配目标链的异构数据均交由跨链桥负责。

为了确保向跨链桥获取加密数据的获取接口的源链身份合法,目标链还生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码,将数据提取码分别发送给源链和跨链桥,同时也将加密数据的获取接口和解密密钥发送给跨链桥。

然后源链持有数据提取码向跨链桥请求获取接口和解密密钥。跨链桥收到源链将数据提取码作为参数的数据提取请求时,利用目标链发送额的数据提取码对源链发送的数据提取码进行验证,例如验证二者是否相同,若相同,则表示向跨链桥获取该获取接口和解密密钥的用户与向目标链请求加密数据的用户一致,跨链桥就可以将数据提取码对应的获取接口和解密密钥发送给源链。

同时,为了源链在通过获取接口获取到加密数据后,能够将加密数据转换成自身可以识别的形式,跨链桥还同时将异构数据映射表发送给源链,异构数据映射表用于描述源链和目标链上异构数据之间的对应关系,源链可以利用异构数据映射表将获取到目标链上的数据转换成自己能够识别的格式。

源链虽然接收到了获取接口,但为了避免因在跨链桥向源链发送获取接口的过程中被恶意拦截,拦截者通过获取接口恶意获取到目标链上的数据,本说明书实施例中源链需要将用户唯一标识作为参数,通过获取接口向目标链发送获取请求,目标链接收到获取请求后,利用生成该获取接口所基于的用户唯一标识对获取请求中的用户唯一标识进行验证,验证通过后,表示最初向目标链请求数据的用户与此次调用获取接口请求数据的用户一致,然后将加密数据通过获取接口发送给源链,而不需要跨链桥转发。

源链接收到目标链通过获取接口发送的加密数据后,利用此前跨链桥发送的解密密钥对加密数据进行解密,并利用此前跨链桥发送的异构数据映射表对解密后的数据进行格式转换。

可以理解为,通过本说明书实施例的方法,跨链桥仅仅是负责目标链上加密数据的获取接口的分发以及异构数据映射表的分发,而不负责目标链上加密数据的转发,即便跨链桥被恶意攻击,也不会导致目标链上加密数据的泄露。

此外,源链还需要持有目标链发送的数据提取码向跨链桥提取获取接口、解密密钥以及异构数据映射表,从而确保了源链上其他用户无法从跨链桥获取到目标链生成的获取接口等数据,确保获取接口等数据的安全性。

再者而言,虽然源链获取到了目标链上加密数据的获取接口,但此时并没有获取到目标链上的加密数据,为了获取目标链上的加密数据,源链还需要将用户唯一标识作为参数,通过获取接口向目标链发送获取请求,目标链对获取请求中的用户唯一标识进行验证,只有在验证通过的情况下,才将加密数据发送给源链,即目标链发送加密数据的最后一道验证防线由自己完成,只有完成最后一道验证防线后,目标链才将自己的加密数据提供出去,从而极大程度地提高了目标链上数据的安全性。

在本说明书实施例中,目标链可以根据源链发送的用户唯一标识、数据唯一标识以及用户地址等数据生成hash码,将生成的hash码作为数据提取码。需要说明的是,数据提取码用于跨链桥对源链上向其获取目标链上数据的获取接口的用户进行验证,本说明书实施例不限制数据提取码的具体生成方式。

跨链桥收到源链发送的数据提取请求后,还可以对用户地址进行合法性验证,例如用户地址是否在预先配置的合法用户地址列表中,在用户地址的合法性以及数据提取码的验证均通过后,将获取接口等发送给源链。

根据本说明书的一个实施例,如图4所示,跨链桥对源链发送的数据提取码的具体验证流程可以包括如下步骤:

步骤401:记录所述获取接口和解密密钥二者与所述数据提取码之间的第三对应关系;

步骤402:查找记录的所述目标链发送的数据提取码中是否存在与所述源链发送的所述数据提取码相同的数据提取码,若是,则第二验证的结果为通过;

步骤403:根据所述第三对应关系确定所述源链发送的数据提取码对应的所述获取接口和解密密钥。

在本说明书实施例中,跨链桥可以生成目标链和源链之间的异构数据映射表,具体地,跨链桥可以根据所述目标链对应的数据语义特征以及所述源链对应的语义特征生成所述异构数据映射表,所述异构数据映射表进一步用于描述所述源链和目标链上异构数据的语义要素之间的第二对应关系。

示例性地,各链可以预先将自身存储的数据的语义特征提供给跨链桥,跨链桥根据各链提供的语义特征构建异构数据映射表。

根据本说明书的一个实施例,为了满足大文件的传输需求,所述获取接口为所述加密目标文件对应的获取链接地址。

如图5所示,接收到源链发送的异构数据获取请求并进行第一验证通过后,所述方法还包括:

步骤501:利用与所述解密密钥对应的加密密钥对所述数据唯一标识对应的数据进行加密,得到所述加密数据;

步骤502:根据所述用户唯一标识、数据唯一标识和解密密钥生成加密数据的获取链接地址。

如图6所示,第三验证通过后,所述方法还包括:

步骤601:建立与所述源链之间的长连接;

将所述加密数据通过所述获取接口发送给所述源链进一步包括:

步骤602:通过所述长连接将所述加密数据发送给所述源链。

在本说明书实施例中,获取链接地址可以是url地址,源链通过url地址下载加密目标文件。

具体地,目标链可以启用一个ftp或tftp服务器,在第一验证通过后,就可以利用与发送给源链的解密密钥相对应的加密密钥对数据唯一标识对应的数据进行加密,得到加密数据,然后根据用户唯一标识、数据唯一标识和解密密钥生成加密数据的获取链接地址,即获取链接地址中包括用户唯一标识、数据唯一标识以及解密密钥,并且编写相应的智能合约进行用户唯一标识等的验证,确保该获取链接地址仅用于该用户唯一标识对应的用户获取该加密数据,其他用户获取该数据或该用户获取其他加密数据时均无效。

源链获取到跨链桥发送的获取链接地址后,将用户唯一标识和数据唯一标识作为参数,生成访问请求访问该获取链接地址。

目标链收到访问请求后,预先编写好的智能合约对用户唯一标识和数据唯一标识进行验证,验证通过后,ftp或tftp服务器建立与源链之间的长连接,通过长连接将加密数据发送给源链。

相比于传统的将加密数据通过跨链桥转发给源链的方式,即便加密数据较大,也能够确保稳定传输,并且能够在传输出错的情况下从出错位置重传。

基于同一发明构思,本说明书实施例还提供了一种异构隐私数据的跨链共享装置,可以应用于跨链桥中。具体地,如图7所示,包括,

目标链数据交互单元701,用于接收目标链发送的加密数据的获取接口、所述加密数据的解密密钥以及数据提取码,所述获取接口为所述目标链在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口,所述数据提取码为所述目标链生成的与所述获取接口以及所述解密密钥对应的数据提取码,所述目标链将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在所述目标链上并将所述数据提取码发送给所述源链;

源链数据交互单元702,用于在接收到所述源链发出的以所述数据提取码作为参数的数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链,所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求,所述目标链接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

基于同一发明构思,本说明书实施例还提供了一种异构隐私数据的跨链共享装置,可以应用于目标链,如图8所示,所述装置包括:

获取接口生成单元801,用于在接收到源链发送的异构数据获取请求并进行第一验证通过后,生成的所述异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;

数据提取码生成单元802,用于生成与所述获取接口以及所述加密数据的解密密钥对应的数据提取码;

上链存储单元803,用于将所述获取接口与所述异构数据获取请求中用户唯一标识之间的第一对应关系存储在目标链上;

跨链桥数据交互单元804,用于将所述获取接口、解密密钥以及数据提取码发送给跨链桥;

数据提取码发送单元805,用于将所述数据提取码发送给所述源链;以便于所述源链以所述数据提取码作为参数生成数据提取请求并发送给所述跨链桥,所述跨链桥在接收到所述数据提取请求时,利用所述目标链发送的数据提取码对所述源链发送的数据提取请求中的数据提取码进行第二验证,并在第二验证结果为通过的情况下,将所述获取接口、解密密钥以及所述源链与所述目标链之间的异构数据映射表发送给所述源链;所述异构数据映射表用于描述所述源链和目标链上异构数据之间的第二对应关系;以便于所述源链将所述用户唯一标识作为参数,通过所述获取接口向所述目标链发送获取请求;

加密数据发送单元806,用于在接收到所述获取请求后,利用存储的所述第一对应关系对所述用户唯一标识进行第三验证,第三验证通过后,将所述加密数据通过所述获取接口发送给所述源链;以便于所述源链利用所述解密密钥对接收到的加密数据进行解密,并利用所述异构数据映射表对解密后的数据进行格式转换,将格式转换后的数据提供给所述用户唯一标识对应的用户。

由于上述装置解决问题的原理与上述方法相似,因此上述装置的实施可以参见上述方法的实施,重复之处不再赘述。

如图9所示为本说明书实施例异构隐私数据的跨链共享系统的数据流图,包括如下步骤:

步骤901:源链向目标链发送异构数据获取请求;

在本步骤中,异构数据获取请求中包括用户唯一标识和数据唯一标识。

步骤902:目标链对异构数据获取请求进行第一验证;

步骤903:目标链生成的异构数据获取请求中的数据唯一标识生成对应的加密数据的获取接口;

步骤904:目标链生成与获取接口以及加密数据的解密密钥对应的数据提取码;

步骤905:目标链将获取接口与异构数据获取请求中用户唯一标识之间的第一对应关系存储在目标链上;

步骤906:目标链将获取接口、解密密钥以及数据提取码发送给跨链桥;

步骤907:目标链将数据提取码发送给源链;

步骤908:源链以数据提取码作为参数生成数据提取请求并发送给跨链桥;

步骤909:跨链桥利用目标链发送的数据提取码对源链发送的数据提取请求中的数据提取码进行第二验证;

在本步骤中,跨链桥还可以生成目标链和源链之间的异构数据映射表,具体地,跨链桥可以根据目标链对应的数据语义特征以及源链对应的语义特征生成异构数据映射表,异构数据映射表用于描述源链和目标链上异构数据的语义要素之间的对应关系。

步骤910:跨链桥在第二验证结果为通过的情况下,将获取接口、解密密钥以及源链与目标链之间的异构数据映射表发送给源链;

步骤911:源链将用户唯一标识作为参数,通过获取接口向目标链发送获取请求;

步骤912:目标链利用存储的第一对应关系对用户唯一标识进行第三验证;

步骤913:第三验证通过后,目标链将加密数据通过获取接口发送给源链;

步骤914:源链利用解密密钥对接收到的加密数据进行解密,并利用异构数据映射表对解密后的数据进行格式转换。

如图10所示为本说明书实施例计算机设备的结构示意图,本说明书实施例中的装置可以为本实施例中的计算机设备,执行上述本说明书实施例的方法。计算机设备1002可以包括一个或多个处理设备1004,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1002还可以包括任何存储资源1006,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储资源1006可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储资源都可以使用任何技术来存储信息。进一步地,任何存储资源可以提供信息的易失性或非易失性保留。进一步地,任何存储资源可以表示计算机设备1002的固定或可移除部件。在一种情况下,当处理设备1004执行被存储在任何存储资源或存储资源的组合中的相关联的指令时,计算机设备1002可以执行相关联指令的任一操作。计算机设备1002还包括用于与任何存储资源交互的一个或多个驱动机构1008,诸如硬盘驱动机构、光盘驱动机构等。

计算机设备1002还可以包括输入/输出模块1010(I/O),其用于接收各种输入(经由输入设备1012)和用于提供各种输出(经由输出设备1014)。一个具体输出机构可以包括呈现设备1016和相关联的图形用户接口(GUI) 1018。在其他实施例中,还可以不包括输入/输出模块1010(I/O)、输入设备1012以及输出设备1014,仅作为网络中的一台计算机设备。计算机设备1002还可以包括一个或多个网络接口1020,其用于经由一个或多个通信链路1022与其他设备交换数据。一个或多个通信总线1024将上文所描述的部件耦合在一起。

通信链路1022可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1022可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。

需要说明的是,当本说明书实施例的源链、跨链桥或目标链的各链上节点为本实施例所述的计算机设备1002实现本说明书实施例所述的方法时,也可以不包括呈现设备1016和相关联的图形用户接口(GUI)1018等。例如仅包括处理器1004、存储器1006和网络接口1020组成的计算机最小系统。

本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。

本说明书实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行上述方法。

应理解,在本说明书的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施例的实施过程构成任何限定。

还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本说明书实施例中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本说明书实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书实施例的范围。

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

在说明书实施例所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

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

另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

本说明书中应用了具体实施例对本说明书的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本说明书的方法及其核心思想;同时,对于本领域的一般技术人员,依据本说明书的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本说明书的限制。

相关技术
  • 一种钢结构防火板及其无龙骨施工工法
  • 无龙骨直挂式石材幕墙施工工法
技术分类

06120116334058