第 6 章 使用 Intel TDX 在公有云平台上配置 RHEL
Intel Trust Domain Extensions (TDX)是安全类型 Confidential Virtual Machine (CVM),它为虚拟机提供了一个安全且隔离的环境。这种方法是对前一个技术(Intel Software Guard Extensions (SGX))的推进。
SGX 通过创建安全内存区域(称为 enclaves)提供虚拟机与 hypervisor 和云服务供应商的隔离。存储在 enclaves 中的应用程序代码可以访问存储在 enclaves 中的内存和数据,使其无法访问外部实体。
TDX 创建硬件隔离虚拟机,名为受信任的域(TD)。它确保仅虚拟机访问其内存和 TD 虚拟机与虚拟机管理器(VMM)、虚拟机监控程序、其他虚拟机和主机隔离。这可确保使用来自 hypervisor、CPU 和 TD 虚拟机的资源,通过维护数据机密和完整性来保持安全。
SGX 和 TDX 的主要区别在于,SGX 在应用程序级别上工作,而 TDX 通过限制 hypervisor 访问来在虚拟化级别上工作。
在公共云平台上部署 Red Hat Enterprise Linux (RHEL)之前,请仔细检查相应的云服务供应商,以获取特定 RHEL 实例类型的支持状态和认证。
6.1. 了解 Intel TDX 安全引导过程 复制链接链接已复制到粘贴板!
- 初始化和测量 :启用 TDX 的 hypervisor 设置虚拟机的初始状态。这个 hypervisor 将固件二进制文件加载到虚拟机内存中,并设置初始注册状态。Intel 处理器测量虚拟机的初始状态,并提供验证虚拟机初始状态的详细信息。
- firmware : 虚拟机启动 UEFI 固件。固件可能包含有状态或无状态的虚拟可信平台模块(vTPM)实现。有状态 vTPM 在虚拟机重启和迁移之间维护持久加密状态,而无状态 vTPM 会为每个虚拟机会话生成一个新的加密状态,而无需持久性。虚拟机特权级别(VMPL)技术将 vTPM 与客户机隔离。VMPL 在不同虚拟机组件和 hypervisor 之间提供硬件强制的特权隔离。
- vTPM :根据有状态 vTPM 的云服务供应商,UEFI 固件可能会执行远程测试来解密 vTPM 的持久状态。vTPM 还收集有关引导过程的数据,如安全引导状态、用于签名引导工件或 UEFI 二进制哈希的证书。
shim :当 UEFI 固件完成初始化过程时,它会搜索扩展的固件接口(EFI)系统分区。然后,UEFI 固件从那里验证并执行第一个阶段引导装载程序。对于 RHEL,这是
shim。shim程序允许非 Microsoft 操作系统从 EFI 系统分区加载第二阶段引导装载程序。-
shim使用红帽证书来验证第二阶段引导装载程序(grub)或 Red Hat Unified Kernel Image (UKI)。 -
GRUB或UKI解压缩、验证并执行 Linux 内核及 initramfs 以及内核命令行。这个过程可确保在可信和安全的环境中载入 Linux 内核。
-
initramfs :在 initramfs 中,如果完全磁盘加密技术,vTPM 信息会自动解锁加密的 root 分区。
-
当根卷可用时,
initramfs会在其中传输执行流。
-
当根卷可用时,
- attestation : VM 租户可以访问系统,并可执行远程测试,以确保访问的虚拟机是未修改的虚拟机(CVM)。attestation 基于 Intel 处理器和 vTPM 的信息执行。这个过程确认 RHEL 实例和 Intel 处理器的初始 CPU 和内存状态的真实性和可靠性。
- TEE :此过程创建受信任的执行环境(TEE),以确保引导虚拟机处于可信和安全的环境中。