vSphere enables you to configure Virtual Intel® Software Guard Extensions (vSGX) for virtual machines. Using vSGX enables you to provide additional security to your workloads.
Some modern Intel CPUs implement a security extension called Intel® Software Guard Extensions (Intel® SGX). Intel SGX is a processor-specific technology for application developers who seek to protect select code and data from disclosure or modification. Intel SGX allows user-level code to define private regions of memory, called enclaves. The enclave contents are protected such that code running outside the enclave cannot access the enclave contents.
vSGX enables virtual machines to use Intel SGX technology if available on the hardware. To use vSGX, the ESXi host must be installed on an SGX-capable CPU and SGX must be enabled in the BIOS of the ESXi host. You can use the vSphere Client to enable SGX for a virtual machine.
In vSphere 8.0 and later, you can use remote attestation for a vSGX-enabled virtual machine. Intel SGX remote attestation is a security mechanism that allows you to establish an authenticated and secure communication channel with a trusted remote entity. To use remote attestation for virtual machines using SGX enclaves, hosts with a single CPU socket do not require Intel registration. To enable the remote attestation on a virtual machine running on a host with multiple CPU sockets, you must first register the host with the Intel Registration Server. If an SGX-capable host with multiple CPU sockets is not registered with the Intel Registration Server, you can only power on vSGX-enabled virtual machines that do not require remote attestation.
See the vCenter Server and Host Management documentation for more information about registering a multi-socket ESXi host with the Intel Registration Server.
Getting Started with vSGX
Virtual machines can use Intel SGX technology, if available on the hardware.
vSphere Requirements for vSGX
To use vSGX, your vSphere environment must meet these requirements:
- Virtual machine requirements:
- EFI firmware
- Hardware version 17 or later
- To enable remote attestation, hardware version 20 or later
- Component requirements:
- vCenter Server 7.0 and later
- ESXi 7.0 and later
- The ESXi host must be installed on an SGX-capable CPU and SGX must be enabled in the BIOS of the ESXi host.
- To enable the remote attestation for the host, register the host with the Intel Registration Server. This way, the virtual machine running on the host can use the remote attestation. For more information on how to register a multi-socket ESXi, see the vCenter Server and Host Management documentation.
- Guest OS support:
- Linux
- Windows Server 2016 (64 bit) and later
- Windows 10 (64 bit) and later
Supported Intel Hardware for vSGX
For supported Intel hardware for vSGX, consult the VSphere Compatibility Guide at https://www.vmware.com/resources/compatibility/search.php.
You might need to turn off hyperthreading on certain CPUs to enable SGX on the ESXi host. For more information, see the VMware KB article at https://kb.vmware.com/s/article/71367.
Unsupported VMware Features on vSGX
The following features are not supported in a virtual machine when vSGX is enabled:
- vMotion/DRS migration
- Virtual machine suspend and resume
- Virtual machine snapshots (Virtual machine snapshots are supported if you do not snapshot the virtual machine's memory.)
- Fault tolerance
- Guest Integrity (GI, platform foundation for VMware AppDefense™ 1.0)
These VMware features are not supported due to how the Intel SGX architecture functions. They are not the result of a VMware shortcoming.
Enable vSGX on a Virtual Machine
You can enable vSGX on a virtual machine at the same time that you create a virtual machine.
Prerequisites
Procedure
Enable vSGX on an Existing Virtual Machine
You can enable vSGX on an existing virtual machine.
Prerequisites
Procedure
Remove vSGX from a Virtual Machine
You can remove vSGX from a virtual machine.