基于区块链的身份认证方法及装置、电子设备

阅读: 评论:0

著录项
  • CN202011582269.7
  • 20201228
  • CN112307455A
  • 20210202
  • 支付宝(杭州)信息技术有限公司
  • 黄琪
  • G06F21/33
  • G06F21/33 G06F21/64

  • 浙江省杭州市西湖区西溪路556号8层B段801-11
  • 浙江(33)
  • 北京博思佳知识产权代理有限公司
  • 周嗣勇
摘要
本申请公开一种基于区块链的身份认证方法及装置、电子设备。在本申请中,基于具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络通过用户客户端为用户发放去中心化的数字身份凭证,使得身份验证方可以依据用户提供的去中心化的数字身份凭证进行身份认证,避免了纸质证明材料的及难于管理的难题,同时避免了中心化的用户身份认证系统被攻击或内部作恶的风险。
权利要求

1.一种基于区块链的身份认证方法;其中,所述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;所述区块链中部署了用于生成数字身份凭证的智能合约,所述方法包括:

接收用户客户端发起的申请数据;其中,所述申请数据包括用于申请去中心化的数字身份凭证的申请信息;所述申请信息包括所述用户在所述区块链中的去中心化的身份标识;其中,所述用户客户端对应的终端设备搭载了安全运算环境;所述安全运算环境包括用于为用户创建公私钥对的可信应用;

响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,并将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,以使用户客户端在获取到所述智能合约生成的所述去中心化的数字身份凭证后,将所述去中心化的数字身份凭证发送给身份验证方,由所述身份验证方进一步调用所述智能合约中的验证逻辑对所述去中心化的数字身份凭证进行验证。

2.根据权利要求1所述的方法,在接收用户客户端发起的去中心化的数字身份凭证的申请数据之前,还包括:

接收用户客户端发起的注册数据;其中,所述注册数据包括用于注册去中心化的身份标识的注册信息;所述注册信息包括所述用户的用户身份信息;

响应于所述注册数据,调用所述智能合约中的注册逻辑,在所述区块链上为所述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证。

3.根据权利要求2所述的方法,所述注册信息还包括所述用户的公钥;所述用户的公钥为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的公钥;

所述将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证,包括:

将生成的去中心化的身份标识与所述用户身份信息和所述用户的公钥进行绑定后在所述区块链中进行存证。

4.根据权利要求3所述的方法,所述申请数据包括的所述申请信息,基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;所述用户的私钥,为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的私钥;

所述响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,包括:响应于所述申请数据,调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述申请信息的数字签名进行验证,并在所述数字签名验证通过时,进一步调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证。

5.根据权利要求4所述的方法,还包括:

接收所述身份验证方发起的验证数据;其中,所述验证数据包括用户客户端发送给所述身份验证方的业务请求中携带的去中心化的数字身份凭证;

响应于所述验证数据,调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,并将验证结果在所述区块链进行存证,以使所述身份验证方在获取到所述验证结果后,基于所述验证结果进一步执行与所述业务请求对应的业务处理。

6.根据权利要求5所述的方法,所述申请信息还包括由用户为所述去中心化的数字身份凭证设置的有效参数;其中,所述有效参数指示所述去中心化的数字身份凭证的有效期限;

所述将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,包括:

将生成的与所述用户对应的去中心化的数字身份凭证和所述有效参数在所述区块链中进行存证。

7.根据权利要求6所述的方法,所述有效参数包括所述去中心化的数字身份凭证的有效时段;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,包括:调用所述智能合约中的验证逻辑,验证当前时段是否处于所述去中心化的数字身份凭证的有效时段;

所述方法还包括:

如果当前时段未处于所述去中心化的数字身份凭证的有效时段,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

9.根据权利要求7或8所述的方法,所述去中心化的数字身份凭证基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;

在调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证之前,还包括:

调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证。

8.根据权利要求6所述的方法,所述有效参数包括所述去中心化的数字身份凭证的最大验证次数;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,包括:

调用所述智能合约中的验证逻辑,验证所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,是否达到所述最大验证次数;

所述方法还包括:

如果所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,达到所述最大验证次数,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

10.根据权利要求1所述的方法,所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述方法还包括:

接收所述用户客户端发起的撤销数据;其中,所述撤销数据包括待撤销的去中心化的数字身份凭证;

响应于所述撤销数据,调用所述智能合约中的撤销逻辑,将区块链网络中存证的所述去中心化的数字身份凭证的状态,更新为无效状态。

11.根据权利要求1所述的方法,所述若干服务方设备分别对应不同的业务。

12.根据权利要求11所述的方法,所述若干服务设备包括以下示出的多个的组合:

与学校方对应的服务方设备;

与银行方对应的服务方设备;

与公安方对应的服务方设备。

13.根据权利要求1所述的方法,所述区块链为联盟链。

14.一种基于区块链的身份认证装置;其中,所述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;所述区块链中部署了用于生成数字身份凭证的智能合约,所述装置包括:

申请模块,接收用户客户端发起的申请数据;其中,所述申请数据包括用于申请去中心化的数字身份凭证的申请信息;所述申请信息包括所述用户在所述区块链中的去中心化的身份标识;其中,所述用户客户端对应的终端设备搭载了安全运算环境;所述安全运算环境包括用于为用户创建公私钥对的可信应用;

认证模块,响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,并将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,以使用户客户端在获取到所述智能合约生成的所述去中心化的数字身份凭证后,将所述去中心化的数字身份凭证发送给身份验证方,由所述身份验证方进一步调用所述智能合约中的验证逻辑对所述去中心化的数字身份凭证进行验证。

15.根据权利要求14所述的装置,在接收用户客户端发起的去中心化的数字身份凭证的申请数据之前,所述装置还包括:

注册模块,接收用户客户端发起的注册数据;其中,所述注册数据包括用于注册去中心化的身份标识的注册信息;所述注册信息包括所述用户的用户身份信息;

响应于所述注册数据,调用所述智能合约中的注册逻辑,在所述区块链上为所述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证。

16.根据权利要求15所述的装置,所述注册信息还包括所述用户的公钥;所述用户的公钥为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的公钥;

所述注册模块进一步:

将生成的去中心化的身份标识与所述用户身份信息和所述用户的公钥进行绑定后在所述区块链中进行存证。

17.根据权利要求16所述的装置,所述申请数据包括的所述申请信息,基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;所述用户的私钥,为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的私钥;

所述认证模块进一步:响应于所述申请数据,调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述申请信息的数字签名进行验证,并在所述数字签名验证通过时,进一步调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证。

18.根据权利要求17所述的装置,还包括:

所述认证模块进一步,接收所述身份验证方发起的验证数据;其中,所述验证数据包括用户客户端发送给所述身份验证方的业务请求中携带的去中心化的数字身份凭证;

响应于所述验证数据,调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,并将验证结果在所述区块链进行存证,以使所述身份验证方在获取到所述验证结果后,基于所述验证结果进一步执行与所述业务请求对应的业务处理。

19.根据权利要求18所述的装置,所述申请信息还包括由用户为所述去中心化的数字身份凭证设置的有效参数;其中,所述有效参数指示所述去中心化的数字身份凭证的有效期限;

所述认证模块进一步:

将生成的与所述用户对应的去中心化的数字身份凭证和所述有效参数在所述区块链中进行存证。

20.根据权利要求19所述的装置,所述有效参数包括所述去中心化的数字身份凭证的有效时段;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块进一步:

调用所述智能合约中的验证逻辑,验证当前时段是否处于所述去中心化的数字身份凭证的有效时段;

如果当前时段未处于所述去中心化的数字身份凭证的有效时段,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

22.根据权利要求20或21所述的装置,所述去中心化的数字身份凭证基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;

在调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证之前,所述认证模块进一步:

调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证。

21.根据权利要求19所述的装置,所述有效参数包括所述去中心化的数字身份凭证的最大验证次数;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块进一步:

调用所述智能合约中的验证逻辑,验证所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,是否达到所述最大验证次数;

如果所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,达到所述最大验证次数,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

23.根据权利要求14所述的装置,所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述装置还包括:

撤销模块,接收所述用户客户端发起的撤销数据;其中,所述撤销数据包括待撤销的去中心化的数字身份凭证;

响应于所述撤销数据,调用所述智能合约中的撤销逻辑,将区块链网络中存证的所述去中心化的数字身份凭证的状态,更新为无效状态。

24.根据权利要求14所述的装置,所述若干服务方设备分别对应不同的业务。

25.根据权利要求24所述的装置,所述若干服务设备包括以下示出的多个的组合:

与学校方对应的服务方设备;

与银行方对应的服务方设备;

与公安方对应的服务方设备。

26.根据权利要求14所述的装置,所述区块链为联盟链。

27.一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如权利要求1-13中任一项所述的方法。

说明书
技术领域

本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的身份认证方法及装置、电子设备。

区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。

本说明书提出一种基于区块链的身份认证方法;其中,所述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;所述区块链中部署了用于生成数字身份凭证的智能合约,所述方法包括:

接收用户客户端发起的申请数据;其中,所述申请数据包括用于申请去中心化的数字身份凭证的申请信息;所述申请信息包括所述用户在所述区块链中的去中心化的身份标识;其中,所述用户客户端对应的终端设备搭载了安全运算环境;所述安全运算环境包括用于为用户创建公私钥对的可信应用;

响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,并将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,以使用户客户端在获取到所述智能合约生成的所述去中心化的数字身份凭证后,将所述去中心化的数字身份凭证发送给身份验证方,由所述身份验证方进一步调用所述智能合约中的验证逻辑对所述去中心化的数字身份凭证进行验证。

可选的,在接收用户客户端发起的去中心化的数字身份凭证的申请数据之前,还包括:

接收用户客户端发起的注册数据;其中,所述注册数据包括用于注册去中心化的身份标识的注册信息;所述注册信息包括所述用户的用户身份信息;

响应于所述注册数据,调用所述智能合约中的注册逻辑,在所述区块链上为所述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证。

可选的,所述注册信息还包括所述用户的公钥;所述用户的公钥为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的公钥;

所述将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证,包括:

将生成的去中心化的身份标识与所述用户身份信息和所述用户的公钥进行绑定后在所述区块链中进行存证。

可选的,所述申请数据包括的所述申请信息,基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;所述用户的私钥,为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的私钥;

所述响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,包括:响应于所述申请数据,调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述申请信息的数字签名进行验证,并在所述数字签名验证通过时,进一步调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证。

可选的,还包括:

接收所述身份验证方发起的验证数据;其中,所述验证数据包括用户客户端发送给所述身份验证方的业务请求中携带的去中心化的数字身份凭证;

响应于所述验证数据,调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,并将验证结果在所述区块链进行存证,以使所述身份验证方在获取到所述验证结果后,基于所述验证结果进一步执行与所述业务请求对应的业务处理。

可选的,所述申请信息还包括由用户为所述去中心化的数字身份凭证设置的有效参数;其中,所述有效参数指示所述去中心化的数字身份凭证的有效期限;

所述将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,包括:

将生成的与所述用户对应的去中心化的数字身份凭证和所述有效参数在所述区块链中进行存证。

可选的,所述有效参数包括所述去中心化的数字身份凭证的有效时段;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,包括:调用所述智能合约中的验证逻辑,验证当前时段是否处于所述去中心化的数字身份凭证的有效时段;

所述方法还包括:

如果当前时段未处于所述去中心化的数字身份凭证的有效时段,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述有效参数包括所述去中心化的数字身份凭证的最大验证次数;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,包括:

调用所述智能合约中的验证逻辑,验证所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,是否达到所述最大验证次数;

所述方法还包括:

如果所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,达到所述最大验证次数,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述去中心化的数字身份凭证基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;

在调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证之前,还包括:

调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证。

可选的,所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述方法还包括:

接收所述用户客户端发起的撤销数据;其中,所述撤销数据包括待撤销的去中心化的数字身份凭证;

响应于所述撤销数据,调用所述智能合约中的撤销逻辑,将区块链网络中存证的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述若干服务方设备分别对应不同的业务。

可选的,所述若干服务设备包括以下示出的多个的组合:

与学校方对应的服务方设备;

与银行方对应的服务方设备;

与公安方对应的服务方设备。

可选的,所述区块链为联盟链。

本说明书还提出一种基于区块链的身份认证装置;其中,所述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;所述区块链中部署了用于生成数字身份凭证的智能合约,所述装置包括:

申请模块,接收用户客户端发起的申请数据;其中,所述申请数据包括用于申请去中心化的数字身份凭证的申请信息;所述申请信息包括所述用户在所述区块链中的去中心化的身份标识;其中,所述用户客户端对应的终端设备搭载了安全运算环境;所述安全运算环境包括用于为用户创建公私钥对的可信应用;

认证模块,响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,并将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,以使用户客户端在获取到所述智能合约生成的所述去中心化的数字身份凭证后,将所述去中心化的数字身份凭证发送给身份验证方,由所述身份验证方进一步调用所述智能合约中的验证逻辑对所述去中心化的数字身份凭证进行验证。

可选的,在接收用户客户端发起的去中心化的数字身份凭证的申请数据之前,所述装置还包括:

注册模块,接收用户客户端发起的注册数据;其中,所述注册数据包括用于注册去中心化的身份标识的注册信息;所述注册信息包括所述用户的用户身份信息;

响应于所述注册数据,调用所述智能合约中的注册逻辑,在所述区块链上为所述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证。

可选的,所述注册信息还包括所述用户的公钥;所述用户的公钥为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的公钥;

所述注册模块进一步:

将生成的去中心化的身份标识与所述用户身份信息和所述用户的公钥进行绑定后在所述区块链中进行存证。

可选的,所述申请数据包括的所述申请信息,基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;所述用户的私钥,为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的私钥;

所述认证模块进一步:响应于所述申请数据,调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述申请信息的数字签名进行验证,并在所述数字签名验证通过时,进一步调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证。

可选的,还包括:

所述认证模块进一步,接收所述身份验证方发起的验证数据;其中,所述验证数据包括用户客户端发送给所述身份验证方的业务请求中携带的去中心化的数字身份凭证;

响应于所述验证数据,调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,并将验证结果在所述区块链进行存证,以使所述身份验证方在获取到所述验证结果后,基于所述验证结果进一步执行与所述业务请求对应的业务处理。

可选的,所述申请信息还包括由用户为所述去中心化的数字身份凭证设置的有效参数;其中,所述有效参数指示所述去中心化的数字身份凭证的有效期限;

所述认证模块进一步:

将生成的与所述用户对应的去中心化的数字身份凭证和所述有效参数在所述区块链中进行存证。

可选的,所述有效参数包括所述去中心化的数字身份凭证的有效时段;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块进一步:

调用所述智能合约中的验证逻辑,验证当前时段是否处于所述去中心化的数字身份凭证的有效时段;

如果当前时段未处于所述去中心化的数字身份凭证的有效时段,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述有效参数包括所述去中心化的数字身份凭证的最大验证次数;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块进一步:

调用所述智能合约中的验证逻辑,验证所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,是否达到所述最大验证次数;

如果所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,达到所述最大验证次数,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述去中心化的数字身份凭证基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;

在调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证之前,所述认证模块进一步:

调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证。

可选的,所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述装置还包括:

撤销模块,接收所述用户客户端发起的撤销数据;其中,所述撤销数据包括待撤销的去中心化的数字身份凭证;

响应于所述撤销数据,调用所述智能合约中的撤销逻辑,将区块链网络中存证的所述去中心化的数字身份凭证的状态,更新为无效状态。

可选的,所述若干服务方设备分别对应不同的业务。

可选的,所述若干服务设备包括以下示出的多个的组合:

与学校方对应的服务方设备;

与银行方对应的服务方设备;

与公安方对应的服务方设备。

可选的,所述区块链为联盟链。

本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。

本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。

在以上技术方案中,一方面,基于具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络通过用户客户端为用户发放去中心化的数字身份凭证,使得身份验证方可以依据用户提供的去中心化的数字身份凭证进行身份认证,避免了纸质证明材料的及难于管理的难题,同时避免了中心化的用户身份认证系统被攻击或内部作恶的风险。

另一方面,基于用户的去中心化的身份标识才能获取对应链上存证的绑定公钥,并基于该绑定公钥对应的私钥在去中心化的数字身份凭证的生成和验证的过程中对交易内容和去中心化的数字身份凭证进行数字签名处理;由此,提高了去中心化的数字身份凭证生成和验证过程的安全性;由此,提高了去中心化的数字身份凭证生成和认证过程的安全性的数字身份凭证生成和认证过程的安全性。

图1是本说明书一实施例提供的一种具有去中心化的数字身份凭证的发行权限的区块链网络的组网示意图;

图2是本说明书一实施例提供的一种基于区块链的身份认证方法的流程图;

图3是本说明书一实施例提供的一种电子设备的结构示意图;

图4是本说明书一实施例提供的一种基于区块链的身份认证装置的框图。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

在不同业务场景中,每个人都具有不同的身份,并在必要的时候需要证明自身的身份,比如:应聘时需要提供学历证书来证明自身的学历,贷款时需要出示自身的收入证明,办理签证时出示自身的无犯罪证明等。

通常,传统的方式是用户出示由权威机构开具的纸质的证明材料,出示给验证机构进行查看,由此可能带来证明材料的问题及证明材料难于管理的难题。虽然,通过CA认证方式,由CA认证机构为用户颁发用户秘钥及证书可以部分解决上述问题,但是类似CA认证机构的中心化机构又会面临被攻击的风险,单点被突破后造成数据的错误及泄露。另外,由于用户的身份基本都是单一场景使用,CA认证方式很难做到跨机构的互认,比如,某个银行的UKey只能用于在该银行的业务中证明用户身份,无法做到跨行互认。

基于此,本说明书中,旨在提出一种在用户客户端搭载运算安全运算环境进行密钥生成及维护,并将用户客户端接入至具有去中心化的数字身份凭证的发行权限的区块链网络申请去中心化的数字身份凭证和基于去中心化的数字身份凭证进行身份认证的技术方案。

请参考图1,图1是本说明书一实施例提供的一种具有去中心化的数字身份凭证的发行权限的区块链网络的组网示意图。

如图1所示,该区块链网络为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;区块链中部署了用于生成数字身份凭证的智能合约;用户和身份验证方可以分别接入至区块链网络中;其中,用户向区块链申请去中心化的数字身份凭证并将获取的去中心化的数字身份凭证提供给身份验证方,以使身份验证方通过区块链验证用户提供的去中心化的数字身份凭证。

在实现时,区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;区块链中部署了用于生成数字身份凭证的智能合约。

进一步地,区块链接收用户客户端发起的申请数据;其中,申请数据包括用于申请去中心化的数字身份凭证的申请信息;申请信息包括用户在区块链中的去中心化的身份标识。

进一步地,区块链响应于申请数据,调用智能合约中的生成逻辑,基于区块链中存证的与去中心化身份标识绑定的用户身份信息,生成与用户对应的去中心化的数字身份凭证,并将生成的与用户对应的去中心化的数字身份凭证在区块链中进行存证,以使用户客户端在获取到智能合约生成的去中心化的数字身份凭证后,将去中心化的数字身份凭证发送给身份验证方,由身份验证方进一步调用智能合约中的验证逻辑对去中心化的数字身份凭证进行验证。

在以上技术方案中,一方面,基于具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络通过用户客户端为用户发放去中心化的数字身份凭证,使得身份验证方可以依据用户提供的去中心化的数字身份凭证进行身份认证,避免了纸质证明材料的及难于管理的难题,同时避免了中心化的用户身份认证系统被攻击或内部作恶的风险。

另一方面,基于用户的去中心化的身份标识才能获取对应链上存证的绑定公钥,并基于该绑定公钥对应的私钥在去中心化的数字身份凭证的生成和验证的过程中对交易内容和去中心化的数字身份凭证进行数字签名处理;由此,提高了去中心化的数字身份凭证生成和验证过程的安全性;由此,提高了去中心化的数字身份凭证生成和认证过程的安全性的数字身份凭证生成和认证过程的安全性。

下面通过具体实施例并结合具体的应用场景对本说明书进行描述。

请参见图2,图2是一示例性实施例提供的一种基于区块链的身份认证方法的流程图;其中,上述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;上述区块链中部署了用于生成数字身份凭证的智能合约;上述方法执行以下步骤:

步骤202、接收用户客户端发起的申请数据;其中,上述申请数据包括用于申请去中心化的数字身份凭证的申请信息;上述申请信息包括上述用户在上述区块链中的去中心化的身份标识;其中,上述用户客户端对应的终端设备搭载了安全运算环境;上述安全运算环境包括用于为用户创建公私钥对的可信应用。

步骤204、响应于上述申请数据,调用上述智能合约中的生成逻辑,基于区块链中存证的与上述去中心化身份标识绑定的用户身份信息,生成与上述用户对应的去中心化的数字身份凭证,并将生成的与上述用户对应的去中心化的数字身份凭证在上述区块链中进行存证,以使用户客户端在获取到上述智能合约生成的上述去中心化的数字身份凭证后,将上述去中心化的数字身份凭证发送给身份验证方,由上述身份验证方进一步调用上述智能合约中的验证逻辑对上述去中心化的数字身份凭证进行验证。

在本说明书中,上述区块链,为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络上述区块链中部署了用于生成数字身份凭证的智能合约;

其中,上述区块链网络的组网架构,请参见图1及前文关于图1相关的描述,这里不再赘述。

在本说明书中,上述若干服务方设备是指上述区块链中具有去中心化的数字身份凭证的发行权限的节点设备;其中,上述若干服务方设备分别对应不同的业务。

例如,上述若干服务设备可以包括与学校方对应的服务方设备,与学校方对应的服务方设备提供的业务为学历证明业务。

又例如,上述若干服务设备还可以包括与银行方对应的服务方设备,与银行方对应的服务方设备提供的业务为收入证明业务。

又例如,上述若干服务设备还可以包括与公安方对应的服务方设备,与公安方对应的服务方设备提供的业务为无犯罪证明业务。

在示出的一种实施方式中,上述区块链为联盟链;其中,分别对应不同的业务的上述若干服务方设备可以作为区块链的成员接入至上述区块链中构建形成区块链网络。

例如,前文示例的与学校方对应的服务方设备、与银行方对应的服务方设备、与公安方对应的服务方设备可以作为区块链的成员接入至联盟链中构建形成联盟链网络。

在本说明书中,上述身份验证方,是指对上述用户对应的去中心化的数字身份凭证进行身份验证的验证方。

例如,上述身份验证方可以通过持有的客户端接入至上述区块链中,并通过上述区块链中部署的用于生成数字身份凭证的智能合约,对上述用户通过上述客户端提供的去中心化的数字身份凭证进行验证。

在本说明书中,上述用户客户端,是指用于用户接入至上述区块链中并申请用户对应的去中心化的数字身份凭证的运行任何类型的终端设备之上的客户端。例如,上述用户客户端可以运行在移动终端、PAD、PC等终端设备之上。

在本说明书中,上述用户身份信息,可以包括指示用户身份的任何类型的信息。例如,在实际应用中,上述用户身份信息具体可以包括用户的身份证号、姓名、性别、国籍、居住住址、学历、收入等基本个人信息。

在示出的一种实施方式中,在用户将上述用户身份信息输入至上述用户客户端后,可以在上述用户客户端执行操作触发上述用户客户端向上述区块链发起注册数据;其中,上述注册数据包括用于注册去中心化的身份标识的注册信息;上述注册信息包括上述用户身份信息。

在本说明书中,进一步地,上述区块链接收并响应于上述注册数据,调用上述智能合约中的注册逻辑,在上述区块链上为上述用户生成去中心化的身份标识;

其中,上述去中心化的身份标识,是指上述区块链网络为上述用户分配的唯一指示用户身份的分布式身份标识。

例如,在实际应用中,上述区块链中还可以支持W3CDID协议,从而上述区块链可以基于W3CDID协议为用户分配对应唯一指示用户身份的DID(Decentralized Identifier)标识作为分布式身份标识。

在本说明书中,进一步地,在为上述用户生成去中心化的身份标识后,上述区块链将生成的去中心化的身份标识与上述用户身份信息进行绑定后在上述区块链中进行存证。

例如,以用户A的用户身份信息为SF-A,为用户A生成对应的去中心化的身份标识为DID-A为例,上述区块链将DID-A(用户A的去中心化的身份标识)与SF-A(用户A的用户身份信息)进行绑定后在上述区块链中进行存证。

在本说明书中,上述用户客户端运行的终端设备搭载了安全运算环境;上述安全运算环境包括用于为用户创建公私钥对的可信应用;上述注册信息还可以包括上述用户的公钥;上述用户的公钥为上述用户客户端响应于上述用户发起的去中心化的身份标识的注册操作,调用上述可信应用在上述安全运算环境中为上述用户创建的公钥。

在实现时,当上述用户客户端向上述区块链发起上述注册数据时,上述注册数据中的上述注册信息中除了携带上述用户的用户身份信息外,还可以携带上述用户的公钥;上述用户的公钥基于上述用户客户端通过调用所在终端设备的搭载了安全运算环境中的可信应用进行创建;

例如,上述用户客户端通过调用在上述安全运算环境中的可信应用为用户创建公私钥对并存储在上述安全运算环境中;其中,该公私钥对包括公钥和与公钥对应的私钥。

需要说明的是,上述用户客户端所在终端搭载的安全运算环境的具体实现方式,在本说明书中也不进行特别限定。

在示出的一种实施方式中,可以在终端中搭载的SE(Secure Element,安全元件)的解决方案搭建安全运算环境。在这种解决方案下,可以在上述用户客户端的终端硬件环境中引入SE安全计算芯片,利用SE安全计算芯片生成、存储及维护上述用户客户端的私钥,来搭建安全运算环境。

除了通过在上述用户客户端的硬件环境中,引入SE安全计算芯片的方式,来为上述用户客户端搭建安全运算环境以外,在实际应用中,显然也可以通过其它的方式,为上述用户客户端搭载安全运算环境;

例如,可以采用基于TEE(Trusted Execution Environment,可信执行环境)或者SE+TEE的解决方案,为上述用户客户端搭建安全运算环境。在这种解决方案下,可以利用SE安全计算芯片来生成、存储和维护为用户创建的公私钥对,利用TEE来面向上述用户客户端提供运行上述可信应用的安全运算环境。

在示出的一种实施方式中,在上述用户客户端向上述区块链发起的上述注册数据时,上述注册数据中的上述注册信息包括上述用户的用户身份信息和上述可信应用为用户创建公私钥对中的公钥,上述区块链响应于上述注册数据,调用上述智能合约中的注册逻辑,在上述区块链上为上述用户生成去中心化的身份标识,并将生成的去中心化的身份标识,与上述用户身份信息和上述用户的公钥进行绑定后在上述区块链中进行存证。

例如,以用户A的用户身份信息为SF-A,为用户A生成对应的去中心化的身份标识为DID-A、用户A的公钥为PublicKey-A为例,上述区块链将DID-A(用户A的去中心化的身份标识),与SF-A(用户A的用户身份信息)和PublicKey-A(用户A的公钥)进行绑定后在上述区块链中进行存证。

在本说明书中,在上述区块链上为上述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与上述用户身份信息进行绑定后在上述区块链中进行存证后,上述区块链将为上述用户生成去中心化的身份标识返回给上述用户客户端。

接着以上示例继续举例,上述区块链将为用户A生成DID-A(去中心化的身份标识)返回给上述用户客户端。

在本说明书中,上述用户客户端可以基于上述用户的触发操作向上述区块链发起的申请数据;其中,上述申请数据包括用于申请去中心化的数字身份凭证的申请信息;上述申请信息包括上述用户在上述区块链中的去中心化的身份标识。

例如,以用户A为例,上述用户客户端可以基于用户A的触发操作向上述区块链发起的申请数据;其中,该申请数据包括用于申请去中心化的数字身份凭证的申请信息;该申请信息包括DID-A(用户A在上述区块链中存证的去中心化的身份标识)。

在本说明书中,上述有效参数,是指用户通过上述用户客户端为上述去中心化的数字身份凭证设置的有效参数;

其中,上述有效参数用于指示上述去中心化的数字身份凭证的有效期限。

在示出的一种实施方式中,上述有效参数可以包括上述去中心化的数字身份凭证的有效时段;其中,上述有效时段具体可以包括任何形式的起止时间范围,比如:该有效时段的表示实现为[validtime_start,validtime_end]。

在示出的另一种实施方式中,上述有效参数可以包括上述去中心化的数字身份凭证的最大验证次数;其中,上述最大验证次数可以为预设阈值veryfied_maxnumber,比如:veryfied_maxnumber为3。

在示出的一种实施方式中,上述申请信息除了包括上述用户在上述区块链中的去中心化的身份标识外,还可以包括上述有效参数。

例如,上述申请信息可以包括上述用户在上述区块链中的去中心化的身份标识外,还可以包括上述有效参数包括的上述有效时段和上述最大验证次数中的任一或组合。

在本说明书中,上述区块链响应于上述申请数据,调用上述智能合约中的生成逻辑,基于区块链中存证的与上述去中心化身份标识绑定的用户身份信息,生成与上述用户对应的去中心化的数字身份凭证。

例如,以用户A为例,上述区块链响应于用户A通过上述用户客户端发起的用于申请去中心化的数字身份凭证的包括DID-A的申请数据,调用上述智能合约中的生成逻辑,基于区块链中存证的与DID-A绑定的SF-A(用户身份信息),生成与用户A对应的去中心化的数字身份凭证VC_A。

需要说明的是,基于区块链中存证的与上述去中心化身份标识绑定的用户身份信息,生成与上述用户对应的去中心化的数字身份凭证的具体方式,在本说明书中不作具体限定。

例如,在调用上述智能合约中的生成逻辑时,可以基于与上述去中心化身份标识绑定的用户身份信息进一步获取上述区块链中存证与用户身份信息相关的证明数据对上述用户身份信息进行核验是否真实有效。比如:以用户A为例,在调用上述智能合约中的生成逻辑时,可以基于与DID-A绑定的SF-A(SF-A比如包括:用户A的学历为本科)进一步获取上述区块链中存证与用户A的学历相关的证明数据(比如:用户A的学历信息相关的学籍证明、毕业证书编号及照片、成绩信息)对“用户A的学历为本科”进行核验是否真实有效。在核验真实有效后,生成指示“用户A的学历为本科对应真实有效的VC_A(去中心化的数字身份凭证)。

在本说明书中,在生成与上述用户对应的去中心化的数字身份凭证后,可以调用上述智能合约中的生成逻辑进一步将生成的与上述用户对应的去中心化的数字身份凭证在上述区块链中进行存证。

例如,以用户A为例,在生成与用户A的VC_A后,可以调用上述智能合约中的生成逻辑进一步生成的VC_A在上述区块链中进行存证。

在示出的一种实施方式中,当上述申请信息包括上述用户在上述区块链中的去中心化的身份标识和上述有效参数时,在将生成的与上述用户对应的去中心化的数字身份凭证在上述区块链中进行存证的过程中,上述区块链可以将生成的与上述用户对应的去中心化的数字身份凭证和上述有效参数在上述区块链中进行存证。

例如,以用户A为例,当申请信息包括用户A在上述区块链中的去中心化的身份标识和有效参数Valid_Parameter(Valid_Parameter可以包括有效时段、最大验证次数中的任一或组合)时,在生成与用户A的VC_A后,可以调用上述智能合约中的生成逻辑进一步生成的VC_A和Valid_Parameter在上述区块链中进行存证。

在本说明书,上述用户的私钥,为上述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用上述可信应用在上述安全运算环境中为上述用户创建的私钥。

例如,以用户A为例,在前文描述的为上述用户客户端响应于用户A发起的去中心化的身份标识的注册操作时,上述用户客户端调用上述可信应用在上述安全运算环境中为上述用户创建公私钥对;其中,该公私钥对中公钥为PublicKey-A,该公私钥对中与PublicKey-A对应的私钥为PrivateKey-A。

在示出的一种实施方式中,上述申请数据包括的上述申请信息基于上述安全运算环境中维护的上述用户的私钥进行了数字签名处理;在响应于上述申请数据调用上述智能合约中的生成逻辑,基于区块链中存证的与上述去中心化身份标识绑定的用户身份信息生成与上述用户对应的去中心化的数字身份凭证的过程中,上述区块链响应于上述申请数据调用上述智能合约中的验证逻辑,基于上述区块链中存证的与上述去中心化的身份标识绑定的上述用户的公钥对上述申请信息的数字签名进行验证,并在上述数字签名验证通过时,进一步调用上述智能合约中的生成逻辑,基于区块链中存证的与上述去中心化身份标识绑定的用户身份信息,生成与上述用户对应的去中心化的数字身份凭证。

例如,以用户A为例,上述申请数据包括的上述申请信息的基于PrivateKey-A在上述客户端进行了数字签名处理,在接收到数字签名处理后上述申请数据后,可以调用上述智能合约中的验证逻辑,基于上述区块链中存证的PublicKey-A,对上述申请信息的数字签名进行签名验证,在数字签名验证通过时,进一步调用上述智能合约中的生成逻辑,基于区块链中存证的与DID-A绑定的SF-A,生成与用户A对应的去中心化的数字身份凭证VC_A,数字身份凭证VC_A的生成过程请参见前文描述及示例,这里不再赘述。

在本说明书中,在调用上述智能合约中的生成逻辑生成与上述用户对应的去中心化的数字身份凭证后,上述用户客户端从上述区块链获取与上述用户对应的去中心化的数字身份凭证,并将上述去中心化的数字身份凭证发送给上述身份验证方,由上述身份验证方进一步调用上述智能合约中的验证逻辑对上述去中心化的数字身份凭证进行验证。

例如,以用户A为例,在调用上述智能合约中的生成逻辑生成与用户A对应的去中心化的数字身份凭证VC_A后,上述用户客户端从上述区块链获取VC_A,并将获取的VC_A发送给上述身份验证方,由上述身份验证方进一步调用上述智能合约中的验证逻辑对VC_A进行验证。

需要说明的是,上述用户客户端将与上述用户对应的去中心化的数字身份凭证发送给上述身份验证方的方式,在本申请中不作具体限定。例如,上述用户客户端可以基于有线网络、无线网络、基于蓝牙或NFC等近距离无线通信方式将去中心化的数字身份凭证发送至上述身份验证方。当然,在实际应用中,上述身份验证方还可以基于等方式由从上述用户客户端获取。

在本说明书中,在上述身份验证方获取到上述用户客户端发送的上述去中心化的数字身份凭证后,可以进一步通过与上述区块链进行通信对上述去中心化的数字身份凭证进行验证。

在示出的一种实施方式中,上述区块链接收上述身份验证方发起的验证数据;其中,上述验证数据包括用户客户端发送给上述身份验证方的业务请求中携带的去中心化的数字身份凭证;

例如,以用户A为例,上述区块链接收上述身份验证方发起的验证数据;其中,该验证数据包括用户客户端发送给上述身份验证方的业务请求中携带的用户A的VC_A。

需要说明的是,在用户客户端在将去中心化的数字身份凭证发送身份验证方时,可以基于业务请求进行触发和发送。例如,在用户A向公司进行应聘时,需要上传指示用户真实学历的去中心化的数字身份凭证至用户客户端,并由用户客户端向身份验证方发起应聘某一岗位的业务请求,该业务请求中携带了用户A的VC_A。身份验证方在接收到该业务请求后,获取该业务请求中的用户A的VC_A,再向上述区块链发起携带了用户A的VC_A的验证数据。

在本说明书中,上述区块链接收并响应于上述验证数据,进一步调用上述智能合约中的验证逻辑对上述去中心化的数字身份凭证进行验证。

接着以上示例继续举例,上述区块链接收并响应于携带了用户A的VC_A的验证数据,进一步调用上述智能合约中的验证逻辑对用户A的VC_A进行验证。

需要说明的是,在实际应用中,在调用上述智能合约中的验证逻辑对身份验证方从去中心化的数字身份凭证进行验证时,可以将上述身份验证方从上述用户客户端获取用户的数字身份凭证,与链上存证的该用户的数字身份凭证进行比较是否一致,并输出验证结果。

在示出的一种实施方式中,上述区块链将调用上述智能合约中的验证逻辑对上述数字身份凭证进行验证的验证结果在上述区块链进行存证。

接着以上示例继续举例,在调用上述智能合约中的验证逻辑对用户A的VC_A进行验证时,该验证结果可以包括验证通过或未通过;上述区块链可以将上述智能合约的验证结果在上述区块链进行存证,以使上述身份验证方在获取到该验证结果后,基于该验证结果进一步执行与上述业务请求对应的业务处理。比如:在指示用户A的用户真实学历的VC_A验证通过或验证未通过的验证结果存证在区块链后,身份验证方可以从区块链中获取该验证结果,并基于该验证结果进一步执行与该应聘业务请求对应的业务处理;在该验证结果为验证通过时,进一步执行与该应聘业务请求对应的准许用户A进行面试的业务处理。在该验证结果为验证未通过时,进一步执行与该应聘业务请求对应的向用户A发送简历筛选未入围的业务处理。

在示出的一种实施方式中,上述智能合约还维护了上述去中心化的数字身份凭证的状态;当上述有效参数包括上述去中心化的数字身份凭证的上述有效时段时,在调用上述智能合约中的验证逻辑对上述数字身份凭证进行验证的过程中,上述区块链调用上述智能合约中的验证逻辑,验证当前时段是否处于上述去中心化的数字身份凭证的有效时段;如果当前时段未处于上述去中心化的数字身份凭证的有效时段,将上述智能合约维护的上述去中心化的数字身份凭证的状态,更新为无效状态。

例如,当区块链上存证的用户A的VC_A的有效时段为自VC_A生成后的3天内有效时,在上述区块链调用上述智能合约中的验证逻辑,验证当前时段是否处于自VC_A生成后的3天内;如果当前时段未处于自VC_A生成后的3天内,将上述智能合约维护的VC_A的状态,从有效状态更新为无效状态;否则,将上述智能合约维护的VC_A的状态维持为有效状态。

在示出的另一种实施方式中,上述智能合约还维护了上述去中心化的数字身份凭证的状态;当上述有效参数包括上述去中心化的数字身份凭证的上述最大验证次数时,在调用上述智能合约中的验证逻辑对上述数字身份凭证进行验证的过程中,上述区块链调用上述智能合约中的验证逻辑,验证上述智能合约维护的上述去中心化的数字身份凭证被验证的次数,是否达到上述最大验证次数;如果上述智能合约维护的上述去中心化的数字身份凭证被验证的次数,达到上述最大验证次数,将上述智能合约维护的上述去中心化的数字身份凭证的状态,更新为无效状态

例如,当区块链上存证的用户A的VC_A的最大验证次数最大不超过3次时,在上述区块链调用上述智能合约中的验证逻辑,验证上述智能合约维护的VC_A被验证的次数,是否达到该最大验证次数;如果上述智能合约维护的VC_A被验证的次数,达到该最大验证次数,将上述智能合约维护的VC_A的状态,从有效状态更新为无效状态。否则,将上述智能合约维护的VC_A的状态维持为有效状态。

在示出的一种实施方式中,上述去中心化的数字身份凭证基于上述安全运算环境中维护的上述用户的私钥进行了数字签名处理;在调用上述智能合约中的验证逻辑对上述数字身份凭证进行验证之前,上述区块链调用上述智能合约中的验证逻辑,基于上述区块链中存证的与上述去中心化的身份标识绑定的上述用户的公钥,对上述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用上述智能合约中的验证逻辑对上述数字身份凭证进行验证。

例如,以用户A为例,上述身份验证方从上述用户客户端获取的用户A的VC_A,在上述用户客户端中预先被上述安全运算环境中维护的用户的私钥PrivateKey-A进行了数字签名处理,在调用上述智能合约中的验证逻辑验证VC_A之前,可以先调用验证逻辑基于上述区块链中存证的与用户A的身份标识DID-A绑定的用户的公钥PublicKey-A,对数字签名后的VC_A进行签名验证,如果验证通过,进一步调用验证逻辑对VC_A进行验证。关于VC_A验证过程,请参见前文相关的描述,这里不再赘述。

在示出的一种实施方式中,当上述智能合约维护了上述去中心化的数字身份凭证的状态时,上述区块链接收上述用户客户端发起的撤销数据;其中,上述撤销数据包括待撤销的去中心化的数字身份凭证。

例如,以用户A为例,上述智能合约中维护用户A的VC_A的状态,上述区块链接收用户A通过上述用户客户端发起的撤销数据;其中,该撤销数据包括待撤销的VC_A。

在本说明书中,进一步地,上述区块链响应于上述撤销数据,调用上述智能合约中的撤销逻辑,将区块链网络中存证的上述去中心化的数字身份凭证的状态,更新为无效状态。

接着以上示例继续举例,上述区块链响应于该撤销数据,调用上述智能合约中的撤销逻辑,将区块链网络中存证的VC_A的状态,从有效状态更新为无效状态。

当然,在实际应用中,在上述用户客户端向上述区块链发起上述撤销数据时,上述撤销数据中包括待撤销的去中心化的数字身份凭证可以在上述用户客户端中基于上述用户的私钥进行签名。相应的,在调用上述智能合约中的撤销逻辑将区块链网络中存证的上述去中心化的数字身份凭证的状态更新为无效状态时,可以基于上述区块链中存证的与上述去中心化的身份标识绑定的上述用户的公钥,对上述待撤销的去中心化的数字身份凭证的数字签名进行验证,如果验证通过,再进一步调用上述智能合约中的撤销逻辑。

需要说明的是,处于无效状态的去中心化的数字身份凭证(无论是基于上述有效参数触发,还是由上述用户客户端主动撤销触发)不能被持有上述用户客户端的其它用户用于身份认证。由此,可以有效的避免上述用户客户端持有的用户信息泄露及上述用户的去中心化的数字身份凭证被人冒用。

在本说明书以上示例的过程中,主要以上述去中心化的数字身份凭证为用户向公司进行应聘时的用于证明学历的数字身份凭证进行举例,在实际应用中,上述去中心化的数字身份凭证也可以包括用户向银行进行贷款时的用于证明收入的数字身份凭证,上述去中心化的数字身份凭证还可以包括用户办理出国签证时的证明自身无犯罪记录的数字身份凭证。当然,在实际应用中,上述去中心化的数字身份凭证可以为包括在多个上述场景中用于身份认证的统一数字身份凭证。

另外需要说明的是,上述用户客户端和上述身份验证方接入上述区块链的方式,在本说明书中不作具体限定。

例如,上述用户客户端和上述身份验证方可以分别作为上述区块链的节点通过向上述区块链发起区块链交易的方式直接接入至上述区块链中,也即,在此种接入方式中,上述用户客户端向上述区块链发起上述申请数据、上述注册数据和上述撤销数据,以及上述身份验证方向上述区块链发起上述验证数据,都为区块链交易。

当然,在实际应用中,上述用户客户端和上述身份验证方也可以先接入至BaaS(Blockchain as a Service,区块链即服务)平台,先向BaaS平台分别发送上述申请数据、上述注册数据、上述撤销数据及上述验证数据;通过作为区块链成员的BaaS平台将上述申请数据、上述注册数据、上述撤销数据及上述验证数据分别打包为对应的区块链交易后,再由BaaS平台向上述区块链发起打包好的区块链交易,执行前文描述的过程。

通过以上各实施例可见,一方面,基于具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络通过用户客户端为用户发放去中心化的数字身份凭证,使得身份验证方可以依据用户提供的去中心化的数字身份凭证进行身份认证,在同一个联盟链的多个机构方间进行身份的传递及共享,避免了纸质证明材料的及难于管理的难题,同时避免了中心化的用户身份认证系统被攻击或内部作恶的风险。

另一方面,通过在用户客户端搭载安全运算环境中为用户生成对应的公私钥对,并将生成的公钥与用户的去中心化的身份标识在区块链中进行预先绑定及存证,使得在为用户生成去中心化的数字身份凭证和验证用户的去中心化的数字身份凭证的过程中,需要基于用户的去中心化的身份标识才能获取对应链上存证的绑定公钥,并基于该绑定公钥对应的私钥在去中心化的数字身份凭证的生成和验证的过程中对交易内容和去中心化的数字身份凭证进行数字签名处理;由此,提高了去中心化的数字身份凭证生成和验证过程的安全性。

与上述方法实施例相对应,本说明书还提供了一种基于区块链的身份认证装置的实施例。

本说明书的基于区块链的分级存储装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

从硬件层面而言,如图3所示,为本说明书的基于区块链的身份认证装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

图4是本说明书一示例性实施例示出的一种基于区块链的身份认证装置的框图。

请参考图4,基于区块链的身份认证装置40可以应用在前述图3所示的电子设备中;其中,所述区块链为将具有去中心化的数字身份凭证的发行权限的若干服务方设备作为节点设备构建的区块链网络;所述区块链中部署了用于生成数字身份凭证的智能合约,所述装置40包括:

申请模块401,接收用户客户端发起的申请数据;其中,所述申请数据包括用于申请去中心化的数字身份凭证的申请信息;所述申请信息包括所述用户在所述区块链中的去中心化的身份标识;其中,所述用户客户端对应的终端设备搭载了安全运算环境;所述安全运算环境包括用于为用户创建公私钥对的可信应用;

认证模块402,响应于所述申请数据,调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证,并将生成的与所述用户对应的去中心化的数字身份凭证在所述区块链中进行存证,以使用户客户端在获取到所述智能合约生成的所述去中心化的数字身份凭证后,将所述去中心化的数字身份凭证发送给身份验证方,由所述身份验证方进一步调用所述智能合约中的验证逻辑对所述去中心化的数字身份凭证进行验证。

在本实施例中,在接收用户客户端发起的去中心化的数字身份凭证的申请数据之前,所述装置还包括:

注册模块,接收用户客户端发起的注册数据;其中,所述注册数据包括用于注册去中心化的身份标识的注册信息;所述注册信息包括所述用户的用户身份信息;

响应于所述注册数据,调用所述智能合约中的注册逻辑,在所述区块链上为所述用户生成去中心化的身份标识,并将生成的去中心化的身份标识与所述用户身份信息进行绑定后在所述区块链中进行存证。

在本实施例中,所述注册信息还包括所述用户的公钥;所述用户的公钥为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的公钥;

所述注册模块进一步:

将生成的去中心化的身份标识与所述用户身份信息和所述用户的公钥进行绑定后在所述区块链中进行存证。

在本实施例中,所述申请数据包括的所述申请信息,基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;所述用户的私钥,为所述用户客户端响应于用户发起的去中心化的身份标识的注册操作,调用所述可信应用在所述安全运算环境中为所述用户创建的私钥;

所述认证模块402进一步:响应于所述申请数据,调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述申请信息的数字签名进行验证,并在所述数字签名验证通过时,进一步调用所述智能合约中的生成逻辑,基于区块链中存证的与所述去中心化身份标识绑定的用户身份信息,生成与所述用户对应的去中心化的数字身份凭证。

在本实施例中,还包括:

所述认证模块402进一步,接收所述身份验证方发起的验证数据;其中,所述验证数据包括用户客户端发送给所述身份验证方的业务请求中携带的去中心化的数字身份凭证;

响应于所述验证数据,调用所述智能合约中的验证逻辑,对所述数字身份凭证进行验证,并将验证结果在所述区块链进行存证,以使所述身份验证方在获取到所述验证结果后,基于所述验证结果进一步执行与所述业务请求对应的业务处理。

在本实施例中,所述申请信息还包括由用户为所述去中心化的数字身份凭证设置的有效参数;其中,所述有效参数指示所述去中心化的数字身份凭证的有效期限;

所述认证模块402进一步:

将生成的与所述用户对应的去中心化的数字身份凭证和所述有效参数在所述区块链中进行存证。

在本实施例中,所述有效参数包括所述去中心化的数字身份凭证的有效时段;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块402进一步:

调用所述智能合约中的验证逻辑,验证当前时段是否处于所述去中心化的数字身份凭证的有效时段;

如果当前时段未处于所述去中心化的数字身份凭证的有效时段,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

在本实施例中,所述有效参数包括所述去中心化的数字身份凭证的最大验证次数;所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述认证模块402进一步:

调用所述智能合约中的验证逻辑,验证所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,是否达到所述最大验证次数;

如果所述智能合约维护的所述去中心化的数字身份凭证被验证的次数,达到所述最大验证次数,将所述智能合约维护的所述去中心化的数字身份凭证的状态,更新为无效状态。

在本实施例中,所述去中心化的数字身份凭证基于所述安全运算环境中维护的所述用户的私钥进行了数字签名处理;

在调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证之前,所述认证模块402进一步:

调用所述智能合约中的验证逻辑,基于所述区块链中存证的与所述去中心化的身份标识绑定的所述用户的公钥,对所述去中心化的数字身份凭证的数字签名进行验证,如果验证通过,进一步调用所述智能合约中的验证逻辑对所述数字身份凭证进行验证。

在本实施例中,所述智能合约还维护了所述去中心化的数字身份凭证的状态;

所述装置还包括:

撤销模块,接收所述用户客户端发起的撤销数据;其中,所述撤销数据包括待撤销的去中心化的数字身份凭证;

响应于所述撤销数据,调用所述智能合约中的撤销逻辑,将区块链网络中存证的所述去中心化的数字身份凭证的状态,更新为无效状态。

在本实施例中,所述若干服务方设备分别对应不同的业务。

在本实施例中,所述若干服务设备包括以下示出的多个的组合:

与学校方对应的服务方设备;

与银行方对应的服务方设备;

与公安方对应的服务方设备。

在本实施例中,所述区块链为联盟链。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

本文发布于:2023-04-13 20:23:49,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/86209.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图