分布式数字⾝份《DIDA⽩⽪书》
1 ⾏业现状
wrong number
分布式数字⾝份诞⽣之前,⼈们的⾝份信息其实或多或少已经数字化,但数字化不意味着⽹络化、可信任,以及可以便捷且合法合规的互联互通。
1.1 现有数字⾝份的痛点
互联⽹应⽤的数字⾝份以⽤户名密码为主,并结合KYC完成实名认证。⽤户要重复注册账号密码。
gossip girl 下载互联⽹业务在应⽤层⾯并不互联互通,⽤户跨应⽤的确权操作需要更改整个业务架构。
互联⽹巨头依靠垄断市场,利⽤⽤户数据产⽣了⼤量价值,但⽤户⽆法掌控利⽤⾃⼰的价值数据。
综上所述,归结为三个问题:
重复认证的问题
多⾝份体系在浪费资源的同时,也存在诸多数据共享和使⽤上的障碍,不同企业主体间的数据信息分别存储,⽆法综合利⽤。
promi⾝份数据隐私与安全问题
⽤户⾝份信息散落在各个企业级的⾝份认证者⼿中,多⽅认证难免会引起⽤户的数据泄漏,产⽣⽊桶短板效应问题。
中⼼化认证效率和容错性问题
传统的 PKI 系统中数字证书是认证的核⼼,由权威的 CA 机构签发的中⼼结构可能存在性能问题,另⼀⽅⾯,单中⼼的结构容易使其成为攻击的⽬标,⼀旦上级CA机构被攻破,则与之相关联的下级CA 也会受到牵连。
1.2 分布式数字⾝份整体架构
分布式数字⾝份,它⽤分布式基础设施改变应⽤⼚商控制数字⾝份的模式,让⽤户控制和管理数字⾝份,通过将数据所有权归还⽤户从根本上解决隐私问题。区块链技术⽤哈希链的数据结构改变了电⼦数据易被篡改的属性,⽤“区块+共识算法” 解决分布式系统的数据⼀致性问题,拜占庭容错能⼒保证跨实体运⾏的系统不受少数节点恶意⾏为的影响。
分布式数字⾝份⼀般采⽤多层框架,如下图是⼀种典型的分布式数字⾝份三层架构。
hardwareid
分布式账本层丝瓜的英文
分布式账本层是整个⽅案的基础设施,提供了对 DID ⽂档(DID Document)以及其他需要分布式存储内容的数据存储锚定。 DID ⽂档内最关键的是DID 与公钥的对应关系。
DPKI⽹络层
DPKI ⽹络层对上层提供了统⼀的 DID 解析服务,即DID Resolver,此服务可以同时对接不同的DID⽣态,保证DID⽣态间的互认。
DPKI节点会把上层的DID相关的操作打包,创建⼀个链上交易,并在交易中嵌⼊该操作批次的哈希,从⽽提⾼系统的整理处理性能。使⽤DPKI节点也可以隔离上层业务对底层区块链存储的差异性,对业务层和存储层进⾏解耦。
可信交换层
可信交换层是 DID 系统中各个⽣态参与⽅互相建⽴安全⾝份认证与数据交换层,从⾓⾊上⼀般会分为⽤户、发证⽅、验证⽅等。⽤户通过⽤户代理)注册链上⾝份获得 DID,并依托 DID 向发证⽅申请各类可验证凭证,最终向验证⽅提供 DID和可验证凭证完成验证流程。
2 W3C DID协议与规范
万维⽹联盟(W3C)推动中的分布式标识符(DID)和可验证凭(Verifiable Credential)规范, DID 规范和可验证凭证规范分别定义了代表实体的⾝份标识符及与之关联的属性声明,其共同⽀撑了分布式数字⾝份基础模型,可验证凭证流转模型的有效运转。
2.1 DID(Decentralized ID)
分布式标识符(DID)的两个⽤途,
⽤标识符来标识 DID主体(⼈员,组织,设备,密钥,服务和⼀般事物)的特定实例。
促进实体之间创建持久加密的专⽤通道,⽽⽆需任何中⼼化注册机制。它们可以⽤于诸如凭证交换和认证。
DID 的定义具有以下形式: “did:” + <did - method> + “:” + <method 特定的标识符>
did - method:通常是实现并注册了特定DID操作⽅法的⼚商名称的缩写
method特定的标识符:通常是 URL 或 URI 标识符。
DID 解析器允许将 DID 作为输⼊,并返回 DID Doc 的相关元数据,该元数据遵循诸如 JavaScript Object Notation(JSON)
DID Doc是⼀个通⽤数据结构,它包含与 DID 验证相关的密钥信息和验证⽅法,提供了⼀组使 DID 控制者能够证明其对 DID 控制的机制。根据 W3C 的规范定义。
Doc 由以下标准元素组成:
统⼀资源标识符(URI),⽤于标识允许各⽅阅读 DID ⽂档的术语和协议
标识 DID ⽂档⾝份主体的 DID
⽤于认证,授权和通信机制的⼀组公共密钥
⽤于 DID 的⼀组⾝份验证⽅法,以向其他实体证明 DID 的所有权
针对 DID 的⼀组授权和委派⽅法,以允许另⼀个实体代表他们进⾏操作
服务端点集,以描述在何处以及如何与 DID ⾝份主体进⾏交互
创建⽂档的时间戳记[可选]
⽂档上次更新的时间戳[可选]
完整性的密码证明(例如,数字签名) [可选]
苏州夏令营
2.2 Verifiable Credential
分布式数字⾝份标识符(DID)并未附加与该数字⾝份实体相关的现实世界属性,因此不是⼀个完整的数字⾝份表达。可验证凭证(verifiable credential)规范定义了可在实体之间交换的凭证格式,⽤以提供对于实体的属性说明。
可验证凭证是由发⾏⼈签名加密的防篡改凭证,凭证通常由⾄少两组信息组成。
可验证的凭证本⾝,包含凭证元数据和声明。
数字签名。
大连交通大学怎么样为了增强隐私保护,规范还定义了可验证表述(verifiable prentation),⽤于证明实体在特定场景下的⾝份⾓⾊属性。可验证表述是⼀种防篡改的描述,它来⾃⼀个或多个可验证凭证,并由披露这些
凭证的主体⽤密码签名。⽆论是直接使⽤可验证凭证,还是从可验证凭证中获得的数据构造⾝份证明, DID ⾝份证明都将以可验证表述(verifiable Prentation)的⽅式进⾏出⽰。可验证的描述通常由以下内容组成:
唯⼀标识描述(prentation)的 URI
标识对象类型的 URI
从中推出(描述)的⼀个或多个可验证凭证(credential)或数据
可验证表述(prentation)的创建者 URI(例如 DID)
⾝份主体的密码证明(例如,数字签名)
可验证表述的数据格式可以进⾏密码验证,但其本⾝并不包含可验证凭证。
可验证凭证⽀持与⾝份持有者所关联的属性信息基于密码学⽅式进⾏签发与验证,从⽽确保凭证的权威性、和隐私保护性。可验证凭证同时⽀持可撤销能⼒,凭证的创建者负责通过撤销机制撤销已经发出的凭证,验证⽅则相应需要具有灵活⾼效地验证凭证是否已处于被撤销状态的能⼒。
3 分布式数字⾝份的⽀撑体系
分布式数字⾝份凭证的发⾏,呈现和验证是在⼀系列协议和技术中进⾏的。相关栈包括四层:分布式账本层、代理层、凭证交换层、治理层。对⽤户来说,⾃底层向上分别需要分布式账本提供⾝份注册,代理软件(服务)提供所有者⾝份管理和实现与他⼈通信,凭证⼯具提供凭证流转和验证功能。
3.1 分布式账本
分布式⾝份基础设施需置于分布式信任的环境中,⽽不属于任何单⼀组织所控制的环境中,主权⾝份 DID 锚定于分布式账本,以避免被特定中⼼化服务所掌控。考虑分布式账本专门⽤于⽀持⾝份交易,应具有以下⼏个重要属性:
可公开访问,尽可能⼴泛的范围⾥部署分散节点⽹络
可信验证,分布式账本能够⽣成状态证明,客户端不必下载和访问整个分类账
操作成本低廉,账本访问应尽可能便宜,以覆盖更⼴泛的⽹络受众
不可重新分配,DID 是永久性,持久性和不可重新分配的
可解析,DID 解析是指在 DID 账本中查找特定 DID Doc 的操作
3.2 ⾝份代理
分布式数字⾝份系统中代表⾝份所有者执⾏⾃主权⾝份相关的数字权益的“数字代表” 软件被称为代理组件。代理基于 DKMS 标准存储、管理、以及使⽤密钥和凭证。
代理软件通常包括客户端代理和服务器端代理。少儿英语学习网站
客户端代理主要加载在⽤户的智能⼿机、汽车、笔记本电脑等终端设备上,终端设备具有私有属性,终端代理主要⽤来管理⽤户⾝份私钥,个⼈秘密,以及本⼈⾝份凭证等;
服务器端代理实现了可寻址的⽹络端,主要⽤来为其客户端代理提供以下服务:持久的 P2P 消息服务;协调⾝份所有者的多个客户端代理;加密数据存储与共享;⾝份所有者密钥的加密备份等。
大量英文
所有密钥和凭证存储在钱包中。代理可以关联钱包。
代理与代理之间实现交互连接、凭证请求,以及凭证验证等交易,不需要第三⽅。
3.3 凭证交换
凭证交换主要解决以下问题:
确定发⾏⽅的代理如何向凭证持有者发布凭证
凭证验证者如何向凭证持有者请求信息
凭证持有者如何从其凭证中提取证明使验证者信任
凭证交换的核⼼是密码学技术,主要⽤于证明可验证凭证或可验证表述中的信息完整性与真实性。凭证持有⼈可以使⽤零知识证明(ZKP)以最少的披露共享来⾃多个凭证的信息。
3.4 ⾝份数据中⼼
⾝份数据中⼼是连接在⼀起并链接到给定实体的链外加密个⼈数据存储。它们可以⽤于安全地存储⾝份数据(直接在⽤户设备上或在⽤户指定的云存储服务上),并在所有者批准此类共享时进⾏细粒度分享。
⽤户的个⼈设备,特别是移动端设备在数据存储⽅⾯有容量限制,可能导致⽤户的客户端代理在进⾏本地凭证存储时⽆法保存全部的个⼈凭证记录,这种情况下,可以考虑使⽤分布式存储对⽤户凭证进⾏云端托管。
DIF 发起 ID-hub 协议和开源软件⼯程⽀持在云服务上提供安全的⾝份隐私数据存储。
4 领域应⽤场景和案例
WeIdendity + FISCO BCOS联盟链的应⽤,澳门政府基于 WeIdentity ⽅案推出了证书电⼦化项⽬,实现安全⾼效的跨机构⾝份标识和数据合作,提升澳门居民的服务体验。
澳门居民通过进⾏实名认证后,⽤户代理会为其⽣成独⼀⽆⼆的 WeID,并由⽤户⾝份验证服务提供⽅为⽤户基于此 WeID ⽣成⽤户的KYC Credential。⽤户访问接⼊证书电⼦化项⽬的联盟链上的其他机构时,只需出⽰⾃⼰的 WeID 及 KYC Credential,便可认证⾝份并执⾏业务。若出现⽤户丢失了本地存储的电⼦凭证,证书验证⽅可以通过机构后台,在获取⽤户链上授权的基础上,通过区块链连接证书发⾏⽅后台并拉取Credential 原⽂。
grayvee其他区块链技术请关注公众号(区块链技术空间)