1 of 32

去中心化标识符

Weili Yang

SSI 课程:第八章

1

© KEN Labs 2022

2 of 32

去中心化标识符

从四个层次逐渐深入理解DID

SSI标准化

可验证凭证(VCs)

去中心化标识符

(DIDs)

顺着这四个层次一路走下去

  • 在最基本的层面上,去中心化标识符(DID)只是一种新型的全球唯一标识符,它与你在浏览器地址栏中看到的URL没有什么不同。
  • 在更深的层次上,DID是互联网新的去中心化数字身份和公钥基础设施(PKI)层的原子构建块。

我们可以从四个层次来理解DID——从基本定义到深入理解DID的工作方式和这样做的原因,以及它们对互联网和网络的未来意味着什么。

去中心化标识符(DIDs)是与可验证凭证(VCs)相对应的加密方式。这些都是SSI标准化的 "双支柱"。

2

© KEN Labs 2022

3 of 32

概念层:什么是DID?

>1000

DID是一种新类型的全球唯一标识符:一串标识资源的字符串

URI

就技术标准而言,DID是统一资源标识符(URI)的一种类型。

URL

统一资源定位器(URL)是一个URI,可以用来定位该资源在网络上的代表。

URN

在网络架构中,为持久性标识符保留的URI的子类被称为统一资源名(URN)。

URL和URN是URI的子类。URL总是指向网络上的资源代表,而URN是网络上或网络外任何资源的持久名称。DID是一个URI,既可以是URL,也可以是URN,它可以被查询(解析)以获得关于DID所标识的资源的一组标准化信息(元数据)。

3

© KEN Labs 2022

4 of 32

去中心化标识符

DID的四个核心属性

DID的一般格式:方案名称后接DID方法名称,然后接特定于方法的字符串,其语法由DID方法定义。

Network�resources

1. 一个永久性(持久性)的标识符

它永远不需要改变。

2. 一个可解析的标识符

你可以通过查询来发现元数据。

3. 一个加密可验证的标识符

你可以用密码学来证明控制权。

4. 一个去中心化的标识符

不需要中心化的注册机构。

按照W3C DID核心1.0规范的定义,DID是一种新的全球唯一标识符:一串标识资源的字符串。

4

© KEN Labs 2022

5 of 32

DID 解析

获得与DID相关的DID文档的过程被称为DID解析。

功能层:DID如何工作?

DID如何工作

DID架构的基本组成部分。

DID 文档

每个DID只有一个相关的DID文档。

DID 方法

这些不同类型的DID被称为DID方法。

5

© KEN Labs 2022

6 of 32

  • DID文档包含关于DID主体的元数据,DID主体是由DID识别并由DID文档描述的资源的术语。 DID文档只包含为实现与DID主体的可信任的交互所需的最小数量的机器可读元数据。
  • 控制DID及其相关DID文档的实体被称为DID控制器。
  • 在许多情况下,DID控制器与DID主体相同,但它们也可以是不同的实体。

DID 文档

使用五种不同的DID方法创建DID的例子

DID、DID文档和DID主体之间的关系(在DID主体也是DID控制器的情况下)

6

© KEN Labs 2022

7 of 32

  • DID标识符格式的第二部分——第一个和第二个冒号之间,被称为DID方法名称。
  • 截至2021年初,已经有80多个DID方法名称在DID规范注册处注册。
  • DID方法的技术多样性的一个后果是,一些方法可能比其他方法更适合某些使用情况。DID方法可能在它们的 "去中心化 "或 "可信 "程度上有所不同,在可扩展性、性能或基础技术基础设施的成本等因素上也有所不同。

DID 方法

DID如何运作

使用五种不同的DID方法产生的DID实例

7

© KEN Labs 2022

8 of 32

DID 解析

>1000

DID如何运作

DID解析允许支持DID的应用程序和服务发现由DID文档表达的关于DID主体的机器可读元数据。该元数据可用于与DID主体的进一步互动,如下:

  1. 查找公钥,以验证可验证凭证的签发者的数字签名
  2. 当控制器需要登录网站或应用程序时,要对DID控制器进行认证
  3. 发现并访问与DID控制器相关的知名服务,如网站、社交网络或许可机构等

需要DID解析的常见场景。第一个是使用DID来识别可验证凭证的签发者,第二个是登录网站,第三个是发现与DID相关的服务。

8

© KEN Labs 2022

9 of 32

处理一个DID URL包括两个阶段:

DID 解析(resolution)

调用DID解析器来检索DID文档。

DID 引用解析(dereferencing)

DID文档被进一步处理,以访问或检索DID URL识别的资源——它可以是DID文档本身的一个子集,也可以是DID URL识别的一个单独的资源,如一个网页。

Telecom Italia

DID URL

以DID为基础构建更高级的URL

9

© KEN Labs 2022

10 of 32

© KEN Labs 2022

去中心化标识符 (DIDs)

域名 (DNS)

全球唯一

全球唯一

持久或可重新分配(取决于DID方法和DID控制器)

可重新分配

对机器友好的标识符(即基于随机数和密码学的长字符串)。

人类可读的名称

可使用适用的DID方法所定义的不同机制进行解析

可使用标准的DNS协议进行解析

相关的数据在DID文档中表述

相关的数据在DNS区域文档中表达

完全去中心化的命名空间,不需要授权

基于具有顶级域名(TLD)的集中式根注册处的分层、可委托的名称空间

由DID方法特定的流程和基础设施(例如,区块链)保护

受信任的根注册中心和传统的PKI (DNSSEC)保护

密码验证

可验证使用DNS安全扩展(DNSSEC)

在DID网址中用作授权组件

在http:和https: 网址地址以及电子邮件地址和其他标识符中用作授权组件

由每个DID方法的权限管理(任何人都可以创建DID方法)

由互联网名称与数字地址分配机构(ICANN)管理

完全在DID控制器的控制之下

最终由ICANN和每个DNS顶级域名的注册表运营商控制

DID和域名的比较

10

© KEN Labs 2022

11 of 32

DID与其他类型的持久性标识符的比较

其他类型的持久性标识符一般不太适合于SSI应用

通用唯一标识符(UUIDs,也称为全球唯一标识符或GUIDs)。

不可解析,不能用密码学来验证

持久性URL(PURLs)

处理系统 (HDLs)

数字对象标识符(DOI)

档案资源密钥(ARKs)

开放研究者和贡献者ID(ORCID)

不是去中心化的;创建和使用这些标识符取决于一个中央或分级机构,不能用密码学来验证

其他URN

要么无法解析,要么解析过程和元数据随每种类型而变化,不能用密码学来验证

与其他标识符相比,DID是持久的、可解析的和去中心化的(加密验证性没有展示是因为它不适用于任何其他标识符)。

Customer�Experience

Revenue

Network�resources

11

© KEN Labs 2022

12 of 32

© KEN Labs 2022

DID 类别

类别

描述和实例

基于账本的DID

DID方法的最初类别涉及区块链或其他分布式账本技术(DLT),其目的是建立一个不受单一机构控制的注册表。这种注册表通常是公开的,可在全球范围内访问。DID的创建/更新/停用是通过向账本写入交易来实现的,该交易是用DID控制者的私钥签署的:

did:sov:WRfXPg8dantKVubE3HX8pw

did:btcr:xz35-jzv2-qqs2-9wjt

did:ethr:0xE6Fe788d8ca214A080b0f6aC7F48480b2AEfa9a6

did:v1:test:nym:3AEJTDMSxDDQpyUftjuoeZ2Bazp4Bswj1ce7FJGybCUu

账本中间件

(第二层) DIDs

作为对经典的基于账本的DID方法的改进,这类方法在基础层区块链之上增加了一个额外的存储层,如分布式哈希表(DHT)或传统的复制数据库系统。DID可以在这个第二层创建/更新/停用,而不需要每次都进行基础层账本交易。相反,多个DID操作被分批纳入一个单一的账本交易,提高了性能,降低了成本:

did:ion:test:EiDk2RpPVuC4wNANUTn_4YXJczjzi10zLG1XE4AjkcGOLA

did:elem:EiB9htZdL3stukrklAnJ0hrWuCdXwR27TNDO7Fh9HGWDGg

对等 DIDs

这种特殊类别的DID方法不需要一个全球共享的注册层,如区块链。相反,一个DID被创建,随后只与其他一个对等节点(或相对较小的对等体组)共享。作为关系一部分的DID通过点对点协议进行交换,导致参与者之间的私人连接的建立 (见 https://identity.foundation/peer-did-method-spec/index.html):

did:peer:1zQmZMygzYqNwU6Uhmewx5Xepf2VLp5S4HLSwwgf2aiKZuwa

静态 DIDs

有一类DID方法是 "静态 "的,即它们能使DID被创建和解析,但不更新或停用。这种DID方法往往不需要复杂的协议或存储基础设施。例如,DID可能只是一个 "包装好的 "公钥,整个DID文档可以通过算法解决,不需要DID本身以外的任何数据:

did:key:z6Mkfriq1MqLBoPWecGoDLjguo1sB9brj6wT3qZ5BxkKpuP6

备选的DIDs

其他一些创新的DID方法已经被开发出来,不属于前面的任何类别。它们证明了DID的识别架构足够灵活,可以分层在现有的互联网协议之上,如Git、星际文件系统(IPFS),甚至是互联网本身:

did:git:625557b5a9cdf399205820a2a716da897e2f9657

did:ipid:QmYA7p467t4BGgBL4NmyHtsXMoPrYH9b3kSG6dbgFYskJm

did:web:uport.me

12

© KEN Labs 2022

13 of 32

PKI信任三角

从最初的构想开始,PKI的核心就存在一个难题。

也就是说,仅仅考虑公钥/私钥对是不够的。

左图展示了每个密钥对与它的控制机构(控制器)的关系,无论这个控制器是一个人,一个组织,甚至是一个东西(如果这个东西有能力生成密钥对并将其存储在数字钱包中)。

架构层:为什么DID能发挥作用?

更深入地了解为什么DID会起作用

所有公钥/私钥密码学核心的基本信任三角

13

© KEN Labs 2022

14 of 32

PKI的困境

公钥和私钥在数学上是相互绑定的,因此两者都不能被伪造。

但这两种类型的密钥都与控制器有内在的联系。

私钥必须保留给控制器(或其代理)专用,决不能透露给其他任何人。相比之下,公钥正好相反:它必须与希望与控制器安全通信的任何一方共享。

PKI最核心的难点问题

PKI的困境

公钥与私钥在PKI中的基本作用

14

© KEN Labs 2022

15 of 32

问题就在于此:

你如何将一个公钥与它的控制器强绑定,以便任何依赖该公钥的一方(依赖方)能够确定他们是在与真正的控制器打交道?

毕竟,如果你能欺骗依赖方接受控制器B的公钥,而依赖方认为它是控制器A的公钥,那么对有意图和目的敌人而言,控制器B可以完全冒充控制器A。

PKI的核心问题

如何将公钥绑定到其控制器上?

PKI的核心问题是:如何将公钥与其控制器绑定?

15

© KEN Labs 2022

16 of 32

还有一块拼图:

公钥是纯粹的数字实体,其加密的有效性可以在几毫秒内得到验证,而控制器则不然。

控制器是存在于现实世界中的真实的人、组织或事物。

因此,将公钥与控制器进行数字绑定的唯一方法是增加一块拼图:控制器的数字标识符。

真正的PKI信任三角

如何将公钥绑定到其控制器上?

真正的PKI信任三角包括一个控制器的数字标识符。

作为一个依赖方,你必须知道你在正确的时间点上拥有正确的公钥,这对你处理的任何控制器来说都是至关重要的。拼图的另一个部分是控制器的标识符,它可以与公钥绑定,这样依赖方就可以确信公钥属于控制器而不是其他人。

16

© KEN Labs 2022

17 of 32

标识符绑定问题有两个部分:

  • 你如何将标识符与控制器强绑定?
  • 你如何将公钥与标识符强绑定?

PKI的两个问题点

这就是PKI自上世纪70年代诞生以来一直在努力解决的两个问题领域

当涉及到将标识符强绑定到控制器上时,有两个问题点。

17

© KEN Labs 2022

18 of 32

标识符到控制器的绑定

对于第一个问题,传统的PKI解决方案是使用一个最合适的现有标识符,然后遵循行业最佳实践,将该标识符与控制器强绑定。

解决方案1:传统的PKI模式

第一个解决方案是用于颁发数字证书的传统PKI模型

传统的PKI使用由某种类型的证书颁发机构签署的数字证书来解决公钥到标识符的绑定问题。

这是在过去40年里发展起来的主流模式。最著名的例子可能是SSL/TLS PKI,它使用X.509证书,在使用HTTPS协议的浏览器中提供安全连接(你在浏览器地址栏中看到的锁图标)。

公钥到标识符的绑定

18

© KEN Labs 2022

19 of 32

信任网

它不依赖于集中式CA,而是依赖于直接认识对方的个人,因此可以单独签署对方的公钥,有效地创建点对点数字证书。

这就把“你信任谁?”(TTP问题)变成了“谁认识你可以信任的人,你能信任谁?”也就是说,如何发现要验证的数字证书的“可信路径”。

解决方案2:信任网模式

到目前为止,还没有人开发出一个合理安全、可扩展、可采用的解决方案来解决这个问题

关于如何构建信任网的图示

公钥到标识符的绑定

19

© KEN Labs 2022

20 of 32

公钥到标识符的绑定

  1. 它将人从循环中移除。
  2. 它也解决了标识符与控制器的绑定问题,因为只有私钥控制器可以证明对标识符的控制。

基于公钥的标识符无法单独支持密钥轮换,这有效地阻止了它们作为传统PKI的替代品被采用。

解决方案3:基于公钥的标识符

根据公钥为控制器生成一个标识符

基于公钥的标识符对标识符绑定问题采取了完全不同的方法,从公钥中为控制器生成标识符。

使用基于公钥的标识符,控制器控制着真正的PKI信任三角的所有三点,因为所有这三个值都是使用只有控制者拥有的密钥材料加密生成的。

20

© KEN Labs 2022

21 of 32

公钥到标识符的绑定

  1. 控制器根据原始公钥/私钥对生成一次原始的基于公钥的标识符DID。接下来,控制器发布包含DID和公钥的原始DID文档。
  2. 当控制器需要轮换密钥对时,控制器会创建一个更新的DID文档,并用之前的私钥签名。

解决方案4:DID和DID文档

生成一次基于公钥的标识符,然后能够在每次密钥轮换后继续验证它

控制器发布一个包含原始DID和新公钥的更新DID文档,然后用原始私钥对其进行数字签名,在DID文档之间建立一个信任链。

DID文档之间的这种信任链可以通过对原始DID文档的任何数量的更新和基于公钥的原始标识符来追溯。从本质上讲,每个DID文档都是新的公钥的新数字证书——但不需要CA或任何其他基于人的TTP来认证它。

21

© KEN Labs 2022

22 of 32

DID超出PKI范围的四个好处

DID的好处还不止于此

3

1

2

发现服务端点

4

规模化的隐私设计

监护权和控制权

DID到DID的连接

DID使我们最终能够广泛地采用基于公钥的标识符,并且仍然享有密钥轮换和传统PKI的其他基本功能,而没有这些缺点。但DID的好处还不止于此。

22

© KEN Labs 2022

23 of 32

监护权和控制权

以一个新生婴儿为例。婴儿将需要父母(或其他监护人)代表他们发出这个DID。不过,数字监护权只适用于人。

这些代表了需要第三方控制者的实体类别,这种关系被称为控制权,以区别于人类的监护权。有了监护权和控制权,我们现在可以将SSI和DPKI的好处扩展到每个可以被识别的实体。

超出PKI的好处1:监护权和控制权

在许多情况下,数字证书的注册人不是数字证书所识别的一方

一个用于识别DID主体(一个新生婴儿)的例子,该主体不是DID的控制者。

SSI数字监护是一个非常广泛、深刻和丰富的话题。

23

© KEN Labs 2022

24 of 32

三方绑定

DID控制器在DID文档中发布了一个或多个服务端点URL。

虽然这使得DID文档对许多类型的发现普遍有用,但对于发现远程建立DID-to-DID连接并通过DIDComm协议进行通信所必需的代理端点来说,它是至关重要的。

超出PKI的好处2:发现服务端点

确定如何与DID主体互动

DID、公钥和服务端点之间的三方绑定URLs.

基于DID的代理端点URL的发现对于SSI来说就像基于DNS的IP地址发现对于网络一样重要。

24

© KEN Labs 2022

25 of 32

财产

描述

永久性

除非一方或双方愿意,否则连接将永远不会中断。

私人的

连接上的所有通信都可以自动加密,并由DID的私钥进行数字签名。

端到端

连接没有中间层—从“DID到DID”是安全的。

可信的

该连接支持可验证的凭证交换,以在任何相关背景下建立更高的信任,达到任何保证水平。

可扩展的

该连接可用于任何需要通过DIDComm协议或双方代理支持的任何其他协议进行安全、私密、可靠数字通信的应用。

对等 DIDs

一种DID方法——专门为此目的而创建的对等DID。

每一个DID都代表着其控制者有机会与任何其他DID控制者建立一个即时、安全、私密的点对点连接。

更妙的是,与必须事先从CA获得的静态公钥证书不同,DID可以在新连接需要时立即在本地生成。

超出PKI的好处3:DID到DID的连接

DID-to-DID连接的五个特殊属性

无论是对等DID(默认)还是公共DID之间,DID到DID的连接都是IP信任堆栈第二层的核心。

25

© KEN Labs 2022

26 of 32

好处 3 :

  • 有了签名的数据,我们最终可以保护个人和依赖方免受我们几乎每天都读到的大规模数据泄露事件(Target、Equifax、Sony、Yahoo、Capital One)带来的损害。
  • 促使犯罪分子闯入这些数据仓库的原因是这些个人数据的价值主要是因为犯罪分子可以用它来闯入互联网上的所有账户。

好处 1 :

  • 每个成对唯一的对等DID为你和你的依赖方提供了自己的永久私有通道,将你和你的依赖方连接起来。
  • 在这个通道中,您可以通过交换由你的每个私钥签名的消息自动地(双向)对彼此进行身份验证。
  • 欺骗或钓鱼一个与你已经有联系的依赖方变得几乎不可能。

2.5 days

好处 2 :

  • 对等DID和私有通道为您提供了一种简单、标准、可验证的方式来共享签名的个人数据。
  • 对你来说,好处是方便和可控,一眼就能看出你和谁分享了什么,为什么分享。
  • 对依赖方而言,好处是新鲜的、可加密验证的、可通过GDPR审核的第一人称数据。

超出PKI的好处4:规模化的隐私设计

DID-to-DID连接的五个特殊属性

26

© KEN Labs 2022

27 of 32

语义层面:DID是什么意思?

探讨它们对SSI和互联网的未来意味着什么

3

1

2

DID网络和数字信任生态系统

4

DID能识别什么?

地址的含义

为什么DID没有人类意义

在解释了DID的工作方式和原因之后,我们现在转向理解DID的最深层次:探索它们对SSI和互联网的未来意味着什么。

27

© KEN Labs 2022

28 of 32

地址的含义

从历史角度回顾不同类型网络的地址演变

地址不是独立存在的。它们只存在于使用它们的网络环境中。

起源

地址类型

网络

之前

人名

人际网络(家庭、宗族、部落等)

~1750

邮政地址

邮政邮件网络

1879

电话号码

电话网

1950

信用卡号码

支付网络

1964

传真号码

传真网络

1971

电子邮件地址

电子邮件网络

1974

IP地址

互联网(机器友好型)

1983

域名

互联网(人类友好型)

1994

持久地址(URN)

万维网(机器友好型)

1994

网络 (URL)

万维网(人类友好型)

2003

社会网络地址

社会网络

2009

区块链地址

区块链或分布式账本网络

2016

DID

DID 网络

28

© KEN Labs 2022

29 of 32

DID网络和数字信任生态系统

DID对堆栈的每一层都是必不可少的,如下所示

发布在比特币和以太坊等公共区块链上的DID;Sovrin、ION、Element和Veres One等分布式账本;或IPFS等分布式文件系统可以作为所有高层参与者的可公开验证的信任根基。它们实际上构成了互联网信任层的基础。

默认情况下,它们是按照Peer DID规范发出和交换的成对的匿名对等DID,因此它们只存在于第2层。然而,DIDComm也可以使用来自第1层的公共DID。

DID是发行和验证数字签名的可验证凭证以及发现凭证交换协议的服务端点URL的过程中不可或缺的。

DID是发现和验证治理机构(作为法律实体)和治理框架(作为法律文件)的锚点,适用于各种规模和形态的数字信任生态系统(以及它们指定的参与者)。DID还使可验证的证书能够持续地引用其发行的治理框架,并使治理框架能够相互引用以实现互操作性。

29

© KEN Labs 2022

30 of 32

为什么DID没有人的意义?

Zooko的三角

Operators are looking to implement big data and analytics in the next 2 years

这就是Zooko的三难困境,它表明一个标识符系统最多可以实现以上三个属性中的两个。

虽然有些人认为Zooko的三角形可以解决,但大多数互联网架构师都认为,实现这三个属性中的两个要比全部三个都容易得多。

单纯的DIDs不能解决人类有意义的命名问题,事实上它们可以锚定一个有潜力的新解决方案。诀窍是在可验证的凭证层(第三层)进行。

通过为这些凭证中的名字创建可搜索的凭证注册处,我们可以共同建立一个命名层,与目前的DNS命名层相比,但语义更丰富、更公平、更可信、更分散。

30

© KEN Labs 2022

31 of 32

DID能识别什么?

DID是否将DID文档确定为一种资源?

NO!

非常准确地说,DID识别DID主体并解析到DID文档(通过遵循DID方法所规定的协议)。DID文档不是一个独立于DID主体的资源,也没有一个独立于DID的URI。相反,DID文档是由DID控制器控制的DID解析的一个工件,用于描述DID主体。

——W3C DID工作小组

"DID确定了DID主体"。这是完全正确的,不管这个主体是什么:一个人、组织、部门、实物、数字主体、概念、软件程序——任何有身份的东西。可能出现混淆的地方是DID所解析的DID文档。

31

© KEN Labs 2022

32 of 32

Pando DID: pando.network

KEN Labs Research: kencloud.com

info@pando.network

twitter.com/KenLabs_Web3

感谢您的观看!

32

© KEN Labs 2022