证明是建立对保密计算信任的过程。认证是一种数字验证机制,可确保机密数据仅在经过严格审查的基于硬件的可信执行环境 (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))使用。
可通过以下方式验证加密证明:
使用公钥。如需了解详情,请参阅 OIDC 令牌。 此选项更简单,可与 OIDC 兼容的应用原生搭配使用。
使用根证书。如需了解详情,请参阅 PKI 令牌。 此选项支持离线验证,无需每个信赖方发现验证密钥。如需查看离线验证的端到端示例,请参阅 将 Confidential Space 与未存储在云提供商处的受保护资源搭配使用 Codelab。
RATS 架构概览
远程证明程序 (RATS) 架构涉及以下主要实体:
证明者:提供可信度证明的实体。在Google Cloud中,这是一个机密环境(例如机密虚拟机、机密 GKE 节点或 Confidential Space)。
验证方:评估证据并生成证明结果的实体。这是 Google Cloud Attestation。
依赖方:依赖证明结果来做出决策的实体(例如移动应用、存储桶或密钥管理系统)。
RATS 架构包含以下关键角色:
信赖方所有者:为信赖方配置评估政策的实体。
验证方所有者:为验证方(例如 Google)配置评估政策的实体。
背书者:提供背书来验证证明者的能力(例如,AMD、Intel 或 Nvidia 等硬件 OEM)的实体。
参考值提供方:一种实体,可为验证方提供参考值,以验证证明方的声明。
护照模型证明工作流
Google Cloud Attestation 使用护照模型。护照模型的高级工作流程涉及以下步骤:
证明者(保密环境)通过提供证据,从验证者(Google Cloud Attestation)请求证明结果。
验证方评估证据并发布证明结果。
证明者将此结果呈现给信赖方。
在此工作流中,Google Cloud Attestation 充当验证方。机密环境(例如机密虚拟机、机密 GKE 节点或 Confidential Space)充当证明者。信赖方包括 Thales EKM、Google IAM 和其他令牌代理。
为确保证明结果的时效性,Google Cloud 证明使用无法重复使用的加密数字。证明者可以向验证者提供与信赖方商定的随机数。然后,信赖方可以验证此随机数,以确保其新鲜度和正确性。