常见问题(FAQ)

本页包含有关可验证凭据和分散式身份识别的常见问题。 问题分为以下几个部分。

基础知识

什么是 DID?

分散式标识符 (DID) 是唯一标识符,可用于保护对资源的访问、签署和验证凭据并加快应用程序数据交换。 不同于传统的用户名和电子邮件地址,DID 由实体(个人、设备或公司)自身拥有和控制。 DID 独立于任何外部组织或受信任中介。 W3C 分散式标识符规范进一步解释了 DID。

为什么需要 DID?

在本质上,数字信任要求参与者拥有和控制自己的身份标识,而标识符就是身份标识的第一步。 当前,由于集中式标识符蜜罐经常遭受重大系统漏洞和攻击影响,分散身份正在成为消费者和企业的重要安全需求。 拥有并控制自己身份的个人能够交换可验证的数据和证明。 分散式凭据环境有助于实现目前许多手动和人工密集型业务流程的自动化。

什么是可验证凭据?

凭据是我们日常生活的一部分。 驾驶执照用来证明我们有能力驾驶机动车辆。 大学学位可以用来证明我们的教育水平,政府颁发的护照使我们能够在国家和地区之间旅行。 可验证凭据在 Web 上以安全加密、保护隐私和计算机可验证的方式呈现。 W3C 可验证凭据规范进一步解释了可验证凭据。

概念性问题

用户丢失手机后会发生什么? 他们能够恢复身份吗?

为用户提供恢复机制的方法很多,但每种方法都各有利弊。 Microsoft 目前一直在评估各种方案,并且已经在设计便利安全且尊重用户隐私和自主性的恢复方法。

用户如何信任来自颁发者或验证程序的请求? 用户如何确认某个 DID 是组织的真正 DID?

我们已实施分散式身份识别基金会的已知 DID 配置规范,目的是将 DID 连接到高度已知的现有系统和域名。 使用 Microsoft Entra 验证 ID 创建的每个 DID 都可以选择包含一个被编码在 DID 文档中的根域名。 如需了解详情,请查看将域链接到分散式身份识别一文。

许可要求是什么?

颁发可验证凭据没有特殊的许可要求。

如何重置 Microsoft Entra 验证 ID 服务?

执行重置需要选择退出,然后再选择重新加入 Microsoft Entra 验证 ID 服务。 现有的可验证凭据配置已重置,租户将获取在颁发和演示期间要使用的新 DID。

  1. 按照选择退出说明操作。
  2. 转到 Microsoft Entra 验证 ID 部署步骤以重新配置服务。
    1. 如果手动设置“已验证 ID”,请为 Azure Key Vault 选择一个位置,使其位于同一区域或最近区域。 这可避免性能和延迟问题。
  3. 完成对可验证凭据服务的设置。 需要重新创建凭据。
    1. 如果需要将租户配置为颁发者,建议存储帐户位于欧洲区域作为可验证凭据服务。
    2. 还需要颁发新凭据,因为租户现在持有新的 DID。

如何检查 Microsoft Entra 租户的区域?

  1. Azure 门户中,转到 Microsoft Entra ID 来获取用于 Microsoft Entra 验证 ID 部署的订阅。
  2. 在“管理”下,选择“属性”设置删除并退出
  3. 请参阅“国家/地区”或“区域”的值。 如果该值为欧洲的国家或地区,将在欧洲设置 Microsoft Entra 验证 ID 服务。

Microsoft Entra 验证 ID 是否支持 ION 作为其 DID 方法?

在 2023 年 12 月之前,验证 ID 在预览版中支持 DID:ION 方法,此后该方法已停止使用。

如何从 did:ion 移动到 did:web?

如果要从 did:ion 移动到 did:web,可以通过管理员 API 执行以下步骤。 更改颁发机构需要重新颁发所有凭据:

导出现有 did:ion 凭据定义

  1. 对于 did:ion 颁发机构,请使用门户复制现有凭据的所有显示和规则定义。
  2. 如果有多个颁发机构,则必须使用管理员 API(如果 did:ion 颁发机构不是默认颁发机构)。 在“已验证 ID”租户上,使用管理员 API 进行连接,列出颁发机构以获取 did:ion 颁发机构的 ID。 然后使用列表协定 API 导出它们,并将结果保存到文件中,以便可以重新创建它们。

创建新的 did:web 颁发机构

  1. 使用加入 API 创建新的 did:web 颁发机构。 或者,如果租户只有一个 did:ion 颁发机构,则还可以执行服务退出,然后执行选择加入操作以使用“已验证 ID”配置进行重启。 在这种情况下,可以在快速手动设置之间进行选择。
  2. 如果要使用管理员 API 设置 did:web 颁发机构,则需要调用生成 DID 文档以生成 did 文档,并调用生成已知文档,然后将 JSON 文件上传到相应的已知路径。

重新创建凭据定义

创建新 did:web 颁发机构后,需要重新创建凭据定义。 如果你选择退出并重新加入,或者需要使用创建协定 API 重新创建协定,则可以通过门户执行此操作。

更新现有应用程序

  1. 更新任何现有应用程序(证书颁发者/验证者应用)以使用新 did:web authority。 对于颁发应用,还需要更新凭据清单 URL。
  2. 测试来自新 did:web 颁发机构的颁发和验证流。 测试成功后,请转到下一步来删除 did:ion 颁发机构。

删除 did:ion 颁发机构

如果未选择退出并重新加入,则需要移除旧 did:ion 颁发机构。 使用删除颁发机构 API 删除 did:ion 颁发机构。

是的,重新配置服务后,租户会使用新的 DID 来颁发和验证可验证凭据。 需要将新的 DID 与域相关联。

能否请求 Microsoft 检索“旧 DID”?

不能,此时在选择退出服务后,无法保留租户的 DID。

我无法使用 ngrok,该怎么办?

关于部署和运行示例的教程描述了如何将 ngrok 工具用作应用程序代理。 IT 管理员有时会阻止公司网络使用此工具。 另一种方法是将示例部署到 Azure 应用服务并在云中运行。 以下链接可帮助你将相应的示例部署到 Azure 应用服务。 免费定价层足以托管该示例。 对于每个教程,都需要首先创建 Azure 应用服务实例,然后跳过创建应用,因为你已经有了一个应用,再继续按照教程部署。

无论使用哪种语言示例,Azure 应用服务主机名 https://something.azurewebsites.net 都将用作公共终结点。 无需进行额外的配置即可使其正常工作。 如果对代码或配置进行更改,需要将示例重新部署到 Azure 应用服务。 故障排除/调试不会像在本地计算机上运行示例那样容易,在本地计算机中,控制台窗口的跟踪会显示错误,但使用日志流可以实现几乎相同的操作。

后续步骤