中钞区块链技术研究院:四大分布式数字身份架构的对比及研究
概述
数字身份伴随着计算机科学的应用而发展。
在上个世纪 50年代到 90年代,数字身份紧跟着互联网的发展而发展,它可能是 email地址、IP地址、域名,通常由不同的网络服务提供。
当互联网建立了统一的协议标准,迎来了计算机技术和互联网应用的蓬勃发展,越来越多的工作和生活线上化。数字身份演变为复杂的体系,需要一套处理认证和访问控制的业务系统。这时出于便利性的考量,大多数互联网应用的数字身份一般是用户名密码。
当互联网应用的量级剧烈增加,质的变化悄然发生。
• 互联网巨头依靠平台效应垄断市场,利用用户数据作为护城河,产生了大量价值,但用户并没有对自己的数据拥有什么话语权和价值收入。
• 由于利益驱使,围绕着用户数据发生的非法收集、数据泄露和买卖行为防不胜防,损害用户安全。
• 用户的数字身份——账号密码由服务商控制,用户租借使用,服务商可以决定账号禁用、服务终止。
• 互联网的数字身份从属于应用系统,决定了用户要重复注册很多的账号密码,而且互联网在应用层面并不互联互通,一个跨应用的业务实现难度很大。尤其对于需要用户确权操作的跨应用业务,可能需要更改整个业务架构增加跨应用的用户身份。
为解决这些问题,人们已做了大量的尝试。
隐私保护政策纷纷落地。《中华人民共和国密码法》、《中华人民共和国网络安全法》、《信息安全技术个人信息安全规范》等国家技术标准出台,明确了企业在收集、使用、保存隐私数据时所需要达到的技术效果及建议使用的标准化技术手段。国际上,被称为史上最严格的隐私保护法案《通用数据保护法案》 (GDPR)除了明确技术效果之外,更引入了巨额的罚款措施。
区块链技术带来了新的启示。作为一种新的分布式系统形态,区块链技术用哈希链的数据结构改变了电子数据易被篡改的属性,用“区块+共识算法”解决分布式系统的数据一致性问题,拜占庭容错能力保证跨实体运行的系统不受少数节点恶意行为的影响,从而解决业务层面的信任难题,有望在服务商之间搭建互联互通的协议。
在政策、技术、市场因素的共同驱动下,产生了一种新的数字身份形态——分布式数字身份,它用分布式基础设施改变应用厂商控制数字身份的模式,让用户控制和管理数字身份,通过将数据所有权归还用户从根本上解决隐私问题。它通过定义身份层协议提供跨应用的互操作性,促进应用间的互联互通,创造了一种扁平化、弹性化的数字身份模式。
1分布式数字身份基本概念和模型
国际标准化组织/国际电子技术委员会将“身份”定义为“一组与实体关联的属性”,其中“实体”定义为“操作某个特定域的相关项,具有物理或逻辑形态,包括自然人、组织、设备、SIM卡、护照、网卡、应用软件、服务或网站”。数字身份
通常由代表实体的身份标识符及与之关联的属性声明来表示,分布式数字身份包
括分布式数字身份标识符和数字身份凭证(声明集合)两部分。
分布式数字身份标识符(DID)是由字符串组成的标识符,用来代表一个数字身份,它是一种去中心化可验证的标识符,实体可自主完成 DID的注册、解析、更新或者撤销操作,不需要中央注册机构就可以实现全球唯一性。通常,一个实体可以拥有多个身份,由实体自己进行管理、维护,不同的身份之间没有关联信息,可有效避免身份信息被第三方归集。
数字身份凭证中一般包含一个或多个“声明(claims) ”。声明信息是与身份关联的属性信息,通常包括:姓名,年龄、学历、职业等等。凭证由发行者签名,可通过密码学证明是否由凭证中声称的实体签发且未被篡改,因此被称为可验证凭证。
1.1可验证凭证模型
数字身份系统的主要目的是认证数字身份所有者的身份属性,基于其身份信息提供应用系统的授权访问和服务。
基于上节中分布式数字身份的设计,可以很好地实现基于可验证凭证模型的工作流程:
凭证发行方根据身份所有者请求签署发布可验证凭证;
身份所有者将可验证声明以加密方式保存,并在需要的时候自主提交给凭证验证方进行验证;
凭证验证方在无需对接凭证发行方的情况下,通过检索身份注册表,即可确认凭证与提交者之间的所属关系,并验证属性声明的真实来源。
图1 可验证凭证流转模型
在分布式数字身份的模型中,将身份标识符的生成/维护,与身份属性声明的生成/存储/使用分离开来,有助于构建一个模块化的、灵活的、具有竞争力的身份服务生态系统。
1.2体系架构
如前所述,分布式数字身份的核心模型是分布式数字身份标识符和可验证凭证流转,核心技术是分布式账本和密码学技术,这二者的结合用以创建不可抵赖、且不可篡改的身份记录。
从实现的角度而言,分布式账本基础设施、基于 DID的交互、可验证凭证应用、治理框架组成了分布式数字身份的四层体系架构。
图2 分布式数字身份体系架构
1.2.1分布式账本
具有分布式 key-value数据存储能力的分布式账本,用作分布式数字身份标识符的注册表,只要确保身份所有者保持对其私钥的控制权,则任何第三方都无法拥有该标识符的使用权,也就无法冒充身份持有者意愿,危害其利益。
分布式账本不可篡改的特点,让它既适合用于分布式数字身份数据(标识符、公钥、通讯地址等)的发布和维护,也适合用于被多方信任的公开信息的公示和验证(如凭证发行方的真实身份信息、凭证模板信息需要被多个凭证验证方进行验证)。
1.2.2基于 DID的交互
分布式数字身份主张用户管理和控制数字身份,不同用户之间不依赖于第三方进行安全通信。通过用户自己管理的 DID标识符和密钥、注册到分布式账本的分布式数字身份数据,满足基于 DID的点对点相互认证和安全通信需要。
就两点间通信而言,其安全通信的工作原理依然是基于传统 PKI挑战响应机制和协商数据加密方式。这种安全通信的底层协议可使用 HTTP、RPC、蓝牙、NFC或其它协议,成为不同解决方案之间端到端互联互通的标准通信方式;
就全网所有节点而言,通过部署在去中心化服务器及个人客户端的身份密钥钱包,以及全网共享的 DID分布式账本,代表任意不同实体身份的节点之间都可以实现基于非对称密钥方式的认证交互,并最终通过这种实体间的信任传递实现全网信任。
1.2.3可验证凭证应用
可验证凭证应用层包括各类基于 DID交互的上层应用。数字身份应用的主要目的是认证身份属性,和基于其身份信息提供应用系统的授权访问。可验证凭证提供了一种以身份持有方为主导,连接凭证发行方和凭证验证方(应用系统),凭证发行方和凭证验证方不需要通信的凭证流转方式。
除可验证凭证流转外,将来在这层也能实现其它点对点的典型应用,如加密社交、股份转移,等等。
1.2.4治理框架
要在分布式网络中建立人类信任,需要建立业务和法律协议,这是治理框架的工作。
治理框架指管理分布式数字身份生态系统的一套决策体系。它对于在没有权利中心进行决策的生态中,有效发挥生态的作用非常重要。治理框架的主要元素包括治理角色、决策范围、决策程序,通俗的说即人、事、规则。
2分布式数字身份项目
分布式数字身份出现的历史虽短,且仍在快速演化中。通过横向比较具有代表性的一些项目特点,有助于我们更好的理解其技术本质/模式,也有助于了解其未来走向。
本研究选取的比较研究对象是 uport、sovrin、微软 DID、WeIdentity这几个具有一定时间跨度、方案特征差异性、不同场景中的代表性项目。
表1 项目概况
项目 | 历史 | 主导机构 | 设计思想 |
uPort | 2017年发布白皮书 | Consensys | 建立在以太坊区块链上的分布式身份管理应用 |
Sovrin | 2017年正式启动网络,2018年发布白皮书 | Sovrin基金会负责运营,Hyperledger Indy和Aries为实现方案 | 自我主权身份和去中心化信任的数字身份生态和网络 |
微软DID | 2019年发布试用版本 | 微软和DIF | 基于Azure云服务的DID基础设施组件和标准 |
WeIdentity | 2019年发布 | 微众银行 | 基于联盟链的可信数据交换解决方案 |
2.1项目简介
1. uPort
uPort是 Consensys推出的基于以太坊的分布式数字身份管理服务,它可以允许用户进行身份验证、无密登录、数字签名并和以太坊上的其它应用交互。uPort旨在解决普遍存在的区块链用户密钥管理问题,为用户提供持久可用的数字身份。于 2017年发布白皮书。
2. Sovrin
Sovrin是 Evernym初始开发、Sovrin基金会运营、Hyperledger孵化开源的一种用户自主主权身份和去中心化信任的协议,它致力于提供自我主权身份的去中心化的全球公共网络,该网络于 2017年 7月正式启动。
3.微软 DID
微软 DID是一套基于 Azure云服务的分布式数字身份技术架构,它公开了源代码、标准,希望实现互联互通,于 2019年发布试用版本。
4. WeIdentity
WeIdentity是由微众银行推出的基于联盟链身份的实体身份标识和可信数据交换解决方案,依托权威机构提供用户 KYC服务,并以联盟链作为各用户角色的连接中心和信息的存证中心,促进数据可信交换。于 2019年发布。
2.2架构比较
表2 项目架构对比
对比项 | uPort | Sovrin | 微软DID | WeIdentity |
分布式账本 | 以太坊 | Sorvin Ledger或其他DLT | 基于Azure云服务的多链账本 | FISCO-BCOS |
DID方法 | did:Ethr(符合W3C) | did:sov(符合W3C,并成为单独标准) | did:ion-test;did:test | did:weid(符合W3C,不具有互操作性) |
基于DID的交互 | 通过智能合约之间转发交易进行交互 | 遵循Hyperleger Aries,标准化的端到端交互模式 | Identity Hub支持基于DID和密钥的相互认证、安全通信 | 用户依赖于用户代理机构转发 |
可验证凭证应用 | 基于智能合约绑定DID和链下的身份凭证,使其成为一种新型的用户控制的“数字证书” | 遵循W3C可验证凭证数据模型 | 不提供身份认证应用,提供应用需要使用的隐私数据存储管理模块Identity Hub | 基于W3C可验证凭证数据模型的数据分享,有直接出示和链上授权两种方式 |
治理框架 | 以太币支付交易费用的公有链方式 | Sovrin治理框架 | 基于云服务的中心化治理 | 联盟链治理方式 |
2.2.1uPort
uPort是基于以太坊的分布式数字身份管理服务,它可以允许用户进行身份验证、无密登录、数字签名并和以太坊上的其它应用交互。
uPort的整体架构由智能合约、开发者库和移动 APP组成。其中移动 APP持有用户的密钥。以太坊智能合约构成身份管理的核心,包括用户的 uPort标识符管理、身份凭证的管理、以及可让用户在丢失移动设备时恢复身份的逻辑。开发者库可让第三方应用开发者把 uPort集成到他们的应用中。
1、分布式账本
uPort的底层基础设施是公有链以太坊。uPort DID方法已注册到 W3C维护的注册表。
2、基于 DID的交互
uPort智能合约设计体现了用户对数字身份的管理控制和使用。用户使用uPort DID登录其他在以太坊上注册的应用。
图3 uPort基于标识符的交互方式
标识符
其中,代理合约是用户数字身份的象征,uPort身份的核心标识符是代理合约的地址;控制合约,是代理合约的正式拥有者。控制合约维护了核心访问控制特性,包含密钥恢复和访问控制逻辑;控制合约由 uPort移动 App中安全存储的密钥进行控制。
这种设计允许用户使用密钥向代理合约自我认证,并代表代理合约行事,有利于用户在保持标识符不变的情况下替换私钥。
交互
应用 DAPP与 uPort App均使用了以太坊智能合约,代理合约可以向应用合约转发交易,并且通过这种机制,uPort身份与以太坊区块链上的其他智能合约进行交互。
3、可验证凭证应用层
uPort的身份认证应用中的用户角色包含凭证发放机构、用户、应用、uPort共四方。
uPort和凭证发布机构合作,凭证发放机构在以太坊网络上注册自己的身份,能够签署和验证数据;凭证发放机构在其应用中提供二维码信息以便于用户交互,用户使用 uPort APP扫描二维码,向凭证发放机构注册自己的 uPort ID。凭证发放机构根据业务需求按自己的方式认证用户信息,认证通过后向用户发放带有签名的身份凭证。
uPort服务通过注册合约管理 uPort ID和用户的身份凭证信息,每一个 uPort身份标识符绑定了一个相关的链下数据结构(如 IPFS),身份凭证存储在链下。注册合约扮演逻辑上中心化,物理上去中心的注册表或查找表,将每一个 uPort身份标识符映射到一个 IPFS摘要上,这个 IPFS摘要与包含了用户属性、个人数据、见证的结构相链接。只有 uPort身份的所有者(设备密钥的持有者)才有权利去修改相对应的注册入口。
用户注册新的应用时,应用通过二维码与用户交互,获取 uPort ID和应用需要的凭证。如果用户注册合约中已经存储了相应的凭证,应用从 uPort服务器获取该凭证进行验证。验证通过后,应用将 uPort ID注册为用户账户,以后用户只需要使用 uPort ID即可登录该应用。
4、治理框架
uPort没有提出新的治理框架,遵循了以太坊的治理模式,即通过以太币支付网络交易费用。
2.2.2Sovrin
Sovrin是一种用户主权身份的基础设施和全球可互操作的身份协议,它不是一种具体的解决方案,不依赖于特定软件实现,不同的解决方案实现厂商可基于Sovrin协议和基础设施搭建具有互操作性的平台。Sovrin定义了分层的、解耦合、
模块化的模型。
Sovrin基金会牵头推进了 Hyperledger Indy项目,提供基于区块链或其他分
布式账本技术的工具、代码库和模块化组件用于实现独立的数字主权身份。2019年,从 Indy项目中独立出了 Hyperledger Aries项目,用于实现其中的端到端交互。
1.分布式账本
Sovrin基金会管理了一个特定的账本 SovrinLedger,由 Stewards操作节点与 Sovrin共识协议进行通信维护,但同时 Sovrin协议可以运行在任何支持上面三层的分布式账本上,不依赖于一种特定的区块链或分布式账本技术,才能形成全球可互操作的用户主权身份网络。
2.基于 DID的交互
Sovrin支持基于 DID进行点对点相互认证和安全通信,并且在 HyperledgerAries项目中孵化一套标准化的端到端交互软件基础设施,Aries项目于 2019年提出。
Aries的功能包括:建立和使用点对点连接,发送/接收点对点协议消息,并代表模块所代表的实体执行操作。它是 Sovrin基础架构的基石,通过该模块,Sovrin实体形成连接并共享 Sovrin身份。点对点连接是两个 Sovrin实体之间关系的基本单位,由一对仅被双方实体知道的匿名标识符组成,这样可以最大限度地避免一个实体的多个标识符被第三方归集。
3.可验证凭证应用层
基于零知识证明的匿名凭证技术实现了可验证凭证,支持凭证信息的最小化披露:
支持对一个或多个凭证中的声明进行选择、组合并出示;
•凭证验证方不获得数据明文或密文,而仅获得数据的密码学验证方法,因
此也无法复用它来模拟另一个用户。典型例子是在不揭示实际出生日期信息的情况下,出示有关年龄情况的证明(如“18岁以上”)。
4.治理框架
Sovrin基金会发布了治理框架,建立用于自我主权身份的分布式网络所需的治理方法。框架定义了 Sovrin网络所有成员同意遵守的商业、法律和技术术语,并且规定了 Sovrin基金会和成员之间的法律合同。
2.2.3微软 DID
微软 DID是一套基于 Azure云服务的分布式数字身份技术架构和基础功能,让解决方案实施商可方便的在不同区块链上实现分布式数字身份整体解决方案。微软是 DIF联盟的重要成员,以标准的开源技术、协议和参考实现为主要目标。
微软 DID的技术架构包括区块链 BAAS服务、注册 DID的 Layer2方法 ION、隐私数据管理模块 Identity Hub,均以 API的形式为开发者提供服务,ION和Identity Hub还提供了开源软件。在未实现的计划中,还包括手机端的身份管理模块。
•通过区块链 BAAS服务向不同区块链注册分布式数字身份标识,可以成为广泛使用的中间层,实现 DIF的互联互通目标。
•ION方法是 SideTree协议基于比特币网络的实现,用于解决向公有链注册 DID存在的效率低下问题。
•Identity Hub为开发者提供了管理用户隐私数据的基础模块。
1.分布式账本
微软 DID的基础设施不依赖于特定的分布式账本。与 Azure区块链服务的设计思想一脉相承,微软 DID依托于 Azure云服务支持多种分布式账本协议,并且注册了基于该分布式账本的 DID操作方法,对开发者隐藏分布式账本的接入细节,提供 Restful API接口。
目前微软 DID支持以下两个 DID操作方法:
•Ion-test:注册到比特币测试网络
test:注册到微软数据库同时正在开发对以下三个分布式账本的支持:
•比特币正式网络
•通过 uport的 DID方法,注册到以太坊
•通过 Sovrin的 DID方法,注册到 Sovrin网络
在 DID注册和查询过程中,为解决公链效率低下的问题,微软和 DIF联盟的几个成员发起了 SideTree协议,构建了 L1层公链和 L2层 DID操作的分层架构:
•L2层保存了 DID操作的源数据并推送到 IPFS网络,汇聚尽可能多的 DID操作后锚定到 L1层;
•L2层的每个“节点”各自与 L1层同步,获取 Sidetree锚定交易后,拉取DID操作源数据。
图4 SideTree架构
2.基于 DID的交互 &可验证凭证应用
微软 DID中未提供完整的 DID交互和可验证凭证应用软件,由开发者根据自己需求进行设计。微软 DID主要为开发者提供了 Identity Hub模块,它的目标是为用户存储和管理隐私数据,以增强数据表达能力的“语义数据模型”实现。在DIF的认可下,已发布了第一版开源代码。
与传统的数据存储解决方案相比,Identity Hub具有去中心化的特性:
•标准化接口:Hub的实现厂商需要满足标准化的数据存取接口,包括为每个用户的 Hub注册 DID,不同用户的 Hub通过 DID标识符进行互操作。
开源:通过开源代码,鼓励开发者运营自己的 Hub。
Identity Hub支持与用户通过 DID进行点对点的安全通信,遵循 DIDAuth的相互认证和加密传输。
2.2.4WeIdentity
WeIdentity是基于联盟链的可信数据交换解决方案,它是一套基于FISCO-BCOS区块链底层平台的解决方案,也是 BCOS联盟链的应用场景。联盟链为各用户角色提供了接入中心,为数据交换提供了数据存证和验证功能。
WeIdentity中的用户角色包括凭证发行者、凭证验证者、用户代理和用户共四种,其中用户代理一般为权威可信机构,为用户 KYC并生成数字身份标识符,用户的数字身份和隐私数据托管于用户代理中。
1.分布式账本
WeIdentity基于微众银行的 FISCO-BCOS联盟链实现,其整体架构具有明显的联盟链特征。
2.基于 DID的交互
用户的数字身份标识符、个人数据均托管于用户代理中,由用户代理与凭证发行方和凭证验证方进行通信。
因此,用户与其它实体之间的通信均通过用户代理进行转接。用户代理由场景选择,一个场景中一般具有一个用户代理,这个用户代理成为一个联盟链网络中的中心转接点。
本方案中的数字身份标识符等同于联盟链中的身份合约,是一条链上的唯一标识,提供了链上行为的可验证和追溯特性。由于用户的实体身份和标识符通过用户代理机构绑定,用户行为可查可归集。
3.应用层
应用层是 WeIdentity解决方案的重点,以可验证凭证数据模型规范作为标准的数据组织方式并进行分享。其目的是借助区块链实现可信数据的交换,提供直接出示和链上授权两种方式。
1)直接出示
i.凭证发行方产生凭证,同时上链存证凭证哈希值
ii.用户通过用户代理提供的服务下载详细数据,将凭证详细数据以线上传输或线下二维码模式提交给凭证验证方
2)链上授权(适合用于用户代理也不能保存数据原文的情况)
i.凭证发行方产生凭证,同时上链存证凭证摘要
ii.用户向凭证验证方发行一个授权凭证,并上链存证授权凭证摘要
iii.凭证验证方向凭证发行方请求数据,出示用户授权凭证,凭证发行方进
行验证。
iv.验证通过后,凭证发行方与凭证验证方建立数据传输通道进行数据传输
4.治理框架
WeIdentity是基于场景落地的联盟链解决方案,治理方式也具有明显的联盟链特征。
联盟链中,新成员加入都需要进行 KYC。个人用户通过用户代理机构进行 KYC和业务接入,比如使用用户代理机构提供的身份管理工具 App;机构用户可通过部署区块链节点、或通过业务发起方提供开放平台的方式接入联盟链。
除用户代理外,系统中还有一类具有特殊权限的权威机构。链上每个WeIdentity DID持有者(包括人,机构,或者物)都可以成为凭证发行者,但只有联盟链里面的权威机构才可以注册成为 Authority Issuer。每个注册为 AuthorityIssuer的新成员需要联盟链内其他机构投票通过。
系统中还有一些联盟链的内部治理角色,如系统管理员、机构委员会等。
WeIdentity的角色权限管理通过智能合约实现,不同类型的合约角色分配不同的权限。
2.3特性比较
本研究抽取了隐私保护和跨应用互操作性这两个关键维度,对代表性项目的现状和趋势进行了分析。
一、隐私保护
隐私保护不完全等同于信息安全,信息安全强调在计算机技术层面上信息的保密性、完整性和可用性,目标在于保障授权用户能够在需要信息的任何时间点,获得保密的、没有被非法更改过的数据,是隐私保护的基础。
隐私保护的目标在于防止隐私数据被非授权的主体使用或者以一种未授权的方式使用。隐私数据的范畴包括了所有的非公开数据。对于个人来讲,隐私数据是关于自己和周边环境包括社交网络的个人数据。对于企业来讲,隐私数据是关于自己和合作伙伴的业务和其他非公开数据。
目前,已有多种技术用于分布式数字身份系统以解决隐私性问题,主要可以分为改变数据控制权、使用多个标识符和基于密码学三类。
(一)改变数据控制权是指通过改变用户数字身份数据的所有权从根本上解决隐私性问题。
绝大多数分布式数字身份项目主张自我主权身份,自我主权身份意味着用户是身份管理的中心,包括使用、授权和存储等各个环节。
用户将身份信息、密钥和其它数据存储在自己的设备上,而非互联网公司的服务器上。如此一来,所有数据都始终掌握在个人手中,可以随时新增或删除数据,授权或取消给他人读取或写入数据。用户不需要以牺牲个人隐私、牺牲个人数据自主权的方式,来交换互联网公司提供的免费服务。基于这个目的,用户对管理身份、存储数据的软件服务应具有选择权,软件运营商应提供可移植性以便用户迁移。
(二)使用多个标识符指不同场景使用新的身份标识符,使攻击者难以分析标识符和用户实体之间的联系,从而避免用户信息的归集。
(三)基于密码学的技术依靠密码学中的同态加密、零知识证明等技术,在敏感信息不外泄的基础上实现系统功能。密码学技术主要用于应用层可验证声明数据模型和数据存储软件中。
各项目使用了几种隐私保护技术的集合:
表3 项目隐私保护特性对比
uport | Sovrin | 微软DID | WeIdentity | |
改变控制权 | 提倡自主主权身份,为用户提供了个人身份钱包客户端以便管理控制数字身份标识符,和自己链下的身份凭证。 | 提倡自主主权身份,为用户提供了个人身份钱包客户端以便管理密钥、点对点连接、可验证凭证,提供云代理服务作为客户端和区块链的中间层;个人身份钱包客户端和云代理服务应满足可移植性 | 提倡用户自主控制数据;提供去中心化特性的基础设施,Identity Hub的标准化接口已提交DIF等标准制定组织,并且通过开源鼓励开发者自己运营。 | 依赖于用户代理对个人、企业用户进行KYC、生成链上ID并托管私钥和可验证凭证。隐私信息的控制权在于用户代理机构。 |
多个标识符 | 无 | 除发证方、应用方需要公示的身份信息外,其余标识符均不上链,仅在交互双方间共享,每一对新的交互主体产生一对新标识符 | 无 | 无 |
基于密码学 | 比较简单,可以对注册合约中的特定属性单独加密,但其结构仍然可见。存储在IPFS中的数据存在泄露风险。 | 基于零知识证明的匿名凭证技术实现了可验证凭证,支持最小化披露。凭证验证方不获得数据明文或密文,而仅获得数据的密码学验证方法。 典型例子是在不揭示实际出生日期信息的情况下,出示有关年龄情况的证明(如“18岁以上”) | 在用户隐私数据的管理软件Identity Hub中,设计了数据加密功能(未上线),目标是用端加密数据,Hub不知道明文。 | 基于哈希算法实现了可验证凭证,用户出示可验证凭证时可选择凭证中字段,支持最小化披露。与sovrin匿名凭证技术的区别是,凭证验证方获得字段明文信息,不支持范围证明。 |
二、跨应用互操作性
提供跨应用互操作性目的是为了促进应用间的互联互通,解决互联网信息孤岛、跨应用合作困难的问题,以及在未来获得非线性增长的能力。
一种方案是否有助于促进互联互通和它是否支持标准化建设、适用范围和应用增长速度这三个方面都有着重要关系。
(一)标准化建设
分布式数字身份研究时间不长,但发展迅速,也已从最初的单一项目、单一技术研究进入到超大型技术公司为主导的标准化研究进程。分布式数字身份中的关键数据的组织形式,如分布式标识符(DID)及可验证凭证(verified credentials)规范已由国际化标准组织 W3C牵头制定中。
(二)适用范围
适用范围指一个方案可以使用的边界和适合应用的场景,它决定了一个方案能达到互联互通的上限。
(三)应用增长速度
以 HTTP协议为例,一个最终被广泛应用的协议不一定是最优秀的,和营销、发展速度也有关。若能形成网络效应可以获得超线性的增长速度。
一方面,网络协议具有网络效应,随着越来越多的人使用,对用户会更有价值。另一方面,凭证发行方和凭证验证方具有典型的双边网络效应,任何一组用户的增加会增加对另一组用户的需求。
表4 项目跨应用互操作性对比
项目 | uPort | Sovrin | 微软DID | WeIdentity |
标准化建设 | 遵循W3C DID规范 | 遵循W3C DID、可验证凭证规范,DKMS规范,DIDAuth规范,开发标准化的端到端交互模块 | 遵循W3C DID规范,DIDAuth规范,制定SideTree、Identity Hub规范并开放源码 | 遵循W3C数据规范 |
适用范围 | 以太坊生态内 | 支持Sovrin协议的各种分布式数字身份解决方案 | 支持DID规范、DIDAuth规范的各种解决方案 | 需加入联盟链,不开放 |
适用场景 | 应用单点登录 | 用户主权的身份验证、基于点对点的任何场景 | 广泛 | 数据交换 |
应用增长速度 | uPort需要和凭证发布机构合作以提供更多的凭证,工作量较大 | 通过Steward启动分布式网络;应用层需考虑凭证发行方和凭证验证方的引入策略 | 本质上提供云服务,对网络效应的依赖不大 | 场景式落地,不依赖于网络效应,不形成网络效应 |
3 分布式数字身份应用案例
目前在W3C的DID注册表中已注册了50多个项目,这些构建在分布式基础设施上的数字身份项目都统称为分布式数字身份,而通过上一章我们也看到不同项目的差异性非常大。在应用落地的过程中,通常针对不同场景中的不同需求采取了不同的实现方案。通过这些应用案例的分析,有助于我们理解不同分布式数字身份方案的价值。
3.1 VON
VON全称Verifiable Organization Network,即可验证企业网络,是Sovrin协议的开源项目Hyperledger Indy的应用。由加拿大的哥伦比亚省政府发起,目前已在哥伦比亚省和安大略省公开商用,为企业签发了数百万个可验证凭证。
作为政府,关心如何为企业提供优质服务、以及提高整体经济活力。相比个人应用来说,企业在线上的商业应用非常少,几乎只有商品交易和广告,因此线上经济具有强大的潜力。线上经济最大的挑战还是对企业数字身份的认证和识别,政府拥有绝大多数企业所需的数字身份的认证能力,但传统的数字身份方案从属于应用,且数字身份易被黑客攻击和窃取,难以让企业数字身份产生可信和具有规模的跨应用使用,从而带来最大的经济活力。
应用了Hyperledger Indy后,用户自主控制的特性增加了身份窃取和伪装的难度,加上可验证凭证流转提供了可信的数字身份属性,为企业提供标准化可验证的数字身份,将政府的高可信属性传递给企业,减少社会总体信任成本。
由于政府是天然的凭证发行方,在既没有凭证发行方/验证方、也没有企业身份所有者来接收和存储凭证的情况下,哥伦比亚省政府选择了“构建企业公开信息注册表(“OrgBook”),引入凭证发行方”的策略。即由可信机构运营企业凭证的公开注册表OrgBook,接收凭证发行方发出的企业凭证,并向个人和企业提供企业信息的搜索和验证。因此在当前阶段,VON仅支持企业公开信息的签发,不支持隐私场景。将来,通过企业自己管理数字身份数据,凭证发行方可将隐私数据签发至企业自己。
针对凭证发行方/验证方,VON提供便利、个性化的接入方式以完成快速对接,具体包括监控凭证发行方数据源并向Indy agent批量推送发证数据、以及通过OrgBook提供的API验证企业凭证以确认企业是否拥有申请某凭证的前置条件。
图5 VON方案架构
VON是一系列生态系统,每个生态系统均由一个司法管辖区域运营,一般由一个OrgBook和围绕着OrgBook的一组凭证发行方/验证方Agent组成。按照VON的设想,以及按照标准化端到端交互模块的实际实现,多个生态系统之间可以互相连接,以形成跨区域的可验证组织网络。
分布式数字身份在VON项目中的应用带来了以下特性:
一、可信数据
基于匿名凭证技术实现的可验证凭证,由密码学保证了凭证的发行方和凭证的接收方真实可信、凭证内容未被篡改、以及凭证未被撤销,能够成为企业的可信基础,并提供离线验证特性,即凭证验证方无需联系凭证发行方,通过分布式账本和密码学技术即可验证数据的可信。
二、易于扩展
VON遵循Sovrin协议,在Hyperledger Indy的基础上实现,目前一直在持续地产品化和模块化,未来能兼容Hyperledger Aries标准。因此VON网络非常易于扩展,形成跨区域跨应用的可验证组织网络。
3.2 澳门智慧城市
澳门智慧城市建设的“证书电子化”项目中应用了WeIdentity方案。
早在2005年,澳门特别行政区就制定了《个人资料保护法》,规定了以公开、透明以及尊重资料当事人意愿的原则处理个人资料,设置了严格的安全保护措施。比如机构向当事人收集个人资料,无论通过哪种途径、用于何处、交由其它机构,都必须告知当事人并取得同意。
在用户求职等场景中,求职企业需要验证个人用户的毕业证书、职业证书等凭证。由于政府机构也受到上述法律法规的约束,不能随意收集用户数据,因此澳门没有类似于学信网这一类政府运营、提供公开服务的第三方机构,企业必须通过联系不同的凭证发行方才能验证真伪。
WeIdentity方案主要通过区块链提供的存证功能解决凭证验证问题。凭证发行方和验证方都通过区块链节点接入网络,凭证发行方将个人资料的密码学摘要作为可验证凭证发布上链,凭证验证方收到个人资料后向区块链查询真伪。在这过程中不需要第三方存储和收集个人资料明文信息。
在该项目中,澳门特别行政区身份证明局承担了用户代理的角色。身份证明局是由行政法务司监督,辅助澳门特别行政区行政当局在民事与刑事身份认别及旅行证件的行政机构,本就具有对个人用户KYC的能力与职责;澳门生产力中心、澳门理工大学等机构承担了凭证发行方角色;澳门电讯等企业承担了凭证验证方角色。
分布式数字身份在澳门“证书电子化”项目中的应用带来了以下特性:
一、可信数据
WeIdentity方案中,可验证凭证以摘要形式存证在区块链上,任何人可根据数据原文验证可验证凭证的内容未被篡改。
二、隐私保护
基于属性分片进行摘要算法实现的链上可验证凭证,支持凭证验证方对其中部分属性进行验证,从而支持用户只向凭证验证方出示部分属性。这通过使用一种比匿名凭证技术更加简单的方式实现了部分匿名凭证的功能,匿名凭证技术的优势在于不需要向凭证验证方出示属性明文,而仅出示属性的密码学证明。
三、场景式落地
用户代理是方案中的控制中心和数据中心,托管了用户密钥和可验证凭证。因此实际上用户不具有对自己数据的控制权。由于联盟链的本质和中心化管理方式,不同场景之间不需要进行连通,可根据不同场景进行定制化开发。
3.3 更多
本文中提到的4个项目仅是分布式数字身份蓝图中的一小部分,更多项目已在全球各地产生和应用。
一、ShoCard
ShoCard是较早尝试分布式数字身份管理的项目,它利用分布式账本为用户绑定标识符和现有的可信凭证(如护照、驾照),记录验证历史,为用户提供分布式的可信身份。
ShoCard的典型应用是与SITA航空合作的旅行认证解决方案。人们在跨国旅行时,在机场安检的过程中要不断出示护照、登机牌、面部核验等信息,这些信息组成的数字身份是个人与身份验证方互动的关键。
旅行者使用移动终端对身份证件拍照,将元数据加密存储在本地,将可验证信息存证于区块链,当用户出示证件进行验证时,身份验证方除了验证物理证件,还可验证区块链记录。如果验证通过,身份验证方请求ShoCard成员管理服务器生成认证证书。认证证书存储在用户终端,同时在区块链存证。以后可用于提供给有相同要求的身份验证方。
ShoCard实践较早,应用广泛。包括:与多家银行合作将用户KYC信息作为可信凭证发送给用户,以便银行在不查询其它金融机构数据库的情况下授权客户,减少重复KYC流程;为繁忙的医护人员提供胸牌安全凭证,对于与多个医疗保健机构签约的医疗工作者可以在不需要中心化身份的情况下访问多家机构的资源。
ShoCard作为一个早期方案,在适用范围、隐私保护上均有所欠缺。其用户数字身份由身份提供方创建,只能在相应的生态系统内使用。而成员管理服务器的存在,可以关联用户与身份验证方的关系,也造成了用户使用的不确定性——当公司不存在时,用户将无法使用已获得的证书。
ShoCard的价值主要是创新性的提出了技术思路,即在个人终端存储密钥和凭证等个人数据,以区块链作为去中心的交换承诺而存在,不存储敏感信息,保证信息的可信和完整。其它较早期的分布式数字身份方案均在此共识基础上加入创新,包括Civic、IDHub等等。
二、IdentiCAT
2019年9月,西班牙加泰罗尼亚自治区政府宣布启动用户主权的分布式数字身份项目IdentiCAT,这是欧洲第一个开放的数字身份。IdentiCAT提倡用户控制自己的数字身份和相关数据,构建在分布式账本基础上,居民通过自己的软件管理数字身份,维护隐私。它遵循欧盟的eIDAS规范,因此可在欧盟的所有国家使用。在该项目中,政府不收集数据,主要承担项目保障的角色,为居民、企业提供工具和可信赖的法律框架。
趋势与展望
相比传统数字身份系统,分布式数字身份具有隐私保护、可控安全、持久可用等特点,基于属性的授权访问方式能够更好的支持开放环境下灵活的访问策略。短短几年时间,已取得了丰富的规范和技术标准化研究成果。随着标准化成果的继续拓展,未来越来越多的应用可方便、安全的切换到分布式数字身份基础设施上来,形成互联互通的互联网身份网络。
参考文献:
[1] W3C. Decentralized Identifiers (DIDs) v1.0 [EB/OL]. [2020-04-08]. https://w3c-ccg.github.io/did-spec/
[2] W3C. Verifiable Credentials Data Model 1.0 [EB/OL]. [2020-01-15]. https://w3c.github.io/vc-data-model/
[3] Christopher Allen. The path to self-sovereign identity [EB/OL]. [2016-04-25]. http://www.lifewithalacrity.com/previous/.
[4] Oskar Van Deventer. Self-sovereign identity-the good, the bad and the ugly; May 2019 [EB/OL]. [2019-05]. https://blockchain.tno.nl/blog/self-sovereign-identity-the-good-the-bad-and-the-ugly/
[5] Web of Trust. [EB/OL]. [2020-04-09]. https://github.com/WebOfTrustInfo/rwot6-santabarbara/blob/master/final-documents/did-auth.md
[6] Web of Trust. [EB/OL]. [2020-04-09]. https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/final-documents/dpki.pdf
[7] ConsenSys. [EB/OL]. [2020-04-09]. https://www.uport.me/
[8] Dr. Christian Lundkvist, Rouven Heck, Joel Torstensson, Zac Mitton, Michael Sena. UPort: A Platform for Self-Sovereign Identity [EB/OL]. [2017-02-21]. https://blockchainlab.com/pdf/uPort_whitepaper_DRAFT20161020.pdf
[9] Sovrin. Sovrin: A Protocol And Token For Self-Sovereign Identity And Decentralized Trust [EB/OL]. [2018-01-16]. https://sovrin.org/library/sovrin-protocol-and-token-white-paper/
[10] Nathan George. Hyperleger Aries Proposal [EB/OL]. [2020-04-09]. https://wiki.hyperledger.org/display/HYP/Hyperledger+Aries+Proposal
[11] Microsoft. Decentralized Identity: Own and control your identity [EB/OL]. [2020-04-09]. https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2DjfY
[12] The Sidetree Protocol: Scalable DPKI for Decentralized Identity [EB/OL]. [2020-04-09]. https://medium.com/decentralized-identity/the-sidetree-scalable-dpki-for-decentralized-identity-1a9105dfbb58
[13] WeBank [EB/OL]. [2020-04-09]. https://fintech.webank.com/weid/
[14] About Verifiable Organizations Network (VON). [EB/OL]. [2020-04-09]. https://vonx.io/about/
Scan QR code with WeChat