Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 6. Configuring RHEL on Public Cloud Platforms with Intel TDX


Intel Trust Domain Extensions (TDX) is a security type of Confidential Virtual Machine (CVM), which provides a secure and isolated environment for VM. This approach is an advancement to the former technology, Intel Software Guard Extensions (SGX).

SGX provides VM isolation from the hypervisor and cloud service providers by creating secure memory regions known as enclaves. Application code stored in enclaves has access to memory and data stored inside the enclave, making it inaccessible to outside entities.

TDX creates hardware-isolated VMs called Trusted Domains (TDs). It ensures that only a VM accesses its memory and TD VMs are isolated from Virtual Machine Manager (VMM), hypervisors, other VMs, and the host. This ensures that while using resources from hypervisor, CPU, TD VMs remain secure by maintaining data confidentiality and integrity.

The main difference between SGX and TDX is that SGX works at application level while TDX works at virtualization level by limiting hypervisor access.

Note

Before deploying Red Hat Enterprise Linux (RHEL) on a public cloud platform, always check with the corresponding cloud service provider for the support status and certification of the particular RHEL instance type.

6.1. Understanding Intel TDX secure boot process

  1. Initialization and measurement: A TDX-enabled hypervisor sets the initial state of a VM. This hypervisor loads the firmware binary file into the VM memory and sets the initial register state. The Intel processor measures the initial state of the VM and provides details to verify the initial state of the VM.
  2. Firmware: The VM initiates the UEFI firmware. The firmware might include stateful or stateless Virtual Trusted Platform Module (vTPM) implementation. Stateful vTPM maintains persistent cryptographic state across VM reboots and migrations, whereas stateless vTPM generates fresh cryptographic state for each VM session without persistence. Virtual Machine Privilege Levels (VMPL) technology isolates vTPM from the guest. VMPL offers hardware-enforced privilege isolation between different VM components and the hypervisor.
  3. vTPM: Depending on your cloud service provider, for stateful vTPM implementation, the UEFI firmware might perform a remote attestation to decrypt the persistent state of vTPM. The vTPM also gathers data about the boot process, such as Secure Boot state, certificates used for signing boot artifacts, or UEFI binary hashes.
  4. Shim : When the UEFI firmware finishes the initialization process, it searches for the extended firmware interface (EFI) system partition. Then, the UEFI firmware verifies and executes the first stage boot loader from there. For RHEL, this is shim. The shim program allows non-Microsoft operating systems to load the second stage boot loader from the EFI system partition.

    1. shim uses a Red Hat certificate to verify the second stage boot loader (grub) or Red Hat Unified Kernel Image (UKI).
    2. grub or UKI unpacks, verifies, and executes Linux kernel and initramfs, and the kernel command line. This process ensures that the Linux kernel is loaded in a trusted and secured environment.
  5. Initramfs: In initramfs, vTPM information automatically unlocks the encrypted root partition in case of full disk encryption technology.

    1. When the root volume becomes available, initramfs transfers the execution flow there.
  6. Attestation: The VM tenant gets access to the system and can perform a remote attestation to ensure that the accessed VM is an untampered Confidential Virtual Machine (CVM). Attestation is performed based on information from the Intel processor and vTPM. This process confirms the authenticity and reliability of the initial CPU and memory state of the RHEL instance and Intel processor.
  7. TEE: This process creates a Trusted Execution Environment (TEE) to ensure that booting of the VM is in a trusted and secured environment.

Intel TDX is a hardware based trusted execution environment (TEE). This confidential computing technology provides isolation and integrity to virtual machines.

Prerequisites

Procedure

  1. Log in to your Google Cloud account by using the google-cloud-cli utility:

    $ gcloud auth login
    Copy to Clipboard Toggle word wrap
  2. Create a new project:

    $ gcloud projects create <example_tdx_project> --name=”RHEL TDX Project”
    Copy to Clipboard Toggle word wrap
  3. Configure the project by setting the google-cloud-cli utility property:

    $ gcloud config set project <example_tdx_project>
    Copy to Clipboard Toggle word wrap
  4. Create a RHEL compute instance:

    $ gcloud compute instances create <example-rhel-9-tdx-instance> \
    --confidential-compute-type=TDX \
    --machine-type=c3-standard-4 \
    --min-cpu-platform="Intel Sapphire Rapids" \
    --maintenance-policy="TERMINATE" \
    --image=<rhel-guest-image-9-6-20250410-0-x86-64> \
    --image-project="rhel-cloud" \
    --subnet=<example_subnet>
    Copy to Clipboard Toggle word wrap
  5. Open ports on the RHEL instance:

    $ gcloud compute firewall-rules create allow-ssh \
    --allow tcp:22 \
    --source-ranges 0.0.0.0/0 \
    --target-tags ssh
    Copy to Clipboard Toggle word wrap
  6. Connect to the RHEL Google Cloud instance.

    1. Optional: Create a new key pair:

      $ gcloud compute ssh <cloud-user>@<example-rhel-9-tdx-instance>
      Copy to Clipboard Toggle word wrap
    2. Connect to the RHEL instance by using your key pair:

      $ ssh -i <private key> <cloud-user>@<instance ip>
      Copy to Clipboard Toggle word wrap

Verification

  • Check the VM configuration of the RHEL instance:

    $ gcloud compute instances describe <example-rhel-9-tdx-instance> --format="get(metadata)"
    Copy to Clipboard Toggle word wrap
  • Check kernel logs to verify the status of the TDX feature:

    $ sudo dmesg | grep -i tdx
    Copy to Clipboard Toggle word wrap
    [    0.000000] tdx: Guest detected
    [    1.334504] process: using TDX aware idle routine
    [    1.413419] Memory Encryption Features active: Intel TDX
    [    3.606910] systemd[1]: Detected confidential virtualization tdx.
    [   10.680475] systemd[1]: Detected confidential virtualization tdx.
    Copy to Clipboard Toggle word wrap
  • Check the CPU flags of the VM:

    $ grep -E 'tdx_guest' /proc/cpuinfo
    Copy to Clipboard Toggle word wrap
    flags : ...`tdx_guest`...
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat