更新时间:2023-03-27 GMT+08:00

概述

分布式身份是一种基于区块链的分布式身份管理技术,提供用户身份的创建、可验证凭证的注册、签发、验证等功能,该特性基于W3C分布式身份(Decentralized Identifiers, DIDs)和可验证凭证(Verifiable Credentials, VC)的标准实现,为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识,有效解决跨部门、跨企业、跨地域的身份认证难和隐私泄露等问题。

本文为您介绍分布式身份(DID)管理的实现流程和使用方式。详细请参见图1图2图3图4
图1 分布式身份实现架构图

实现流程

  1. 各个角色可通过企业身份注册(带有service)和注册DID生成完全由自己控制的分布式身份,并将身份文档发布到区块链上完成身份的注册。企业用户的DID身份中可以包含其所能提供的服务信息,以支持多样的应用场景。

    主要有三种角色:签发者、持有者和验证者,其中每个角色都可以是设备、应用、个人或者组织。

  2. 具备基础的身份标识之后,通过可验证凭证架设起身份与身份之间的认证体系。凭证的模板会由相关主体注册发布到区块链上,并持续维护。持有者便可以向签发者发起认证申请,获得凭证后出示给验证者完成校验。
  3. 验证者可以通过接口验证持有者出示的“可验证凭证”,确保其是否有权限和资质开展后续业务。

使用方式

分布式身份中间件是部署在用户侧的一套微服务,简化用户调用区块链相关接口的复杂操作。因此接口调用时需要传入用户私钥和被fabric组织根证书签名的证书。

获取用户私钥和证书的方式有两种,BCS区块链管理界面下载和使用openssl工具生成,详细方法请参见获取fabric用户私钥及证书的方法

根据持有者申请可验证凭证的方式,将分布式身份服务的使用分为链外申请模式和链上申请模式。

  • 链外申请模式中,持有者将申请可验证凭证的身份/凭证数据直接发送给签发者。
  • 链上申请模式中,持有者将申请可验证凭证的身份/凭证数据加密存储于区块链。
图2 分布式身份使用时序图(链外申请模式)

链上申请模式中,根据持有者与签发者之间是否需要通信信道,分为在线申请和离线申请。

图3 分布式身份使用时序图(链上申请-在线申请模式)
图4 分布式身份使用时序图(链上申请-离线申请模式)