工业互联网标识解析:建设与应用
上QQ阅读APP看书,第一时间看更新

2.1.1 DID

DID是一种新型的标识符,最早在2015年互联网身份论坛(Internet Identity Workshop,IIW)中出现,具有自主可控、永久存在、加密可解析等特征,可用于数字身份、数字资产管理、政务等多个场景。

1.DID方案认证流程

DID通常与加密材料(如公钥)和服务端点相关联,以建立安全的通信信道。DID对于任何受益于自管理、加密可验证的标识符(如个人标识符、组织标识符和物联网场景标识符)的应用程序都很有用。例如,当前W3C可验证凭据的商业部署大量使用DID来标识人员、组织和事物,并实现许多安全和隐私保护保证。W3C的DID标准下的DID系统主要包括以下层次要素:① 基础层,为DID规范(包括标识符和文档);②应用层,为可验证声明(Verifiable Claims, VC)。

标识符,是一个全局唯一的表示身份的东西,类似人的身份证号码。DID的标识符格式如图2-1所示。

文档,包含DID的授权内容及DID授权的服务类型等。DID文档中不直接包含任何个人信息(姓名、地址、电话等)。

图2-1 DID的标识符格式

DID系统结构是一个全局键值对数据库,这个数据库是DID兼容的区块链,或者DID兼容的分布式账本,或者DID兼容的去中心化网络(这个数据库的位置就是标识符格式中的“example”字段,目前已经有43种合法地址)。在这个数据库中,标识符是键,而文档是值。

VC,是对用户发起的信息进行验证,验证的结果只是给出一个是或否的回复,并不包含用户具体的信息,这样能保证信息最小泄露。

DID方案的技术基础框架如图2-2所示,包含以下组件:DID、去中心化系统、用户代理、全局解析器、DID证明、身份中心、去中心化应用和服务。

DID:由用户独立于任何组织或政府创建、拥有和控制的身份标识。根据W3C制定的标准,DID是全球惟一性的标识符,与去中心化公钥基础设施(DPKI)元数据链接。元数据由包含公钥材料、身份验证描述符和服务端的DID文档组成。

去中心化系统(如区块链和分布式账本):DID的可行性最终需要建立在去中心化系统之上,区块链技术为此提供了DPKI所需的机制和功能。这也是区块链技术出现后,DID才真正在技术上变得可行。

用户代理:帮助创建DID,管理数据和权限,并签名/验证与DID链接的声明。类似钱包的功能,可以作为管理DID和相关数据的用户代理。

全局解析器:利用一组DID驱动提供一个标准方法来跨越去中心化系统查找和解析各种DID的实现。例如did:abt,其中的abt表明这是由ArcBlock提供的DID,因此通过全局DID解析就能定位到DID的技术提供方。这是各家的DID可以互联互通的关键之一。

图2-2 DID方案的技术基础框架

身份中心:个人数据加密存储的可复制网格,由云和边缘实例(如移动电话、计算机或智能扬声器)组成,便于身份数据存储和身份交互。

DID证明:DID签署的证明基于标准格式和协议。它们使身份所有者能够生成、呈现和验证声明,这构成了系统用户之间信任的基础。

去中心化应用和服务:与个人身份数据存储中心相结合的DID,可以创建全新的应用和服务,它们在用户身份中心存储数据,并在授权范围内进行操作。

2.编码方案

以W3C规定的DID编码方式为规范,生成DID步骤如下:

步骤1 公钥=secp256 k1(签名算法){密钥},根据私钥使用secp256 k1签名算法生成公钥。

步骤2 二进制DID字符串=sh256(哈希){DID角色类型+公钥},DID角色类型和公钥结合的哈希作为二进制DID字符串。

步骤3 标识符=base58_btc(IPFS编码类型){二进制DID字符串},使用base58_btc对上述二进制DID字符串进行重新编码时曾称为标识符。

步骤4 组装生成,did:xty:标识符。

例如,某abt的DID为did:abt:zNKtCNqYWLYWYW3 gWRA1 vnRykfCBZYHZvzKr。

DID角色类型代表DID是应用程序、个人还是设备等,可选择的DID角色类型见表2-2。

表2-2 DID角色类型

3.参与角色

方案的参与角色包括,实体、凭证、授权、认证。

实体对象(设备、机构或个人)拥有链上ID,可申请凭证并授权相关机构使用自己的身份数据。

凭证:每个标识对应一个身份文档,其中包含公钥信息、认证信息、授权服务信息等。实体通过私钥的数字签名管理文档,证明自己拥有且能够控制、管理该身份标识。

授权:为实体提供基于身份授权功能。一个数字身份可以授权多个秘钥进行验证签名,从而更灵活地匹配实际业务场景的需求。

认证:分布式认证管理系统具备更好的可扩展性,由于数字身份在区块链中存储,每个参与方都可以在不依赖中心机构或第三方的情况下进行身份验证,从而实现了DPKI体系。

对应上述参与角色的参与要素有,标识、用户代理、凭证发行方、凭证验证机构。

标识:为实体(设备、机构或个人)生成唯一的数字身份标识。

用户代理:为用户生成链上ID及提供KYC服务,一般为权威可信机构,实体通过该机构与链上身份或数据进行交互。

凭证发行方:对数据进行发行和认证的机构或个体,权威机构发行的数据具备权威性,个体发行的数据不具备权威性,权威机构的认定取决于具体应用场景及参与者角色。

凭证验证机构:使用数据的机构,可验证数据是否被篡改,是否经过凭证发行方认证。

4.发布声明方案

发布声明方案的过程如图2-3所示。用户使用客户端注册数字身份账户,客户端向凭证发行方发出身份认证的请求。凭证发行方可以是政府机关、大学、银行、第三方认证服务机构(CA机构)或生物识别科技公司。凭证发行方根据提供的用户信息进行身份认证后,发布DID认证声明,将声明发回给客户端。第三方机构作为代理节点生成用户ID,并将DID文档存储在星际文件系统(IPFS)内容寻址存储系统,DID文档的寻址哈希上链存储。当DID验证机构或应用需要验证用户身份时,向客户端发送请求,客户端发布DID授权声明给应用方,将信息授权给机构使用。

图2-3 发布声明方案的过程

5.解析方案

DID声明的解析过程如图2-4所示。DID验证机构向代理节点发出请求解析DID声明,代理节点从区块链上查询DID文档的寻址哈希,得到文档的地址后,再向IPFS发送请求,通过文档的地址从IPFS读取DID文档。

图2-4 DID声明的解析过程

6.VAA方案

2020年6月23日,我国研究机构中国信息通信研究院获得国际组织“自动识别与移动技术协会(AIM)”授权,成为与国际物品编码协会(GS1Global)、美国电气和电子工程师协会(IEEE)、万国邮政联盟(UPU)等大型国际组织并列的国际发码机构,代码为“VAA”,具备全球标识编码分配能力,为推动我国工业互联网国际化发展打下良好基础。2020年8月7日,VAA方案成功纳入万维网联盟(W3C)分布式标识(Decentralized Identi-fier, DID)规范注册表(见图2-5)。

图2-5 W3C分布式标识规范注册表中的VAA方案

VAA方案是由中国信通院自主开发的一套标识生成方案,其目的是利用智能合约实现标识的分配、生成过程,同时借助去中心化的分布式账本或区块链技术储存数据,以保障信息的公开透明、可追溯性。VAA方案基于“星火·链网”区块链新型基础设施,提供了一种新的标识分配思路。与传统标识不同的是,VAA方案融合了集互联网域名、工业互联网标识等不同的编码结构与编码方案,将复杂的编码注册、分配等过程通过智能合约统一实现并服务于大众。