1. 数字身份的发展历史与现状

随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了四个阶段,分别是:中心化身份、联盟身份、以用户为中心的身份以及自 我主权身份。

  • 中心化身份是由单一的权威机构进行管理和控制的,现在互联网上的大多数身份还是中心化身份。
  • 联盟身份的出现解决了中心化身份中身份数据零碎混乱的弊端,此种身份是有多个机构或者联盟进行管理和控制的,用户的身份数据具备了一定程度的可移植性,例如允许用户登录某个网站时, 可以使用其他网站的账户信息,类似于 QQ、微信或者微博的跨平台登录。
  • 以用户为中心的身份则将重点集中在去中心化上,通过授权和许可进行身份数据的共享,例如OpenID。
  • 自我主权身份才是真正意义上的去中心化的、完全由个人所拥有和控制的身份。

而要使身份具有真正的自我主权,这种基础设施必然需要驻留在分散信任的环境中。随着区块链技术的出现,自我主权身份的实现终于找到了突破口。

2. DID

相对于传统的基于PKI(公钥基础设施)的身份体系,基于区块链建立的分布式数字身份系统具有保证数据真实可信、保护用户隐私安全、可移植性强等特征,其优势在于:

  • 去中心化:基于区块链,避免了身份数据被单一的中心化权威机构所控制。
  • 身份自主可控:基于DPKI (分布式公钥基础设施),每个用户的身份不是由可信第三方控制,而是由其所有者控制,个人能自主管理自己的身份。
  • 可信的数据交换:身份相关数据锚定在区块链上,认证的过程不需要依赖于提供身份的应用方。

详见:DID规范

3. 可验证声明(Verifiable Claim)

Verifiable Claim,简称Claim,是一个 DID 给另一个 DID 的某些属性做背书而发出的描述性声明,并附加自己的数字签名,用以证明这些属性的真实性,可以认为是一种数字证书。

详见:可验证声明

4. 分布式信任的建立

分布式信任是数字身份的基础,其核心是基于区块链去中心化、不可篡改的特性而创建的DID。然后多方通过接入工具接入分布式信任网,以区块链为依据,建立不同身份标识之间的安全通讯,为可验证声明(一种数字证书)的流转建立前提。

  • 首先,用户的DID不是单一机构赋予的,而是用户根据确定的算法(DID Spec)生成的,是完全由用户自主控制的。生成DID的同时,也会生成一对秘钥,并把公钥与DID的绑定关系发布在分布式存储上,而私钥则由用户保管,最后只需把身份相关数据锚定在区块链上即可。
  • 其次,应用方验证用户身份信息时,只需要根据分布式系统中形成共识的用户的公开秘钥,进行验证计算即可验证用户的真实性。

5. 生态参与方

在这个分布式信任网中,有如下生态参与方:

  • Holder(用户)DID的使用者,用户通过DID客户端,即DID Agent(目前的实现中,即DID小程序),创建、管理自己的DID,并把身份相关数据安全的存储在可靠的组件Identity Hub中。
  • Issuer(发证方):发证方是向用户创建并签发可验证声明(一种数字证书)的机构或个人,可以是政府机关,亦或是学校等机构。
  • Verifier(应用方):应用方是能够让用户使用DID的应用服务提供方,应用方会验证用户的DID以及可验证声明,从而间接的验证用户的真实性。

在分布式信任网中,能够使用DID登入的应用方有两种:

  1. 无需可验证声明即可登入的应用,例如普通的网站。
  2. 需要指定可验证声明才能登入的应用,例如某网站要求用户大于18岁才能使用DID登入。

在第一种情况中,应用方只需验证用户是DID的拥有者即可让用户登入。

在第二种情况中,用户首先需要先去向发证方,比如公安局,申请一个证明自己是18岁的可验证声明,然后向应用方出示此声明才能完成DID的登入。

可验证声明(Verifiable Claim)是一个 DID 给另一个 DID 的某些属性做背书而发出的描述性声明,并附加自己的数字签名,用以证明这些属性的真实性,可以认为是一种数字证书。如果做背书的 DID 是权威机构,那么此 DID 签发的 Claim可以认为具有公信力。因为可验证声明是DID签发出来的,所以应用方只需要去链上获得此DID的公钥即可验证声明的真伪。

通过权威机构签发选择性披露的可验证声明的方式,例如在声明中只说明声明的拥有者大于18岁,而不披露实际隐私年龄,保护了用户的隐私信息。