区块链跨链的认证方法、系统、服务器及可读存储介质转让专利

申请号 : CN201811028251.5

文献号 : CN109257342B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏亚文章建军王志伟

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本说明书实施例公开了一种区块链跨链的认证方法,在获取身份确认请求之后,通过采集第二核验数据进行身份核验,并验证生成的第二身份公钥与第一身份公钥是否对应同一用户,在身份核验成功且验证两个身份公钥对应同一用户时,将目标鉴权数据上链到鉴权区块链上,并将目标公钥请求数据发送给第二业务服务器,如此,使得第二业务服务器能够通过目标公钥请求数据和目标鉴权数据进行身份确认,在身份确认通过后,响应跨链查询请求,从而能够在区块链垮链时进行身份确认,进而实现了跨链身份确认的效果。

权利要求 :

1.一种区块链跨链的认证方法,应用于鉴权服务器中,包括:

获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;

响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;

获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;

利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥,以使所述第二业务服务器根据所述目标公钥请求数据和所述目标鉴权数据进行身份确认,在身份确认通过时,响应所述跨链查询请求。

2.如权利要求1所述的认证方法,在所述鉴权服务器中存储有与所述用户终端对应的系统用户的个人信息,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息。

3.如权利要求2所述的认证方法,所述利用所述目标核身数据进行身份核验,具体包括:

根据接收到的所述目标核身数据,从存储在所述鉴权服务器中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验。

4.如权利要求2所述的认证方法,所述目标鉴权数据还包括所述第二身份公钥、所述目标核身数据、所述系统用户的用户标识的哈希值和时间戳,所述目标公钥请求数据还包括所述系统用户的用户标识的哈希值和所述目标鉴权数据的上链区块对应的区块哈希值。

5.如权利要求1所述的认证方法,所述验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,具体包括:获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值;

获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值;

检测所述第一哈希值和所述第二哈希值是否相同,获得检测结果;

根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。

6.一种区块链跨链的认证方法,应用于用户终端中,包括:

在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;

获取目标身份核验请求和第一身份公钥,所述目标身份核验请求是鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;

响应所述目标身份核验请求,采集对应的目标核身数据,并利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;验证所述第一身份公钥是否有效;在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,以使所述第二业务服务器根据目标公钥请求数据和目标鉴权数据进行身份确认,在身份确认通过时,响应所述跨链查询操作,所述目标公钥请求数据是所述鉴权服务器根据所述目标身份核验请求获取的,所述目标鉴权数据是所述鉴权服务器利用所述目标核身数据进行身份核验获取的,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。

7.如权利要求6所述的认证方法,所述利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,具体包括:获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;

将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。

8.如 权利要求 6所述的认证方法,所述验证所述第一身份公钥是否有效,具体包括:

利用所述第一身份私钥对验证数据进行加密;

将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据;

判断所述验证数据和所述解密数据是否相同,得到判断结果;

利用所述判断结果,验证所述第一身份公钥是否有效。

9.一种鉴权服务器,包括:

请求及公钥获取单元,用于获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;

核验请求获取及发送单元,用于响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;

核身数据获取单元,用于获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;

验证单元,用于利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户;

数据上链单元,用于在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及公钥请求数据获取及发送单元,用于根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥,以使所述第二业务服务器根据所述目标公钥请求数据和目标鉴权数据进行身份确认,在身份确认通过时,响应所述跨链查询请求。

10.如权利要求9所述的鉴权服务器,所述鉴权服务器中存储有与所述用户终端对应的系统用户的个人信息,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息。

11.如权利要求10所述的鉴权服务器,所述验证单元,具体用于根据接收到的所述目标核身数据,从存储在所述鉴权服务器中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验。

12.如权利要求10所述的鉴权服务器,所述目标鉴权数据还包括所述第二身份公钥、所述目标核身数据、所述系统用户的用户标识的哈希值和时间戳,所述目标公钥请求数据还包括所述系统用户的用户标识的哈希值和所述目标鉴权数据的上链区块对应的区块哈希值。

13.如权利要求9所述的鉴权服务器,所述验证单元,具体用于获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值;获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值;检测所述第一哈希值和所述第二哈希值是否相同,获得检测结果;根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。

14.一种用户终端,包括:

垮链查询操作获取及发送单元,用于在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;

核验请求获取单元,用于获取目标身份核验请求和第一身份公钥,所述目标身份核验请求是鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;

核验数据采集单元,用于响应所述目标身份核验请求,采集对应的目标核身数据;

秘钥生成单元,用于利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对;

签名数据获取单元,用于利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;

公钥验证单元,用于验证所述第一身份公钥是否有效;

数据发送单元,用于在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,以使所述第二业务服务器根据目标公钥请求数据和目标鉴权数据进行身份确认,在身份确认通过时,响应所述跨链查询操作,所述目标公钥请求数据是所述鉴权服务器根据所述目标身份核验请求获取的,所述目标鉴权数据是所述鉴权服务器利用所述目标核身数据进行身份核验获取的,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。

15.如权利要求14所述的用户终端,所述秘钥生成单元,具体用于获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。

16.权利要求14所述的用户终端,所述公钥验证单元,具体用于利用所述第一身份私钥对验证数据进行加密;将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据;判断所述验证数据和所述解密数据是否相同,得到判断结果;利用所述判断结果,验证所述第一身份公钥是否有效。

17.一种区块链跨链的认证系统,包括:

用户终端,用于在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;

所述第一业务服务器,用于接收所述跨链查询操作,响应所述跨链查询操作,生成对应的跨链查询请求,然后将所述跨链查询请求和第一身份公钥发送给所述第二业务服务器,其中,所述第一身份公钥存储在所述第一业务服务器中;

所述第二业务服务器,用于接收所述跨链查询请求和所述第一身份公钥,并根据所述跨链查询请求,生成身份确认请求;并将所述身份确认请求和所述第一身份公钥发送给鉴权服务器;

所述鉴权服务器,用于接收所述身份确认请求和所述第一身份公钥,响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;

所述用户终端,用于接收所述目标身份核验请求和所述第一身份公钥,响应所述目标身份核验请求,采集对应的目标核身数据,并利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,以及利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;并验证所述第一身份公钥是否有效;在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息;

所述鉴权服务器,用于接收所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据,利用所述目标核身数据进行身份核验,在身份核验成功时,将获取的目标鉴权数据上链到鉴权区块链上;以及根据所述目标身份核验请求,获取并发送对应的目标公钥请求数据给所述第二业务服务器;

所述第二业务处理器,用于接收所述目标公钥请求数据之后,利用所述目标公钥请求数据和所述目标鉴权数据进行身份确认;在身份确认通过时,响应所述跨链查询请求,查询得到业务查询结果,并将所述业务查询结果返回给所述第一业务处理器。

18.如权利要求17所述的认证系统,所述用户终端利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,具体包括:所述用户终端,用于获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。

19.如权利要求17所述的认证系统,所述用户终端验证所述第一身份公钥是否有效,具体包括:所述终端,用于利用所述第一身份私钥对验证数据进行加密;将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据;判断所述验证数据和所述解密数据是否相同,得到判断结果;利用所述判断结果,验证所述第一身份公钥是否有效。

20.如权利要求17所述的认证系统,所述鉴权服务器中存储有与所述用户终端对应的系统用户的个人信息,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息。

21.如权利要求20所述的认证系统,所述鉴权服务器利用所述目标核身数据进行身份核验,具体包括:所述鉴权服务器,用于根据接收到的所述目标核身数据,从存储在所述鉴权服务器中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验。

22.如权利要求17所述的认证系统,所述鉴权服务器验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,具体包括:所述鉴权服务器,用于获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值;获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值;检测所述第一哈希值和所述第二哈希值是否相同,获得检测结果;根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。

23.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-5任一项所述方法的步骤。

24.一种用户终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求6-8任一项所述方法的步骤。

25.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。

说明书 :

区块链跨链的认证方法、系统、服务器及可读存储介质

技术领域

[0001] 本说明书实施例涉及数据处理技术领域,尤其涉及一种区块链跨链的认证方法、系统、服务器及可读存储介质。

背景技术

[0002] 现有区块链技术通常具有以下4个特点,其一、去中心化;其二、由于区块链是一个分布式的网络架构,没有一个中心节点可以被打击或者攻击,所以在整体的技术布置方面有着更强的稳定性、可靠性和持续性;其三、强安全、共识机制不需要第三方的介入;其四、交易的公开透明和不可篡改性。由于区块链技术具备以上几个特点,使得区块链技术越来越被重视。
[0003] 现有的区块链技术在使用时,通常是基于身份公钥来识别所谓的身份。其中的一种方式是,同一实人用户在不同的区块链上写入数据的时候,都使用相同的身份私钥进行签名;不同的区块链的记录通过判定身份公钥是否一致来确认是否同一操作人,但不能进行跨链确认。

发明内容

[0004] 本说明书实施例提供了一种区块链跨链的认证方法、系统、服务器及可读存储介质,能够在区块链垮链时进行身份确认,实现了跨链身份确认的效果。
[0005] 本说明书实施例第一方面提供了一种区块链跨链的认证方法,应用于鉴权服务器中,包括:
[0006] 获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;
[0007] 响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;
[0008] 获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;
[0009] 利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及
[0010] 根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥。
[0011] 本说明书实施例第二方面提供了一种区块链跨链的认证方法,应用于用户终端中,包括:
[0012] 在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;
[0013] 获取目标身份核验请求和第一身份公钥,所述目标身份核验请求时鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;
[0014] 响应所述目标身份核验请求,采集对应的目标核身数据,并利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;验证所述第一身份公钥是否有效;在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。
[0015] 本说明书实施例第三方面还提供了一种鉴权服务器,包括:
[0016] 请求及公钥获取单元,用于获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;
[0017] 核验请求获取及发送单元,用于响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;
[0018] 核身数据获取单元,用于获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;
[0019] 验证单元,用于利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户;
[0020] 数据上链单元,用于在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及
[0021] 公钥请求数据获取及发送单元,用于根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥。
[0022] 本说明书实施例第四方面还提供了一种用户终端,包括:
[0023] 垮链查询操作获取及发送单元,用于在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;
[0024] 核验请求获取单元,用于获取目标身份核验请求和第一身份公钥,所述目标身份核验请求时鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;
[0025] 核验数据采集单元,用于响应所述目标身份核验请求,采集对应的目标核身数据;
[0026] 秘钥生成单元,用于利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对;
[0027] 签名数据获取单元,用于利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;
[0028] 公钥验证单元,用于验证所述第一身份公钥是否有效;
[0029] 数据发送单元,用于在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。
[0030] 本说明书实施例第五方面还提供了一种区块链跨链的认证系统,包括:
[0031] 用户终端,用于在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;
[0032] 所述第一业务服务器,用于接收所述跨链查询操作,响应所述跨链查询操作,生成对应的跨链查询请求,然后将所述跨链查询请求和第一身份公钥发送给所述第二业务服务器,其中,所述第一身份公钥存储在所述第一业务服务器中;
[0033] 所述第二业务服务器,用于接收所述跨链查询请求和所述第一身份公钥,并根据所述跨链查询请求,生成身份确认请求;并将所述身份确认请求和所述第一身份公钥发送给鉴权服务器;
[0034] 所述鉴权服务器,用于接收所述身份确认请求和所述第一身份公钥,响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;
[0035] 所述用户终端,用于接收所述目标身份核验请求和所述第一身份公钥,响应所述目标身份核验请求,采集对应的目标核身数据,并利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,以及利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;并验证所述第一身份公钥是否有效;在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息;
[0036] 所述鉴权服务器,用于接收所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据,利用所述目标核身数据进行身份核验,在身份核验成功时,将获取的目标鉴权数据上链到鉴权区块链上;以及根据所述目标身份核验请求获取并发送对应的目标公钥请求数据给所述第二业务服务器;
[0037] 所述第二业务处理器,用于接收所述目标公钥请求数据之后,利用所述目标公钥请求数据和所述目标鉴权数据进行身份确认;在身份确认通过时,响应所述跨链查询请求,查询得到业务查询结果,并将所述业务查询结果返回给所述第一业务处理器。
[0038] 本说明书实施例第六方面还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述区块链跨链的认证方法的步骤。
[0039] 本说明书实施例第七方面还提供了一种用户终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述区块链跨链的认证方法的步骤。
[0040] 本说明书实施例第八方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述区块链跨链的认证方法的步骤。
[0041] 本说明书实施例的有益效果如下:
[0042] 基于上述技术方案,在获取身份确认请求之后,通过采集第二核验数据进行身份核验,并验证生成的第二身份公钥与第一身份公钥是否对应同一用户,在身份核验成功且验证两个身份公钥对应同一用户时,将目标鉴权数据上链到鉴权区块链上,并将目标公钥请求数据发送给第二业务服务器,如此,使得第二业务服务器能够通过目标公钥请求数据和目标鉴权数据进行身份确认,在身份确认通过后,响应跨链查询请求,从而能够在区块链垮链时进行身份确认,进而实现了跨链身份确认的效果。

附图说明

[0043] 图1为本说明书实施例中区块链的认证系统中的申请身份公钥系统的系统架构图;
[0044] 图2为本说明书实施例中目标鉴权数据的区块的数据结构的结构示意图;
[0045] 图3为本说明书实施例中申请身份公钥系统中各个设备执行步骤的流程图[0046] 图4为本说明书实施例中区块链跨链的认证系统中各个设备执行步骤的流程图[0047] 图5为本说明书实施例中鉴权服务器的结构示意图;
[0048] 图6为本说明书实施例中用户终端的第一种结构示意图;
[0049] 图7为本说明书实施例中服务器的第结构示意图;
[0050] 图8为本说明书实施例中用户终端的第二种结构示意图。

具体实施方式

[0051] 为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
[0052] 第一方面,如图1所示,本说明书实施例提供一种区块链跨链的认证系统中的申请身份公钥系统,包括:
[0053] 用户终端100,用于获取区块链操作请求,并将所述区块链操作请求和与用户终端100对应的系统用户的个人信息发送给第一业务服务器200;
[0054] 第一业务服务器200,用于接收到所述区块链操作请求和所述个人信息;根据所述区块链操作请求,获取对应的存储在第一业务服务器200中的第一区块链的区块信息;以及利用所述个人信息查询是否存在所述系统用户的第一身份公钥,在查询到未存在所述第一身份公钥时,生成用于申请所述第一身份公钥的第一身份公钥请求,并将所述区块信息、所述个人信息和所述第一身份公钥请求发送给鉴权服务器300;
[0055] 鉴权服务器300,用于接收所述区块信息、所述个人信息和所述第一身份公钥请求;响应所述第一身份公钥请求,获取针对所述系统用户进行身份核验的第一身份核验请求及其对应的第一核身标识,并将所述第一身份核验请求发送给用户终端100;
[0056] 用户终端100,用于接收所述第一身份核验请求,响应所述第一身份核验请求,采集与所述第一身份核验请求对应的第一核身数据,并利用秘钥生成器生成包含第一身份公钥和第一身份私钥的第一秘钥对,并利用所述第一身份私钥对第一签名数据进行签名得到第一私钥签名数据,并将所述第一私钥签名数据、所述第一身份公钥和所述第一核身数据发送给鉴权服务器300,其中,所述第一签名数据包括所述个人信息,所述第一核身数据包括所述系统用户的生物特征信息;
[0057] 鉴权服务器300,用于接收所述第一私钥签名数据、所述第一身份公钥和所述第一核身数据,利用所述第一核身数据对所述系统用户进行身份核验,在身份核验成功时,将第一鉴权数据上链到存储在鉴权服务器300中的鉴权区块链上;以及根据所述第一身份公钥请求,获取对应的第一公钥请求数据,并将所述第一公钥请求数据发送给第一业务服务器200,其中,所述第一鉴权数据包括所述第一私钥签名数据、所述第一身份公钥、所述第一核身数据、所述第一核身标识、所述系统用户的用户标识的哈希值和时间戳,所述第一公钥请求数据包括所述第一核身标识、所述系统用户的用户标识的哈希值和所述第一鉴权数据的上链区块对应的区块哈希值;
[0058] 第一业务服务器200,用于接收所述第一公钥请求数据,并利用所述第一公钥请求数据进行身份确认,在身份确认通过时,存储所述第一身份公钥,并响应所述区块链操作请求,在所述第一区块链进行相应的业务操作。
[0059] 本说明书实施例中,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息,其中,所述生物特征信息包括所述系统用户的人脸信息、指纹信息、虹膜信息和声纹信息等信息中的一种或多种。当然,所述个人信息还可以包括所述系统用户的证件信息和所述系统用户的账号密码信息等。
[0060] 本说明书实施例中,所述系统用户的证件信息包括所述系统用户的身份证信息、护照信息、驾驶证信息等。
[0061] 本说明书实施例中,所述系统用户的用户标识可以为所述系统用户在鉴权服务器300中注册账号或所述系统用户的身份信息等。
[0062] 本说明书实施例中,在用户终端100使用鉴权服务器300时,会将所述个人信息注册到鉴权服务器300中,使得鉴权服务器300中存储有所述个人信息;相应地,鉴权服务器300中存储有所有使用鉴权服务器300的每个用户终端对应的系统用户的个人信息。例如,若还存在用户终端101和用户终端102使用鉴权服务器300,则鉴权服务器300中存储有与用户终端100对应的系统用户的个人信息、与用户终端101对应的系统用户的个人信息和与用户终端102对应的系统用户的个人信息。
[0063] 本说明书实施例中,用户终端100可以为智能手机、笔记本、平板电脑、台式电脑等;所述系统用户为使用第一业务服务器200和鉴权服务器300提供的服务的使用者。
[0064] 本说明书实施例中,所述区块链操作请求包括针对区块链的数据上链请求和针对区块链的数据查询请求等。
[0065] 例如,以系统用户A为例,A使用用户终端100中登录第一业务服务器200的网页时,用户终端100能够获取到登录第一业务服务器200的网页的登录请求,所述登录请求为所述区块链操作请求,将所述区块链操作请求和A的个人信息发送给第一业务服务器200。
[0066] 如此,使得第一业务服务器200接收到所述区块链操作请求和A的个人信息,此时,第一业务服务器200根据所述区块链操作请求,从存储在第一业务服务器200中的至少一个区块链上选取出一个区块链作为所述第一区块链,并获取所述第一区块链的区块信息,其中,所述第一区块链与所述区块链操作请求对应。以及第一业务服务器200利用接收到的所述个人信息查询是否存在所述系统用户的第一身份公钥,在查询到未存在所述第一身份公钥时,生成用于申请所述第一身份公钥的第一身份公钥请求,并将所述区块信息、所述个人信息和所述第一身份公钥请求发送给鉴权服务器300。
[0067] 此时,第一业务服务器200在选取所述第一区块链时,可以从所述至少一个区块链上随机选取一个区块链作为所述第一区块链,以及所述第一区块链的区块信息包括当前区块的哈希值、上一个区块的哈希值、时间戳和当前区块的编号。
[0068] 其中,第一业务服务器200将所述区块信息、所述个人信息和所述第一身份公钥请求发送给鉴权服务器300之后,鉴权服务器300接收到所述区块信息、所述个人信息和所述第一身份公钥请求;响应所述第一身份公钥请求,获取针对所述系统用户进行身份核验的第一身份核验请求及其对应的第一核身标识,并将所述第一身份核验请求发送给用户终端100。
[0069] 具体来讲,鉴权服务器300在响应所述第一身份公钥请求,获取针对所述系统用户进行身份核验的第一身份核验请求及其对应的第一核身标识时,可以根据获取的所述个人信息,确定进行身份核验的第一身份核验方式,然后获取与所述第一身份核验方式对应的所述第一身份核验请求和所述第一核身标识。
[0070] 本说明书实施例中,所述第一身份核验方式至少包括核验生物特征信息中的一种或多种,例如,所述第一身份核验方式例如可以是依次核验人脸信息、指纹信息和虹膜信息或者仅核验虹膜信息。当然,所述第一身份核验方式还可以包括核验所述系统用户的证件信息和核验所述系统用户的账号密码信息等。例如,所述第一身份核验方式例如可以是依次核验人脸信息、指纹信息、虹膜信息和核验所述系统用户的身份证信息,还可以是依次核验人脸信息、核验所述系统用户的身份证信息和所述系统用户的账号密码信息,还可以是依次核验人脸信息和所述系统用户的账号密码信息等。
[0071] 例如,以第一身份核验方式为依次核验人脸信息和指纹信息为例,鉴权服务器300可以利用所述个人信息,确定进行身份核验的第一身份核验方式为依次核验A的人脸信息和A的指纹信息,然后获取与所述第一身份核验方式对应的所述第一身份核验请求,并为A分配所述第一核身标识,所述第一核身标识是唯一的,例如可以是数字、字母和数字和字母的组合;在获取所述第一身份核验请求之后,还将所述第一身份核验请求发送给用户终端100,此时,可以通过将提示用户终端100进行扫码的扫码提示信息发送给用户终端100,此时,所述扫码提示信息为所述身份核身请求,还可以主动推送的方式将所述第一身份核验请求发送给用户终端100。
[0072] 以及,用户终端100接收到所述身份核验请求之后,响应所述第一身份核验请求,采集与所述第一身份核验请求对应的第一核身数据,此时,由于所述第一身份核验请求会携带所述第一身份核验方式,如此,通过所述第一身份核验方式能够采集到所述第一核身数据,例如所述第一身份核验方式为依次核验人脸信息、指纹信息和虹膜信息时,用户终端100根据所述第一身份核验方式,依次采集A的人脸信息、指纹信息和虹膜信息,并将采集的A的人脸信息、指纹信息和虹膜信息作为所述第一核身数据。
[0073] 以及,用户终端100在利用所述秘钥生成器生成包含第一身份公钥和第一身份私钥的第一秘钥对时,所述秘钥生成器是在SE/TEE环境下利用业务服务器标识、区块链标识和时间偏移量生成的。其中,所述时间偏移量可以是年偏移量、月偏移量和日偏移量等。
[0074] 具体来讲,由于所述秘钥生成器是在SE/TEE环境下利用业务服务器标识、区块链标识和时间偏移量生成的,如此,在生成所述第一秘钥对时,可以获取所述第一业务服务器标识、所述第一区块链标识和时间偏移量;再将所述第一业务服务器标识、所述第一区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述第一秘钥对。
[0075] 具体地,在获取第一业务服务器标识时,用户终端100可以向第一业务服务器200发送业务标识请求;第一业务服务器200根据接收到的所述业务标识请求,将所述第一业务服务器标识返回给用户终端100。相应地,在获取所述第一区块链标识时,用户终端100可以向第一业务服务器200发送区块链标识请求;第一业务服务器200根据接收到的所述区块链标识请求,将所述第一区块链标识返回给用户终端100。所述时间偏移量根据预设的时间起点与当前时间来确定。
[0076] 具体地,所述秘钥生成器可以根据ECDSA算法,生成所述第一秘钥对,[0077] 其具体实现过程如下:
[0078] 第n个第一身份私钥:x=y+H(k||i)   公式1
[0079] 第n个第一身份公钥为:g^(xi)=g^(H(k||i))*g^y   公式2
[0080] 其中,公式1和公式2中k表示业务服务器标识的哈希值,y表示区块链标识的哈希值,x为第一身份私钥,i表示时间的偏移量,n为不小于1的整数,g^(xi)表示第一身份公钥。
[0081] 如此,通过公式1和公式2能够所述第一秘钥对,用户终端100然后将获取的所述第一私钥签名数据、所述第一身份公钥和所述第一核身数据发送给鉴权服务器300。
[0082] 由于TEE提供了介于操作系统和安全元件(SE)之间的一种适度安全性,如此,可以通过TEE/SE独立的安全环境与硬件来保护所述第一身份私钥,减少所述第一身份私钥泄露的风险;而且所述秘钥生成器是基于业务服务器标识、区块链标识和时间偏移量这三个维度生成的,由此能够在多个维度上保证所述系统用户在操作不同的业务服务器、不同的时间和在不同的区块链上会分发不同的所述第一身份私钥,即使泄露所述第一身份私钥也不会造成全面数据泄露风险。
[0083] 另外,由于所述秘钥生成器是通过业务服务器标识、区块链标识和时间偏移量这三个维度来生成所述第一秘钥对,这三个维度并没有用户终端100的参数,使得在更换了终端时,也能够通过所述秘钥生成器来还原出所述第一秘钥对。
[0084] 本说明书实施例中,鉴权服务器300利用采集的第一核身数据进行身份核验时,可以根据接收到的所述第一核身数据,从存储在鉴权服务器300中的所述个人信息中查找到匹配核身数据,利用所述第一核身数据和所述匹配核身数据进行身份核验;在利用所述第一核身数据和所述匹配核身数据进行身份核验时,可以将所述第一核身数据和所述匹配核身数据进行匹配,若所述第一核身数据与所述匹配核身数据匹配,则判定身份核验成功;若所述第一核身数据与所述匹配核身数据不匹配,则判定身份核验失败。
[0085] 例如,用户终端100将采集的A的人脸信息、指纹信息和虹膜信息作为所述第一核身数据,并将所述第一核身数据发送给鉴权服务器300之后,由于鉴权服务器300中存储有A的个人信息,则从存储的A的个人信息中查找到A的人脸信息、指纹信息和虹膜信息作为所述匹配核身数据,然后依次将所述第一核身数据中所述匹配核身数据中的人脸信息、指纹信息和虹膜信息进行匹配,在人脸信息、指纹信息和虹膜信息均匹配成功时,则确定所述第一核身数据与所述匹配核身数据匹配,进而判定身份核验成功;在人脸信息、指纹信息和虹膜信息存在至少一个信息匹配不成功时,则确定所述第一核身数据与所述匹配核身数据不匹配,进而判定身份核验失败。
[0086] 本说明书实施例中,第一业务服务器200利用所述第一公钥请求数据进行身份确认时,可以利用所述第一公钥请求数据中的所述区块哈希值从所述鉴权区块链上查找到所述第一鉴权数据,利用所述第一鉴权数据和所述第一公钥请求数据进行身份确认;此时,可以将所述第一鉴权数据和所述第一公钥请求数据中包含的所述第一核身标识进行匹配,也可以将所述第一鉴权数据和所述第一公钥请求数据中包含的所述用户标识的哈希值进行匹配,还可以将所述第一鉴权数据和所述第一公钥请求数据中包含的所述第一核身标识和所述用户标识的哈希值进行匹配等。在所述第一鉴权数据和所述第一公钥请求数据中包含的所有需要匹配数据均匹配成功时,则判定身份确认通过;否则,则判定身份确认失败。
[0087] 例如,第一业务服务器200利用所述第一公钥请求数据查找到所述第一鉴权数据之后,检测所述第一鉴权数据和所述第一公钥请求数据中的所述第一核身标识是否相同,以及检测所述第一鉴权数据和所述第一公钥请求数据中的所述用户标识的哈希值是否相同,若检测到所述第一鉴权数据和所述第一公钥请求数据中的所述第一核身标识均为120时,则判定所述第一鉴权数据和所述第一公钥请求数据中的所述第一核身标识相同;若检测到所述第一鉴权数据和所述第一公钥请求数据中的所述用户标识的哈希值均为010111时,则判定所述第一鉴权数据和所述第一公钥请求数据中的所述用户标识的哈希值相同;在所述第一核身标识和所述用户标识的哈希值均相同时,则判定身份确认通过;否则,则判定身份确认失败。
[0088] 此时,所述第一鉴权数据是存储在所述鉴权区块链上的具有不可篡改性,如此,在利用所述第一鉴权数据和所述第一公钥请求数据进行身份确认时,其判定结果的准确性会较高;而且在利用所述第一鉴权数据和所述第一公钥请求数据进行身份确认时,需要检测出所述第一鉴权数据和所述第一公钥请求数据中包含的所有需要匹配数据均匹配成功时,才能判定身份确认通过,在匹配数据的数量越多即判定结果的准确性也会随之提高;降低出现盗用的风险。
[0089] 另外,在利用所述第一公钥请求数据进行身份确认时,为了提高身份确认的准确性,在利用所述第一鉴权数据和所述第一公钥请求数据进行身份确认成功之后,还可以利用所述第一公钥请求数据查找到所述第一鉴权数据,然后获取所述第一鉴权数据中的所述第一私钥签名数据,然后通过所述第一身份公钥对所述第一私钥签名数据进行解密,得到解密后的签名数据;然后判断解密后的签名数据和未加密的所述签名数据进行比对,若相同,则判定身份确认通过;否则,则判定身份确认未通过。
[0090] 本说明书实施例中,鉴权服务器300将所述第一鉴权数据上链到所述鉴权区块链上时,所述鉴权区块链上存储所述第一鉴权数据的区块的数据结构具体如图2所示,所述鉴权区块链可以是公有链、联盟链、私有链,所述鉴权区块链使用pbft共识算法,且满足n=3f+1的要求,其中n是总的节点数,f是容许异常的节点。
[0091] 其中,参见图2,所述鉴权区块链上的区块的数据结构中,preHash:指向上一个区块的hash值;timeStamp:区块打包的时间戳;hash(blockInfo):当前的区块内容的hash值,主要是使用的SHA256;Height:主要是指当前块的一个编号,也可以理解为块的编号。MerkelInfo_root:梅克尔数的根节点。其叶子节点VerifyInfo主要是鉴权的过程信息。一次核身流程对应一个VerifyInfo。其中VerifyInfo主要是json格式内容,使用所述第一身份私钥签名,主要内容为:{第一核身标识,核身产品明细,时间戳,核身结果,申请鉴权的公钥,第一身份私钥签名}。
[0092] 在实际应用过程中,用户终端100中安装有与鉴权服务器300对应的核身APP,用户终端100通过核身APP与核身处理器300进行数据交换,用户终端100将采集的所述第一核身数据通过所述核身APP发送给鉴权服务器300。
[0093] 本说明书实施例中业务区块链的认证系统的执行流程具体如图3所示,移动终端100首先执行步骤1、发送区块链操作请求和个人信息;以及第一业务服务器200接收到区块链操作请求和个人信息之后,执行步骤2、查询第一身份公钥,并获取第一区块链的区块信息;第一业务服务器200通过步骤2未查询到第一身份公钥时,执行步骤3、发送第一身份公钥请求、个人信息和区块信息。
[0094] 本说明书实施例中,鉴权服务器300接收到第一身份公钥请求、个人信息和区块信息之后,执行步骤4、获取第一身份核验请求和第一核身标识;以及鉴权服务器300获取到第一身份核验请求之后,执行步骤5、发送第一身份核验请求。
[0095] 本说明书实施例中,用户终端100接收到第一身份核验请求之后,执行步骤6、采集第一核身数据和生成第一秘钥对;接着执行步骤7、获取第一私钥签名数据,即使用第一秘钥对中第一身份私钥对第一签名数据进行签名得到第一私钥签名数据;接着执行步骤8、发送第一私钥签名数据、第一身份公钥和第一核身数据。
[0096] 其中,鉴权服务器300接收到第一私钥签名数据、第一身份公钥和第一核身数据之后,执行步骤9、利用第一核身数据进行身份核验;以及鉴权服务器300在身份核验成功时,执行步骤10、将第一鉴权数据上链到鉴权区块链上,以及执行步骤11、发送第一公钥请求数据。
[0097] 其中,第一业务服务器200在接收所述第一公钥请求数据之后,执行步骤12、利用第一公钥请求数据进行身份确认;以及第一业务服务器200在身份确认通过时,执行步骤13、存储所述第一身份公钥并进行业务操作。
[0098] 本说明书实施例中,如图4所示,为区块链跨链的认证系统中各个设备执行步骤的流程图,用户终端100执行步骤1.0、发送跨链查询操作,在执行步骤1.0的过程中,用户终端100在对存储在第一业务服务器200中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器201中的第二区块链的跨链查询操作,将所述跨链查询操作发送给第一业务服务器200;如此,使得第一业务服务器会接收到所述跨链查询操作,此时,第一业务服务器
200执行步骤1.1、发送跨链查询请求和第一身份公钥;在执行步骤1.1的过程中,第一业务服务器200在获取到需要进行跨链查询操作时,响应所述跨链查询操作,生成所述跨链查询请求;具体来讲,在获取到所述跨链查询操作时,可以获取与所述跨链查询操作对应的目标业务服务器为第二业务服务器201,然后生成所述跨链查询请求;然后将所述跨链查询请求和所述第一身份公钥发送给第二业务服务器201。
[0099] 其中,第二业务服务器201接收到所述跨链查询请求和所述第一身份公钥之后,第二业务服务器201执行步骤1.2、发送身份确认请求和第一身份公钥;在执行步骤1.2的过程中,由于第一业务服务器200已完成了身份核验流程,因此,第二业务服务器201在接收到所述跨链查询请求之后,需要确认所述系统用户是否能够操作第二业务服务器201,如此,可以根据所述跨链查询请求,生成身份确认请求;然后通过向鉴权服务器300发送所述身份确认请求和所述第一身份公钥来进行身份确认。
[0100] 本说明书实施例中,鉴权服务器300接收到所述身份确认请求和所述第一身份公钥之后,执行步骤1.3、获取目标身份核验请求和目标核身标识;以及鉴权服务器300获取到所述目标身份核验请求之后,执行步骤1.4、发送目标身份核验请求和第一身份公钥。
[0101] 具体来讲,在执行步骤1.3的过程中,鉴权服务器300响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识;然后执行步骤1.4。
[0102] 本说明书实施例中,所述第二身份核验方式至少包括核验生物特征信息中的一种或多种,例如,所述第二身份核验方式例如可以是依次核验人脸信息、指纹信息和虹膜信息或者仅核验虹膜信息。当然,所述第二身份核验方式还可以包括核验所述系统用户的证件信息和核验所述系统用户的账号密码信息等。所述第二身份核验方式具体实施过程可以参考针对所述第一身份核验方式的描述,为了说明书的简洁,在此就不再赘述了。
[0103] 本说明书实施例中,用户终端100接收到目标身份核验请求和第一身份公钥之后,执行步骤1.5、采集目标核身数据和生成目标秘钥对。接着执行步骤1.6、获取目标私钥签名数据,即使用目标秘钥对中第二身份私钥对第一签名数据进行签名得到目标私钥签名数据;接着执行步骤1.7、验证第一身份公钥;在通过步骤1.7验证所述第一身份公钥有效时,执行步骤1.8、发送目标私钥签名数据、第二身份公钥和目标核身数据。
[0104] 具体来讲,在执行步骤1.5的过程中,用户终端100接收到所述目标身份核验请求之后,响应所述目标身份核验请求,采集对应的目标核身数据,此时,由于所述目标身份核验请求会携带所述第二身份核验方式,如此,通过所述第二身份核验方式能够采集到所述目标核身数据。
[0105] 本说明书实施例中,采集所述目标核身数据的具体实施过程可以参考针对采集所述第一核身数据的描述,为了说明书的简洁,在此就不再赘述了。
[0106] 以及,用户终端100在利用所述秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对时,所述秘钥生成器是在SE/TEE环境下利用业务服务器标识、区块链标识和时间偏移量生成的。其中,所述时间偏移量可以是年偏移量、月偏移量和日偏移量等。
[0107] 具体来讲,由于所述秘钥生成器是在SE/TEE环境下利用业务服务器标识、区块链标识和时间偏移量生成的,如此,在生成所述目标秘钥对时,可以获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;再将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。
[0108] 具体地,在获取第二业务服务器标识时,用户终端100可以向第二业务服务器200发送业务标识请求;第二业务服务器201根据接收到的所述业务标识请求,将所述第二业务服务器标识返回给用户终端100。相应地,在获取所述第二区块链标识时,用户终端100可以向第二业务服务器201发送区块链标识请求;第二业务服务器201根据接收到的所述区块链标识请求,将所述第二区块链标识返回给用户终端100。所述时间偏移量根据预设的时间起点与当前时间来确定。
[0109] 本说明书实施例中,利用所述秘钥生成器生成所述目标秘钥对应的具体实施过程可以参考利用所述秘钥生成器生成所述第一秘钥对应的描述,为了说明书的简洁,在此就不再赘述了。
[0110] 本说明书实施例中,用户终端100在执行步骤1.6的过程中,利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据,其中,所述第二签名数据包括所述个人信息,所述目标核身数据包括所述系统用户的生物特征信息。
[0111] 本说明书实施例中,用户终端100在执行步骤1.7的过程中,可以利用所述第一身份私钥对所述第一身份公钥进行验证,具体地,可以利用所述第一身份私钥对验证数据进行加密,然后将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据;然后判断所述验证数据和所述解密数据是否相同,得到判断结果;再利用所述判断结果,验证所述第一身份公钥是否有效;若所述判断结果表征所述验证数据和所述解密数据相同,则判定所述第一身份公钥验证有效;若所述判断结果表征所述验证数据和所述解密数据不同,则判定所述第一身份公钥验证无效。所述验证数据可以是任意一个数据,例如为010101、00111100等。
[0112] 例如,用户终端100在执行步骤1.7的过程中,首先通过存储在用户终端100中的所述第一身份私钥对验证数据010101进行加密,得到加密后数据为111100000;然后使用所述第一身份公钥对111100000进行解密,得到解密数据为010101,此时由于解密数据和验证数据相同,则判定所述第一身份公钥验证有效。
[0113] 本说明书实施例中,用户终端100在通过步骤1.7验证所述第一身份公钥有效时执行步骤1.8,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给鉴权服务器300。
[0114] 其中,鉴权服务器300接收到所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据之后,执行步骤1.9、利用目标核身数据进行身份核验,验证第一身份公钥和第二身份公钥是否对应同一用户;以及鉴权服务器300在身份核验成功且验证两个身份公钥对应同一用户时,执行步骤1.10、将目标鉴权数据上链到鉴权区块链上,以及执行步骤1.11、发送目标公钥请求数据。
[0115] 本说明书实施例中,所述目标鉴权数据包括所述目标私钥签名数据、所述第二身份公钥、所述目标核身数据、所述目标核身标识、所述系统用户的用户标识的哈希值和时间戳,所述目标公钥请求数据包括所述目标核身标识、所述系统用户的用户标识的哈希值和所述目标鉴权数据的上链区块对应的区块哈希值;
[0116] 本说明书实施例中,鉴权服务器300在执行步骤1.9过程中,在利用所述目标核身数据进行身份核验时,可以根据接收到的所述目标核身数据,从存储在鉴权服务器300中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验;在利用所述目标核身数据和所述目标核身数据进行身份核验时,可以将所述目标核身数据和所述目标核身数据进行匹配,若所述目标核身数据与所述目标核身数据匹配,则判定身份核验成功;若所述目标核身数据与所述目标核身数据不匹配,则判定身份核验失败。
[0117] 例如,用户终端100将采集的A的人脸信息、指纹信息和虹膜信息作为所述目标核身数据,并将所述目标核身数据发送给鉴权服务器300之后,由于鉴权服务器300中存储有A的个人信息,则从存储的A的个人信息中查找到A的人脸信息、指纹信息和虹膜信息作为所述目标核身数据,然后依次将所述目标核身数据中所述目标核身数据中的人脸信息、指纹信息和虹膜信息进行匹配,在人脸信息、指纹信息和虹膜信息均匹配成功时,则确定所述目标核身数据与所述目标核身数据匹配,进而判定身份核验成功;在人脸信息、指纹信息和虹膜信息存在至少一个信息匹配不成功时,则确定所述目标核身数据与所述目标核身数据不匹配,进而判定身份核验失败。
[0118] 本说明书实施例中,鉴权服务器300在执行步骤1.9过程中,在验证所述第一身份公钥和所述第二身份公钥是否对应同一用户时,可以获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值,获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值,检测所述第一哈希值和所述第二哈希值是否相同,得到检测结果,根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。若所述检测结果表征所述第一哈希值和所述第二哈希值相同,则验证出所述第一身份公钥和所述第二身份公钥对应同一用户;若所述检测结果表征所述第一哈希值和所述第二哈希值不同,则验证出所述第一身份公钥和所述第二身份公钥对应不同用户。
[0119] 本说明书实施例中,鉴权服务器300在身份核验成功且验证两个身份公钥对应同一用户时执行步骤1.10,以及在执行步骤1.10的过程中,鉴权服务器300将所述目标鉴权数据上链到所述鉴权区块链上时,所述鉴权区块链上存储所述目标鉴权数据的区块的数据结构具体如图2所示,所述鉴权区块链可以是公有链、联盟链、私有链,所述鉴权区块链使用pbft共识算法,且满足n=3f+1的要求,其中n是总的节点数,f是容许异常的节点。
[0120] 其中,参见图2,所述鉴权区块链上的区块的数据结构中,preHash:指向上一个区块的hash值;timeStamp:区块打包的时间戳;hash(blockInfo):当前的区块内容的hash值,主要是使用的SHA256;Height:主要是指当前块的一个编号,也可以理解为块的编号。MerkelInfo_root:梅克尔数的根节点。其叶子节点VerifyInfo主要是鉴权的过程信息。一次核身流程对应一个VerifyInfo。其中VerifyInfo主要是json格式内容,使用所述第二身份私钥签名,主要内容为:{目标核身标识,核身产品明细,时间戳,核身结果,申请鉴权的公钥,第二身份私钥签名}。
[0121] 本说明书实施例中,鉴权服务器300在执行步骤1.11时,将所述目标公钥请求数据发送给第二业务处理器201。
[0122] 以及,第二业务处理器201接收到所述目标公钥请求数据之后,执行步骤1.12、利用目标公钥请求数据和目标鉴权数据进行身份确认;以及第二业务服务器201在身份确认通过时,执行步骤1.13、查询得到业务查询结果;以及第二业务处理器201得到所述业务查询结果之后,执行步骤1.14、返回业务查询结果。
[0123] 本说明书实施例中,第二业务处理器201执行步骤1.12过程中,第二业务服务器201利用所述目标公钥请求数据进行身份确认时,可以利用所述目标公钥请求数据中的所述区块哈希值从所述鉴权区块链上查找到所述目标鉴权数据,利用所述目标鉴权数据和所述目标公钥请求数据进行身份确认;此时,可以将所述目标鉴权数据和所述目标公钥请求数据中包含的所述目标核身标识进行匹配,也可以将所述目标鉴权数据和所述目标公钥请求数据中包含的所述用户标识的哈希值进行匹配,还可以将所述目标鉴权数据和所述目标公钥请求数据中包含的所述目标核身标识和所述用户标识的哈希值进行匹配等。在所述目标鉴权数据和所述目标公钥请求数据中包含的所有需要匹配数据均匹配成功时,则判定身份确认通过;否则,则判定身份确认失败。
[0124] 另外,在利用所述目标公钥请求数据进行身份确认时,为了提高身份确认的准确性,在利用所述目标鉴权数据和所述目标公钥请求数据进行身份确认成功之后,还可以利用所述目标公钥请求数据查找到所述目标鉴权数据,然后获取所述目标鉴权数据中的所述目标私钥签名数据,然后通过所述第二身份公钥对所述目标私钥签名数据进行解密,得到解密后的签名数据;然后判断解密后的签名数据和未加密的所述签名数据进行比对,若相同,则判定身份确认通过;否则,则判定身份确认未通过。
[0125] 本说明书实施例中,第二业务服务器201利用所述目标公钥请求数据进行身份确认的具体实施过程可以参考第一业务服务器200利用所述第一公钥请求数据进行身份确认的描述,为了说明书的简洁,在此就不再赘述了。
[0126] 本说明书实施例中,第二业务服务器201在通过步骤1.12判定身份确认通过时,首先执行步骤1.13,在步骤1.13过程中,第二业务服务器201响应所述跨链查询请求,查询得到所述业务查询结果;以及在通过步骤1.13得到所述业务查询结果之后,第二业务服务器201执行步骤1.14,将所述业务查询结果返回给第一业务处理器200,从而完成跨链查询操作。
[0127] 如此,通过鉴权服务器300实现实人鉴权服务,实现身份公钥下发与跨链身份确认,同时保障多个身份公钥相互独立、安全可靠。鉴权过程中鉴权数据上链到所述鉴权区块链上,实现数据可追溯、防抵赖和防篡改的效果。
[0128] 第二方面,基于与第一方面的同一发明构思,本说明书实施例提供了一种区块链跨链的认证方法,应用于鉴权服务器中,包括以下步骤:
[0129] S102、获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;
[0130] S104、响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;
[0131] S106、获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;
[0132] S108、利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及
[0133] S110、根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥。
[0134] 在本说明书的一种实施方式中,在所述鉴权服务器中存储有与所述用户终端对应的系统用户的个人信息,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息。
[0135] 在本说明书的一种实施方式中,所述利用所述目标核身数据进行身份核验,具体包括:
[0136] 根据接收到的所述目标核身数据,从存储在所述鉴权服务器中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验。
[0137] 在本说明书的一种实施方式中,所述目标鉴权数据还包括所述第二身份公钥、所述目标核身数据、所述系统用户的用户标识的哈希值和时间戳,所述目标公钥请求数据还包括所述系统用户的用户标识的哈希值和所述目标鉴权数据的上链区块对应的区块哈希值。
[0138] 在本说明书的一种实施方式中,所述验证所述第一身份公钥和所述第二身份公钥是否对应同一用户,具体包括:
[0139] 获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值;
[0140] 获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值;
[0141] 检测所述第一哈希值和所述第二哈希值是否相同,获得检测结果;
[0142] 根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。
[0143] 第三方面,基于与第一方面的同一发明构思,本说明书实施例提供一种区块链跨链的认证方法,应用于用户终端中,包括以下步骤:
[0144] S202、在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;
[0145] S204、获取目标身份核验请求和第一身份公钥,所述目标身份核验请求时鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;
[0146] S206、响应所述目标身份核验请求,采集对应的目标核身数据,并利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;验证所述第一身份公钥是否有效;在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。
[0147] 在本说明书的一种实施方式中,所述利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对,具体包括:
[0148] 获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;
[0149] 将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。
[0150] 在本说明书的一种实施方式中,所述验证所述第一身份公钥是否有效,具体包括:
[0151] 利用所述第一身份私钥对验证数据进行加密;
[0152] 将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据[0153] 判断所述验证数据和所述解密数据是否相同,得到判断结果;
[0154] 利用所述判断结果,验证所述第一身份公钥是否有效。
[0155] 第四方面,基于与第二方面的同一发明构思,本说明书实施例提供一种鉴权服务器,如图5所示,包括:
[0156] 请求及公钥获取单元501,用于获取身份确认请求和第一身份公钥,所述身份确认请求是第二业务服务器根据接收到的跨链查询请求而生成的,所述跨链查询请求是根据第一业务服务器接收到的用户终端发送的跨链查询操作而生成的,所述第一身份公钥存储在所述第一业务服务器中;
[0157] 核验请求获取及发送单元502,用于响应所述身份确认请求,获取进行身份核验的目标身份核验请求及其对应的目标核身标识,将所述目标身份核验请求和所述第一身份公钥发送给所述用户终端;
[0158] 核身数据获取单元503,用于获取目标私钥签名数据、第二身份公钥和目标核身数据,所述目标核身数据是所述用户终端根据所述目标身份核验请求而采集的,所述第二身份公钥是所述用户终端利用秘钥生成器生成的;所述目标私钥签名数据是所述用户终端利用所述第二身份私钥对第二签名数据进行签名得到的;
[0159] 验证单元504,用于利用所述目标核身数据进行身份核验,并验证所述第一身份公钥和所述第二身份公钥是否对应同一用户;
[0160] 数据上链单元505,用于在身份核验成功且验证两个身份公钥对应同一用户时,将获取的目标鉴权数据上链到鉴权区块链上,其中,所述目标鉴权数据包括所述目标私钥签名数据和所述目标核身标识;以及
[0161] 公钥请求数据获取及发送单元506,用于根据所述目标身份核验请求,获取对应的目标公钥请求数据并将其发送给所述第二业务服务器,其中,所述目标公钥请求数据包括所述第二身份公钥。
[0162] 在本说明书的一种实施方式中,所述鉴权服务器中存储有与所述用户终端对应的系统用户的个人信息,所述个人信息至少包括所述系统用户的用户标识和所述系统用户的生物特征信息。
[0163] 在本说明书的一种实施方式中,验证单元504,具体用于根据接收到的所述目标核身数据,从存储在所述鉴权服务器中的所述个人信息中查找到目标核身数据,利用所述目标核身数据和所述目标核身数据进行身份核验。
[0164] 在本说明书的一种实施方式中,所述目标鉴权数据还包括所述第二身份公钥、所述目标核身数据、所述系统用户的用户标识的哈希值和时间戳,所述目标公钥请求数据还包括所述系统用户的用户标识的哈希值和所述目标鉴权数据的上链区块对应的区块哈希值。
[0165] 在本说明书的一种实施方式中,验证单元504,具体用于获取针对所述第一身份公钥对应的系统用户的用户标识进行哈希得到第一哈希值;获取针对所述第二身份公钥对应的系统用户的用户标识进行哈希得到第二哈希值;检测所述第一哈希值和所述第二哈希值是否相同,获得检测结果;根据所述检测结果,验证所述第一身份公钥和所述第二身份公钥是否对应同一用户。
[0166] 第五方面,基于与第三方面的同一发明构思,本说明书实施例提供一种用户终端,如图6示,包括:
[0167] 垮链查询操作获取及发送单元601,用于在对存储在第一业务服务器中的第一区块链进行的业务操作过程中,获取针对在第二业务服务器中的第二区块链的跨链查询操作,将所述跨链查询操作发送给所述第一业务服务器;
[0168] 核验请求获取单元602,用于获取目标身份核验请求和第一身份公钥,所述目标身份核验请求时鉴权服务器根据与所述跨链查询操作对应的身份确认请求而生成的,所述第一身份公钥是存储在所述第一业务服务器中;
[0169] 核验数据采集单元603,用于响应所述目标身份核验请求,采集对应的目标核身数据;
[0170] 秘钥生成单元604,用于利用秘钥生成器生成包含第二身份公钥和第二身份私钥的目标秘钥对;
[0171] 签名数据获取单元605,用于利用所述第二身份私钥对第二签名数据进行签名得到目标私钥签名数据;
[0172] 公钥验证单元606,用于验证所述第一身份公钥是否有效;
[0173] 数据发送单元607,用于在验证所述第一身份公钥有效时,将所述目标私钥签名数据、所述第二身份公钥和所述目标核身数据发送给所述鉴权服务器,其中,所述目标核身数据包括与所述用户终端对应的系统用户的生物特征信息,所述目标鉴权数据和所述目标公钥请求数据中均包括所述目标核身标识。
[0174] 在本说明书的一种实施方式中,秘钥生成单元604,具体用于获取所述第二业务服务器标识、所述第二区块链标识和时间偏移量;将所述第二业务服务器标识、所述第二区块链标识和时间偏移量输入到所述秘钥生成器中,得到所述目标秘钥对。
[0175] 在本说明书的一种实施方式中,公钥验证单元606,具体用于利用所述第一身份私钥对验证数据进行加密;将加密后的所述验证数据通过所述第一身份公钥进行解密,得到解密数据;判断所述验证数据和所述解密数据是否相同,得到判断结果;利用所述判断结果,验证所述第一身份公钥是否有效。
[0176] 第六方面,基于与前述实施例中区块链跨链的认证方法同样的发明构思,本说明书实施例还提供一种服务器,如图7所示,包括存储器704、处理器702及存储在存储器704上并可在处理器702上运行的计算机程序,所述处理器702执行所述程序时实现前文所述区块链跨链的认证方法的任一方法的步骤。
[0177] 其中,在图7中,总线架构(用总线700来代表),总线700可以包括任意数量的互联的总线和桥,总线700将包括由处理器702代表的一个或多个处理器和存储器704代表的存储器的各种电路链接在一起。总线700还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口705在总线700和接收器701和发送器703之间提供接口。接收器701和发送器703可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器702负责管理总线700和通常的处理,而存储器704可以被用于存储处理器702在执行操作时所使用的数据。
[0178] 第七方面,基于与前述实施例中区块链跨链的认证方法同样的发明构思,本说明书实施例还提供一种用户终端,如图8所示,包括存储器804、处理器802及存储在存储器804上并可在处理器802上运行的计算机程序,所述处理器802执行所述程序时实现前文所述区块链跨链的认证方法的任一方法的步骤。
[0179] 其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意数量的互联的总线和桥,总线800将包括由处理器802代表的一个或多个处理器和存储器804代表的存储器的各种电路链接在一起。总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口805在总线800和接收器801和发送器803之间提供接口。接收器801和发送器803可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器802负责管理总线800和通常的处理,而存储器804可以被用于存储处理器802在执行操作时所使用的数据。
[0180] 第八方面,基于与前述实施例中区块链跨链的认证方法的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述区块链跨链的认证方法的任一方法的步骤。
[0181] 本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
[0182] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0183] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0184] 尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
[0185] 显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。