数字凭据简介

数字凭据是加密可验证的数字文档,用户可以使用这些文档来提供有关自己的信息,并使用这些文档进行身份验证或授权。数字凭据基于开放的 W3C Digital Credentials API 行业标准。在 Android 上,这是 通过 Credential Manager 的 Digital Credentials API 实现的。

图片:显示了使用数字凭证的流程
图 1.在示例应用中使用数字凭据。

数字凭据的优势

与实体凭据和非标准化数字文档相比,数字凭据具有以下优势:

  • 提高安全性和信任度:数字凭据经过加密,可确保 数据的完整性和真实性。这可确保凭据由可验证的来源签发,且未被篡改。
  • 增强隐私保护:许多数字凭据格式都支持选择性 披露,让用户仅分享必要的信息。例如,用户可以分享驾驶资格证明,而不透露出生日期。
  • 集中存储:用户可以将不同 签发者的各种凭据存储在设备上的数字容器中,从而减少携带 实体卡的需求。
  • 互操作性:通过遵循开放标准,数字凭据可以在不同的操作系统、设备和平台上 使用。

使用场景

Digital Credentials API 可用于各种使用场景,例如:

  • 接受政府签发的身份证件:应用可以请求和使用官方 政府文档属性,用于年龄验证、 账号恢复、客户身份尽职调查 (KYC) 流程等流程。
  • 验证电话号码:应用可以使用该 API 进行电话号码 验证,方法是直接与用户的运营商交换从手机 SIM 卡派生的数字凭据。这样就无需使用一次性密码 (OTP),提高了安全性并降低了传输成本。如需了解详情,请参阅电话号码验证指南
  • 验证电子邮件地址:该 API 可让您的应用直接从用户的设备检索经过验证的电子邮件 ,无需使用 OTP,从而实现 顺畅的注册、登录和账号恢复。如需了解详情, 请参阅邮箱验证指南
  • 自定义凭据:该 API 的可扩展性让任何应用都可以开始 签发自己的自定义数字凭据,相应的验证方 可以请求这些凭据。
  • 确认支付凭据和交易:该 API 可让您使用原生 加密绑定钱包确认来保护 支付授权和数字支付凭据 (DPC)。

数字凭据的工作原理

数字凭据生态系统涉及以下三类主要应用:

  • 签发者:签发者是安全创建和签发 凭据的应用。
  • 容器(钱包):容器是用户设备上存储 凭据的应用。它们应该能够通过演示流程与请求 应用共享这些凭据。
  • 验证方:验证方是验证和使用数字凭据的应用。

Credential Manager 的 Digital Credentials API 可协调签发者、容器和验证方应用之间的互动。

当验证方请求数字凭据时,它会通过 API 向 Android 系统发送请求。然后,Credential Manager 会在受信任的系统界面中显示来自各种容器的符合条件的数字凭据。用户同意继续后,Credential Manager 会调用相应的容器来生成响应。

用户体验

与 Credential Manager 具有用于身份验证流程(例如使用通行密钥、密码和“使用 Google 账号登录”)的内置用户界面类似,Digital Credentials API 的各种使用场景也有标准化界面。

有针对特定使用场景量身定制的界面变体。使用该 API 时,Android 系统会自动呈现上下文感知底部动作条,例如以下场景:

  • 邮箱验证:该界面会显示一个账号选择器,其中包含经过验证的电子邮件地址和身份提供方。
  • 电话号码验证:该界面包含一张验证卡 ,其中显示了网络运营商。
  • 多凭据:此视图会堆叠多张卡片,并允许将 相关项捆绑到一次点按中。
  • 数字支付凭据:此结账表单会显示支付卡 详细信息、商家信息和交易总金额,以便立即 确认。
显示数字凭证用户体验变体的图片
图 2.电子邮件验证、电话验证和多凭据场景的数字凭据界面变体。

行业标准

数字凭据依赖于行业标准来确保跨平台兼容性。常用的开放标准包括:

这些标准广泛用于多个平台和操作系统,可在网络浏览器、移动设备和其他外形规格之间实现无缝运行。这让开发者可以与其他应用交换数字凭据,而无论这些应用所在的平台是什么。

试试看

您可以在 Android 设备上安装示例容器和验证方应用,以测试跨平台数字凭据流程。

如需测试该流程,请完成以下步骤:

  1. 在 Android 设备上安装示例应用:使用以下方法之一在您的第一台设备上安装应用:
    • 使用预构建的 APK
      • 下载容器应用:登录您的 GitHub 账号, 前往容器应用 GitHub Actions 页面, 选择最新的成功构建版本,然后从工件部分下载app-debug.apk 文件。此应用称为 CMWallet
      • 下载验证方应用:对于示例验证方应用,请从 Identity 示例代码库 获取 APK。然后,在 Android 设备上安装该 APK。此应用称为 Digital Credentials Demo
    • 从源代码构建:克隆提及的代码库,然后使用 使用 Android Studio 安装应用。
  2. 打开示例容器应用:打开示例容器应用。这会将 容器凭据注册到 Credential Manager。
  3. 打开示例验证方应用:打开示例验证方应用。然后,选择 从钱包请求数字凭据的选项。此时应会显示一个底部动作条,其中显示了 CMWallet 中的可用凭据。
  4. 选择凭据:选择要发送回验证方 应用的凭据。验证方应用现在应会显示返回的 凭据中的字段。

资源

  • 如需详细了解如何签发数字凭据,请参阅签发者 指南
  • 如需详细了解容器应用,请参阅容器指南
  • 如需详细了解如何根据数字凭据验证用户,请参阅 验证方指南
  • 如需详细了解网络上的数字凭据,请参阅数字 凭据