数字身份和凭据常见问题解答

本页解答了有关集成 Google 钱包以使用数字身份和凭据的常见问题。

入驻和入门

问:新合作伙伴作为依赖方 (RP) 入驻的分步流程是什么?

答:请参阅以下步骤:在线接受钱包中的身份证件

问:RP 入驻流程通常需要多长时间?

答:入驻通常需要 3-5 个工作日。

问:提交依赖方 (RP) 申请后,我们如何跟踪其状态?

答:如果您在 5 天后仍未收到回复,请通过 wallet-identity-rp-support@google.com 与我们的支持团队联系。

问:在哪里可以找到 RP 入驻表单和官方开发者文档?

答:

问:我们在产品体验中提供的信息(例如产品名称和徽标)将如何使用?

答:产品名称和徽标会显示在面向用户的权限请求页面上,以帮助用户识别哪个依赖方正在请求其数字身份证件。网址和政策链接也可能会在产品体验中显示。

问:如果我们仅计划使用沙盒环境进行开发和测试,是否需要签署服务条款?

答:不需要,接受服务条款不是测试的必要步骤。

问:在哪里可以找到参考实现、示例代码或演示应用来开始使用?

答:


验证者注册机构

问:什么是验证者注册机构?其工作原理是什么?

答:验证者注册机构充当证书授权机构,负责让下游客户(最终 RP)入驻。最终 RP 不会直接与 Google 钱包互动。

问:验证者注册机构及其下游客户的具体入驻流程是什么?

答:请参阅以下步骤:验证者注册机构指南

问:这与直接 RP 集成有何不同?

答:验证者注册机构负责管理其客户的信任关系,并代表客户处理与 Google 钱包的集成,而直接 RP 则负责管理其与 Google 的配置。

问:在验证者注册机构中,谁会列入 Google 配置的许可名单:验证者注册机构、最终 RP,还是两者都列入?

答:Google 会将验证者注册机构的根 CA 证书列入许可名单。然后,验证者注册机构会为每个下游最终 RP 颁发新的叶证书。

问:最终 RP、验证者注册机构和 Google 钱包之间的数据流是什么样的?

答:验证者注册机构会为最终 RP 向 Google 钱包发送 API 请求。Google 钱包会将加密的凭据数据返回给验证者注册机构,然后验证者注册机构会处理这些数据,并将最终信号发送给最终 RP。

答:不需要。验证者注册机构可以选择不显示其详细信息。

问:根 CA 和 RP 证书允许使用的密钥类型和曲线有哪些?

答:证书应使用 P-256 / ECDSA 生成。

问:我们能否在根 CA 和 RP 叶证书之间使用中间签名者证书?

答:可以。您可以安全地存储长期有效的根证书(例如在 HSM 中),以不频繁地签署运营中间证书。然后,这些中间证书可用于签署最终 RP 叶证书,以便在发生违规事件时更轻松地轮替证书,而不会影响根证书。

问:证书的有效期必须是多长时间?

答:根 CA 证书的有效期为 10 年是完全可以接受的。最终 RP 叶证书通常应遵循大约 1 年的续订时间表,以确保在出现问题时可以高效地轮替证书。

问:我们需要为每个依赖方 (RP) 客户管理单独的叶证书吗?

答:是的。在初始发布期间,聚合器必须为每个下游 RP 管理单独的证书。这样可以实现按 RP 显示配置和准确的滥用行为跟踪。虽然这会在大规模情况下增加运营开销,但我们打算在初始发布后重新审视潜在的替代方案(例如使用 RP 元数据哈希值)。

问:合作伙伴是否可以同时拥有多个有效证书?

答:可以,该配置支持每个 RP 或聚合器拥有任意数量的有效证书,这对于以不同企业名称运营的合作伙伴非常有用。

问:专有名称(主题)应采用什么格式?

答:每个合作伙伴的专有名称必须是全局唯一的。它充当 Google 用于监控传入的合作伙伴请求并确保生态系统信任的静态标识符。

问:网域绑定如何运作?来源是否需要嵌入到证书中?

答:网域不需要直接嵌入到证书本身中。相反,网域验证是使用 API 调用中的预期来源参数执行的。此外,多个网域可以无缝关联到单个证书。对于未签名的请求,绑定是使用网域或应用包名称以及指纹执行的。

问:对于白标体验,能否从验证界面中省略聚合器详细信息?

答:可以,聚合器信息(例如名称、徽标、网址和隐私权政策)在验证者元数据中是完全可选的。这样可以实现完全白标解决方案,其中仅向用户显示最终 RP 详细信息。

问:我们需要提供哪些信息才能开始在沙盒环境中进行测试?

答:从技术角度来看,您只需要提供沙盒根证书。沙盒旨在完全镜像生产环境。

问:与直接 RP 相比,验证者注册机构(聚合器)的入驻流程有何不同?

答:聚合器会经历一个略有修改的流程。在执行特定的验证者注册机构服务条款后,接收流程分为两个部分:一个主要表单,用于确定您作为验证者注册机构的身份;然后是一个简化的表单,您需要为每个入驻的 RP 填写此表单。每个 RP 提交通常都需要集成视频录制,审核流程通常需要 2-3 个工作日。

问:我们能否让打算充当中间商或将验证服务转售给其他实体的客户入驻?

答:不能。Google 目前的模式和偏好是直接与验证者注册机构(聚合器)及其直接最终 RP 合作,而不是支持嵌套的转销商或中间商模式。


技术集成和 API

问:请求的底层协议是什么?支持哪些版本?

答:主要协议是 OpenID for Verifiable Presentations (OpenID4VP) 1.0 版。

问:对于 mDL 演示,Google 支持哪些 ISO 18013-7 附录(例如附录 B、C、D)?

答:Google 支持附录 D [目前为草稿](使用 DC API 的 OpenID4VP)。

问:如何正确构建 API 请求,以便在单个用户演示中请求多个凭据?

答:应在同一 JSON 请求的单个 dcql 查询对象中请求这两种凭据类型。

问:API 是否允许请求通用凭据,而无需列出所有可能的凭据类型?

答:不允许。

问:API 如何处理年龄验证?我们能否请求确切的出生日期,还是只能请求“超过 X”信号?

答:两者都受支持。您可以请求 birth_dateage_in_years 或可保护隐私的“超过 X”信号。零知识证明 (ZKP) 也可用于 true/false 信号。

问:我们的 PKI 基础架构有哪些要求?

答:RP 需要 PKI 来签署请求。验证者注册机构充当自己的 CA。

问:我们能否使用自己的现有证书,还是需要获取由 Google 签署的新证书?

答:RP 需要由 Google 或验证者注册机构签署的新证书。对于验证者注册机构,如果您按照文档中的“建立信任”步骤操作,Google 将信任您的根证书。

答:整个请求应在服务器端生成。在 Android 上,使用 Credman API;在 Web 上,使用 Digital Credentials (DC) API。

问:开发者可以使用哪些调试、日志记录和可观测性工具?

答:合作伙伴可以使用 wallet-identity-rp-support@google.com 支持别名。我们不提供任何特定的日志记录或可观测性工具。


凭据和数据

问:哪些数字身份证件、颁发机构和凭据受国家/地区支持?

答:请在此处查找受支持的区域:受支持的颁发机构和证书

问:您计划何时支持来自新国家/地区的凭据?

答:我们正在积极添加新区域;请查看受支持的颁发机构页面以了解最新动态。

问:当凭据由颁发机构更新时,最终用户是否会收到通知?

答:会,用户会收到通知,并且更新会自动应用。


测试和环境

问:如何访问沙盒环境来测试完整的端到端流程?

答:沙盒已开放,网址为:沙盒模式

问:对于未在正式发布区域的合作伙伴,将其添加到许可名单以进行测试的流程是什么?

答:将测试钱包的 Gmail ID 通过电子邮件发送至 wallet-identity-rp-support@google.com

问:如何启用测试网站或应用以进行演示,允许任何拥有生产凭据的人员演示?

答:合作伙伴必须完成标准 RP 入驻,包括沙盒视频演示。


用户体验 (UX)

问:如果用户在启动验证流程时没有数字身份证件或未安装 Google 钱包应用,用户体验会怎样?

答:没有该应用的用户会被定向到 Play 商店。没有身份证件的用户可以使用半屏界面在流程中创建一个。

问:我们能否以编程方式检测用户是否在钱包中拥有数字身份证件,然后再向其显示验证选项?

答:不能,API 必须由用户调用,以保护隐私。

问:我们能否要求用户先使用生物识别技术解锁设备,然后再显示凭据?

答:默认情况下需要用户进行身份验证(生物识别、PIN 码或图案),并且无法停用。

答:不能,Google 钱包会按字母顺序重新排列这些属性。


安全与合规性

问:我们的用例涉及与第三方重新分享用户数据。服务条款是否允许这样做?

答:允许,但可能会受到限制,如需了解详情,请参阅我们的服务条款。

问:关于数字身份解决方案的安全性、可靠性和无障碍功能,有哪些文档可供我们出于合规目的参考?

答:合作伙伴可以参考 Trail of Bits 安全审核。


高级功能和路线图

问:零知识证明 (ZKP) 在可保护隐私的年龄验证方面有哪些功能?

答:零知识证明 (ZKP) 是一种加密方法,允许个人(证明者)向验证者证明他们拥有某些身份信息或满足特定条件(例如年满 18 周岁、持有有效凭据),而无需透露实际的基础数据本身。

问:如何处理不同版本的 ZK 电路?

答:RP 必须实现 ZK 验证者服务才能请求最新的可用电路。

问:凭据共享和管理如何在多个设备(例如手机和穿戴式设备)之间运作?

答:凭据是为单个设备配置的,无法共享。


其他

问:如果护照被撤销,Google 如何处理身份证件撤销?

答:用户可以从 Google 账号设置中删除通行证;可以报告丢失的设备以撤销凭据。

问:如何处理 mDL 撤销?是实时撤销吗?

答:可以由用户触发,也可以由颁发机构 (DMV) 推送。如果设备在线,则为实时撤销;否则,短期安全对象 (MSO) 将过期。

问:RP 的密钥轮替政策是什么?

答:建议每年轮替一次。

问:Digital Credentials API 支持的最低 Android 版本是什么?

答:Android 9(API 级别 28)及更高版本。

问:支持 Digital Credentials API 的最低 Chrome 版本是什么?

答:Chrome 128 及更高版本。

问:哪些浏览器支持 Digital Credentials API?

答:您可以在此处找到浏览器支持详细信息:https://digitalcredentials.dev/ecosystem-support

问:在推出新国家/地区时,哪些用户将能够添加身份证件?

答:访问权限取决于用户在 Play 商店中的国家/地区设置。

问:Digital Credentials API 是否适用于 iOS?

答:是,该 API 使用受支持的浏览器(例如 Safari)运行。不过,Apple 不支持 OpenID4VP。