基于区块链的账户信息查询方法和装置、设备和介质转让专利

申请号 : CN202310266882.5

文献号 : CN115982247B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱斯语池程刘阳田娟杨兆鑫

申请人 : 中国信息通信研究院

摘要 :

本公开实施例公开了一种基于区块链的账户信息查询方法和装置、设备和介质,其中,方法包括:应用提供平台的网关确定账户信息查询请求中的待查询账户是否登录应用提供平台;当未登录,应用提供平台的解析服务中心获取待查询账户的可验证凭证的凭证标识,并向目标用户的客户端发送包括凭证标识和账户标识的身份验证请求;客户端基于账户标识和凭证标识,获取验证信息,并向解析服务中心发送验证信息;解析服务中心对验证信息进行验证;当验证信息通过解析服务中心的验证,解析服务中心利用第一公私密钥对中私钥对待查询账户的账户信息进行加密处理,得到加密账户信息,并向客户端发送加密账户信息。

权利要求 :

1.一种基于区块链的账户信息查询方法,其特征在于,包括:响应于应用提供平台接收到目标用户发送的账户信息查询请求,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台;

响应于所述网关确定所述待查询账户未登录所述应用提供平台,所述应用提供平台的解析服务中心获取所述待查询账户的可验证凭证的凭证标识,并向所述目标用户的客户端发送身份验证请求,其中,所述解析服务中心设置在区块链上,所述身份验证请求包括:所述账户标识和所述可验证凭证的凭证标识;

所述客户端基于所述账户标识和所述凭证标识,获取验证信息,并向所述解析服务中心发送所述验证信息,其中,所述验证信息包括所述可验证凭证;

所述解析服务中心对所述验证信息进行验证;

响应于所述验证信息通过所述解析服务中心的验证,所述解析服务中心利用所述解析服务中心的第一公私密钥对中私钥对所述待查询账户的账户信息进行加密处理,得到加密账户信息,并向所述客户端发送所述加密账户信息;

其中,所述验证信息还包括:签名随机数;所述客户端基于所述账户标识和所述凭证标识,获取验证信息,包括:所述客户端基于所述账户标识,获取与所述账户标识对应的数字身份标识,并向所述解析服务中心发送所述数字身份标识;

所述解析服务中心基于所述数字身份标识生成随机数,并利用所述第一公私密钥对中私钥对所述随机数进行加密处理,得到加密随机数;

所述解析服务中心将所述加密随机数发送所述客户端;

所述客户端利用所述第一公私密钥对中公钥对所述加密随机数进行解密处理,得到所述随机数;

所述客户端基于所述数字身份标识和所述凭证标识,获取初始可验证凭证;

所述客户端利用所述目标用户的第二公私密钥对中私钥分别对所述随机数和所述初始可验证凭证进行签名处理,得到所述签名随机数和所述可验证凭证;

所述解析服务中心对所述验证信息进行验证,包括:

所述解析服务中心利用所述第二公私密钥对中公钥分别对所述可验证凭证的签名和所述签名随机数的签名进行验证;

响应于所述可验证凭证的签名和所述签名随机数的签名均通过验证,确定所述验证信息通过验证。

2.根据权利要求1所述的方法,其特征在于,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台,包括:所述网关确定预设标识黑名单中是否存在与所述账户标识相同的禁止账户标识;

响应于所述预设标识黑名单中不存在与所述账户标识相同的禁止账户标识,所述网关确定所述待查询账户是否登录所述应用提供平台。

3.根据权利要求1所述的方法,其特征在于,所述解析服务中心基于所述数字身份标识生成随机数,包括:所述解析服务中心确定所述数字身份标识是否符合预设标识格式规定;

响应于所述数字身份标识符合所述预设标识格式规定,所述解析服务中心确定所述数字身份标识是否与所述账户标识具有对应关系;

响应于所述数字身份标识与所述账户标识具有对应关系,所述解析服务中心生成所述随机数。

4.根据权利要求1‑3中任一项所述的方法,其特征在于,还包括:响应于所述待查询账户已登录所述应用提供平台,所述解析服务中心获取所述待查询账户的账户信息,并利用所述第一公私密钥对中私钥对所述账户信息进行加密处理,得到所述加密账户信息;

所述解析服务中心向所述客户端发送所述加密账户信息。

5.根据权利要求1‑3中任一项所述的方法,其特征在于,还包括:所述解析服务中心生成所述目标用户的信息获取事件,并将所述信息获取事件存储到所述区块链,其中,所述户信息获取事件包括:所述账户信息查询请求和所述加密账户信息。

6.一种基于区块链的账户信息查询装置,其特征在于,包括:登录确定模块,用于响应于应用提供平台接收到目标用户发送的账户信息查询请求,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台;

第一获取模块,用于响应于所述网关确定所述待查询账户未登录所述应用提供平台,所述应用提供平台的解析服务中心获取所述待查询账户的可验证凭证的凭证标识,并向所述目标用户的客户端发送身份验证请求,其中,所述解析服务中心设置在区块链上,所述身份验证请求包括:所述账户标识和所述可验证凭证的凭证标识;

第二获取模块,用于所述客户端基于所述账户标识和所述凭证标识,获取验证信息,并向所述解析服务中心发送所述验证信息,其中,所述验证信息包括所述可验证凭证;

验证模块,用于所述解析服务中心对所述验证信息进行验证;

加密发送模块,用于响应于所述验证信息通过所述解析服务中心的验证,所述解析服务中心利用所述解析服务中心的第一公私密钥对中私钥对所述待查询账户的账户信息进行加密处理,得到加密账户信息,并向所述客户端发送所述加密账户信息;

其中,所述验证信息还包括:签名随机数;所述第二获取模块,包括:第一获取子模块,用于所述客户端基于所述账户标识,获取与所述账户标识对应的数字身份标识,并向所述解析服务中心发送所述数字身份标识;

随机数生成子模块,用于所述解析服务中心基于所述数字身份标识生成随机数,并利用所述第一公私密钥对中私钥对所述随机数进行加密处理,得到加密随机数;

第一发送子模块,用于所述解析服务中心将所述加密随机数发送所述客户端;

解密子模块,用于所述客户端利用所述第一公私密钥对中公钥对所述加密随机数进行解密处理,得到所述随机数;

第二获取子模块,用于所述客户端基于所述数字身份标识和所述凭证标识,获取初始可验证凭证;

第一签名子模块,用于所述客户端利用所述目标用户的第二公私密钥对中私钥分别对所述随机数和所述初始可验证凭证进行签名处理,得到所述签名随机数和所述可验证凭证;

所述验证模块,包括:

签名验证子模块,用于所述解析服务中心利用所述第二公私密钥对中公钥分别对所述可验证凭证的签名和所述签名随机数的签名进行验证;

确定子模块,用于响应于所述可验证凭证的签名和所述签名随机数的签名均通过验证,确定所述验证信息通过验证。

7.一种电子设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1‑5中任一所述的基于区块链的账户信息查询方法。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1‑5中任一所述的基于区块链的账户信息查询方法。

说明书 :

基于区块链的账户信息查询方法和装置、设备和介质

技术领域

[0001] 本公开涉及区块链技术、信息查询技术,尤其是一种基于区块链的账户信息查询方法和装置、设备和介质。

背景技术

[0002] 区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。随着区块链的不断发现,越来越多的应用被设置在区块链上,利用区块链的分布式数据存储、点对点传输、共识机制、加密算法等特点提升应用性能和使用体验。在实际应用过程中,用户有时需要查询自己在应用中的账户信息,例如账户余额等,此时用户就需要先登录应用后才能获得,使得查询账户信息的操作繁琐,降低了用户的使用体验。

发明内容

[0003] 本公开实施例提供一种基于区块链的账户信息查询方法和装置、设备和介质,以解决上述问题。
[0004] 本公开实施例的一个方面,提供了一种基于区块链的账户信息查询方法,包括:响应于应用提供平台接收到目标用户发送的账户信息查询请求,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台;响应于所述网关确定所述待查询账户未登录所述应用提供平台,所述应用提供平台的解析服务中心获取所述待查询账户的可验证凭证的凭证标识,并向所述目标用户的客户端发送身份验证请求,其中,所述解析服务中心设置在区块链上,所述身份验证请求包括:所述账户标识和所述可验证凭证的凭证标识;所述客户端基于所述账户标识和所述凭证标识,获取验证信息,并向所述解析服务中心发送所述验证信息,其中,所述验证信息包括所述可验证凭证;所述解析服务中心对所述验证信息进行验证;响应于所述验证信息通过所述解析服务中心的验证,所述解析服务中心利用所述解析服务中心的第一公私密钥对中私钥对所述待查询账户的账户信息进行加密处理,得到加密账户信息,并向所述客户端发送所述加密账户信息。
[0005] 可选地,在本公开上述任一实施例的方法中,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台,包括:所述网关确定预设标识黑名单中是否存在与所述账户标识相同的禁止账户标识;响应于所述预设标识黑名单中不存在与所述账户标识相同的禁止账户标识,所述网关确定所述待查询账户是否登录所述应用提供平台。
[0006] 可选地,在本公开上述任一实施例的方法中,所述验证信息还包括:签名随机数;所述客户端基于所述账户标识和所述凭证标识,获取验证信息,包括:所述客户端基于所述账户标识,获取与所述账户标识对应的数字身份标识,并向所述解析服务中心发送所述数字身份标识;所述解析服务中心基于所述数字身份标识生成随机数,并利用所述第一公私密钥对中私钥对所述随机数进行加密处理,得到加密随机数;所述解析服务中心将所述加密随机数发送所述客户端;所述客户端利用所述第一公私密钥对中公钥对所述加密随机数进行解密处理,得到所述随机数;所述客户端基于所述数字身份标识和所述凭证标识,获取初始可验证凭证;所述客户端利用所述目标用户的第二公私密钥对中私钥分别对所述随机数和所述初始可验证凭证进行签名处理,得到所述签名随机数和所述可验证凭证。
[0007] 可选地,在本公开上述任一实施例的方法中,所述解析服务中心对所述验证信息进行验证,包括:所述解析服务中心利用所述第二公私密钥对中公钥分别对所述可验证凭证的签名和所述签名随机数的签名进行验证;响应于所述可验证凭证的签名和所述签名随机数的签名均通过验证,确定所述验证信息通过验证。
[0008] 可选地,在本公开上述任一实施例的方法中,所述解析服务中心基于所述数字身份标识生成随机数,包括:所述解析服务中心确定所述数字身份标识是否符合预设标识格式规定;响应于所述数字身份标识符合所述预设标识格式规定,所述解析服务中心确定所述数字身份标识是否与所述账户标识具有对应关系;响应于所述数字身份标识与所述账户标识具有对应关系,所述解析服务中心生成所述随机数。
[0009] 可选地,在本公开上述任一实施例的方法中,还包括:响应于所述待查询账户已登录所述应用提供平台,所述解析服务中心获取所述待查询账户的账户信息,并利用所述第一公私密钥对中私钥对所述账户信息进行加密处理,得到所述加密账户信息;所述解析服务中心向所述客户端发送所述加密账户信息。
[0010] 可选地,在本公开上述任一实施例的方法中,还包括:所述解析服务中心生成所述目标用户的信息获取事件,并将所述信息获取事件存储到所述区块链,其中,所述户信息获取事件包括:所述账户信息查询请求和所述加密账户信息。
[0011] 本公开实施例的另一个方面,提供了一种基于区块链的账户信息查询装置,包括:登录确定模块,用于响应于应用提供平台接收到目标用户发送的账户信息查询请求,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台;第一获取模块,用于响应于所述网关确定所述待查询账户未登录所述应用提供平台,所述应用提供平台的解析服务中心获取所述待查询账户的可验证凭证的凭证标识,并向所述目标用户的客户端发送身份验证请求,其中,所述解析服务中心设置在区块链上,所述身份验证请求包括:所述账户标识和所述可验证凭证的凭证标识;第二获取模块,用于所述客户端基于所述账户标识和所述凭证标识,获取验证信息,并向所述解析服务中心发送所述验证信息,其中,所述验证信息包括所述可验证凭证;
验证模块,用于所述解析服务中心对所述验证信息进行验证;加密发送模块,用于响应于所述验证信息通过所述解析服务中心的验证,所述解析服务中心利用所述解析服务中心的第一公私密钥对中私钥对所述待查询账户的账户信息进行加密处理,得到加密账户信息,并向所述客户端发送所述加密账户信息。
[0012] 本公开实施例的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述的基于区块链的账户信息查询方法。
[0013] 本公开实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的基于区块链的账户信息查询方法。
[0014] 本公开实施例提供了一种基于区块链的账户信息查询方法和装置、设备和介质,在本公开实施例中,利用待查询账户的账户标识和可验证凭证的凭证标识与需要获得账户信息的目标用户的客户端交互,自动确定目标用户是否可以获得待查询账户的账户信息,并在确定目标用户可以获得待查询账户的账户信息时,自动将待查询账户的加密账户信息发送目标用户的客户端。实现了在确保待查询账户的账户信息安全的情况下,无需登录应用提供平台的操作既可自动获取账户信息,减少了用户查询账户信息的操作,提高了用户使用体验。
[0015] 下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

[0016] 构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
[0017] 参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0018] 图1示出本公开实施例的基于区块链的账户信息查询方法一个实施例的流程图;
[0019] 图2示出本公开实施例的步骤S110的流程图;
[0020] 图3示出本公开实施例的步骤S130的流程图;
[0021] 图4示出本公开实施例的步骤S140的流程图;
[0022] 图5示出本公开实施例的步骤S132的流程图;
[0023] 图6示出本公开实施例的账户信息查询的时序图;
[0024] 图7为本公开实施例基于区块链的账户信息查询装置一个实施例的结构示意图;
[0025] 图8为本公开电子设备一个应用实施例的结构示意图。

具体实施方式

[0026] 现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0027] 本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0028] 还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0029] 还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0030] 另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0031] 还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0032] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0033] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0034] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0035] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0036] 本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0037] 终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0038] 图1示出本公开实施例中基于区块链的账户信息查询方法的流程示意图。本实施例可应用在电子设备上,如图1所示,本实施例的基于区块链的账户信息查询方法包括如下步骤:
[0039] 步骤S110,响应于应用提供平台接收到目标用户发送的账户信息查询请求,应用提供平台的网关根据账户信息查询请求中的待查询账户的账户标识,确定待查询账户是否登录应用提供平台。
[0040] 其中,该账户信息查询请求包括:待查询账户的账户标识。待查询账户可以为目标用户在应用提供平台上的账户。待查询账户包括:账户标识、登录密码和账户信息。账户标识用于唯一标识一个账户,该账户标识可以为应用提供平台为目标用户分配的唯一标识目标用户的标识(Identity,ID)等。登录密码用于登录应用提供平台。账户信息可以包括:账户余额信息、身份信息、注册信息、应用使用权限信息等。账户信息查询请求可以为对任意账户信息的查询请求,例如,账户信息查询请求可以为对账户余额的查询请求、对账户注册信息的查询请求等。
[0041] 目标用户可以个人、企业等。应用提供平台可以设置在服务器、计算机或区块链上等。应用提供平台可以包括至少一个应用(Application,App)。每个应用可以实现至少一个服务功能,例如,应用可以为合同存储的应用、标识管理的应用等。解析服务中心可以用于处理账户信息查询请求,并为目标用户提供账户信息。另外,解析服务中心还可以用于存储账户信息等。解析服务中心与应用提供平台连接。
[0042] 网关(Gateway)又称网间连接器、协议转换器,网关在网络层以上实现网络互连,是复杂的网络互连设备,可以用于两个高层协议不同的网络互连。具体地,网关就是平台或系统的入口,封装了程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,诸如认证、鉴权、监控、缓存、负载均衡、流量管控、路由转发等。
[0043] 在一种实施方式中,目标用户可以向应用提供平台发送账户信息查询请求,以查询待查询账户在应用提供平台上的账户信息,应用提供平台将接收到账户信息查询请求发送给其网关,网关查询账户标识是否登录应用提供平台,并将结果反馈应用提供平台。
[0044] 步骤S120,响应于网关确定待查询账户未登录应用提供平台,应用提供平台的解析服务中心获取待查询账户的可验证凭证的凭证标识,并向目标用户的客户端发送身份验证请求。
[0045] 其中,该解析服务中心设置在区块链上,该身份验证请求包括:账户标识和可验证凭证的凭证标识。
[0046] 数字身份可以包括数字身份标识和与该数字身份标识对应的可验证凭证(Verifiable Credentials,VC)。数字身份标识用于标识目标用户,例如,数字身份标识可以为分布式数字身份(Decentralized  Identity,DID)标识或区块链基础身份
(Blockchain‑basedIdentity,BID)标识等,其中,BID标识是基于W3C的DID标准开发的分布式标识, BID标识支持39‑57位变长编码方式,其可以有效适应各种业务场景,兼容各类设备。可以验证凭证可以用证明数字身份标识的具有某种身份,一个数字身份标识可以对应至少一个可验证凭证。
[0047] 解析服务中心存储有多个账户标识,每个账户标识与一数字身份对应。该待查询账户的可验证凭证可以为其账户标识对应的数字身份中的可验证凭证。解析服务中心可以获取待查询账户的账户标识对应的数字身份中的可验证凭证作为待查询账户的可验证凭证,之后获取该可验证凭证的凭证标识,例如解析服务中心可以获取可验证凭证的凭证编号,并将该凭证编号作为该可验证凭证的凭证标识。
[0048] 账户标识用于唯一标识一个账户,账户标识可以为应用提供平台为目标用户分配的唯一标识目标用户的标识等。凭证标识用于唯一标识一个可验证凭证,该凭证标识可以为其所标识的可验证凭证的证书编号等。客户端可以为插件钱包,该插件钱包中存储目标用户的相关信息。
[0049] 在一种实施方式中,当网关根据账户标识确定待查询账户未登录应用提供平台,应用提供平台将账户信息查询请求发送应用提供平台的解析服务中心,解析服务中心获取待查询账户的可验证凭证的凭证标识,并将凭证标识和账户标识打包成身份验证请求,并向目标用户的客户端发送身份验证请求。
[0050] 在一种实施方式中,当目标用户首次使用应用提供平台时,目标用户可以利用其数字身份在应用提供平台上进行账户注册,得到目标用户在应用提供平台的账户标识和登陆密码,目标用户可以利用该账户标识和登陆密码登陆应用提供平台。当目标用户在账户注册成功后,应用提供平台会将目标用户用于账户注册的数字身份与该目标用户的账户标识绑定,形成账户标识与数字身份的对应关系,即将数字身份中的数字身份标识和可验证凭证分别与账户标识绑定,使数字身份标识和可验证凭证均与账户标识对应,并存储上述信息。同时应用提供平台还将账户标识和账户标识与数字身份标识的对应关系发送目标用户的客户端。
[0051] 目标用户的客户端可以为插件钱包等,该插件钱包可以用于存储目标用户的数字身份、账户标识和账户标识与数字身份标识的对应关系等。
[0052] 区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。
[0053] 步骤S130,客户端基于账户标识和凭证标识,获取验证信息,并向解析服务中心发送验证信息。
[0054] 其中,该验证信息包括该可验证凭证。当目标用户的客户端接收到身份验证请求,客户端在其存储的目标用户的数字身份中获取与账户标识对应的数字身份标识,之后在该数据身份标识对应的可验证凭证中确定上述凭证标识所标识的可验证凭证,并将该可验证凭证作为验证信息,目标用户的客户端向解析服务中心发送验证信息。
[0055] 步骤S140,解析服务中心对验证信息进行验证。
[0056] 其中,解析服务中接收到目标用户的客户端发送的验证信息后,对验证信息中的可验证凭证进行验证。示例性的,解析服务器可以将验证信息中的可验证凭证与其上存储的账户标识所对应的可验证凭证进行比较,确定验证信息中的可验证凭证与其上存储的账户标识所对应的可验证凭证是否为同一可验证凭证,当确定为同一可验证凭证时,可以确定验证信息通过验证。
[0057] 步骤S150,响应于验证信息通过解析服务中心的验证,解析服务中心利用解析服务中心的第一公私密钥对中私钥对待查询账户的账户信息进行加密处理,得到加密账户信息,并向客户端发送加密账户信息。
[0058] 其中,将解析服务中心的公私密钥对称为第一公私密钥对。第一公私密钥对存储在解析服务中心。第一公私密钥对包括公钥和私钥。第一公私密钥对中公钥用于对通过第一公私密钥对中私钥加密的加密数据进行解密处理,第一公私密钥对中私钥用于对数据或信息进行加密处理。在一种实施方式中,解析服务中心可以利用国密SM2算法、对称加密算法或非对称加密算法等生成第一公私密钥对。
[0059] 在一种实施方式中,当验证信息未通过解析服务中心的验证,解析服务中心向该目标用户的客户端发送查询失败消息。
[0060] 在一种实施方式中,当客户端接收到加密账户信息后,客户端可以从解析服务中心公布的存储地址处获取第一公私密钥对中公钥,或者,客户端可以从解析服务中心获取第一公私密钥对中公钥。
[0061] 本公开实施例中,利用待查询账户的账户标识和可验证凭证的凭证标识与需要获得账户信息的目标用户的客户端交互,自动确定目标用户是否可以获得待查询账户的账户信息,并在确定目标用户可以获得待查询账户的账户信息时,自动将待查询账户的加密账户信息发送目标用户的客户端。实现了在确保待查询账户的账户信息安全的情况下,无需登录应用提供平台的操作既可自动获取账户信息,减少了用户查询账户信息的操作,提高了用户使用体验。
[0062] 在一个可选实施例中,如图2所示,本公开实施例中步骤S110还包括如下步骤:
[0063] 步骤S111,网关确定预设标识黑名单中是否存在与账户标识相同的禁止账户标识。
[0064] 其中,预设标识黑名单包括至少一个禁止账户标识,当网关接收到应用提供平台发送的账户信息查询请求时,网关遍历预设标识黑名单,确定预设标识黑名单中是否存在与账户标识相同的禁止账户标识。
[0065] 步骤S112,响应于预设标识黑名单中不存在与账户标识相同的禁止账户标识,网关确定待查询账户是否登录应用提供平台。
[0066] 其中,当网关确定预设标识黑名单中不存在与账户标识相同的禁止账户标识,网关确定待查询账户是否登录应用提供平台。示例性的,网关可以校验账户信息查询请求中的令牌(token),当校验失败,确定待查询账户未登录应用提供平台。
[0067] 在一个可选实施例中,本公开实施例中的验证信息还包括:签名随机数。如图3所示,本公开实施例中的步骤S130可以包括如下步骤:
[0068] 步骤S131,客户端基于账户标识,获取与账户标识对应的数字身份标识,并向解析服务中心发送该数字身份标识。
[0069] 其中,客户端存储有数字身份标识与账户标识的对应关系。客户端存储的数字身份标识与账户标识的对应关系的来源上述实施例已说明,此处就不再赘述。
[0070] 在一种实施方式中,当客户端接收到解析服务中心发送的账户信息查询请求,客户端根据账户信息查询请求中的账户标识和客户端存储的数字身份标识与账户标识的对应关系,确定账户标识对应的数字身份标识,之后客户端向解析服务中心发送该数字身份标识。
[0071] 步骤S132,解析服务中心基于该数字身份标识生成随机数,并利用第一公私密钥对中私钥对随机数进行加密处理,得到加密随机数。
[0072] 其中,当解析服务中心接收到该数字身份标识,解析服务中心可以生成随机数,并将该随机数与该数字身份标识绑定,以使该随机数与该数字身份标识对应。例如,解析服务中心可以利用随机数生成器(Random Number Generator)等生成随机数。解析服务中心还利用第一公私密钥对中私钥对随机数进行加密处理,得到加密随机数。
[0073] 步骤S133,解析服务中心将加密随机数发送客户端。
[0074] 步骤S134,客户端利用第一公私密钥对中公钥对加密随机数进行解密处理,得到随机数。
[0075] 其中,客户端可以从解析服务中心公布的存储地址处获取第一公私密钥对中公钥,或者,客户端可以从解析服务中心获取第一公私密钥对中公钥,之后利用第一公私密钥对中公钥对加密随机数进行解密处理,得到上述的随机数。
[0076] 步骤S135,客户端基于数字身份标识和凭证标识,获取初始可验证凭证。
[0077] 在一种实施方式中,客户端可以基于与账户标识对应数字身份标识,获取该数字身份标识对应的所有可验证凭证,之后在该数字身份标识对应的所有可验证凭证中确定与凭证标识对应的可验证凭证,并将该可验证凭证称为初始可验证凭证。
[0078] 步骤S136,客户端利用目标用户的第二公私密钥对中私钥分别对随机数和初始可验证凭证进行签名处理,得到签名随机数和可验证凭证。
[0079] 其中,可以将具有利用第二公私密钥对中私钥生成的签名的初始可验证凭证确定为可验证凭证。可以将目标用户的公私密钥对称为第二公私密钥对。第二公私密钥对存储在目标用户的客户端。第二公私密钥对包括公钥和私钥。第二公私密钥对中公钥用于对由第二公私密钥对中私钥生成的签名进行验证,第二公私密钥对中私钥用于对数据或信息进行签名。在一种实施方式中,目标用户可以利用国密SM2算法、对称加密算法或非对称加密算法等生成第二公私密钥对,并将该第二公私密钥对存储在其客户端。
[0080] 在一种实施方式中,客户端可以利用其存储的第二公私密钥对中私钥分别对随机数和初始可验证凭证进行签名,得到签名随机数和可验证凭证,将签名随机数和可验证凭证打包为验证信息。
[0081] 在一个可选实施例中,如图4所示,本公开实施例中的步骤S140可以包括如下步骤:
[0082] 步骤S141,解析服务中心利用第二公私密钥对中公钥分别对可验证凭证的签名和签名随机数的签名进行验证。
[0083] 步骤S142,响应于可验证凭证的签名和签名随机数的签名均通过验证,确定验证信息通过验证。
[0084] 在一种实施方式中,解析服务中心可以从客户端公布的存储地址处获取第二公私密钥对中公钥,或者,解析服务中心可以从客户端中获取第二公私密钥对中公钥,之后利用第二公私密钥对中公钥分别对可验证凭证的签名和签名随机数的签名进行验证,当可验证凭证的签名和签名随机数的签名均通过第二公私密钥对中公钥的验证,确定验证信息通过验证。
[0085] 在一个可选实施例中,如图5所示,本公开实施例中的步骤S132可以包括如下步骤:
[0086] 步骤S1321,解析服务中心确定数字身份标识是否符合预设标识格式规定。
[0087] 其中,预设标识格式规定可包括标识格式要求,预设标识格式规定可以根据实际需求设定。例如,预设标识格式规定可以包括标识的编码位数、标识中的字符是否为规定的字符等。
[0088] 在一种实施方式中,当解析服务中心接收到数字身份标识,可以确定数字身份标识的标识格式是否符合预设标识格式规定,例如,数字身份标识的编码位数是否为预设标识格式规定中的位数,以及确定数字身份标识中的所有字符是否为预设标识格式规定中规定的字符。
[0089] 步骤S1322,响应于数字身份标识符合预设标识格式规定,解析服务中心确定数字身份标识是否与账户标识具有对应关系。
[0090] 其中,当数字身份标识符合预设标识格式规定时,解析服务中心确定其接收到的数字身份标识是否与其存储的待查询账户的账户标识所对应的数字身份标识相同,若相同,则解析服务中心确定其接收到的数字身份标识与待查询账户的账户标识具有对应关系。
[0091] 步骤S1323,响应于数字身份标识与账户标识具有对应关系,解析服务中心生成随机数。
[0092] 其中,当解析服务中心确定数字身份标识与账户标识具有对应关系,解析服务中心生成随机数。在一种实施方式中,当解析服务中心确定其接收到的数字身份标识不符合预设标识格式规定,或则,确定其接收到的数字身份标识与待查询账户的账户标识不具有对应关系,则解析服务中心向客户端发送查询失败消息。
[0093] 在一个可选实施例中,本公开实施例中的方法还包括:响应于待查询账户已登录应用提供平台,解析服务中心获取待查询账户的账户信息,并利用第一公私密钥对中私钥对账户信息进行加密处理,得到加密账户信息;解析服务中心向客户端发送加密账户信息。
[0094] 其中,当解析服务中心确定待查询账户已经登录应用提供平台。解析服务中心根据待查询账户的账户标识,获取待查询账户的账户信息,并利用第一公私密钥对中私钥对账户信息进行签名,得到加密账户信息,并将该加密账户信息发送客户端。
[0095] 在一个可选实施例中,本公开实施例中的方法还包括:解析服务中心生成目标用户的信息获取事件,并将该信息获取事件存储到区块链中。
[0096] 其中,该户信息获取事件包括:账户信息查询请求和加密账户信息。该该户信息获取事件还可以包括应用提供平台和解析服务中心接收到账户信息查询请求的时间,以及解析服务中心发送加密账户信息的时间。
[0097] 以下为本公开实施例中基于区块链的账户信息查询方法的一个应用实施例。在本应用实施例中,目标用户的客户端以插件钱包为例,数字身份标识以DID标识为例。如图6所示,账户信息查询的流程包括步骤:
[0098] 1,目标用户在应用提供平台输入账户信息查询请求,该账户信息查询请求包括待查询账户的账户标识;
[0099] 2,应用提供平台将该账户信息查询请求发请应用提供平台的网关,确定待查询账户是否登录应用提供平台,当确定未登录时,应用提供平台将该账户信息查询请求发送应用提供平台的解析服务中心;
[0100] 3,解析服务中心获取账户标识对应的可验证凭证,并将该可验证凭证作为待查询账户的可验证凭证,获取待查询账户的可验证凭证的凭证标识,生成包括账户标识和凭证标识的身份验证请求,并向目标用户的插件钱包发送身份验证请求;
[0101] 4,插件钱包获取与账户标识对应的DID标识,并向解析服务中心发送该DID标识;
[0102] 5,解析服务中心确定该DID标识是否符合预设标识格式规定,以及确定该DID标识是否与待查询账户的账户标识具有对应关系;
[0103] 6,当解析服务中心确定该DID标识符合预设标识格式规定,且与待查询账户的账户标识具有对应关系,解析服务中心生成随机数,并利用第一公私密钥对中私钥对随机数进行加密,得到加密随机数,并将加密随机数发送插件钱包;
[0104] 7,插件钱包从解析中心公布的存储地址获取第一公私密钥对中公钥,并利用第一公私密钥对中公钥对加密随机数进行解密,得到随机数;
[0105] 8,插件钱包获取与账户标识对应的DID标识和凭证标识均对应的初始可验证凭证,插件钱包利用第二公私密钥对中私钥对初始可验证凭证和随机数进行签名,得到可验证凭证和签名随机数,并将可验证凭证和签名随机数打包成验证信息,插件钱包将验证信息发送解析服务中心;
[0106] 9,解析服务中心从插件钱包公布的存储地址处获取第二公私密钥对中公钥,并利用第二公私密钥对中公钥分别对可验证凭证的签名和签名随机数的签名进行验证,当验证均通过,确定验证信息通过验证;
[0107] 10,解析服务中心获取和组装待查询账户的账户信息,并利用第一公私密钥对中私钥对待查询账户的账户信息进行加密处理,得到加密账户信息,并向插件钱包发送加密账户信息。
[0108] 图7示出本公开实施例中基于区块链的账户信息查询装置的框图。如图7所示,该实施例基于区块链的账户信息查询装置包括:
[0109] 登录确定模块210,用于响应于应用提供平台接收到目标用户发送的账户信息查询请求,所述应用提供平台的网关根据所述账户信息查询请求中的待查询账户的账户标识,确定所述待查询账户是否登录所述应用提供平台;
[0110] 第一获取模块220,用于响应于所述网关确定所述待查询账户未登录所述应用提供平台,所述应用提供平台的解析服务中心获取所述待查询账户的可验证凭证的凭证标识,并向所述目标用户的客户端发送身份验证请求,其中,所述解析服务中心设置在区块链上,所述身份验证请求包括:所述账户标识和所述可验证凭证的凭证标识;
[0111] 第二获取模块230,用于所述客户端基于所述账户标识和所述凭证标识,获取验证信息,并向所述解析服务中心发送所述验证信息,其中,所述验证信息包括所述可验证凭证;
[0112] 验证模块240,用于所述解析服务中心对所述验证信息进行验证;
[0113] 加密发送模块250,用于响应于所述验证信息通过所述解析服务中心的验证,所述解析服务中心利用所述解析服务中心的第一公私密钥对中私钥对所述待查询账户的账户信息进行加密处理,得到加密账户信息,并向所述客户端发送所述加密账户信息。
[0114] 在一个可选实施例方式中,本公开实施例中所述登录确定模块210还用于所述网关确定预设标识黑名单中是否存在与所述账户标识相同的禁止账户标识;响应于所述预设标识黑名单中不存在与所述账户标识相同的禁止账户标识,所述网关确定所述待查询账户是否登录所述应用提供平台。
[0115] 在一个可选实施例方式中,本公开实施例中所述验证信息还包括:签名随机数;所述第二获取模块230,包括:
[0116] 第一获取子模块,用于所述客户端基于所述账户标识,获取与所述账户标识对应的数字身份标识,并向所述解析服务中心发送所述数字身份标识;
[0117] 随机数生成子模块,用于所述解析服务中心基于所述数字身份标识生成随机数,并利用所述第一公私密钥对中私钥对所述随机数进行加密处理,得到加密随机数;
[0118] 第一发送子模块,用于所述解析服务中心将所述加密随机数发送所述客户端;
[0119] 解密子模块,用于所述客户端利用所述第一公私密钥对中公钥对所述加密随机数进行解密处理,得到所述随机数;
[0120] 第二获取子模块,用于所述客户端基于所述数字身份标识和所述凭证标识,获取初始可验证凭证;
[0121] 第一签名子模块,用于所述客户端利用所述目标用户的第二公私密钥对中私钥分别对所述随机数和所述初始可验证凭证进行签名处理,得到所述签名随机数和所述可验证凭证。
[0122] 在一个可选实施例方式中,本公开实施例中所述验证模块240,包括:
[0123] 签名验证子模块,用于所述解析服务中心利用所述第二公私密钥对中公钥分别对所述可验证凭证的签名和所述签名随机数的签名进行验证;
[0124] 确定子模块,用于响应于所述可验证凭证的签名和所述签名随机数的签名均通过验证,确定所述验证信息通过验证。
[0125] 在一个可选实施例方式中,本公开实施例中所述随机数生成子模块,包括:
[0126] 格式判断单元,用于所述解析服务中心确定所述数字身份标识是否符合预设标识格式规定;
[0127] 对应关系确定单元,用于响应于所述数字身份标识符合所述预设标识格式规定,所述解析服务中心确定所述数字身份标识是否与所述账户标识具有对应关系;
[0128] 随机数生成单元,用于响应于所述数字身份标识与所述账户标识具有对应关系,所述解析服务中心生成所述随机数。
[0129] 在一个可选实施例方式中,本公开实施例中还包括:
[0130] 第三获取模块,用于响应于所述待查询账户已登录所述应用提供平台,所述解析服务中心获取所述待查询账户的账户信息,并利用所述第一公私密钥对中私钥对所述账户信息进行签名处理,得到所述加密账户信息;
[0131] 发送模块,用于所述解析服务中心向所述客户端发送所述加密账户信息。
[0132] 在一个可选实施例方式中,本公开实施例中还包括:
[0133] 存储模块,用于所述解析服务中心生成所述目标用户的信息获取事件,并将所述信息获取事件存储到所述区块链,其中,所述户信息获取事件包括:所述账户信息查询请求和所述加密账户信息。
[0134] 另外,本公开实施例还提供了一种电子设备,包括:
[0135] 存储器,用于存储计算机程序;
[0136] 处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于区块链的账户信息查询方法。
[0137] 图8为本公开电子设备一个应用实施例的结构示意图。下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
[0138] 如图8所示,电子设备包括一个或多个处理器和存储器。
[0139] 处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
[0140] 存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于区块链的账户信息查询方法以及/或者其他期望的功能。
[0141] 在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
[0142] 此外,该输入装置还可以包括例如键盘、鼠标等等。
[0143] 该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
[0144] 当然,为了简化,图8中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
[0145] 除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的账户信息查询方法中的步骤。
[0146] 所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0147] 此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的账户信息查询方法中的步骤。
[0148] 所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0149] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0150] 以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0151] 本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0152] 本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0153] 可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
[0154] 还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
[0155] 提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0156] 为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。