常见问题(FAQ)
本页包含有关可验证凭据和分散式身份识别的常见问题。 问题分为以下几个部分。
基础知识
什么是 DID?
分散式标识符 (DID) 是独一无二的标识符,用于保护对资源的访问、签署和验证凭据并加快应用程序之间的数据交换。 不同于传统的用户名和电子邮件地址,DID 由实体(个人、设备或公司)自身拥有和控制。 DID 独立于任何外部组织或受信任中介。 W3C 分散式标识符规范进一步解释了 DID。
为什么需要 DID?
在本质上,数字信任要求参与者拥有和控制自己的身份标识,而标识符就是身份标识的第一步。 当前,由于集中式标识符蜜罐经常遭受重大系统漏洞和攻击影响,分散身份正在成为消费者和企业的重要安全需求。 拥有并控制自己身份的个人能够交换可验证的数据和证明。 分散式凭据环境有助于实现目前许多手动和人工密集型业务流程的自动化。
什么是可验证凭据?
凭据是我们日常生活的一部分。 驾驶执照用来证明我们有能力驾驶机动车辆。 大学学位可以用来证明我们的教育水平,政府颁发的护照使我们能够在国家和地区之间旅行。 可验证凭据在 Web 上以安全加密、保护隐私和计算机可验证的方式呈现。 W3C 可验证凭据规范进一步解释了可验证凭据。
概念性问题
用户丢失手机后会发生什么? 他们能够恢复身份吗?
为用户提供恢复机制的方法很多,但每种方法都各有利弊。 Microsoft 目前一直在评估各种方案,并且已经在设计便利安全且尊重用户隐私和自主性的恢复方法。
用户如何信任来自颁发者或验证程序的请求? 用户如何确认某个 DID 是组织的真正 DID?
我们已实施分散式身份识别基金会的已知 DID 配置规范,目的是将 DID 连接到高度已知的现有系统和域名。 使用 Microsoft Entra 验证 ID 创建的每个 DID 都可以选择包含一个被编码在 DID 文档中的根域名。 如需详细了解链接域,请查看将域链接到分散式身份识别一文。
已验证 ID 中可验证凭据的大小限制是什么?
- 对于颁发请求 - 1 MB
- 可验证凭据中的照片 - 1 MB
- 回调结果 10 MB,没有收货
许可要求是什么?
颁发可验证凭据没有特殊的许可要求。
如何重置 Microsoft Entra 验证 ID 服务?
执行重置需要选择退出再选择重新加入 Microsoft Entra 验证 ID 服务。 现有的可验证凭据配置已重置,租户将获取在颁发和演示期间要使用的新 DID。
- 按照选择退出说明操作。
- 转到 Microsoft Entra 验证 ID 部署步骤以重新配置服务。
- 如果手动设置“已验证 ID”,请为 Azure Key Vault 选择一个位置,使其位于同一区域或最近区域。 选择相同区域可避免性能和延迟问题。
- 完成对可验证凭据服务的设置。 需要重新创建凭据。
- 还需要颁发新凭据,因为租户现在持有新的 DID。
如何检查 Microsoft Entra 租户的区域?
在 Azure 门户中,转到 Microsoft Entra ID 来获取用于 Microsoft Entra 验证 ID 部署的订阅。
在“管理”下,选择“属性” 。
请参阅“国家/地区”或“区域”的值。 如果该值为欧洲的国家或地区,将在欧洲设置 Microsoft Entra 验证 ID 服务。
Microsoft Entra 验证 ID 是否支持 ION 作为其 DID 方法?
在 2023 年 12 月之前,验证 ID 在预览版中支持 DID:ION 方法,此后该方法已停止使用。
如何从 did:ion 移动到 did:web?
如果要从 did:ion
移动到 did:web
,可以通过管理员 API 执行以下步骤。 更改颁发机构需要重新颁发所有凭据:
导出现有 did:ion 凭据定义
- 对于
did:ion
颁发机构,请使用门户复制现有凭据的所有显示和规则定义。 - 如果有多个颁发机构,则必须使用管理员 API(如果
did:ion
颁发机构不是默认颁发机构)。 在“已验证 ID”租户上,使用管理员 API 进行连接,列出颁发机构以获取did:ion
颁发机构的 ID。 然后使用列表协定 API 导出它们,并将结果保存到文件中,以便可以重新创建它们。
创建新的 did:web 颁发机构
- 使用加入 API 创建新的
did:web
颁发机构。 或者,如果租户只有一个 did:ion 颁发机构,则还可以执行服务退出,然后执行选择加入操作以使用“已验证 ID”配置进行重启。 在这种情况下,可以在快速和手动设置之间进行选择。 - 如果要使用管理员 API 设置 did:web 颁发机构,则需要调用生成 DID 文档以生成 did 文档,并调用生成已知文档,然后将 JSON 文件上传到相应的已知路径。
重新创建凭据定义
创建新 did:web
颁发机构后,需要重新创建凭据定义。 如果你选择退出并重新加入,或者需要使用创建协定 API 重新创建协定,则可以通过门户执行此操作。
更新现有应用程序
- 更新任何现有应用程序(证书颁发者/验证者应用)以使用新
did:web authority
。 对于颁发应用,还需要更新凭据清单 URL。 - 测试来自新 did:web 颁发机构的颁发和验证流。 测试成功后,请转到下一步来删除 did:ion 颁发机构。
删除 did:ion 颁发机构
如果未选择退出并重新加入,则需要移除旧 did:ion
颁发机构。 使用删除颁发机构 API 删除 did:ion 颁发机构。
如果重新配置 Microsoft Entra 验证 ID 服务,是否需要将 DID 重新链接到域?
是的,重新配置服务后,租户会使用新的 DID 来颁发和验证可验证凭据。 需要将新的 DID 与域相关联。
能否请求 Microsoft 检索“旧 DID”?
不能,此时在选择退出服务后,无法保留租户的 DID。
我无法使用 ngrok,该怎么办?
关于部署和运行示例的教程描述了如何将 ngrok
工具用作应用程序代理。 IT 管理员有时会阻止公司网络使用此工具。 另一种方法是将示例部署到 Azure 应用服务并在云中运行。 以下链接可帮助你将相应的示例部署到 Azure 应用服务。 免费定价层足以托管该示例。 对于每个教程,都需要首先创建 Azure 应用服务实例,然后跳过创建应用,因为你已经有了一个应用,再继续按照教程部署。
- Dotnet - 发布到应用服务
- Node - 部署到应用服务
- Java - 部署到应用服务。 需要将 Azure 应用服务的 maven 插件添加到示例中。
- Python - 使用 Visual Studio Code 进行部署
无论使用哪种语言示例,Azure 应用服务主机名 https://something.azurewebsites.net
都将用作公共终结点。 无需进行额外的配置即可使其正常工作。 如果对代码或配置进行更改,需要将示例重新部署到 Azure 应用服务。 故障排除/调试不会像在本地计算机上运行示例那样容易,在本地计算机中,控制台窗口的跟踪会显示错误,但使用日志流可以实现几乎相同的操作。
回叫事件的网络强化
请求服务 API 会利用对信赖方应用提供的 URL 的回叫。 需要从已验证 ID 系统访问此 URL 才能接收回叫。 回叫来自 Microsoft Entra 租户所在区域中的 Azure 基础结构。 如果需要强化网络,则有两个选项。
- 使用 Azure 防火墙服务标记 AzureCloud。
- 使用已发布的 CIDR 范围配置防火墙。 需要使用与 Microsoft Entra 租户部署位置匹配的 AzureCloud.regions 来配置防火墙,以允许来自请求服务 API 的回叫流量通过。 例如,如果租户位于 EU,则应从 AzureCloud.northeurope、.westeurope 等项中选取所有 CIDR 范围并将其添加到防火墙配置中。
扫描 QR 码
在文档中,指令 scan the QR code
指的是使用 Microsoft Authenticator 移动应用对它进行扫描,除非另有说明。
可以使用移动设备的相机应用扫描 QR 码,随后就会启动 Microsoft Authenticator。 为此,必须为 Microsoft Authenticator 注册 openid-vc://
的协议处理程序。 如果已注册其他移动应用,则 Authenticator 不会打开。 在某些较旧的 Android 移动版本上,使用相机应用扫描 QR 码不起作用,除了使用 Microsoft Authenticator 应用扫描它之外,没有其他解决方法。