前言

随着元宇宙、Web3的快速发展,去中心化身份(DID)再次成为被热议的话题之一。除元宇宙、Web3外,DID在数字城市等领域中,也具有很大应用潜力。但为什么是DID?和传统身份管理方案相比,DID的价值是什么?技术发展瓶颈又是什么?针对这些问题,万向区块链首席经济学家办公室王普玉进行了深入研究,以下为研究报告全文,供大家参考。

作者:万向区块链首席经济学家办公室王普玉

审核:万向区块链首席经济学家邹传伟

近年来,大家对个人数据的隐私安全问题关注度明显上升,本文将从身份管理角度讨论该问题,主要包括四方面:第一,传统身份管理方案有什么问题?第二,DID是什么?技术实现过程是怎么样的?第三,DID技术发展有什么瓶颈?第四,区块链技术和DID技术的结合能够擦除什么样的火花?

身份管理

身份系统包括三个要素:身份、身份证明和身份验证。我们结合三个要素,从物理世界和互联网世界两个维度分别讨论身份管理。

1、身份系统

(1)身份

在物理世界中,每个人从出生就拥有独一无二的身份特征,包括外貌、体重、年龄、肤色、指纹等等;为了快速描述任何个体的身份特征,我们使用姓名作为代号,可以帮助大家快速识别他人并联想到关于对方的一切信息,这些内容被统称为身份。

与物理世界相对应的还有一个互联网世界,身份的概念完全不同。在互联网世界,用户完全可以根据自己的喜好设置想象中的“身份”,包括姓名、性别、身高、体重等;甚至可以随时更改这些“身份特征”,确切来说,此时的身份不同于传统意义上的身份,因为不具有唯一性和确定性。

(2)身份证明

在物理世界中,由人构成的系统变得日益庞大,为了便于中心化机构的管理,出现了身份证明。中心化机构根据不同人的身份特征签发了唯一身份证明,用于证明主体拥有某项资产的所有权或申明其享有某种社会权益,同时在不同个体及组织之间交互时,可以用于定责、纠纷追溯和信任保障。身份证明使身份的特征从隐性变为可视以及可追踪,例如政府签发的身份证、护照等,证明主体属于某个国家的身份以及享有某种权益;再比如驾驶证,能够证明某个身份具有车辆驾驶技能。

在互联网世界中的主体身份证明完全不同于物理世界。在物理世界中,身份证明与身份有着直接的关联,即通过身份证明就能映射到主体本人;但在最初的互联网世界中,身份证明和身份之间并不存在映射关系,不同主体只需根据设想中的身份特征(年龄、身高、姓名等)提交身份证明申请,而无需与物理世界身份特征保持一致,因此仅凭互联网身份证明是无法映射到主体本人。随着互联网世界的发展,匿名性和不可追溯性逐渐影响到了物理世界的治理和安全,多项规定要求平台方需做好用户实名制验证工作,这样就出现了互联网身份证明与物理世界身份证明映射的关系,进一步出现与主体身份映射的关系。

有意思的是,互联网用户的身份证明,需要依赖于物理世界身份证明的映射,来确定身份的唯一性和确定性。但互联网世界中的网站却完全不同,它从开始就有一套完整的身份证明体系,如图1所示的统一资源标识符URI。每个网站拥有独一无二的域名,域名的签发(身份证明)是由国际域名管理中心统一管理,我国是由中国互联网络信息中心管理。

图1:统一资源标识符架构

(3)身份验证

在现代社会体系下,身份的验证是信任建立的基础。当个体或组织之间发生交互关系时,均需要进行身份的验证,即证明某个体或组织拥有某项资源的所有权或享有某些权益,目的是通过身份验证系统维护系统运行的基本规则和安全。

① 物理世界身份验证

物理介质证明,如各种纸质文件或卡片证明,是人类发展史上依赖最长久的身份证明,包括身份证、护照、社会医疗保障卡、驾驶证等等。随着技术的发展,物理介质证明作假越来越容易,且在身份验证环节无法有效辨别,经常出现身份篡改、身份冒用等导致资产非法转移及社会权益盗用等问题。因此,通过物理介质实现身份证明来维护原有的社会规则和安全难以持续下去。为了防止身份作假,各政府及组织从两方面进行升级:第一方面是对身份证明的物理介质升级,增加了各种特征可供验证,如我国身份证上增加激光变色识别、增加微缩文字、视觉上呈现图层叠放等;这些升级只是增加了非法分子的作假成本,一旦他们掌握了这些技术,依然可以复制出各种身份证明,而无法从根本上杜绝作假问题;第二方面是提升验证手段,政府机构对接各类身份证明平台,能够在某主体享有权益或处置资产前,通过比对物理介质证明与系统信息进行身份真伪识别,这种模式下存在两方面问题,第一个问题是各类身份证明平台未全面联通,数据孤岛导致验证信息不完整;第二个问题是企业及其他个体用户无权对接身份识别平台,在日常交易合作中,无法通过该模式验证身份真伪。

② 互联网用户身份验证

在互联网世界中,身份验证主要依赖于用户名和密码。能够输入正确的信息,就意味着身份验证通过。这种验证体系存在两种问题,第一种是用户名和密码容易被网络攻击者盗用;第二是中心化平台对用户身份信息拥有绝对控制权,他们可以在未获得用户许可的情况下,根据自己的需要删除、增加、更改、甚至交易用户的身份信息。

2、身份信息安全问题

无论是物理世界还是互联网世界,都存在身份管理方面的问题,而且两个平行世界的身份证明逐渐融合。物理世界中的身份证明作假问题,借助互联网来加强身份验证能力;而互联网世界由于匿名信和不可追溯性导致的安全问题,通过与物理世界的身份映射方式来解决。我们解决了身份的真实性和可信性带来的困扰,但同时也给我们带来了新的麻烦,即身份的特征和行为暴露在网络中,被各个平台无视相关规定,肆意收集身份相关的行为信息并滥用这些信息。

图2:用户信息传统数据库管理模式

如图2所示,在中心化管理模式下,用户信息被不同平台重复收集并存储,在2021年第76期《从用户画像实现看数据隐私问题》一文中,我们指出其中的问题,包括用户信息被过度采集、信息被不同平台交易、用户对个人行为数据没有控制权等问题。

3、其他

当前我们面对的不仅仅是上面所提到的关于人的身份管理问题,随着互联网技术及通信技术的发展,网络连接万事万物,构筑出一个与物理世界相平行的数字世界。数字世界里的参与者不仅仅是人,还有包括其他万事万物,如何定义数字世界里的这些万事万物所属权,以及怎么定义每一个数字对象的权益?这个问题关系着数字世界的正常秩序的维护以及信任的构建。前面提到的三要素“身份-身份证明-身份验证”仅围绕人来讨论,但物理世界中,除人的身份以外,我们还有其他各种国际统一标识,比如商品相关的统一编码(RFID,商品序列号,二维码)等。未来我们需要管理数字世界中每一种要素,前提是做好这些要素的身份管理。进一步说,我们需要一项能够统一维护不同身份标识方法的工具,能够做到不同事物的“身份标识-身份证明-身份验证”。

DID技术详述

分布式数字身份(Decentralized Identifiers,简称DIDs),在W3C的《DID V1.0》中,将DID定义为一种新的全球唯一标识符。这种标识符不仅可以用于人,也可以用于万事万物,包括一辆车、一只动物,甚至是一台机器,本文主要以人为例来展开DID的讨论。

下面我们从技术实现和应用两个角度介绍DID技术,技术实现主要讲述DID技术的构成要素;而应用主要围绕“身份-身份证明-身份验证”讨论DID的实现。

1、技术实现

DID技术的核心构成要素包括三个:DID、DID Document和Verifiable Data Registry。

图3:DID架构及相关构成要素之间的关系 (资料来源:W3C DID core)

(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简单示例

② 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白皮书)

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白皮书)

不同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白皮书)

(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信息,暂不在本文详细讨论。

2、DID的实现:“身份-身份证明-身份验证”

我们基于第一部分的“身份-身份证明-身份验证“,简单讨论DID如何实现这些功能的。

(1)身份

在DID方案中,每个人可以在不同场景、不同时间,因为不同目的,在任意可信的第三平台登记不同的DID,相关权益和资产所属权与不同的DID直接绑定,而身份主体通过持有DID来证明其对资产的所有权或具体权益。DID没有直接与物理世界身份生成映射关系,且DID信息维护也是由身份主体或可信第三方来维护,保证了信息的安全性。对于身份主体而言,需要做好DID的安全持有工作,同时维护好与DID对应的身份文件(DID Doc)。

(2)身份证明

DID只是一串带有密钥的随机数值,在具体使用中第三方机构根据DID信息将身份证明写入DID Doc,同时第三方机构会将自己的数字签名加入文件中,方便后期身份验证。例如,张三,需要证明自己具有驾驶能力,此时无需像传统的中心化方法,由权威机构签发一张驾驶证给张三,具体个人信息也无需存储在权威机构的数据库里;通过DID技术给出的解决方案是[1]:张三向车管所提供自己准备的DID或使用车管所提供的DID,车管所按照DID Doc的JSON-LD数据结构写入相关信息(包括但不限于id,type,有效期,controller,验证方法等),同时加入车管所的数字签名。DID Doc可以储存在车管所,可以储存在张三的智能钱包里,或者其他存储媒介。需要注意的是,此处DID并没有泄露张三的身份特征,没有映射物理世界的其他身份证明,这个DID只是张三持有的众多DID中的一个。因此,只要张三本人不出示DID证明,就没有人能知道这份DID Doc是张三的,从而保护了张三的个人隐私。

(3)身份验证

验证的主要目的是为了证明目标主体可以合规的或有权限的进行某项程序,在W3C《DID V1.0白皮书》中从验证目的进行了梳理,分为五类,分别是:验证、申明、重要协议、性能调用和性能授权。根据五种不同目的,在DID Method中可以设计不同的方案。验证信息的来源分为两类,一类是DID Doc中列举的数据;另一类是需要借助于外部系统或平台的数据,对于材料的格式W3C做了要求(主要包括publicKeyJwk和publickeymultibase),以方便解析及识别。下面以“申明”为例说明,根据国家最新青少年网络游戏规定中要求每天限时一小时,传统的方法则需要上传身份证信息,但分布式标识符解决方案中,只需要提供自己持有的DID,通过零知识证明验证用户是否超过18岁即可,而无需告知平台方用户具体年龄。这只是众多验证方法中的一种。

DID的应用及发展

DID从提出到现在已经有四年时间,各行业协会、互联网平台、基金会都在积极推动并完善DID技术。经过长时间探索,W3C于2021年8月3日发布了DID 1.0版白皮书。相比初期0.1版搭建了一个全新的身份标识体系,到1.0版开始考虑如何融合市场上已有的身份标识方法。其他协会、组织及企业也基于W3C的DID规范提出了多种DID Method,但距离DID技术落地应用,仍然有很多问题需要进一步去解决,主要包括:

1、如何满足合规性要求?

互联网最初只需要通过用户名/密码实现平台身份验证即可,但为了满足合规要求,增加了物理世界身份验证。这种方法初衷是为了让网络用户的行为可问责、可追溯,逐步建立网络信任体系,但负面影响是造成大量个人信息泄露。DID有效解决了这些问题,但面临的仍然是合规性问题。虽然当前未出台相关规定,但不远将来肯定会面临如何将不同的DID映射到具体主体的问题,同时需要考虑这种映射关系,是否会造成新一轮信息泄露问题?该问题有待进一步探讨及观察。

2、如何验证DID与持有人之间的关系?

DID具有匿名性,当前主流DID技术给出的解决方案是:谁持有DID,谁就有权享受相关权益。这种方案无法验证DID提供者是不是本人,也无法避免DID被盗取并用于非法目的。虽然部分DID Method提出将DID映射到中心化数据库,通过中心化的一套方法验证DID提供者是不是本人的问题,但这仍将给个人信息保护留下漏洞,例如是否能够通过中心化数据库倒推出DID持有人?

3、DID如何市场化推行?

DID市场化过程中,当前有两方面瓶颈:第一方面,没有企业愿意主动放弃用户数据;用户数据如同平台护城河,产生了大量价值,如果同意DID的使用,就等于同意拆除护城河,对于互联网企业是致命性打击。第二方面,DID技术推行谁来买单?第一,不同用户愿不愿意为自己的身份信息买单?换句话说,用户是否愿意向类似智能钱包这种供应方付费?虽然未来个人行为数据有机会变现,并足够支付这部分费用,但商业模式不清晰的情况下,有多少人感兴趣参与其中?第二,DID技术将打破各平台方原有数据管理结构,必定需要新增相关验证平台,相关成本谁来承担?这些瓶颈将会极大阻碍DID技术的推行,如何平衡相关方利益关系,目前仍没有理想的方案。

4、密钥管理风险大

DID的可信性主要依赖于密钥技术,如果第三方机构的私钥被窃取,会不会出现随意签发证书的行为?或者某个身份主体将私钥无意丢失,是否永远无法使用这些DID证书?这些问题目前没有非常理想的解决方案,对于现实使用也会提出较大挑战。

5、身份信息泄露风险

相比传统身份信息管理手段,DID已经在很大程度上提升了数据的安全性,但在具体应用中仍有一定的风险,例如当第三方收集足够量的个人DID数据时,有可能通过海量数据进行逆向推理,发现DID标识符之间的映射关系并推出物理世界的个人身份。这一问题的根本原因在于大多基于W3C的DID Method是静态身份,而非动态身份;如果未来能够设计一套动态身份管理体系,定期可以更新DID标识符,那么即使第三方能够收集到部分DID Subject的数据,但也无法通过海量数据发现DID之间的关联关系。

区块链与DID的结合

虽然区块链不是DID技术的必选项,但区块链技术能够助力与DID技术的实施,避免很多争端问题的发生,同时能够以更低成本维护数据的可信性,主要体现在以下几方面:

1、降低验证成本

DID技术提倡的是将DID和DID Doc存储在用户端,但如何保证DID Doc不会在用户端被篡改?如果不使用区块链,则需要DID证书签发者同步维护这些证书,增加了维护成本。当使用DID时,合作方可以将DID持有人的DID Doc与签发方的数据库进行一致性验证,增加了验证成本。但使用区块链技术则能降低签发方这部分成本,只要写入持有人DID Doc的信息将被记录在链上,无法做出修改,保证了信息的真实性和安全性;签发人无需增加数据库存储及维护成本,而合作人也无需增加成本将持有人DID Doc与签发方数据库做一致性检验。

2、基于DID的信任体系的搭建

当前围绕区块链的方案大多没有实现生态闭环,假如有人在区块链生态中出现违约,仍需回归到中心化模式下寻找法律解决方法,并没有减轻政府治理压力。未来是否会通过构建基于DID的信用记录系统,来补齐这块生态闭环构建的短板?该问题值得观察。不同主体的行为信息会随着DID被记录在DID Doc中,也将成为不同相关方合作的重要参考,随着数据的增加违约的成本也将增加,例如无法从银行获取贷款、无法找到工作、无法找到合作伙伴,因此,这种信任体系将会对生态治理起到非常积极影响。而这一切的基础是可信数据,区块链不能缺席。

附注:

[1]由于不同DID Method有不同操作建议,此处仅为举例说明DID身份证明签发的一种方法。