一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于可验证声明的授权处理方法、装置、设备及系统与流程

2022-02-21 09:06:48 来源:中国专利 TAG:

基于可验证声明的授权处理方法、装置、设备及系统
1.本专利申请是申请号:202010305730.8,申请日:2020年04月17日,发明名称“基于可验证声明的授权处理方法、装置、设备及系统”的中国专利申请的分案申请。
技术领域
2.本文件涉及数据处理技术领域,尤其涉及一种基于可验证声明的授权处理方法、装置、设备及系统。


背景技术:

3.数字身份信息,如did(英文全称:decentralized identifiers,中文全称:分布式身份标识),是一种去中心化的可验证的数字标识符。did可以标识个体的身份、组织的身份等,但由于did中并没有个体、组织等的真实信息,如姓名、家庭住址等信息,因此用户通常将did与可验证声明(英文全称:verifiable credential,简称vc)相结合,通过可验证声明来证明如年龄、学历、拥有的某些权限等信息。通常的,在不同的场景中往往需要证明的内容不同,并需要授予不同的用户对可验证声明的访问权限,因此如何有效的进行可验证声明是访问授权是备受用户关注的问题。


技术实现要素:

4.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理方法,应用于第一用户对应的第一服务端。该方法包括接收第一用户发送的授权请求。其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限。所述授权请求包括授权信息。所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成。根据所述授权信息生成授权记录信息。将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息。
5.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理方法,应用于第二服务端。该方法包括接收第一用户发送的密钥获取请求。其中,所述密钥获取请求包括第二用户的第一数字身份信息。从第二区块链中获取所述第一数字身份信息所对应的公钥。将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
6.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理装置,应用于第一用户对应的第一服务端。该装置包括接收模块,其接收第一用户发送的授权请求。其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限。所述授权请求包括授权信息。所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成。该装置还包括生成模块,其根据所述授权信息生成授权记录信息。该装置还包括发送模块,其将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息。
7.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理装置,应用于
第二服务端。该装置包括接收模块,其接收第一用户发送的密钥获取请求。其中,所述密钥获取请求包括第二用户的第一数字身份信息。该装置还包括第一获取模块,其从第二区块链中获取所述第一数字身份信息所对应的公钥。该装置还包括发送模块,其将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
8.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理系统。该系统包括第一用户的第一客户端、所述第一客户端对应的第一服务端、第二服务端。所述第一客户端,响应于所述第一用户授予第二用户对所述第一用户的第一可验证声明的访问权限的授权操作,根据所述第二用户的第一数字身份信息,向所述第二服务端发送密钥获取请求。接收所述第二服务端发送的所述第一数字身份信息所对应的公钥。根据所述公钥和所述第一可验证声明生成授权信息,根据所述授权信息向所述第一服务端发送授权请求。所述第一服务端,接收所述授权请求。根据所述授权信息生成授权记录信息。将所述授权记录信息保存至第一区块链中。向所述第一客户端发送授权成功信息。所述第二服务端,接收所述密钥获取请求。从第二区块链中获取所述第一数字身份信息所对应的公钥。将获取的所述公钥发送给所述第一客户端。
9.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理设备。该设备包括处理器。该设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时接收第一用户发送的授权请求。其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限。所述授权请求包括授权信息。所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成。根据所述授权信息生成授权记录信息。将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息
10.本说明书一个或多个实施例提供了一种基于可验证声明的授权处理设备。该设备包括处理器。该设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时接收第一用户发送的密钥获取请求。其中,所述密钥获取请求包括第二用户的第一数字身份信息。从第二区块链中获取所述第一数字身份信息所对应的公钥。将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
11.本说明书一个或多个实施例提供了一种存储介质。该存储介质用于存储计算机可执行指令。所述计算机可执行指令在被执行时接收第一用户发送的授权请求。其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限。所述授权请求包括授权信息。所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成。根据所述授权信息生成授权记录信息。将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息
12.本说明书一个或多个实施例提供了一种存储介质。该存储介质用于存储计算机可执行指令。所述计算机可执行指令在被执行时接收第一用户发送的密钥获取请求。其中,所述密钥获取请求包括第二用户的第一数字身份信息。从第二区块链中获取所述第一数字身份信息所对应的公钥。将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
附图说明
13.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第一种场景示意图;
15.图2为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第二种场景示意图;
16.图3为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第一种流程示意图;
17.图4为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第二种流程示意图;
18.图5为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第三种流程示意图;
19.图6为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第四种流程示意图;
20.图7为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第五种流程示意图;
21.图8为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第六种流程示意图;
22.图9为本说明书一个或多个实施例提供的一种基于可验证声明的状态变更方法的第一种流程示意图;
23.图10为本说明书一个或多个实施例提供的一种基于可验证声明的状态变更方法的第二种流程示意图;
24.图11为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第七种流程示意图;
25.图12为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第八种流程示意图;
26.图13为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第九种流程示意图;
27.图14为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十种流程示意图;
28.图15为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十一种流程示意图;
29.图16为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十二种流程示意图;
30.图17为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十三种流程示意图;
31.图18为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十四种流程示意图;
32.图19为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的第十五种流程示意图;
33.图20为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理装置的第一种模块组成示意图;
34.图21为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理装置的第二种模块组成示意图;
35.图22为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理系统的第一种组成示意图;
36.图23为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理系统的第二种组成示意图;
37.图24为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理设备的结构示意图。
具体实施方式
38.为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
39.图1为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的应用场景示意图,如图1所示,该场景包括:第一用户的第一客户端、第一用户对应的第一服务端、第一服务端所对应的第一区块链、第二服务端以及第二服务端所对应的第二区块链。其中,第一服务端提供可验证声明的存储、授权管理、状态管理的等服务;第二服务端提供数字身份信息的创建、可验证声明的颁发等服务;第一区块链中保存可验证声明的授权记录信息、访问记录信息、状态变更记录信息等;第二区块链保存数字身份信息的创建记录信息、可验证声明的颁发记录信息等。第一客户端和第二客户端可以为手机、平板电脑、台式计算机、便携笔记本式计算机等(图1中仅示出手机);第一服务端和第二服务端可以是独立的服务器,也可以是由多个服务器组成的服务器集群;
40.可选地,第一服务端是第一区块链中的节点、第二服务端是第二区块链中的节点。与之对应的,第一用户预先操作其第一客户端从第二服务端申请第二数字身份信息和第一可验证声明,并将申请的第一可验证声明保存至第一服务端;第二用户预先操作其第二客户端从第二服务端申请第一数字身份信息、第一数字身份信息所对应的公私钥对。当第一用户需要授予第二用户对第一可验证声明的访问权限时,第一用户首先操作第一客户端向第二服务端发送密钥获取请求,第二服务端根据密钥获取请求包括的第一数字身份信息,从第二区块链中获取对应的公钥,并将获取的公钥发送给第一客户端;第一客户端根据第一可验证声明和获取的公钥生成授权信息,根据授权信息向第一服务端发送授权请求;第一服务端根据授权信息和第一可验证声明的第一标识信息,生成授权记录信息;第一服务
端将授权记录信息保存至第一区块链中,并向第一客户端发送授权成功信息;第一客户端展示授权成功信息。
41.进一步的,如图2所示,第一服务端还可以不是第一区块链中的节点,第二服务端也可以不是第二区块链中的节点;相应的,应用场景还包括:接入第一区块链的第一区块链节点和接入第二区块链的第二区块链节点;当第二服务端接收到第一客户端发送的密钥获取请求,将密钥获取请求发送给第二区块链节点,以使第二区块链节点从第二区块链中获取对应的公钥,并将获取的公钥发送给第二服务端,第二服务端将接收到的公钥发送给第一客户端;以及,第一服务端在生成授权记录信息之后,将授权记录信息发送给第一区块链节点,以使第一区块链节点将授权记录信息保存至第一区块链中。
42.由此,第一客户端通过从第二服务端获取第二用户的第一数字身份信息所对应的公钥,并基于获取的公钥和第一可验证声明生产授权信息,从而根据该授权信息向第一服务端发送授权请求,以使第一服务端将授权记录信息保存至第一区块链中;不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
43.基于上述应用场景架构,本说明书一个或多个实施例提供了一种基于可验证声明的授权处理方法。图3为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理方法的流程示意图,图3中的方法能够由图1中的第一服务端执行,如图3所示,该方法包括以下步骤:
44.步骤s102,接收第一用户发送的授权请求,其中,授权请求用于请求为第二用户授予对第一用户的第一可验证声明的访问权限;授权请求包括授权信息,授权信息基于第一可验证声明和第二用户的第一数字身份信息所对应的公钥所生成;
45.具体的,第一客户端响应于第一用户的授权操作,根据待授权的第一可验证声明、预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥,生成授权信息,根据授权信息向对应的第一服务端发送授权请求;第一服务端接收第一客户端发送的授权请求。其中,授权请求还可以包括第一可验证声明的第一标识信息、第一用户的第一数字身份信息等;授权信息的生成过程,在后文中进行详述。
46.步骤s104,根据授权信息和第一可验证声明的第一标识信息,生成授权记录信息;
47.具体的,将授权信息、第一可验证声明的第一标识信息、第二用户的第一数字身份信息等关联记录,并将记录的信息确定为授权记录信息。
48.步骤s106,将授权记录信息保存至第一区块链中,向第一用户发送授权成功信息。
49.本说明书一个或多个实施例中,第一服务端在接收到第一客户端发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
50.为了避免他人冒充第一用户进行授权操作,本说明书一个或多个实施例中,授权
请求还可以包括采用第一用户的第二数字身份信息所对应的私钥对指定信息进行签名处理所得的第二签名数据;相应的,步骤s104可以包括:
51.获取第二数字身份信息所对应的公钥,若根据获取的公钥对第二签名数据验证通过,则根据授权信息和第一可验证声明的第一标识信息,生成授权记录信息。
52.其中,获取第二数字身份信息所对应的公钥可以包括:根据第二数字身份信息向第二服务端发送密钥获取请求,以使第二服务端从第二区块链中查询第二数字身份信息所对应的公钥;或者,第一服务端向第一客户端发送密钥获取请求,以使第一客户端将密钥获取请求发送给第二服务端,当第一客户端接收到第二服务端发送的公钥时,将接收到的公钥发送给第一服务端。
53.由于第二数字身份信息所对应的私钥仅有第一用户持有,因此,通过对第二签名数据进行验证,有效的避免了他们冒充第一用户进行授权操作的风险。
54.在第一用户授权了第二用户对第一可验证声明的访问权限之后,第二用户即可访问第一可验证声明。具体的,本说明书一个或多个实施例中,第一用户与第二用户对应相同的第一服务端,例如,第一用户与第二用户归属于同一联盟链,此时,第二用户通过向第一服务端发送第一访问请求以请求访问第一可验证声明。与之对应的,如图4所示,步骤s106之后还包括:
55.步骤s108,接收第二用户发送的可验证声明的第一访问请求;其中,第一访问请求包括第一数字身份信息和第一标识信息;
56.具体而言,在授权成功之后,第一用户可以私下将第一可验证声明的第一标识信息告知第二用户;或者,第一用户操作第一客户端将第一可验证声明的第一标识信息发送给第二用户的第二客户端;或者,第一服务端根据第一标识信息向第二客户端发送授权提示信息,以使第二用户根据第一标识信息访问第一可验证声明。当第二用户需要访问第一可验证声明时,操作其第二客户端,第二客户端响应于第二用户的访问操作,根据第二用户的第一数字身份信息和第一标识信息等,向第一服务端发送第一访问请求。
57.步骤s110,根据第一数字身份信息和第一标识信息,从第一区块链中查询关联的授权记录信息,将查询到的授权记录信息中的第一可验证声明发送给第二用户。
58.为了确保未被授予访问权限的用户不能访问第一可验证声明,本说明书一个或多个实施例中,采用信封加密的方式对第一可验证声明进行加密处理;具体的,如图5所示,步骤s102包括以下步骤s102-2;
59.步骤s102-2,接收第一用户发送的授权请求;其中,授权请求用于请求为第二用户授予对第一用户的第一可验证声明的访问权限;授权请求包括授权信息,授权信息包括第一可验证声明的密文和第一密钥的密文;第一可验证声明的密文是根据第一密钥对第一可验证声明进行加密处理而得;第一密钥的密文是根据第二用户的第一数字身份所对应的公钥对第一密钥进行加密处理而得;
60.与步骤s102-2对应的,如图5所示,步骤s110包括以下步骤s110-2;
61.步骤s110-2,根据第一数字身份信息和第一标识信息,从第一区块链中查询关联的授权记录信息,将查询到的授权记录信息中的第一可验证声明的密文和第一密钥的密文发送给第二用户,以使第二用户根据第一数字身份信息所对应的私钥对第一密钥的密文进行解密处理得到第一密钥,并根据第一密钥对第一可验证声明的密文进行解密处理得到第
一可验证声明。
62.通过采用信封加密的方式对第一可验证声明进行加密,使得只有被授予了访问权限的第二用户可以对第一密钥的密文进行解密处理得到第一密钥,从而根据第一密钥对第一可验证声明的密文进行解密处理得到第一可验证声明,有效了确保了第一可验证声明的隐私性。
63.进一步的,为了对第二用户的身份进行有效验证,本说明书一个或多个实施例中,第一访问请求还包括:根据第一数字身份信息所对应的私钥对指定数据进行签名处理所得的第一签名数据。具体的,如图6所示,步骤s108可以包括以下步骤s108-2;
64.步骤s108-2,接收第二用户发送的可验证声明的第一访问请求;其中,第一访问请求包括第一数字身份信息、第一标识信息和根据第一数字身份信息所对应的私钥对指定数据进行签名处理所得的第一签名数据;
65.与之对应的,如图6所示,步骤s110包括以下步骤s110-4和步骤s110-6;
66.步骤s110-4,获取第一数字身份信息所对应的公钥;
67.其中,获取第一数字身份信息所对应的公钥的过程,与前述获取第二数字身份信息所对应的公钥的过程相似,可参见前述相关描述,这里不再赘述。
68.步骤s110-6,采用获取的公钥对第一签名数据进行验证,若验证通过,则根据第一数字身份信息和第一标识信息,从第一区块链中查询关联的授权记录信息,并将查询到的授权记录信息中的第一可验证声明发送给第二用户。
69.由于第一数字身份信息所对应的私钥仅有第二用户持有,因此通过对第一签名数据进行验证,能够有效的避免他人冒充第二用户进行第一验证声明的访问操作。
70.为了确保第一可验证声明的访问记录可追溯,本说明书一个或多个实施例中,第一服务端将第一可验证声明的访问记录信息保存至第一区块链中。具体的,如图7所示,步骤s108之后,还包括:
71.步骤s109,记录第一访问请求的接收时间;
72.与之对应的,步骤s110之后还包括:
73.步骤s112,根据第一标识信息、第一数字身份信息和接收时间,生成第一可验证声明的访问记录信息,将访问记录信息保存至第一区块链中。
74.以上为第一用户与第二用户对应相同的第一服务端时,第二用户通过与第一服务端进行数据通信,实现了第一可验证声明的访问。进一步的,本说明书一个或多个实施例中,第一用户还可以与第二用户对应不同的第一服务端,例如,第一用户是第一联盟链的用户,第二用户时第二联盟链的用户,第一联盟链与第二联盟链不同;此时,第二用户没有与第一服务端进行数据通信的权限,并通过第二服务端进行第一可验证声明的访问。具体而言,如图8所示,步骤s106之后,还包括:
75.步骤s114,接收第二服务端发送的授权信息的获取请求;其中,获取请求包括第一数字身份信息和第一标识信息;
76.步骤s116,若根据第一数字身份信息和第一标识信息,从第一区块链中查询到关联的授权记录信息,则将授权记录信息中的授权信息发送给第二服务端;以使第二服务端将授权信息保存在第二区块链中,并在接收到第二用户发送的可验证声明的第三访问请求时,将第二区块链保存的授权信息中的第一可验证声明发送给第二用户。
77.具体而言,当第一服务端向第一用户发送授权成功信息之后,第一用户向第二服务端发送数据迁移请求;第二服务端根据数据迁移请求包括的第一数字身份信息和第一可验证声明的第一标识信息,向第一用户对应的第一服务端发送授权信息的获取请求,并在接收到第一服务端发送的授权信息时,将授权信息保存至第二区块链中,以在接收到第二用户发送的可验证声明的第三访问请求时,将第二区块链保存的授权信息中的第一可验证声明发送给第二用户。
78.由此,当第一用户与第二用户对应不同的第一服务端时,第二服务端基于第一用户的数据迁移请求,从第一用户对应的第一服务端获取授权信息并保存在第二区块链中;第二用户与第二服务端进行数据通信以实现对第一可验证声明的访问。
79.进一步的,如前所述,第二服务端提供可验证声明的颁发服务,相应的,步骤s102之前,还包括:
80.接收第二服务端发送的第一可验证声明,保存第一可验证声明;其中,第一可验证声明为第二服务端基于第一用户发送的可验证声明的申请请求所生成。
81.其中,保存第一可验证声明可以为保存至第一区块链中,还可以保存至本地数据库中。
82.进一步的,第一用户还可以访问其第一可验证声明,相应的,保存第一可验证声明之后,还可以包括:
83.接收第一用户发送的可验证声明的第二访问请求,其中,第二访问请求包括第一标识信息;获取保存的第一标识信息所对应第一可验证声明,将获取的第一可验证声明发送给第一用户。
84.可选地,为了使第一可验证声明的访问记录可追溯,在将获取的第一可验证声明发送给第一用户之后,还包括:根据第一标识信息、第一用户的第二数字身份信息、第二访问请求的接收时间等,生成访问记录信息,将访问记录信息保存至第一区块链中。
85.考虑到在实际应用中,当用户在某个时段不需要使用其可验证声明时,为了避免他人盗用其可验证声明,用户还有对可验证声明进行冻结、撤销等处理需求,以变更可验证声明的状态。基于此,本说明书一个或多个实施例中,第一服务端还可基于第一用户的处理请求,对第一可验证声明的状态进行相应的变更处理,具体的,如图9所示,方法还包括:
86.步骤s202,接收第一用户发送的可验证声明的处理请求;其中,处理请求用于请求对第一可验证声明进行撤销处理、冻结处理、解除冻结处理中的任意一个;处理请求包括第一可验证声明的第一标识信息;
87.其中,处理请求还包括处理类型信息;
88.步骤s204,若确定第一可验证声明符合预设的处理条件,则根据处理请求变更第一可验证声明的状态信息;
89.具体而言,根据不同的处理类型所要求的可验证声明所处状态的不同,本说明书一个或多个实施例中,预先设定处理类型信息与状态信息的关联关系,如表征撤销处理的处理类型信息1关联的状态信息为有效、临时性失效,表征冻结处理的处理类型信息2关联的状态信息为有效,表征解除冻结处理的处理类型信息3关联的状态信息为临时性失效。相应的,步骤s204包括:获取第一可验证声明当前所处状态的状态信息,若获取的状态信息与预设的处理类型信息所关联的状态信息相匹配,则确定第一可验证声明符合预设的处理条
件;或者,获取可验证声明当前所处状态的状态信息和第一用户在预设时长内对第一可验证声明的处理频次,若获取的状态信息与预设的处理类型信息所关联的状态信息相匹配、且处理频次小于预设频次,则确定第一可验证声明符合预设的处理条件。
90.其中,获取第一可验证声明当前所处状态的状态信息,包括:根据第一可验证声明的第一标识信息从第一区块链中查询关联的最后一条变更记录信息,从查询到的变更记录信息中获取第一可验证声明当前所处状态的状态信息;
91.进一步的,获取第一用户在预设时长内对第一可验证声明的处理频次,包括:根据第一声明标识和预设时长所对应的第一查询时间,从区块链中查询时间戳位于第一查询时间之内的、第一声明标识所关联的目标变更记录信息,统计目标状态变更记录信息的数量,将并统计数量确定为第一用户在预设时长内对于第一可验证声明的处理频次。其中,预设时长和预设频率均可以在实际应用中根据需要自行设定;作为示例,预设时长为30分钟,当前时间为2019年10月25日09时25分,则对应的第一查询时间为2019年10月25日08时55分-2019年10月25日09时25分。
92.进一步的,为了避免他人冒充第一用户对第一可验证声明进行冻结等处理,本说明书一个或多个实施例中,步骤s204还可以包括:发送身份验证请求给第一客户端,以使第一客户端采集第一用户的身份验证信息;若根据第一客户端发送的身份验证信息对第一用户的身份验证通过,则确定第一可验证声明符合预设的处理条件,根据处理请求变更第一可验证声明的状态信息。
93.其中,身份验证信息可以为生物特征信息,如人脸、指纹、虹膜等中的任意一个或多个;对应的,第一服务端将第一客户端发送的身份验证信息与指定数据库存储的用户的身份信息进行匹配,若匹配成功,则确定对第一用户的身份验证通过,若匹配失败,则确定对第一用户的身份验证失败,发送请求失败结果给第一客户端;其中,指定数据库可以为第一服务端的数据库,在第一用户注册第一客户端时,通过第一客户端采集第一用户的身份验证信息并保存至该数据库中,其具有合法性和有效性;指定数据库还可以为指定机构的数据库,其中,指定机构为可信的第三方机构,具有权威性和合法性,其数据库中存储有用户的身份信息,通过访问该数据库,以对用户的身份验证信息进行验证,指定机构例如为公安局。进一步的,当第一可验证声明所涉及内容的安全级别较低时,如证明第一用户具有某慈善活动的参与权限,身份验证信息还可以为验证码形式的验证信息,对应的,第一服务端将第一客户端返回的验证码与自身存储的验证码进行匹配,若匹配成功,则确定对第一用户的身份验证通过,若匹配失败,则确定对第一用户的身份验证失败,发送请求失败结果信息给第一客户端,以使第一客户端展示请求失败结果信息。
94.步骤s206,根据第一标识信息和变更后的状态信息,生成变更记录信息,将变更记录信息保存至第一区块链中。
95.具体的,将第一声明标识、变更后的状态信息、处理类型信息和处理时间等进行关联记录,并将记录的信息作为变更记录信息;将变更记录信息保存至第一区块链中。
96.进一步的,第一用户还可以查询历史的变更记录,相应的,如图10所示,步骤s206之后还可以包括:
97.步骤s208,接收第一用户发送的变更记录查询请求,其中,变更记录查询请求包括第一标识信息和第二查询时间;
98.其中,第二查询时间为待查询的时间段信息。
99.步骤s210,根据第一标识信息和第二查询时间,从第二区块链中查询对应的变更记录信息;
100.步骤s212,根据查询到的变更记录信息生成查询结果,将查询结果发送给第一用户。
101.由此,第一用户可根据需要向对应的第一服务端发送处理请求,以请求对第一可验证声明进行冻结处理、撤销处理、解除冻结处理等,不仅实现了可验证声明的有效管理,而且避免了他人盗用第一可验证声明的风险;通过将变更记录信息保存至第一区块链中,实现了变更记录的有效追溯和查询。
102.需要指出的是,当第一服务端不是第一区块链中的节点时,上述各步骤中当需要从第一区块链中获取数据以及将数据保存至第一区块链时,均可通过对应的第一区块链节点执行。
103.本说明书一个或多个实施例中,第一服务端在接收到第一客户端发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
104.对应上述图3至图10描述的基于可验证声明的授权处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供了另一种基于可验证声明的授权处理方法,图11为本说明书一个或多个实施例提供的另一种基于可验证声明的授权处理方法的流程示意图,图11中的方法能够由图1中的第二服务端执行;如图11所示,该方法包括以下步骤:
105.步骤s302,接收第一用户发送的密钥获取请求,其中,密钥获取请求包括第二用户的第一数字身份信息;
106.步骤s304,从第二区块链中获取第一数字身份信息所对应的公钥;
107.步骤s306,将获取的公钥发送给第一用户,以使第一用户基于接收到的公钥授予第二用户对第一用户的第一可验证声明的访问权限。
108.本说明书一个或多个实施例中,第二服务端在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
109.为了实现对第二用户授予对第一可验证声明的访问权限,第二用户预先从第二服务端申请第一数字身份信息以及与第一数字身份信息对应的公私钥对,且其中的公钥保存在第一数字身份信息所对应的第一文档中。相应的,如图12所示,本说明书一个或多个实施例中,步骤s304包括以下步骤s304-2;
110.步骤s304-2,根据第一数字身份信息,从第二区块链中查询关联的第一文档,从查询到的第一文档中获取公钥。
111.在第一用户授予第二用户访问权限成功之后,第二用户即可访问第一可验证声
明。具体的,当第一用户与第二用户对应相同的第一服务端时,第二用户首先从第二服务端获取第一服务端的访问地址,并根据访问地址与第一服务端进行数据通信以访问第一可验证声明。与之对应的,如图13所示,步骤s306之后,还包括:
112.步骤s308,接收第二用户发送的地址查询请求;其中,地址查询请求包括第二用户的第一数字身份信息;
113.步骤s310,根据第一数字身份信息从第二区块链中查询关联的第一文档,从第一文档中获取第一服务端的访问地址;
114.步骤s312,将获取的访问地址发送给第二用户,以使第二用户根据访问地址,向第一服务端发送可验证声明的第一访问请求,以请求访问第一可验证声明。
115.由此,在接收到第二用户发送的地址访问请求时,获取相应的访问地址并发送给第二用户,使得第二用户可根据访问地址向对应的第一服务端发送可验证声明的第一访问请求,以实现第一可验证声明的访问。
116.进一步的,当第一用户和第二用户对应不同的第一服务端时,即第二用户没有与第一用户所对应的第一服务端的通信权限时,可通过第二服务端实现对第一可验证声明的访问。具体的,如图14所示,步骤s306之后还包括以下步骤s314至步骤s318:
117.步骤s314,从第一用户对应的第一服务端获取访问权限的授权信息;其中,授权信息由第一用户发送给第一服务端,以使第一服务端根据授权信息,将授权记录信息保存至第一区块链中;授权信息基于第二用户的第一数字身份信息所对应的公钥和第一可验证声明所生成;
118.具体的,如图15所示,步骤s314可以包括:
119.步骤s314-2,若接收到第一用户发送的数据迁移请求,则根据数据迁移请求包括的第一数字身份信息和第一可验证声明的第一标识信息,向第一用户对应的第一服务端发送授权信息的获取请求;以使第一服务端根据第一数字身份信息和第一标识信息,从第一区块链中获取关联的授权记录信息,并返回授权记录信息中的授权信息;
120.步骤s314-4,接收第一服务端发送的授权信息。
121.具体而言,当第一用户接收到第一服务端发送的授权成功信息时,根据第一数字身份信息和第一标识信息,向第二服务端发送数据迁移请求,以使第二服务端向第一用户对应的第一服务端发送授权信息的获取请求,以将授权信息从第一区块链中迁移至第二区块链,并使第二用户向第二服务端发送第三访问请求以访问第一可验证声明。
122.步骤s316,将授权信息保存至第二区块链中;
123.步骤s318,接收到第二用户发送的可验证声明的第三访问请求时,将第二区块链保存的授权信息中的第一可验证声明发送给第二用户。
124.由此当第一用户与第二用户对应不同的第一服务端时,第二服务端基于第一用户的数据迁移请求,从第一服务端获取授权信息,从而授权信息从第一区块链中迁移至第二区块链,以使得第二用户可以与第二服务端进行数据通信,从而实现第一可验证声明的访问。
125.进一步的,为了确保第一可验证声明的隐私性,本说明书一个或多个实施例中,采用信封加密的方式对第一可验证声明进行加密处理,相应的,如图16所示,步骤s314可以包括以下步骤s314-6:
126.步骤s314-6,从第一用户对应的第一服务端获取访问权限的授权信息;其中,授权信息由第一用户发送给第一服务端,以使第一服务端根据授权信息,将授权记录信息保存至第一区块链中;授权信息包括:第一可验证声明的密文和第一密钥的密文;其中,第一可验证声明的密文是根据第一密钥对第一可验证声明进行加密处理而得;第一密钥的密文是根据第一数字身份所对应的公钥对第一密钥进行加密处理而得;
127.与之对应的,如图16所示,步骤s318包括以下步骤s318-2:
128.步骤s318-2,接收到第二用户发送的可验证声明的第三访问请求时,将第二区块链保存的授权信息中的第一可验证声明的密文和第一密钥的密文发送给第二用户,以使第二用户根据第一数字身份信息所对应的私钥对第一密钥的密文进行解密处理得到第一密钥,并根据第一密钥对第一可验证声明的密文进行解密处理得到第一可验证声明。
129.为了证明第二用户拥有对第一可验证声明的访问权限,本说明书一个或多个实施例中,第二服务端在获取到授权信息之后,还可以生成可验证声明,以证明第二用户有权限访问授权信息中的第一可验证声明。具体的,如图17所示,步骤s316可以包括以下步骤s316-2和步骤s316-4:
130.步骤s316-2,根据授权信息生成第二可验证声明,将第二可验证声明和第二可验证声明的第二标识信息关联保存至第二区块链中;
131.其中,第二可验证声明中还可以包括第二用户的第一数字身份信息等,以表征第二用户对授权信息的第一可验证声明具有访问权限。
132.步骤s316-4,向第二用户发送第二标识信息,以使第二用户根据第二标识信息发送第三访问请求;
133.与之对应的,如图17所示,步骤s318包括以下步骤s318-4和步骤s318-6:
134.步骤s318-4,接收到第二用户发送的可验证声明的第三访问请求时,根据第三访问请求中的第二标识信息,从第二区块链中获取关联保存的第二可验证声明;
135.步骤s318-6,从第二可验证声明中获取授权信息,若确定当前时间未超过授权信息中的截止时间,则将授权信息中的第一可验证声明发送给第二用户。
136.其中,截止时间为第一用户指定的授予第二用户的访问权限的有效截止时间,当到达该截止时间时,授予的访问权限失效。
137.由此,通过生成包括授权信息的第二可验证声明,并在接收到第二用户发送的第三访问请求时,将第二可验证声明包括的授权信息中的第一可验证声明发送给第二用户,实现了第二用户对第一可验证声明的访问。
138.进一步的,本说明书一个或多个实施例中,如图18所示,步骤s316还可以包括以下步骤s316-6至步骤s316-10:
139.步骤s316-6,根据第一数字身份信息,生成第三可验证声明;其中,第三可验证声明用于证明第二用户具有对授权信息中的第一可验证声明的访问权限;
140.其中,第三可验证声明还可以包括表征具有访问权限的字段等。
141.步骤s316-8,将授权信息、第三可验证声明和第三可验证声明的第三标识信息关联保存至第二区块链中;
142.步骤s316-10,向第二用户发送第三标识信息,以使第二用户根据第三标识信息发送第三访问请求;
143.与之对应的,如图18所示,步骤s318可以包括以下步骤s318-8和步骤s318-10:
144.步骤s318-8,接收到第二用户发送的可验证声明的第三访问请求时,根据第三访问请求中的第三标识信息,从第二区块链中获取关联保存的授权信息和第三可验证声明;
145.步骤s318-10,若确定第三访问请求中的第一数字身份信息与第三可验证声明中的第一数字身份信息匹配、且当前时间未超过授权信息中的截止时间,则将授权信息中的第一可验证声明发送给第二用户。
146.由此,通过生成第三可验证声明以证明第二用户具有第一可验证声明的访问权限,并在接收到第三访问请求时,将第三访问请求中的第一数字身份信息与第三可验证声明中的第一数字身份信息进行匹配,以对第二用户的身份进行验证,从而实现了第二用户对于第一可验证声明的访问。
147.进一步的,为了使访问记录可追溯,本说明书一个或多个实施例中,将授权信息中的第一可验证声明发送给第二用户之后,还包括:根据第二可验证声明或第三可验证声明的标识信息、第一数字身份信息、第三访问请求的接收时间等,生成第一可验证声明的访问记录信息;将访问记录信息保存至第二区块链中。
148.如前所述,第二服务端提供可验证声明的颁发服务,相应的,如图19所示,步骤s302之前还可以包括:
149.步骤s300-2,接收第一用户发送的可验证声明的申请请求;其中,申请请求包括申请信息和存储信息;
150.其中,存储信息用于表征第一可验证声明的存储位置;第一用户可根据需要将第一可验证声明保存至对应的第一服务端;还可以选择自行保管,以使第二服务端将生成的第一可验证声明发送给第二用户的第二客户端。
151.步骤s300-4,根据申请信息,生成第一可验证声明;
152.步骤s300-6,根据存储信息,将生成的第一可验证声明发送给对应的第一服务端,以使第一服务端保存第一可验证声明。
153.进一步的,步骤s300-4之后,还可以包括:根据第一可验证声明的第一标识信息、第一用户的第二数字身份信息等,生成可验证声明的颁发记录信息;将颁发记录信息保存至第二区块链中。
154.进一步的,在上述任一实施例的基础上,第二服务端还可以接收第一用户或第二用户发送的数字身份信息的申请请求,生成相应的数字身份信息,以及数字身份信息对应的文档和公私钥对,将数字身份信息和私钥发送给对应的用户,并将生成公钥保存至生成的文档中,将生成的文档与数字身份信息对应保存至第二区块链中。
155.需要指出的是,当第二服务端不是第二区块链中的节点时,上述各步骤中当需要从第二区块链中获取数据以及将数据保存至第二区块链时,均可通过对应的第二区块链节点执行。
156.本说明书一个或多个实施例中,第二服务端在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
157.对应上述图3至图10描述的基于可验证声明的授权处理方法,基于相同的技术构
思,本说明书一个或多个实施例还提供一种基于可验证声明的授权处理装置。图20为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理装置的模块组成示意图,该装置用于执行图3至图10描述的基于可验证声明的授权处理方法,如图20所示,该装置包括:
158.接收模块401,其接收第一用户发送的授权请求,其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限;所述授权请求包括授权信息,所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成;
159.生成模块402,其根据所述授权信息和所述第一可验证声明的第一标识信息,生成授权记录信息;
160.发送模块403,其将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息。
161.本说明书一个或多个实施例提供的基于可验证声明的授权处理装置,在接收到第一用户发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
162.可选地,所述第二用户与所述第一用户对应相同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;所述装置还包括:第一查询模块;
163.所述接收模块401,在所述发送模块403向所述第一用户发送授权成功信息之后,接收所述第二用户发送的可验证声明的第一访问请求;其中,所述第一访问请求包括所述第一数字身份信息和所述第一标识信息;
164.所述第一查询模块,根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息,将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户。
165.可选地,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
166.所述第一查询模块,将查询到的所述授权记录信息中的所述第一可验证声明的密文和第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
167.可选地,所述第一访问请求还包括:根据所述第一数字身份信息所对应的私钥对指定数据进行签名处理所得的第一签名数据;
168.所述第一查询模块,获取所述第一数字身份信息所对应的公钥;以及,
169.采用获取的所述公钥对所述第一签名数据进行验证,若验证通过,则根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信
息。
170.可选地,所述装置还包括:记录模块和第一生成模块;
171.所述记录模块,在所述接收模块401接收所述第二用户发送的可验证声明的第一访问请求之后,记录所述第一访问请求的接收时间;
172.所述第一生成模块,在所述第一查询模块将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户之后,根据所述第一标识信息、所述第一数字身份信息和所述接收时间,生成所述第一可验证声明的访问记录信息;以及,
173.将所述访问记录信息保存至所述第一区块链中。
174.可选地,所述第二用户与所述第一用户对应不同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;所述装置还包括:第二查询模块;
175.所述接收模块401,在所述第一生成模块将所述授权记录信息保存至第一区块链中之后,接收第二服务端发送的所述授权信息的获取请求;其中,所述获取请求包括所述第一数字身份信息和所述第一标识信息;
176.所述第二查询模块,若根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询到关联的所述授权记录信息,则将所述授权记录信息中的授权信息发送给所述第二服务端;以使所述第二服务端将所述授权信息保存在第二区块链中,并在接收到所述第二用户发送的可验证声明的第三访问请求时,将所述第二区块链保存的所述授权信息中的所述第一可验证声明发送给所述第二用户。
177.可选地,所述装置还包括:变更模块和第二生成模块;
178.所述接收模块401,还接收所述第一用户发送的可验证声明的处理请求;其中,所述处理请求用于请求对所述第一可验证声明进行撤销处理、冻结处理、解除冻结处理中的任意一个;所述处理请求包括所述第一标识信息;
179.所述变更模块,若确定所述第一可验证声明符合预设的处理条件,则根据所述处理请求变更所述第一可验证声明的状态信息;
180.所述第二生成模块,根据所述第一标识信息和变更后的所述状态信息,生成变更记录信息;将所述变更记录信息保存至第一区块链中。
181.可选地,所述处理请求还包括:处理类型信息;
182.所述变更模块,获取所述第一可验证声明当前所处状态的状态信息,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配,则确定所述第一可验证声明符合预设的处理条件;或者,
183.获取所述可验证声明当前所处状态的状态信息和所述第一用户在预设时长内对所述第一可验证声明的处理频次,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配、且所述处理频次小于预设频次,则确定所述第一可验证声明符合预设的处理条件。
184.可选地,所述装置还包括:保存模块;
185.所述接收模块401,接收第一用户发送的授权请求之前,还接收第二服务端发送的所述第一可验证声明;其中,所述第一可验证声明为所述第二服务端基于所述第一用户发送的可验证声明的申请请求所生成;
186.所述保存模块,保存所述第一可验证声明。
187.可选地,所述装置还包括:获取模块;
188.所述接收模块401,在所述保存模块保存所述第一可验证声明之后,接收所述第一用户发送的可验证声明的第二访问请求,其中,所述第二访问请求包括所述第一标识信息;
189.所述获取模块,获取保存的所述第一标识信息所对应所述第一可验证声明;
190.所述发送模块403,将获取的所述第一可验证声明发送给所述第一用户。
191.本说明书一个或多个实施例提供的基于可验证声明的授权处理装置,在接收到第一用户发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
192.需要说明的是,本说明书中关于基于可验证声明的授权处理装置的实施例与本说明书中关于基于可验证声明的授权处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于可验证声明的授权处理方法的实施,重复之处不再赘述。
193.进一步的,对应上述图11至图19描述的基于可验证声明的授权处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供另一种基于可验证声明的授权处理装置。图21为本说明书一个或多个实施例提供的另一种基于可验证声明的授权处理装置的模块组成示意图,该装置用于执行图11至图19描述的基于可验证声明的授权处理方法,如图21所示,该装置包括:
194.接收模块501,接收第一用户发送的密钥获取请求,其中,所述密钥获取请求包括第二用户的第一数字身份信息;
195.第一获取模块502,从第二区块链中获取所述第一数字身份信息所对应的公钥;
196.发送模块503,将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
197.本说明书一个或多个实施例提供的基于可验证声明的授权处理装置,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
198.可选地,所述第一获取模块502,根据所述第一数字身份信息,从所述第二区块链中查询关联的第一文档;以及,
199.从查询到的所述第一文档中获取公钥。
200.可选地,所述第一用户和所述第二用户对应相同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;所述装置还包括:第二获取模块;
201.所述接收模块501,在所述发送模块503将获取的所述公钥发送给所述第一用户之后,接收所述第二用户发送的地址查询请求;其中,所述地址查询请求包括所述第二用户的第一数字身份信息;
202.所述第二获取模块,根据所述第一数字身份信息从所述第二区块链中查询关联的第一文档;以及,
203.从所述第一文档中获取所述第一服务端的访问地址;
204.将获取的所述访问地址发送给所述第二用户,以使所述第二用户根据所述访问地址,向所述第一服务端发送可验证声明的第一访问请求,以请求访问所述第一可验证声明。
205.可选地,所述第一用户和所述第二用户对应不同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;所述装置还包括:第三获取模块和保存模块;
206.所述第三获取模块,在所述发送模块503将获取的所述公钥发送给所述第一用户之后,从所述第一用户对应的所述第一服务端获取所述访问权限的授权信息;其中,所述授权信息由所述第一用户发送给所述第一服务端,以使所述第一服务端根据所述授权信息,将授权记录信息保存至第一区块链中;所述授权信息基于所述公钥和所述第一可验证声明所生成;
207.所述保存模块,将所述授权信息保存至所述第二区块链中;
208.所述发送模块503,在所述接收模块501接收到所述第二用户发送的可验证声明的第三访问请求时,将所述授权信息中的所述第一可验证声明发送给所述第二用户。
209.可选地,所述第三获取模块,若接收到所述第一用户发送的数据迁移请求,则根据所述数据迁移请求包括的所述第一数字身份信息和所述第一可验证声明的第一标识信息,向所述第一用户对应的第一服务端发送所述授权信息的获取请求;以使所述第一服务端根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中获取关联的授权记录信息,并返回所述授权记录信息中的授权信息;以及,
210.接收所述第一服务端发送的所述授权信息。
211.可选地,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
212.所述发送模块503,将所述第一可验证声明的密文和所述第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
213.可选地,所述授权信息还包括:所述访问权限的截止时间;
214.所述保存模块,根据所述授权信息生成第二可验证声明;以及,
215.将所述第二可验证声明和所述第二可验证声明的第二标识信息关联保存至所述第二区块链中;
216.向所述第二用户发送所述第二标识信息,以使所述第二用户根据所述第二标识信息发送所述第三访问请求;
217.所述发送模块503,根据所述第三访问请求中的所述第二标识信息,从所述第二区块链中获取关联保存的所述第二可验证声明;以及,
218.从所述第二可验证声明中获取所述授权信息;
219.若确定当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
220.可选地,所述授权信息还包括:所述访问权限的截止时间;
221.所述保存模块,根据所述第一数字身份信息,生成第三可验证声明;其中,所述第三可验证声明用于证明所述第二用户具有对所述授权信息中的所述第一可验证声明的访问权限;以及,
222.将所述授权信息、所述第三可验证声明和所述第三可验证声明的第三标识信息关联保存至所述第二区块链中;
223.向所述第二用户发送所述第三标识信息,以使所述第二用户根据所述第三标识信息发送所述第三访问请求;
224.所述发送模块503,根据所述第三访问请求中的所述第三标识信息,从所述第二区块链中获取关联保存的所述授权信息和所述第三可验证声明;以及,
225.若确定所述第三访问请求中的第一数字身份信息与所述第三可验证声明中的第一数字身份信息匹配、且当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
226.可选地,所述装置还包括:生成模块;
227.所述接收模块501,在接收第一用户发送的密钥获取请求之前,接收所述第一用户发送的可验证声明的申请请求;其中,所述申请请求包括申请信息和存储信息;
228.所述生成模块,根据所述申请信息,生成所述第一可验证声明;以及,
229.根据所述存储信息,将生成的所述第一可验证声明发送给对应的第一服务端,以使所述第一服务端保存所述第一可验证声明。
230.本说明书一个或多个实施例提供的基于可验证声明的授权处理装置,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
231.需要说明的是,本说明书中关于基于可验证声明的授权处理装置的实施例与本说明书中关于基于可验证声明的授权处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于可验证声明的授权处理方法的实施,重复之处不再赘述。
232.进一步的,对应上述描述的基于可验证声明的授权处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种基于可验证声明的授权处理系统。图22为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理系统的组成示意图,如图22所示,该系统包括:第一用户的第一客户端601、所述第一客户端601对应的第一服务端602、第二服务端603;
233.所述第一客户端601,响应于所述第一用户授予第二用户对所述第一用户的第一可验证声明的访问权限的授权操作,根据所述第二用户的第一数字身份信息,向所述第二服务端603发送密钥获取请求;接收所述第二服务端603发送的所述第一数字身份信息所对应的公钥;根据所述公钥和所述第一可验证声明生成授权信息,根据所述授权信息向所述第一服务端602发送授权请求;
234.所述第一服务端602,接收所述授权请求,根据所述授权信息和所述第一可验证声
明的第一标识信息,生成授权记录信息;将所述授权记录信息保存至第一区块链中,向所述第一客户端601发送授权成功信息;
235.所述第二服务端603,接收所述密钥获取请求,从第二区块链中获取所述第一数字身份信息所对应的公钥;将获取的所述公钥发送给所述第一客户端601。
236.可选地,所述第一客户端601,根据指定的第一密钥对所述第一可验证声明进行加密处理,得到所述第一可验证声明的密文;根据所述公钥对所述第一密钥进行加密处理,得到所述第一密钥的密文;根据所述第一可验证声明的密文和所述第一密钥的密文,生成所述授权信息。
237.可选地,如图23所示,该系统还包括:第二用户的第二客户端604;
238.第二客户端604,在所述第一用户与所述第二用户对应相同的第一服务端时,响应于所述第二用户的可验证声明的访问操作,向所述第二服务端603发送地址查询请求,接收所述第二服务端603发送的所述第一服务端602的访问地址,根据所述访问地址,向所述第一服务端602发送可验证声明的第一访问请求;以及,
239.在所述第二用户与所述第一用户对应不同的第一服务端时,响应于所述第二用户的可验证声明的访问操作,向所述第二服务端603发送可验证声明的第三访问请求。
240.本说明书一个或多个实施例提供的基于可验证声明的授权处理系统,第一客户端通过从第二服务端获取第二用户的第一数字身份信息所对应的公钥,并基于获取的公钥和第一可验证声明生产授权信息,从而根据该授权信息向第一服务端发送授权请求,以使第一服务端将授权记录信息保存至第一区块链中;不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
241.需要说明的是,本说明书中关于基于可验证声明的授权处理系统的实施例与本说明书中关于基于可验证声明的授权处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于可验证声明的授权处理方法的实施,重复之处不再赘述。
242.进一步地,对应上述描述的基于可验证声明的授权处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种基于可验证声明的授权处理设备,该设备用于执行上述的基于可验证声明的授权处理方法,图24为本说明书一个或多个实施例提供的一种基于可验证声明的授权处理设备的结构示意图。
243.如图24所示,基于可验证声明的授权处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括基于可验证声明的授权处理设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在基于可验证声明的授权处理设备上执行存储器702中的一系列计算机可执行指令。基于可验证声明的授权处理设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
244.在一个具体的实施例中,基于可验证声明的授权处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于可验证声明的授权处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
245.接收第一用户发送的授权请求,其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限;所述授权请求包括授权信息,所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成;
246.根据所述授权信息和所述第一可验证声明的第一标识信息,生成授权记录信息;
247.将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息。
248.本说明书一个或多个实施例提供的基于可验证声明的授权处理设备,在接收到第一用户发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
249.可选地,计算机可执行指令在被执行时,所述第二用户与所述第一用户对应相同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;
250.所述向所述第一用户发送授权成功信息之后,还包括:
251.接收所述第二用户发送的可验证声明的第一访问请求;其中,所述第一访问请求包括所述第一数字身份信息和所述第一标识信息;
252.根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息,将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户。
253.可选地,计算机可执行指令在被执行时,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
254.所述将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户,包括:
255.将查询到的所述授权记录信息中的所述第一可验证声明的密文和第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
256.可选地,计算机可执行指令在被执行时,所述第一访问请求还包括:根据所述第一数字身份信息所对应的私钥对指定数据进行签名处理所得的第一签名数据;
257.所述根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息,包括:
258.获取所述第一数字身份信息所对应的公钥;
259.采用获取的所述公钥对所述第一签名数据进行验证,若验证通过,则根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息。
260.可选地,计算机可执行指令在被执行时,所述接收所述第二用户发送的可验证声明的第一访问请求之后,还包括:
261.记录所述第一访问请求的接收时间;
262.所述将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户之后,还包括:
263.根据所述第一标识信息、所述第一数字身份信息和所述接收时间,生成所述第一可验证声明的访问记录信息;
264.将所述访问记录信息保存至所述第一区块链中。
265.可选地,计算机可执行指令在被执行时,所述第二用户与所述第一用户对应不同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;
266.所述将所述授权记录信息保存至第一区块链中之后,还包括:
267.接收第二服务端发送的所述授权信息的获取请求;其中,所述获取请求包括所述第一数字身份信息和所述第一标识信息;
268.若根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询到关联的所述授权记录信息,则将所述授权记录信息中的授权信息发送给所述第二服务端;以使所述第二服务端将所述授权信息保存在第二区块链中,并在接收到所述第二用户发送的可验证声明的第三访问请求时,将所述第二区块链保存的所述授权信息中的所述第一可验证声明发送给所述第二用户。
269.可选地,计算机可执行指令在被执行时,所述方法还包括:
270.接收所述第一用户发送的可验证声明的处理请求;其中,所述处理请求用于请求对所述第一可验证声明进行撤销处理、冻结处理、解除冻结处理中的任意一个;所述处理请求包括所述第一标识信息;
271.若确定所述第一可验证声明符合预设的处理条件,则根据所述处理请求变更所述第一可验证声明的状态信息;
272.根据所述第一标识信息和变更后的所述状态信息,生成变更记录信息;
273.将所述变更记录信息保存至第一区块链中。
274.可选地,计算机可执行指令在被执行时,所述处理请求还包括:处理类型信息;
275.所述确定所述第一可验证声明符合预设的处理条件,包括:
276.获取所述第一可验证声明当前所处状态的状态信息,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配,则确定所述第一可验证声明符合预设的处理条件;或者,
277.获取所述可验证声明当前所处状态的状态信息和所述第一用户在预设时长内对所述第一可验证声明的处理频次,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配、且所述处理频次小于预设频次,则确定所述第一可验证声明符合预设的处理条件。
278.可选地,计算机可执行指令在被执行时,所述接收第一用户发送的授权请求之前,还包括:
279.接收第二服务端发送的所述第一可验证声明;其中,所述第一可验证声明为所述第二服务端基于所述第一用户发送的可验证声明的申请请求所生成;
280.保存所述第一可验证声明。
281.可选地,计算机可执行指令在被执行时,所述保存所述第一可验证声明之后,还包括:
282.接收所述第一用户发送的可验证声明的第二访问请求,其中,所述第二访问请求包括所述第一标识信息;
283.获取保存的所述第一标识信息所对应所述第一可验证声明;
284.将获取的所述第一可验证声明发送给所述第一用户。
285.本说明书一个或多个实施例提供的基于可验证声明的授权处理设备,在接收到第一客户端发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
286.在另一个具体的实施例中,基于可验证声明的授权处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于可验证声明的授权处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
287.接收第一用户发送的密钥获取请求,其中,所述密钥获取请求包括第二用户的第一数字身份信息;
288.从第二区块链中获取所述第一数字身份信息所对应的公钥;
289.将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
290.本说明书一个或多个实施例提供的基于可验证声明的授权处理设备,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
291.可选地,计算机可执行指令在被执行时,所述从第二区块链中获取所述第一数字身份信息所对应的公钥,包括:
292.根据所述第一数字身份信息,从所述第二区块链中查询关联的第一文档;
293.从查询到的所述第一文档中获取公钥。
294.可选地,计算机可执行指令在被执行时,所述第一用户和所述第二用户对应相同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;
295.所述将获取的所述公钥发送给所述第一用户之后,还包括:
296.接收所述第二用户发送的地址查询请求;其中,所述地址查询请求包括所述第二用户的第一数字身份信息;
297.根据所述第一数字身份信息从所述第二区块链中查询关联的第一文档;
298.从所述第一文档中获取所述第一服务端的访问地址;
299.将获取的所述访问地址发送给所述第二用户,以使所述第二用户根据所述访问地址,向所述第一服务端发送可验证声明的第一访问请求,以请求访问所述第一可验证声明。
300.可选地,计算机可执行指令在被执行时,所述第一用户和所述第二用户对应不同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;
301.所述将获取的所述公钥发送给所述第一用户之后,还包括:
302.从所述第一用户对应的所述第一服务端获取所述访问权限的授权信息;其中,所述授权信息由所述第一用户发送给所述第一服务端,以使所述第一服务端根据所述授权信息,将授权记录信息保存至第一区块链中;所述授权信息基于所述公钥和所述第一可验证声明所生成;
303.将所述授权信息保存至所述第二区块链中;以及,
304.接收到所述第二用户发送的可验证声明的第三访问请求时,将所述授权信息中的所述第一可验证声明发送给所述第二用户。
305.可选地,计算机可执行指令在被执行时,所述从所述第一用户对应的所述第一服务端获取所述访问权限的授权信息,包括:
306.若接收到所述第一用户发送的数据迁移请求,则根据所述数据迁移请求包括的所述第一数字身份信息和所述第一可验证声明的第一标识信息,向所述第一用户对应的第一服务端发送所述授权信息的获取请求;以使所述第一服务端根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中获取关联的授权记录信息,并返回所述授权记录信息中的授权信息;
307.接收所述第一服务端发送的所述授权信息。
308.可选地,计算机可执行指令在被执行时,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
309.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
310.将所述第一可验证声明的密文和所述第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
311.可选地,计算机可执行指令在被执行时,所述授权信息还包括:所述访问权限的截止时间;
312.所述将所述授权信息保存至所述第二区块链中,包括:
313.根据所述授权信息生成第二可验证声明;
314.将所述第二可验证声明和所述第二可验证声明的第二标识信息关联保存至所述
第二区块链中;
315.向所述第二用户发送所述第二标识信息,以使所述第二用户根据所述第二标识信息发送所述第三访问请求;
316.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
317.根据所述第三访问请求中的所述第二标识信息,从所述第二区块链中获取关联保存的所述第二可验证声明;
318.从所述第二可验证声明中获取所述授权信息;
319.若确定当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
320.可选地,计算机可执行指令在被执行时,所述授权信息还包括:所述访问权限的截止时间;
321.所述将所述授权信息保存至所述第二区块链中,包括:
322.根据所述第一数字身份信息,生成第三可验证声明;其中,所述第三可验证声明用于证明所述第二用户具有对所述授权信息中的所述第一可验证声明的访问权限;
323.将所述授权信息、所述第三可验证声明和所述第三可验证声明的第三标识信息关联保存至所述第二区块链中;
324.向所述第二用户发送所述第三标识信息,以使所述第二用户根据所述第三标识信息发送所述第三访问请求;
325.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
326.根据所述第三访问请求中的所述第三标识信息,从所述第二区块链中获取关联保存的所述授权信息和所述第三可验证声明;
327.若确定所述第三访问请求中的第一数字身份信息与所述第三可验证声明中的第一数字身份信息匹配、且当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
328.可选地,计算机可执行指令在被执行时,所述接收第一用户发送的密钥获取请求之前,还包括:
329.接收所述第一用户发送的可验证声明的申请请求;其中,所述申请请求包括申请信息和存储信息;
330.根据所述申请信息,生成所述第一可验证声明;
331.根据所述存储信息,将生成的所述第一可验证声明发送给对应的第一服务端,以使所述第一服务端保存所述第一可验证声明。
332.本说明书一个或多个实施例提供的基于可验证声明的授权处理设备,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
333.需要说明的是,本说明书中关于基于可验证声明的授权处理设备的实施例与本说明书中关于基于可验证声明的授权处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于可验证声明的授权处理方法的实施,重复之处不再赘
述。
334.进一步地,对应上述描述的基于可验证声明的授权处理方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一个具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
335.接收第一用户发送的授权请求,其中,所述授权请求用于请求为第二用户授予对所述第一用户的第一可验证声明的访问权限;所述授权请求包括授权信息,所述授权信息基于所述第一可验证声明和所述第二用户的第一数字身份信息所对应的公钥所生成;
336.根据所述授权信息和所述第一可验证声明的第一标识信息,生成授权记录信息;
337.将所述授权记录信息保存至第一区块链中,向所述第一用户发送授权成功信息。
338.本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一客户端发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
339.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,述第二用户与所述第一用户对应相同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;
340.所述向所述第一用户发送授权成功信息之后,还包括:
341.接收所述第二用户发送的可验证声明的第一访问请求;其中,所述第一访问请求包括所述第一数字身份信息和所述第一标识信息;
342.根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息,将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户。
343.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
344.所述将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户,包括:
345.将查询到的所述授权记录信息中的所述第一可验证声明的密文和第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
346.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述第一访问请求还包括:根据所述第一数字身份信息所对应的私钥对指定数据进行签名处理所得的第一签名数据;
347.所述根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询
关联的所述授权记录信息,包括:
348.获取所述第一数字身份信息所对应的公钥;
349.采用获取的所述公钥对所述第一签名数据进行验证,若验证通过,则根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询关联的所述授权记录信息。
350.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收所述第二用户发送的可验证声明的第一访问请求之后,还包括:
351.记录所述第一访问请求的接收时间;
352.所述将查询到的所述授权记录信息中的所述第一可验证声明发送给所述第二用户之后,还包括:
353.根据所述第一标识信息、所述第一数字身份信息和所述接收时间,生成所述第一可验证声明的访问记录信息;
354.将所述访问记录信息保存至所述第一区块链中。
355.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述第二用户与所述第一用户对应不同的第一服务端;所述授权记录信息还包括:所述第一数字身份信息;
356.所述将所述授权记录信息保存至第一区块链中之后,还包括:
357.接收第二服务端发送的所述授权信息的获取请求;其中,所述获取请求包括所述第一数字身份信息和所述第一标识信息;
358.若根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中查询到关联的所述授权记录信息,则将所述授权记录信息中的授权信息发送给所述第二服务端;以使所述第二服务端将所述授权信息保存在第二区块链中,并在接收到所述第二用户发送的可验证声明的第三访问请求时,将所述第二区块链保存的所述授权信息中的所述第一可验证声明发送给所述第二用户。
359.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述方法还包括:
360.接收所述第一用户发送的可验证声明的处理请求;其中,所述处理请求用于请求对所述第一可验证声明进行撤销处理、冻结处理、解除冻结处理中的任意一个;所述处理请求包括所述第一标识信息;
361.若确定所述第一可验证声明符合预设的处理条件,则根据所述处理请求变更所述第一可验证声明的状态信息;
362.根据所述第一标识信息和变更后的所述状态信息,生成变更记录信息;
363.将所述变更记录信息保存至第一区块链中。
364.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述处理请求还包括:处理类型信息;
365.所述确定所述第一可验证声明符合预设的处理条件,包括:
366.获取所述第一可验证声明当前所处状态的状态信息,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配,则确定所述第一可验证声明符合预设的处理条件;或者,
367.获取所述可验证声明当前所处状态的状态信息和所述第一用户在预设时长内对所述第一可验证声明的处理频次,若获取的所述状态信息与预设的所述处理类型信息所关联的状态信息相匹配、且所述处理频次小于预设频次,则确定所述第一可验证声明符合预设的处理条件。
368.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收第一用户发送的授权请求之前,还包括:
369.接收第二服务端发送的所述第一可验证声明;其中,所述第一可验证声明为所述第二服务端基于所述第一用户发送的可验证声明的申请请求所生成;
370.保存所述第一可验证声明。
371.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述保存所述第一可验证声明之后,还包括:
372.接收所述第一用户发送的可验证声明的第二访问请求,其中,所述第二访问请求包括所述第一标识信息;
373.获取保存的所述第一标识信息所对应所述第一可验证声明;
374.将获取的所述第一可验证声明发送给所述第一用户。
375.本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一用户发送的授权请求时,根据授权请求中的授权信息生成授权记录信息,并将授权记录信息保存至第一区块链中;其中,授权信息基于第一可验证声明以及预先从第二服务端获取的第二用户的第一数字身份信息所对应的公钥所生成。由此,不仅实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求;而且通过将授权记录信息保存至区块链中,即确保了授权的有效性,又使得授权记录可追溯、授予的访问权限能够得以有效验证。
376.另一个具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
377.接收第一用户发送的密钥获取请求,其中,所述密钥获取请求包括第二用户的第一数字身份信息;
378.从第二区块链中获取所述第一数字身份信息所对应的公钥;
379.将获取的所述公钥发送给所述第一用户,以使所述第一用户基于所述公钥授予所述第二用户对所述第一用户的第一可验证声明的访问权限。
380.本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
381.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第二区块链中获取所述第一数字身份信息所对应的公钥,包括:
382.根据所述第一数字身份信息,从所述第二区块链中查询关联的第一文档;
383.从查询到的所述第一文档中获取公钥。
384.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述第一用户
和所述第二用户对应相同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;
385.所述将获取的所述公钥发送给所述第一用户之后,还包括:
386.接收所述第二用户发送的地址查询请求;其中,所述地址查询请求包括所述第二用户的第一数字身份信息;
387.根据所述第一数字身份信息从所述第二区块链中查询关联的第一文档;
388.从所述第一文档中获取所述第一服务端的访问地址;
389.将获取的所述访问地址发送给所述第二用户,以使所述第二用户根据所述访问地址,向所述第一服务端发送可验证声明的第一访问请求,以请求访问所述第一可验证声明。
390.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述第一用户和所述第二用户对应不同的第一服务端;其中,所述第一服务端用于存储并管理可验证声明;
391.所述将获取的所述公钥发送给所述第一用户之后,还包括:
392.从所述第一用户对应的所述第一服务端获取所述访问权限的授权信息;其中,所述授权信息由所述第一用户发送给所述第一服务端,以使所述第一服务端根据所述授权信息,将授权记录信息保存至第一区块链中;所述授权信息基于所述公钥和所述第一可验证声明所生成;
393.将所述授权信息保存至所述第二区块链中;以及,
394.接收到所述第二用户发送的可验证声明的第三访问请求时,将所述授权信息中的所述第一可验证声明发送给所述第二用户。
395.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从所述第一用户对应的所述第一服务端获取所述访问权限的授权信息,包括:
396.若接收到所述第一用户发送的数据迁移请求,则根据所述数据迁移请求包括的所述第一数字身份信息和所述第一可验证声明的第一标识信息,向所述第一用户对应的第一服务端发送所述授权信息的获取请求;以使所述第一服务端根据所述第一数字身份信息和所述第一标识信息,从所述第一区块链中获取关联的授权记录信息,并返回所述授权记录信息中的授权信息;
397.接收所述第一服务端发送的所述授权信息。
398.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述授权信息包括:所述第一可验证声明的密文和第一密钥的密文;其中,所述第一可验证声明的密文是根据所述第一密钥对所述第一可验证声明进行加密处理而得;所述第一密钥的密文是根据所述公钥对所述第一密钥进行加密处理而得;
399.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
400.将所述第一可验证声明的密文和所述第一密钥的密文发送给所述第二用户,以使所述第二用户根据所述第一数字身份信息所对应的私钥对所述第一密钥的密文进行解密处理得到所述第一密钥,并根据所述第一密钥对所述第一可验证声明的密文进行解密处理得到所述第一可验证声明。
401.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述授权信息还包括:所述访问权限的截止时间;
402.所述将所述授权信息保存至所述第二区块链中,包括:
403.根据所述授权信息生成第二可验证声明;
404.将所述第二可验证声明和所述第二可验证声明的第二标识信息关联保存至所述第二区块链中;
405.向所述第二用户发送所述第二标识信息,以使所述第二用户根据所述第二标识信息发送所述第三访问请求;
406.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
407.根据所述第三访问请求中的所述第二标识信息,从所述第二区块链中获取关联保存的所述第二可验证声明;
408.从所述第二可验证声明中获取所述授权信息;
409.若确定当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
410.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述授权信息还包括:所述访问权限的截止时间;
411.所述将所述授权信息保存至所述第二区块链中,包括:
412.根据所述第一数字身份信息,生成第三可验证声明;其中,所述第三可验证声明用于证明所述第二用户具有对所述授权信息中的所述第一可验证声明的访问权限;
413.将所述授权信息、所述第三可验证声明和所述第三可验证声明的第三标识信息关联保存至所述第二区块链中;
414.向所述第二用户发送所述第三标识信息,以使所述第二用户根据所述第三标识信息发送所述第三访问请求;
415.所述将所述授权信息中的所述第一可验证声明发送给所述第二用户,包括:
416.根据所述第三访问请求中的所述第三标识信息,从所述第二区块链中获取关联保存的所述授权信息和所述第三可验证声明;
417.若确定所述第三访问请求中的第一数字身份信息与所述第三可验证声明中的第一数字身份信息匹配、且当前时间未超过所述授权信息中的所述截止时间,则将所述授权信息中的第一可验证声明发送给所述第二用户。
418.可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收第一用户发送的密钥获取请求之前,还包括:
419.接收所述第一用户发送的可验证声明的申请请求;其中,所述申请请求包括申请信息和存储信息;
420.根据所述申请信息,生成所述第一可验证声明;
421.根据所述存储信息,将生成的所述第一可验证声明发送给对应的第一服务端,以使所述第一服务端保存所述第一可验证声明。
422.本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一用户发送的密钥获取请求时,从第二区块链中获取相应的公钥并发送给第一用户,使得第一用户可基于该公钥授予第二用户对第一用户的第一可验证声明的访问权限。由此,实现了可验证声明的访问授权,满足了用户在不同业务场景中对其他用户授予对可验证声明的访问权限的授权需求。
423.需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于基于可验证声明的授权处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于可验证声明的授权处理方法的实施,重复之处不再赘述。
424.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
425.在20世纪30年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
426.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
427.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,
或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
428.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
429.本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
430.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
431.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
432.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
433.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
434.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
435.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
436.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
437.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
438.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
439.以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献