# DID-架构设计 ## 功能简介 DID(‌去中心化身份标识符)‌是一种全新的身份标识技术,‌它通过提供一种永久不可变的身份标识,‌实现了身份信息的去中心化管理和安全认证。‌‌ **DID的主要功能包括:‌** **‌身份标识与验证‌:‌** DID是一个永久不可变的字符串,‌用于标识任何目标对象,‌如个人、‌商品、‌机器或动物等。‌它通过DID URL关联到描述目标对象的文件(‌DID Document)‌,‌即DID Doc,‌这个文件包含了与DID subject相关的所有信息,‌包括身份信息验证方法(‌如加密公钥和相关地址等)‌。‌ **‌去中心化身份管理‌:‌** 与传统的中心化身份管理模式相比,‌DID实现了身份信息的去中心化,‌每个用户的个人信息不再集中存储在一个地方,‌从而提高了安全性。‌即使部分用户的身份信息被泄露,‌也不会影响到组织其他用户的身份信息安全。‌ **‌隐私保护‌:** 在去中心化身份管理中,‌用户可以控制自己分享的个人信息,‌只需要分享他们想要的个人信息,‌其余的可以保密,‌从而保护用户隐私。‌ **‌便捷的身份认证‌:** 去中心化身份管理消除了繁琐的多因素认证协议,‌实现了无密码认证,‌使用户能够更方便地进行数字化服务。‌组织机构也可以快速验证用户身份,‌无需强迫用户接受繁琐的KYC流程。‌ **‌降低成本和提高效率‌:** 去中心化身份管理让每个用户都参与到管理工作中,‌减少了身份管理中心的运行成本,‌为企业减轻负担,‌同时提高了身份管理的效率和灵活性。‌ **‌加强监管合规‌:** 随着全球监管机构对数据隐私的法律监管不断加强,‌去中心化身份管理体系帮助组织降低对用户身份信息管理的法律责任,‌有利于企业遵守数据隐私法,‌避免监管处罚。‌ **‌建立信任‌:** 去中心化身份管理在用户和服务提供者之间建立了前所未有的信任水平,‌解决了用户对身份信息被滥用的担忧,‌增强了用户对服务的信任感。‌ 综上所述,‌DID技术通过提供一种去中心化的身份标识和验证机制,‌不仅提高了身份管理的安全性和隐私保护,‌还简化了身份认证过程,‌降低了成本,‌并加强了监管合规,‌从而为用户和服务提供者之间建立了更强的信任关系 ## 整体架构 ChainWeaver DID基于W3C的DID Core标准和VC数据模型标准扩展而成,整体角色和信息流架构如图:

DID角色和信息流
基于W3C的角色和信息流图,本DID系统整体架构设计如下:

DID整体架构图
### DID服务(可验证数据服务) DID服务为整个DID系统的核心,通过部署在长安链的DID合约和基于该合约的DID服务对外提供了可验证数据的服务。用户的DID、DID文档、颁发机构、证书模板、颁发记录等数据的维护和验证都通过该合约和对应的服务对外提供API。 ### 颁发者服务 作为颁发者,首先需要持有DID身份,然后通过DID服务注册成为可信的颁发机构,在成为可信颁发机构后,可对外提供: * 维护要颁发的VC证书的模板 * 颁发新的VC证书 * 吊销已颁发的VC * 记录和查询颁发历史 等服务。 ### 持有者服务 持有者是指通过私钥能控制DID身份,进行自己的身份管理的服务。按照呈现的形式的不同,持有者服务又分为: * 手机APP:DID App * Chrome浏览器插件 * 服务器托管私钥的持有者服务 其中手机APP和浏览器插件是由用户自己保管私钥,通过专门的APP后台服务与DID服务进行连接,而服务器托管私钥的持有者服务通过用户登录系统,由Web进行身份的管理。持有者服务提供了以下服务: * 生成或导入公私钥 * 注册DID(实名认证) * 请求并持有VC * 生成并出示VP * DID登录 * DID加密和签名 ### 验证者服务 验证者服务在收到DID持有者提供的VP时,将通过DID服务查询DID和VC、VP相关的数据的合法性,包括但不限于:DID合法性、VP签名有效性、VC签名有效性、颁发者是否可信、证书模板是否有效、VC是否被吊销等,在通过了所有的校验规则后为其他服务或用户界面提供验证结果。 ## 微服务架构

DID核心架构图
### DID 服务 did服务主要实现DID核心逻辑提供gRPC接口。 did-admin服务主要实现管理员DID相关业务逻辑包含DID核心逻辑。

DID服务架构图
### DID 网关服务 did-gateway服务主要实现转发、代理相关请求和权限管理。 ### DID APP did-app-backend主要实现App相关业务逻辑,与App交互。 ### DID 管理台

签发机构架构图
did-kms服务主要实现DID秘钥管理 did-mgr-issuer服务主要实现VC发行,模板管理 did-mgr-holder服务主要实现管理持有者VC did-mgr-common 统一入口,用户中心 ### DID 同步服务 did-sync服务主要负责将主链的DID数据同步到子链。

同步服务架构图
## 使用流程 > 1、部署链 > 2、部署DID服务 > 3、部署DID合约 > 4、部署DID 管理台 > 5、部署DID APP后端 > 6、下载DID APP使用