本发明涉及区块链,尤其是一种基于分布式身份识别的跨链数据获取方法及装置。
背景技术:
1、当前,具有功能交互的一些企业或单位之间会组成联盟链,对联盟链内所有成员开放数据查询功能,方便联盟链内成员进行工作。联盟链通常由若干个区块链组成,每个区块链对应一个企事业单位,该企事业单位存储有具有企业特征的数据,该数据由于具有特殊性以及法律性,不会对所有公众公开,仅对联盟链上的已注册用户公开并提供查询。
2、在本说明书中,联盟链可以包括公检法等单位,联盟链上的公户可以包括公检法工作人员或者律师等,而且联盟链上用户进行数据查询/获取过程中,存在数据的隐私保护等问题,现有技术通常采用黑名单白名单的方式对用户进行排查,允许白名单用户获取数据,禁止黑名单用户获取数据,这种方式的保护力度较低,无法高效的保护联盟链中的数据,容易遭到数据窃取。
技术实现思路
1、针对现有技术的上述问题,本说明书的目的在于,提供一种基于分布式身份识别的跨链数据获取方法及装置,以解决现有技术中保护力度较低,无法高效的保护联盟链中的数据,容易遭到数据窃取的问题。
2、为了解决上述技术问题,本说明书的具体技术方案如下:
3、一方面,本说明书提供一种基于分布式身份识别的跨链数据获取方法,包括:
4、跨链装置获取请求链上用户终端的访问请求,其中,所述访问请求包括用户账户、目标链地址以及终端当前地址;
5、目标链接收所述访问请求并根据所述访问请求查询私有访问名单,并在查询通过后向所述跨链装置发送验证通过指令;
6、当所述跨链装置接收到所述验证通过指令时,根据所述终端当前地址、所述用户账户、来源链编号以及时间戳生成第一动态请求码发送至所述用户终端,并将所述时间戳发送至所述目标链;
7、所述用户终端通过所述跨链装置向所述目标链发送所述访问请求并携带所述第一动态请求码;
8、所述目标链根据所述用户账户查询所述私有访问名单,得到所述用户账户的终端预留地址,根据所述终端预留地址、所述用户账户、所述目标链地址以及时间戳生成第二动态请求码,并判断所述第二动态请求码与所述第一动态请求码是否一致,若一致,则与所述用户终端建立传输通道,以使所述用户终端通过所述传输通道获取所述目标链中的数据。
9、作为本说明书的一个实施例,在所述目标链接收所述访问请求并根据所述访问请求查询私有访问名单之前,包括:
10、所述跨链装置接收所述访问请求解析得到用户账户、目标链地址以及终端当前地址;
11、所述跨链装置使用所述用户账户遍历查询权限表格中所有的注册账户信息,确定所述用户账户是否有访问所述目标链的权限,若有,则根据所述目标链地址将所述访问请求发送至所述目标链,其中,所述注册账户信息包括在所有链中的注册账户、对应的来源链编号、对应的终端当前地址以及每个注册账户对各个链的访问权限。
12、作为本说明书的一个实施例,所述根据所述终端当前地址、所述用户账户、来源链编号以及时间戳生成第一动态请求码发送至所述用户终端,进一步包括:
13、所述跨链装置接收所述访问请求解析得到所述用户账户、目标链地址以及终端当前地址;
14、所述跨链装置根据所述用户账户查询所述权限表格,得到所述用户账户对应的所述来源链编号;
15、所述跨链装置生成时间戳,并将所述终端当前地址、所述用户账户、所述来源链编号以及所述时间戳拼接后进行哈希运算,得到所述第一动态请求码。
16、作为本说明书的一个实施例,所述目标链接收所述访问请求并根据所述访问请求查询私有访问名单,进一步包括:
17、所述目标链接收所述访问请求解析得到所述用户账户、所述目标链地址以及所述终端当前地址;
18、所述目标链使用所述用户账户遍历查询所述私有访问名单中所有的登记账户信息,其中所述登记账户信息包括在所述目标链中的已登记账户、对应的来源链编号以及对应的终端预留地址;
19、若遍历得到与所述用户账户一致的已登记账户,则查询通过;
20、若未遍历得到与所述用户账户一致的已登记账户,则查询未通过。
21、作为本说明书的一个实施例,所述目标链根据所述用户账户查询所述私有访问名单,得到所述用户账户的终端预留地址,根据所述终端预留地址、所述用户账户、所述来源链编号以及时间戳生成第二动态请求码,进一步包括:
22、所述目标链接收所述访问请求解析得到所述用户账户、所述目标链地址以及所述终端当前地址;
23、所述目标链根据所述用户账户遍历查询所述私有访问名单中所有的登记账户信息,得到与所述用户账户对应的终端预留地址以及对应的来源链编号;
24、所述目标链将所述终端预留地址、所述用户账户、所述目标链地址以及时间戳拼接后进行哈希运算,得到所述第二动态请求码。
25、作为本说明书的一个实施例,所述则与所述用户终端建立传输通道,进一步包括:
26、所述目标链使用所述终端当前地址与所述用户终端创建传输线程;
27、所述目标链计算所述时间戳与预设传输时长相加后的传输中断时刻,并将所述传输中断时刻作为所述传输线程删除时刻,得到所述传输通道。
28、作为本说明书的一个实施例,在所述以使所述用户终端通过所述传输通道获取所述目标链中的数据之后,包括:
29、所述目标链获取用户终端发送的传输终止指令,删除与所述用户终端进行传输的所述传输通道。
30、另一方面,本说明书还提供一种基于分布式身份识别的跨链数据获取装置,包括:
31、请求获取单元,用于跨链装置获取请求链上用户终端的访问请求,其中,所述访问请求包括用户账户、目标链地址以及终端当前地址;
32、名单查询单元,用于目标链接收所述访问请求并根据所述访问请求查询私有访问名单,并在查询通过后向所述跨链装置发送验证通过指令;
33、动态码生成单元,用于当所述跨链装置接收到所述验证通过指令时,根据所述终端当前地址、所述用户账户、来源链编号以及时间戳生成第一动态请求码发送至所述用户终端,并将所述时间戳发送至所述目标链;
34、请求码传输单元,用于所述用户终端通过所述跨链装置向所述目标链发送所述访问请求并携带所述第一动态请求码;
35、通道建立单元,用于所述目标链根据所述用户账户查询所述私有访问名单,得到所述用户账户的终端预留地址,根据所述终端预留地址、所述用户账户、所述目标链地址以及时间戳生成第二动态请求码,并判断所述第二动态请求码与所述第一动态请求码是否一致,若一致,则与所述用户终端建立传输通道,以使所述用户终端通过所述传输通道获取所述目标链中的数据。
36、另一方面,本说明书还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任意一项所述的基于分布式身份识别的跨链数据获取方法。
37、另一方面,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现任意一项所述的基于分布式身份识别的跨链数据获取方法。
38、采用上述技术方案,通过跨链装置获取请求链上用户终端的访问请求,可以实现获取请求链上某个请求用户使用用户终端发送的访问请求;通过目标链接收所述访问请求并根据所述访问请求查询私有访问名单,并在查询通过后向所述跨链装置发送验证通过指令,可以实现确定该用户终端是否具有访问目标链的资格;通过当所述跨链装置接收到所述验证通过指令时,根据所述访问请求以及时间戳生成第一动态请求码发送至所述用户终端,并将所述时间戳发送至所述目标链,可以实现生成具有访问请求以及时间戳特征的第一动态请求码,并将生成第一动态请求码时的时间戳发送至目标链;通过所述用户终端通过所述跨链装置向所述目标链发送所述访问请求并携带所述第一动态请求码,可以实现将第一动态请求码以及访问请求返回;通过所述目标链根据所述访问请求以及所述时间戳生成第二动态请求码,并判断所述第二动态请求码与所述第一动态请求码是否一致,若一致,则与所述用户终端建立传输通道,以使所述用户终端通过所述传输通道获取所述目标链中的数据,可以实现使用时间戳去生成第二动态请求码,然后使用第二动态请求码去验证第一动态请求码是否一致,若一致,则将与用户终端建立传输通道,以使用户终端通过传输通道获取目标链上的数据。
39、为让本说明书的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。