DID数字身份
DID 的全称是去中心化身份(Decentralized Identity)。去中心化身份是从传统的身份体系中演化而来的。从中心化身份、联盟身份、以用户为中心的身份、再到去中心化身份,总共经历了四个个阶段。理想情况下,在去中心化身份阶段,用户可以完全掌控自己的信息。
分布式数字身份(Decentralized Identifiers,简称DIDs),在W3C的《DID V1.0》中,将DID定义为一种新的全球唯一标识符。这种标识符不仅可以用于人,也可以用于万事万物,包括一辆车、一只动物,甚至是一台机器,本文主要以人为例来展开DID的讨论。
DID技术的核心构成要素包括三个:DID、DID Document和Verifiable Data Registry。
(1)DID
DID属于统一资源标识符URI的一种,是一个永久不可变的字符串,它存在的意义有两点,第一,标记任何目标对象(DID Subject),可以是一个人、一件商品、一台机器或者一只动物等等;第二,DID是通过DID URL关联到描述目标对象的文件(DID Document,简称DID Doc)唯一标识符,即通过DID能够在数据库中搜索到具体的DID Doc。
① DID标识方法
DID分为三个部分,如图4所示,第一部分是DID Scheme(类似URL中的http,https,ftp等协议);第二部分是DID方法标识符(一般是DID方法的名称);第三部分是DID方法中特定的标识符:在整个DID方法命名空间是唯一的。W3C只规范了DID的表示结构,即,但没有规范三部分内容的具体标准,具体内容与DID Method有关,将在下面第2部分介绍。
图4:DID简单示例 图4:DID简单示例 ② DID Method
DID Method是一组公开的操作标准,定义了DID的创建、解析、更新和删除,并涵盖了DID在身份系统中注册、替换、轮换、恢复和到期等。目前没有统一的操作标准,各个公司可以根据场景特征自行设计,由W3C CCG工作组统一维护。截至2021年8月3日发布《DID V1.0》,在W3C登记的DID Method高达103项,均有不同的名称和特定的标识符表示方法。
③ DID URL
为融合现有URI网络位置标识方法,DID使用了DID URL表示资源的位置(如路径、查询和片段)。W3C对DID URL的语法描述ABNF规定如下
(2)DID Document
DID Document(DID Doc)包含着所有与DID subject有关的信息,在Doc中有身份信息验证方法(包括加密公钥,相关地址等)。DID Doc是一个通用数据结构,通常是由DID controller负责数据写入和更改,文件里包含与DID验证相关的密钥信息和验证方法,提供了一组使DID控制者能够证明其对应DID控制的机制。需要说明的是,这里的管理DID Doc的DID Controller可能是DID subject本人,也有可能是第三方机构,不同DID Method对DID Doc的权限管理有所区别。
如图5所示,是一个与图4中的DID对应的DID Doc(用JSON-LD编写的文件),存储在所有人能控制的位置(可以是中心化的,也可以去中心化的),以便轻松查找。
图5:DID Doc示例(资料来源:W3C DID白皮书) 图5:DID Doc示例(资料来源:W3C DID白皮书) DID Doc可以被看作是一个身份信息地图,如图6所示由两部分组成,第一部分被称为标签,在DID Doc中可以查询到并可以直接阅读的内容,包括三部分:核心标签(如id,controller,authentication等)、拓展标签(如以太坊地址等)、以及一些未在W3C DID规范登记的标签;第二部分是未在DID Doc列出,而是借助URL等特定形式,链接到第三方平台或网站系统查询相关身份信息;为了保证最大程度的互操作性和信息兼容性,W3C建立了DID Specification Registry,保证特定形式的内容在DID Doc中是可以被识别和解析的。当有新的标签出现,相关平台或系统需要向DID Specification Registry登记。
图6:DID Doc的身份特征入口(资料来源:W3C DID白皮书) 图6:DID Doc的身份特征入口(资料来源:W3C DID白皮书) 不同DID之间可能存在信息交互关系,如图7所示,在W3C中提出了Production & Consumption概念:创建一个DID Document的过程是Production,而将创建的这条Document引用至该DID Subject其他DID创建过程则是Consumption。在验证过程中,每个DID对应的DID Document是独立的,相当于对每个DID做了信息隔离。在验证过程中,DID持有人可以根据需要对不同DID授权,验证人只能阅读到被授权的DID Doc,而无法获得更多信息,从而达到DID Subject的信息保护目的。
图7:DID生成和消耗的表示(资料来源:W3C DID白皮书) 图7:DID生成和消耗的表示(资料来源:W3C DID白皮书) (3)Verifiable Data Registries (VDR)
DID的初衷是将用户身份信息管理权从平台交回用户自己,这过程中用户必须解决的问题是信息存储在哪里?以及需要验证的时候去哪里找到这些数据?怎么保证数据的真实性?VDR讨论的就是怎么解决这些问题,我们将支持记录DID数据且能够在生成DID Doc时提供相关数据的系统称为Verifiable Data Registry(VDR),这种系统包括分布式账本、分布式文件系统、P2P网络或其他可被信任的渠道;而且VDR与DID Method有着直接的关联性,一般每个VDR都会基于W3C DID规范提出自己的DID Method。目前市场主推DID储存媒介是钱包,分为托管钱包(如Coinbase)、普通钱包(如imtoken),以及智能钱包(Gnosis Safe, Dappe,Argent),具体哪种媒介能更有效的存储DID信息,暂不在本文详细讨论。
DID自主主权身 份 系 统的价值体现在:
- 个性化( Personal )
- 私 密 性 ( Private )
- 持 久 性 ( Persistent )
- 可 移 植(Portable)
- 受保护(Protected)