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

本页解答了有关集成 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;在网站上,使用数字凭据 (DC) API。

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

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


凭据和数据

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

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

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

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

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

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

问:Google 会在其服务器上存储哪些凭据数据(如果有),尤其是在 GDPR 的背景下?

答:Google 不会在其服务器上保存与凭据相关的数据;这些数据会安全地存储在用户的设备本地。


测试和环境

问:如何获取沙盒环境的访问权限,以测试完整的端到端流程?

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

问:对于不在正式发布区域的合作伙伴,如何将其添加到许可名单以进行测试?

答:将测试钱包的 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。