Google Cloud Attestation

证明是建立对保密计算信任的过程。认证是一种数字验证机制,可确保机密数据仅在经过严格审查的基于硬件的可信执行环境 (TEE) 中处理。

Google Cloud 证明提供了一种统一的解决方案,用于远程验证所有 Google 保密环境的可信度。该服务支持对由虚拟可信平台模块 (vTPM)(适用于 SEV)和 TDX 模块(适用于 Intel TDX)提供支持的机密环境进行证明。

Google Cloud 证明可应用于以下 Google Cloud服务:

机密计算服务 机密计算技术 Google Cloud Attestation 支持
机密虚拟机 AMD SEV
机密虚拟机 AMD SEV-SNP
机密虚拟机 Intel TDX
Confidential Space AMD SEV
Confidential Space Intel TDX
机密 GKE 节点 AMD SEV

虽然 Google Cloud 证明很方便,但开源工具也可以直接为机密虚拟机实例获取证明报告。如需了解详情,请参阅请求证明报告

Google Cloud Attestation 的工作原理

Google Cloud 证明会在内部直接从硬件供应商处收集认可,并维护自己的一组参考值和评估政策,这些参考值和评估政策专门针对每个保密环境量身定制。它为 Google Cloud 用户提供用于获取证明结果声明令牌的 API。

Google Cloud 证明会从您的保密环境中收集信息,并根据批准的值和 Google 维护的政策进行检查。这些检查会转换为符合 IETF 远程证明程序 (RATS) 实体证明令牌 (EAT) 标准的可验证声明。然后,Google Cloud 证明会提供这些声明的加密证明,供依赖此类声明的服务(例如 Secret Manager 和 Google Identity and Access Management (IAM))使用。

可通过以下方式验证加密证明:

  1. 使用公钥。如需了解详情,请参阅 OIDC 令牌。 此选项更简单,可与 OIDC 兼容的应用原生搭配使用。

  2. 使用根证书。如需了解详情,请参阅 PKI 令牌。 此选项支持离线验证,无需每个信赖方发现验证密钥。如需查看离线验证的端到端示例,请参阅 将 Confidential Space 与未存储在云提供商处的受保护资源搭配使用 Codelab。

RATS 架构概览

远程证明程序 (RATS) 架构涉及以下主要实体:

  • 证明者:提供可信度证明的实体。在Google Cloud中,这是一个机密环境(例如机密虚拟机、机密 GKE 节点或 Confidential Space)。

  • 验证方:评估证据并生成证明结果的实体。这是 Google Cloud Attestation。

  • 依赖方:依赖证明结果来做出决策的实体(例如移动应用、存储桶或密钥管理系统)。

RATS 架构包含以下关键角色:

  • 信赖方所有者:为信赖方配置评估政策的实体。

  • 验证方所有者:为验证方(例如 Google)配置评估政策的实体。

  • 背书者:提供背书来验证证明者的能力(例如,AMD、Intel 或 Nvidia 等硬件 OEM)的实体。

  • 参考值提供方:一种实体,可为验证方提供参考值,以验证证明方的声明。

护照模型证明工作流

Google Cloud Attestation 使用护照模型。护照模型的高级工作流程涉及以下步骤:

  1. 证明者(保密环境)通过提供证据,从验证者(Google Cloud Attestation)请求证明结果。

  2. 验证方评估证据并发布证明结果。

  3. 证明者将此结果呈现给信赖方。

在此工作流中,Google Cloud Attestation 充当验证方。机密环境(例如机密虚拟机、机密 GKE 节点或 Confidential Space)充当证明者。信赖方包括 Thales EKM、Google IAM 和其他令牌代理。

为确保证明结果的时效性,Google Cloud 证明使用无法重复使用的加密数字。证明者可以向验证者提供与信赖方商定的随机数。然后,信赖方可以验证此随机数,以确保其新鲜度和正确性。