概览

数字凭据是可通过加密方式验证的文件,可用于对用户进行身份验证、授权或以其他方式提供有关用户的已验证信息。这些证件(例如移动驾照 [mDL]、数字护照和身份证件)安全地存储在数字钱包中。

在线接受身份证件

Google 正在构建一个开放、安全、私密且基于标准的数字钱包生态系统。通过集成 W3C 数字凭据 API,信赖方(应用和网站)可以无缝地从用户的 Google 钱包或任何其他兼容的数字钱包请求可验证的身份和年龄证明,同时最大限度地保护隐私。

Google 钱包中身份证件的用例

  • 年龄验证:在购买有年龄限制的商品或进入有年龄限制的场馆之前,请求验证年龄。
  • 身份验证:请求姓名和地址,以验证个人身份是否符合法律法规要求或降低欺诈风险。
  • 驾驶权限:验证某人是否具备驾驶能力(例如在租车时)。

为什么要与 Google 钱包集成?

集成 Digital Credentials API 可带来战略价值,让您能够在多个设备和浏览器上免费无缝地在线验证身份属性。

  • 免费:通过一个 API 即可免费从 Google 钱包(和其他兼容的钱包)请求和获取凭据。
  • 可互操作且标准化:基于全球开放标准构建,包括 W3C 数字凭据、OpenID4VP 和 ISO 18013-5/7。这可确保与全球身份生态系统兼容,并符合欧盟的 eIDAS 2.0 框架。
  • 跨浏览器和跨设备:一种可在 Web 和 Android 上顺畅运行的统一机制。它支持多钱包共存,让用户自由选择,并推动互操作性。
  • 可信且可验证的信号:不再局限于自行声明的信息。从政府签发的身份证件或受信任的私人签发机构接收经过加密签名的身份和年龄属性。
  • 无缝的用户体验:Google 钱包已在 200 多个国家/地区的 30 多亿部 Android 设备上推出。用户可以在应用内或网页上以原生方式呈现凭据,而无需进行过多操作。

注重隐私保护和零知识证明 (ZKP)

依赖于直接共享数据的数字身份系统通常要求用户过度分享个人信息。Google 钱包通过在现有 ISO 18013-7 mdoc 的基础上支持零知识证明 (ZKP) 来解决此问题。

ZKP 是一种加密方法,可让用户在不透露实际底层数据(例如确切的出生日期)的情况下证明某项陈述(例如“我已年满 18 周岁”)。

  • 选择性披露:您仅请求用例所需的最低限度属性。
  • 不可关联性:交易与设备相关联。ZKP 可确保签发方、信赖方或 Google 无法识别或跟踪演示。
  • 无服务器跟踪:Google 不会在其服务器上保存与凭据相关的数据;所有数据都会安全地存储在用户设备上受信任的容器中。
  • 用户同意:应用无法在用户不知情的情况下查询钱包。该 API 必须由用户调用,以保护隐私;在共享数据之前,需要进行用户身份验证(生物识别、PIN 码或解锁图案)。

用户体验

无论是用户在验证年龄以观看受限内容,还是在新手入门时分享身份信息,整个流程都经过简化,可减少摩擦。

1. 标准应用内 / 网站流程

当用户点击“使用数字身份证件进行验证”按钮时,Credential Manager(在 Android 上)或浏览器会将该请求与符合条件的凭据进行匹配。

系统提示用户在应用或网站中验证年龄 用户看到符合条件的可用凭证 用户在 Google 钱包中看到确认页面 用户进行身份验证以确认共享 发送到应用或网站的数据
系统提示用户在应用或网站中验证年龄 用户看到符合条件的可用凭证 用户在 Google 钱包中看到确认页面 用户进行身份验证以确认共享 发送到应用或网站的数据
重要说明
  1. 应用或网站可以灵活地创建 API 的入口点。如第 1 步所示,我们建议显示“使用数字身份证件进行验证”等通用按钮,因为随着时间的推移,我们预计通过该 API 可以使用 Google 钱包以外的选项。
  2. 第 2 步中的选择器界面由 Android 呈现。符合条件的凭据由每个钱包提供的注册逻辑与依赖方发送的请求之间的匹配情况决定。
  3. 第 3 步由 Google 钱包呈现。Google 钱包将在此界面上显示开发者提供的名称、徽标和隐私权政策。

2. 跨设备流程

用户可以使用自己的设备向其他设备出示凭据(例如,向桌面版网站网络浏览器出示身份证件)。

用户在桌面版网站上收到年龄验证提示 用户看到一个二维码,可使用移动设备继续演示文稿 用户通过手机出示凭据 用户验证完成并已共享数据
用户在桌面版网站上收到年龄验证提示 用户看到一个二维码,可使用移动设备继续演示文稿 用户通过手机出示凭据 用户验证完成

3. 无数字身份证件可用流程

如果用户没有凭据或未安装 Google 钱包应用,系统可以引导用户顺畅地创建凭据。如果用户未安装该应用,则会跳转到 Play 商店。如果用户已安装该应用但没有 ID,则会显示一个半屏界面,让用户无需离开您的应用即可创建 ID。

添加数字身份证件流程
系统提示用户在应用或网站中验证年龄 向用户显示了用于选择钱包以添加数字身份证件的选项 用户前往 Google 钱包添加数字身份证件
系统提示用户在应用或网站中验证年龄 向用户显示了用于选择钱包以添加数字身份证件的选项 用户前往 Google 钱包添加数字身份证件
没有可用的数字身份证件

如果用户选择“使用数字身份证件进行验证”,但 RP 未请求身份证件传递,或者用户没有符合条件的身份证件,系统会向用户显示此错误消息。

系统提示用户在应用或网站中验证年龄 如果用户没有数字身份证件,系统会向其显示错误消息
系统提示用户在应用或网站中验证年龄 如果用户没有数字身份证件,系统会向其显示错误消息

后续步骤

准备好接受数字身份证件了吗?请参阅我们的集成指南,了解技术要求、OpenID4VP 请求的格式设置以及验证响应。

接受线下身份证件

Google 钱包中的身份证件基于移动驾驶执照的国际 ISO 18013-5 标准。这意味着:

  • 身份证件上的所有数据均有加密签名作为后盾,可实现安全无缝的验证
  • ID 可以通过 NFC 点按或二维码扫描无缝呈现,数据通过 BLE 传输。
  • 用户可以选择在分享之前查看所请求的数据,并且只需分享与交易相关的元素,而无需分享整个身份证件。
  • 用户必须先在设备上进行身份验证,然后才能分享
  • 任何接受 Google 钱包中身份证件的设备都可以接受任何其他实现此标准的钱包或应用中的身份证件

如需查看 Google 钱包中的身份证件的实际运作情况,请观看此视频,了解身份证件的显示方式示例: