认证是指提高对机密虚拟机实例合法性和预期运行状态的信心的过程。它是验证工作负载是否在可信执行环境 (TEE) 中运行的重要工具。
认证报告是证明您的虚拟机在 TEE 中运行的证据。它们由机密虚拟机实例生成,并且根据所使用的机密计算技术,由基于软件的 vTPM 或专用的基于硬件的可信安全模块 (TSM) 签名。认证报告包含与引导加载程序活动、硬件配置、固件配置和其他启动时记录的事件相关的测量结果,这些测量结果有助于验证机密虚拟机实例的状态和身份。
您可以请求的认证报告类型取决于您的机密虚拟机实例使用的机密计算技术。
签名来源 | 类型 | 报告涵盖范围 | 机密计算技术 | ||
---|---|---|---|---|---|
SEV | SEV-SNP | Intel TDX | |||
Google 管理的 vTPM | 基于软件的 vTPM | 引导加载程序 activity、内核完整性 | |||
AMD 安全处理器 | 基于硬件的 TSM | 硬件和固件环境 | |||
Intel TDX 模块 | 基于硬件的 TSM | 硬件和固件环境 |
请求证明报告
您可以使用以下工具从 Google 管理的 vTPM、AMD 的安全处理器和 Intel 的 TDX 模块请求认证报告:
vTPM 认证事件日志中的 GceNonHostInfo
事件会显示正在使用的机密计算技术。如果使用 AMD SEV-SNP,Go-TPM 工具可以从 AMD 安全处理器请求认证报告;如果使用 Intel TDX,则可以从 Intel TDX 模块请求认证报告。
对于仅限硬件认证报告的情况,您可以使用以下工具向 TSM 发送加密质询:
对于 AMD SEV-SNP,请使用 SEV 访客。版本条状标签认证密钥 (VCEK) 证书会缓存在虚拟机上,而不是直接从 AMD 的密钥分发系统 (KDS) 请求。
对于 Intel TDX,请使用 TDX Guest。
Ubuntu 上的 Intel TDX
对于内核 1016 及更高版本的 Ubuntu 映像,tdx_guest
模块位于 linux-modules-extra
软件包中。
如需安装 linux-modules-extra
软件包,请运行以下命令:
sudo apt-get install linux-modules-extra-gcp
如果您在安装 linux-modules-extra-gcp
时遇到问题,可以通过运行以下命令更新内核:
sudo apt-get upgrade
您必须重新启动或手动加载模块,所做的更改才会生效。如需手动加载该模块,请运行以下命令:
sudo modprobe tdx_guest
使用 Google Cloud 认证工具验证认证报告
如果您的信任模型允许,您可以使用 Google Cloud 认证,而无需自行编写和运行认证验证程序。 Google Cloud认证免费提供,只能与 AMD SEV Confidential VM 实例搭配使用。
使用 Go-TPM 工具从机密虚拟机实例的 vTPM 检索认证报价后,您可以将其发送到Google Cloud 认证服务进行验证。如果报价通过验证,Google Cloud 认证会返回包含虚拟机信息的令牌,您可以将其与您自己的政策进行比较,以确认虚拟机是否应被信任。
如需有关使用 Google Cloud 认证的端到端示例,请参阅 Confidential Virtual Machine 上的 vTPM 远程认证 Codelab。