概述
分布式身份是一种基于区块链的分布式身份管理技术,提供用户身份的创建、可验证凭证的注册、签发、验证等功能,该特性基于W3C分布式身份(Decentralized Identifiers, DIDs)和可验证凭证(Verifiable Credentials, VC)的标准实现,为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识,有效解决跨部门、跨企业、跨地域的身份认证难和隐私泄露等问题。
实现流程
- 各个角色可通过企业身份注册(带有service)和注册DID生成完全由自己控制的分布式身份,并将身份文档发布到区块链上完成身份的注册。企业用户的DID身份中可以包含其所能提供的服务信息,以支持多样的应用场景。
主要有三种角色:签发者、持有者和验证者,其中每个角色都可以是设备、应用、个人或者组织。
- 具备基础的身份标识之后,通过可验证凭证架设起身份与身份之间的认证体系。凭证的模板会由相关主体注册发布到区块链上,并持续维护。持有者便可以向签发者发起认证申请,获得凭证后出示给验证者完成校验。
- 验证者可以通过接口验证持有者出示的“可验证凭证”,确保其是否有权限和资质开展后续业务。
使用方式
获取用户私钥和证书的方式有两种,BCS区块链管理界面下载和使用openssl工具生成,详细方法请参见获取fabric用户私钥及证书的方法。
根据持有者申请可验证凭证的方式,将分布式身份服务的使用分为链外申请模式和链上申请模式。
- 链外申请模式中,持有者将申请可验证凭证的身份/凭证数据直接发送给签发者。
- 链上申请模式中,持有者将申请可验证凭证的身份/凭证数据加密存储于区块链。
链上申请模式中,根据持有者与签发者之间是否需要通信信道,分为在线申请和离线申请。