第 6 章 使用 AMD SEV SNP 在公有云平台上配置 RHEL


要防止基于 VM 的攻击并减少内存完整性违反情况,请在公有云上的 Red Hat Enterprise Linux (RHEL)实例上配置带有安全嵌套的 Paging (SEV-SNP)的 AMD 安全加密虚拟化。AMD SEV-SNP 将虚拟机数据与虚拟机监控程序和云服务供应商隔离。

6.1. AMD SEV SNP 概述

带有安全嵌套分页(SEV-SNP)的 AMD 安全加密虚拟化旨在提高存储在公共云平台上的虚拟机(VM)和数据的安全性。

AMD 处理器提供三种基于硬件的安全机制: SEV、SEV-ES 和 SEV-SNP。

  • SEV: SEV 机制加密虚拟机(VM)内存,以防止虚拟机监控程序访问虚拟机数据。
  • SEV-ES : SEV with Encrypted State (SEV-ES)通过加密 CPU 注册状态来扩展 SEV。这种机制可防止虚拟机监控程序访问或修改虚拟机 CPU 注册。尽管在 hypervisor 和虚拟机之间提供隔离,但它仍然容易受到内存完整性攻击的影响。
  • SEV-SNP: SEV-SNP 是 SEV-ES 的增强,它添加了内存完整性保护和虚拟机加密。这种机制可防止虚拟机监控程序修改页表来重定向虚拟机内存访问。它可防止重播攻击和内存篡改。
SEV SNP 组件
  • Secure Processor: AMD EPYC 处理器集成了一个安全处理器(SP)子系统。AMD SP 是一个专用的硬件组件,用于管理密钥和加密操作。
  • 内存完整性 :内存管理单元(MMU)利用页表将虚拟地址转换为客户机物理地址。

    • SEV-SNP 使用嵌套页表将客户机物理地址转换为主机物理地址。
    • 定义后,嵌套的页表不会被虚拟机监控程序或主机更改。这可防止虚拟机访问不同的页面,从而保护内存的完整性。
    • SEV-SNP 使用此方法提供对虚拟机内存的重播攻击、内存完整性违反情况和恶意修改的保护。
  • 内存加密 :AMD EPYC 处理器隐藏内存加密密钥,该密钥在主机和虚拟机中保持隐藏。
  • 验证 的测试报告 :CPU 生成的报告以授权加密格式包含 RHEL 实例信息。此报告确认 RHEL 实例和 AMD 处理器的初始 CPU 和内存状态的真实性和可靠性。

    注意

    即使虚拟机监控程序创建虚拟机的主内存和 CPU 注册状态,它们在初始化该虚拟机后仍为隐藏且无法访问。

AMD SEV SNP 安全引导过程
  1. 初始化和测量 :启用 SEV-SNP 的 hypervisor 设置虚拟机的初始状态。

    1. 这个 hypervisor 将固件二进制文件加载到虚拟机内存中,并设置初始注册状态。
    2. AMD Secure Processor (SP)测量虚拟机的初始状态,并提供验证虚拟机初始状态的详细信息。
  2. firmware : 虚拟机启动 UEFI 固件。固件可能包含有状态或无状态的虚拟可信平台模块(vTPM)实现。

    1. 有状态 vTPM 在虚拟机重启和迁移过程中维护持久性加密状态。
    2. 无状态 vTPM 在不持久性的情况下为每个虚拟机会话生成一个新的加密状态。
    3. 虚拟机特权级别(VMPL)技术将 vTPM 与客户机隔离。
    4. VMPL 在不同虚拟机组件和 hypervisor 之间提供硬件强制的特权隔离。
  3. vTPM: 对于有状态 vTPM 实现,UEFI 固件可能会在测试时执行远程测试。

    1. 这取决于您的云服务供应商。attestation 会解密 vTPM 的持久状态。
    2. vTPM 还测量引导过程的事实

      • 安全引导状态
      • 用于签名引导工件的证书
      • UEFI 二进制哈希
  4. shim :当 UEFI 固件完成初始化过程时,它会搜索扩展的固件接口(EFI)系统分区。

    1. UEFI 固件从那里验证并执行第一个阶段引导装载程序。
    2. 对于 RHEL,这是 shimshim 程序允许非 Microsoft 操作系统从 EFI 系统分区加载第二阶段引导装载程序。
    3. shim 使用红帽证书来验证第二阶段引导装载程序(grub)或 Red Hat Unified Kernel Image (UKI)。
    4. GRUBUKI 解压缩、验证并执行 Linux 内核和初始 RAM 文件系统(initramfs)和内核命令行。
    5. 这个过程可确保 Linux 内核在可信和安全的环境中加载。
  5. initramfs :在 initramfs 中,如果完全磁盘加密技术,vTPM 信息会自动解锁加密的 root 分区。

    1. 当根卷可用时,initramfs 会将执行流传输到根卷。
  6. attestation :VM 租户会获取系统的访问权限。他们可以执行远程测试,以确保虚拟机是未被调整的机密性虚拟机(CVM)。

    1. attestation 基于 AMD SP 和 vTPM 的信息执行。
    2. 这个过程确认 RHEL 实例和 AMD 处理器的初始 CPU 和内存状态的真实性和可靠性。
  7. TEE :此过程创建受信任的执行环境(TEE),以确保引导虚拟机处于可信和安全的环境中。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部