数字凭据是加密可验证的数字文档,用户可以使用这些文档来提供有关自己的信息,并使用这些文档进行身份验证或授权。数字凭据基于开放的 W3C Digital Credentials API 行业标准。在 Android 上,这是 通过 Credential Manager 的 Digital Credentials API 实现的。
数字凭据的优势
与实体凭据和非标准化数字文档相比,数字凭据具有以下优势:
- 提高安全性和信任度:数字凭据经过加密,可确保 数据的完整性和真实性。这可确保凭据由可验证的来源签发,且未被篡改。
- 增强隐私保护:许多数字凭据格式都支持选择性 披露,让用户仅分享必要的信息。例如,用户可以分享驾驶资格证明,而不透露出生日期。
- 集中存储:用户可以将不同 签发者的各种凭据存储在设备上的数字容器中,从而减少携带 实体卡的需求。
- 互操作性:通过遵循开放标准,数字凭据可以在不同的操作系统、设备和平台上 使用。
使用场景
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 系统会自动呈现上下文感知底部动作条,例如以下场景:
- 邮箱验证:该界面会显示一个账号选择器,其中包含经过验证的电子邮件地址和身份提供方。
- 电话号码验证:该界面包含一张验证卡 ,其中显示了网络运营商。
- 多凭据:此视图会堆叠多张卡片,并允许将 相关项捆绑到一次点按中。
- 数字支付凭据:此结账表单会显示支付卡 详细信息、商家信息和交易总金额,以便立即 确认。
行业标准
数字凭据依赖于行业标准来确保跨平台兼容性。常用的开放标准包括:
- 共享:使用 OpenID4VP 标准 请求数字凭据。
- 签发:使用 OpenID4VCI 标准签发数字凭据。
- 凭据存储格式:数字凭据以
不同标准机构(主要是以下机构)维护的
标准化格式表示:
- IETF 选择性披露 JSON Web 令牌 (sd-jwt) VC
- ISO MDoc
这些标准广泛用于多个平台和操作系统,可在网络浏览器、移动设备和其他外形规格之间实现无缝运行。这让开发者可以与其他应用交换数字凭据,而无论这些应用所在的平台是什么。
试试看
您可以在 Android 设备上安装示例容器和验证方应用,以测试跨平台数字凭据流程。
如需测试该流程,请完成以下步骤:
- 在 Android 设备上安装示例应用:使用以下方法之一在您的第一台设备上安装应用:
- 使用预构建的 APK:
- 下载容器应用:登录您的 GitHub 账号,
前往容器应用 GitHub Actions 页面,
选择最新的成功构建版本,然后从工件部分下载
app-debug.apk文件。此应用称为 CMWallet 。 - 下载验证方应用:对于示例验证方应用,请从 Identity 示例代码库 获取 APK。然后,在 Android 设备上安装该 APK。此应用称为 Digital Credentials Demo 。
- 下载容器应用:登录您的 GitHub 账号,
前往容器应用 GitHub Actions 页面,
选择最新的成功构建版本,然后从工件部分下载
- 从源代码构建:克隆提及的代码库,然后使用 使用 Android Studio 安装应用。
- 使用预构建的 APK:
- 打开示例容器应用:打开示例容器应用。这会将 容器凭据注册到 Credential Manager。
- 打开示例验证方应用:打开示例验证方应用。然后,选择 从钱包请求数字凭据的选项。此时应会显示一个底部动作条,其中显示了 CMWallet 中的可用凭据。
- 选择凭据:选择要发送回验证方 应用的凭据。验证方应用现在应会显示返回的 凭据中的字段。
资源
- 如需详细了解如何签发数字凭据,请参阅签发者 指南。
- 如需详细了解容器应用,请参阅容器指南。
- 如需详细了解如何根据数字凭据验证用户,请参阅 验证方指南。
- 如需详细了解网络上的数字凭据,请参阅数字 凭据。