vSphere 支持为虚拟机配置虚拟 Intel® Software Guard Extensions (vSGX)。通过使用 vSGX,可以为工作负载提供额外的安全保护。

一些现代 Intel CPU 实施了名为 Intel® Software Guard Extensions (Intel® SGX) 的安全扩展。Intel SGX 是一种特定于处理器的技术,适用于力图保护选择代码和数据免遭泄露或修改的应用程序开发人员。Intel SGX 允许用户级代码定义内存的专用区域,称为安全区。安全区内容受到保护,因此在安全区外部运行的代码无法访问安全区内容。

vSGX 使虚拟机能够使用 Intel SGX 技术(如果在硬件上可用)。要使用 vSGX,ESXi 主机必须安装在支持 SGX 的 CPU 上,并且必须在 ESXi 主机的 BIOS 中启用 SGX。可以使用 vSphere Client 为虚拟机启用 SGX。

vSphere 8.0 及更高版本中,可以对启用了 vSGX 的虚拟机使用远程证明。Intel SGX 远程证明是一种安全机制,允许您与受信任的远程实体建立经过身份验证的安全通信通道。要对使用 SGX 安全区的虚拟机使用远程证明,具有单个 CPU 插槽的主机不需要 Intel 注册。要在具有多个 CPU 插槽的主机中运行的虚拟机上启用远程证明,必须先向 Intel 注册服务器注册该主机。如果具有多个 CPU 插槽且支持 SGX 的主机未向 Intel 注册服务器注册,则只能打开不需要远程证明且已启用 vSGX 的虚拟机的电源。

有关向 Intel 注册服务器注册多插槽 《vCenter Server 和主机管理》 主机的详细信息,请参见《ESXi》文档。

vSGX 入门

虚拟机可以使用 Intel SGX 技术(如果在硬件上可用)。

vSGX 对 vSphere 的要求

要使用 vSGX,您的 vSphere 环境必须满足以下要求:

  • 虚拟机要求:
    • EFI 固件
    • 硬件版本 17 或更高版本
    • 要启用远程证明,请使用硬件版本 20 或更高版本
  • 组件要求:
    • vCenter Server 7.0 及更高版本
    • ESXi 7.0 及更高版本
    • ESXi 主机必须安装在支持 SGX 的 CPU 上,并且必须在 ESXi 主机的 BIOS 中启用 SGX。
    • 要为主机启用远程证明,请向 Intel 注册服务器注册主机。这样,在主机上运行的虚拟机就可以使用远程证明。有关如何注册多插槽 ESXi 的详细信息,请参见《《vCenter Server 和主机管理》》文档。
  • 客户机操作系统支持:
    • Linux
    • Windows Server 2016(64 位)及更高版本
    • Windows 10(64 位)及更高版本

vSGX 支持的 Intel 硬件

有关适用于 vSGX 的受支持的 Intel 硬件,请参见位于 https://www.vmware.com/resources/compatibility/search.php 的《vSphere 兼容性指南》。

可能需要关闭某些 CPU 上的超线程,才能在ESXi主机上启用 SGX。有关详细信息,请参见 VMware 知识库文章,网址为 https://kb.vmware.com/s/article/71367

vSGX 上不支持的 VMware 功能

启用 vSGX 时,以下功能在虚拟机中不受支持:

  • vMotion/DRS 迁移
  • 虚拟机挂起和恢复
  • 虚拟机快照(如果未生成虚拟机内存快照,则支持虚拟机快照。)
  • Fault Tolerance
  • 客户机完整性(GI,VMware AppDefense™ 1.0 的平台基础)
注:

鉴于 Intel SGX 架构的工作方式,这些 VMware 功能不受支持,并非 VMware 缺陷所致。

在虚拟机上启用 vSGX

可以在创建虚拟机的同时在虚拟机上启用 vSGX。

前提条件

请参见 vSGX 对 vSphere 的要求

过程

  1. 使用 vSphere Client 连接到 vCenter Server
  2. 在清单中选择一个对象(虚拟机的有效父对象),如 ESXi 主机或集群。
  3. 右键单击对象,选择新建虚拟机,并按照提示创建虚拟机。
  4. 自定义硬件页面上,单击虚拟硬件选项卡,然后展开 安全设备
  5. 要启用 SGX,请选中启用复选框。
  6. 安全区页面缓存大小 (MB) 文本框中,输入缓存大小(以 MB 为单位)。
    注: 安全区页面缓存大小必须为 2 MB 的倍数。
  7. 要防止虚拟机打开不支持 SGX 远程证明的主机(如未注册的多插槽 SGX 主机)的电源,请选中远程证明复选框。
  8. 启动控制配置下拉菜单中,选择相应的模式。
    选项 操作
    已解锁 此选项可启用客户机操作系统的启动安全区配置。
    已锁定 此选项可用于配置启动安全区。
    1. 选择启动安全区公钥哈希选项。
    2. 要使用主机上配置的一个公钥,请选择使用主机端,然后从下拉菜单中选择一个公钥哈希。
    3. 要手动输入公钥,请选择手动输入,然后输入有效的 SHA256 哈希 (64) 字符密钥。
  9. 单击确定

在现有虚拟机上启用 vSGX

可以在现有虚拟机上启用 vSGX。

前提条件

请参见 vSGX 对 vSphere 的要求

过程

  1. 使用 vSphere Client 连接到 vCenter Server
  2. 在清单中右键单击您要修改的虚拟机,然后选择编辑设置
  3. 虚拟硬件选项卡中,展开安全设备
  4. 要启用 SGX,请选中启用复选框。
  5. 安全区页面缓存大小 (MB) 文本框中,输入缓存大小(以 MB 为单位)。
    注: 安全区页面缓存大小必须为 2 MB 的倍数。
  6. 要防止虚拟机打开不支持 SGX 远程证明的主机(如未注册的多插槽 SGX 主机)的电源,请选中远程证明复选框。
  7. 启动控制配置下拉菜单中,选择相应的模式。
    选项 操作
    已解锁 此选项可启用客户机操作系统的启动安全区配置。
    已锁定 此选项可用于配置启动安全区。
    1. 选择启动安全区公钥哈希选项。
    2. 要使用主机上配置的一个公钥,请选择使用主机端,然后从下拉菜单中选择一个公钥哈希。
    3. 要手动输入公钥,请选择手动输入,然后输入有效的 SHA256 哈希 (64) 字符密钥。
  8. 单击确定

从虚拟机中移除 vSGX

可以从虚拟机中移除 vSGX。

过程

  1. 使用 vSphere Client连接到 vCenter Server
  2. 在清单中右键单击您要修改的虚拟机,然后选择编辑设置
  3. 编辑设置对话框中的安全设备下,取消选中 SGX 对应的启用复选框。
  4. 单击确定
    验证 vSGX 条目是否不再显示在 虚拟机硬件窗格的虚拟机 摘要选项卡中。