Google Cloud Attestation

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

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

Google Cloud Attestation 可应用于以下 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 Attestation 会在内部直接从硬件供应商收集认可,并遵循一套专为每个机密环境量身定制的参考值和评估政策。它提供了 API,供用户提取认证结果声明令牌。 Google Cloud

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

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

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

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

RATS 架构概览

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

  • 认证者:提供其可信度的证据的实体。在Google Cloud中,这是机密环境(例如机密虚拟机、机密 GKE 节点或机密空间)。

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

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

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

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

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

  • 认证者:提供认证的实体,用于验证认证者的能力(例如 AMD、Intel 或 Nvidia 等硬件原始设备制造商 [OEM])。

  • 引用值提供方:为验证程序提供引用值的实体,以便验证程序验证声明提供方的声明。

护照模型证明工作流

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

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

  2. 验证器会评估证据并发出认证结果。

  3. 认证程序会将此结果呈现给依赖方。

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

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