
# 概述
分布式身份是一种基于区块链的分布式身份管理技术，提供用户身份的创建、可验证凭证的注册、签发、验证等功能，该特性基于W3C分布式身份(Decentralized Identifiers, DIDs)和可验证凭证(Verifiable Credentials, VC)的标准实现，为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识，有效解决跨部门、跨企业、跨地域的身份认证难和隐私泄露等问题。
本文为您介绍分布式身份（DID）管理的实现流程和使用方式。详细请参见[图1]、[图2]、[图3]和[图4]。
图1分布式身份实现架构图   
![](https://support.huaweicloud.com/devg-bcs/zh-cn_image_0000001119361710.png "点击放大")
#### 实现流程
1. 各个角色可通过企业身份注册(带有service)和注册DID生成完全由自己控制的分布式身份，并将身份文档发布到区块链上完成身份的注册。企业用户的DID身份中可以包含其所能提供的服务信息，以支持多样的应用场景。
   ![](https://support.huaweicloud.com/devg-bcs/public_sys-resources/note_3.0-zh-cn.png)
   主要有三种角色：签发者、持有者和验证者，其中每个角色都可以是设备、应用、个人或者组织。
   
2. 具备基础的身份标识之后，通过可验证凭证架设起身份与身份之间的认证体系。凭证的模板会由相关主体注册发布到区块链上，并持续维护。持有者便可以向签发者发起认证申请，获得凭证后出示给验证者完成校验。
3. 验证者可以通过接口验证持有者出示的"可验证凭证"，确保其是否有权限和资质开展后续业务。
 
#### 使用方式
分布式身份中间件是部署在用户侧的一套微服务，简化用户调用区块链相关接口的复杂操作。因此接口调用时需要传入用户私钥和被fabric组织根证书签名的证书。
![](https://support.huaweicloud.com/devg-bcs/public_sys-resources/note_3.0-zh-cn.png)
获取用户私钥和证书的方式有两种，BCS区块链管理界面下载和使用openssl工具生成，详细方法请参见[获取fabric用户私钥及证书的方法](https://support.huaweicloud.com/bcs_faq/bcs_faq_0029.html)《区块链服务用户指南》常见问题中的"获取fabric用户私钥及证书的方法"章节。
根据持有者申请可验证凭证的方式，将分布式身份服务的使用分为链外申请模式和链上申请模式。
- 链外申请模式中，持有者将申请可验证凭证的身份/凭证数据直接发送给签发者。
- 链上申请模式中，持有者将申请可验证凭证的身份/凭证数据加密存储于区块链。
图2分布式身份使用时序图(链外申请模式)   
![](https://support.huaweicloud.com/devg-bcs/zh-cn_image_0000001174119808.png "点击放大")
链上申请模式中，根据持有者与签发者之间是否需要通信信道，分为在线申请和离线申请。
图3分布式身份使用时序图(链上申请-在线申请模式)   
![](https://support.huaweicloud.com/devg-bcs/zh-cn_image_0000001174279810.png "点击放大")
图4分布式身份使用时序图(链上申请-离线申请模式)   
![](https://support.huaweicloud.com/devg-bcs/zh-cn_image_0000001174438366.png "点击放大")
