Skip to content

Cloud Stack and Solutions for Intel TDX (Trust Domain Extension)

License

Notifications You must be signed in to change notification settings

anjalirai-intel/tdx-tools

 
 

Repository files navigation

Stacks and Solutions for Intel® TDX (Trust Domain Extensions)

CI Check Shell CI Check Python CI Check License CI Check Document

NOTE: The project "Linux TDX 1.5 SW Stack" is end of life. Please refer to Red Hat blog Enabling hardware-backed confidential computing with a CentOS SIG or Ubuntu blog Intel® TDX 1.0 technology preview available on Ubuntu 23.10 or SUSE blog Intel® TDX Support Coming to SUSE Linux Enterprise Server for more information of TDX Early Preview. The default branch mid-stream is used to sustain tools for TDX Early Preview.

1. Overview

This project provides the modified components to setup TDX stacks and additional components/tools/services for optimized/full-capabilities Intel® TDX based confidential computing solutions.

NOTE:

  1. Please refer the white paper: Linux*Stacks for Intel® Trust Domain Extension 1.5 and wiki for additional informational about TDX 1.5 or developer specific information.
  2. The modified components like Kernel, Qemu, Libvirt etc includes pre-upstream patches are for reference only.
  3. The modified components like Grub, Shim's were already upstream-ed. Please install from the corresponding OS distribution.
  4. The component TDVF uses the configuration of IntelTdxX64.dsc from edk2 upstream.
  5. The component DCAP refers to SGXDataCenterAttestationPrimitives
  6. The components, tools, services are not only for function evaluation, but also are full optimized for performance, please see Performance Considerations of Intel® Trust Domain Extensions on 4th Generation Intel® Xeon® Scalable Processors
  7. The use case based services/solutions strictly follows the Kernel Hardening Strategy without compromising security.
  8. The kernel is keeping to evolving. Please refer to corresponding tags for different kernel version used.
Tag Kernel version TDX Version Descriptions
2023ww41 6.2.16 TDX 1.5 Performance improvement, vTPM+, Live Migration+, latest CVE

1.1 Intel® Trust Domain Extensions(TDX)

Intel® Trust Domain Extensions(TDX) refers to an Intel technology that extends Virtual Machine Extensions(VMX) and Multi-Key Total Memory Encryption(MK-TME) with a new kind of virtual machine guest called a Trust Domain(TD). A TD runs in a CPU mode that protects the confidentiality of its memory contents and its CPU state from any other software, including the hosting Virtual Machine Monitor (VMM). Please get more details from TDX White Papers and Specifications

1.2 Hardware Availability

  • As of July 2023, Intel TDX is available through custom 4th Gen Intel Xeon Scalable processors (formerly code-named “Sapphire Rapids”) delivered to certain major Cloud Service Providers, including Alibaba, Azure, Google Cloud and IBM Cloud. Today, Alibaba and Azure are already in preview, with Google and IBM expected in the coming months.
  • Intel’s Developer Cloud will be equipped with TDX-capable Intel Xeon Scalable processors in the coming months for software testing and solution development. Stay tuned to our GitHub for news on availability.
  • Intel TDX will be generally available in the upcoming 5th Gen Intel Xeon Scalable processors (code-named “Emerald Rapids”).

NOTE:

1.3 API and Specifications

Please see details at here:

2. Stacks and Solutions for Intel® TDX

2.1 Use Cases

It produces the following minimal use cases:

  • Launch Intel® TDX guest VM to run general computing workloads
  • Do launch-time measurement within the Intel® TDX guest VM
  • Do runtime attestation with the quote generated by Intel® Software Guard Extensions (Intel® SGX)-based quote generation service (QGS) on the IaaS host
  • vTPM stack for TD works with tpm2-tools, IMA and Keylime.

It provides the below tools for developer:

  • Build individual component's package or install pre-build binaries on IaaS host or create PaaS guest image for quick evaluation
  • Generate the patch set for deep dive in source code level
  • Test, hack and debug the TDX technology based on PyCloudStack framework
  • Dump guest VM measurement and generate TD quote report for TDX E2E attestation
  • Measured boot and Secure boot for TDX guest VM
  • Deployment tool for Linux TDX SW stack deployment on TDX enabled host
  • Guest image tool to generate TD guest image

2.2 Components

Linux Stack for Intel® TDX includes the components in below diagram:

TDX Stack Architecture

Name Stack Description
TDX Kernel Host + Guest Linux kernel for TDX
TDX Qemu-KVM Host Qemu VMM for TDX
TDX SEAM Module Host TDX Secure Arbitration Module
vTPM TD Host A service TD provides vTPM service to TD
Migration TD Host Migration TD for live migration
TDX Libvirt Host The modified libvirt to create TDX guest domain via Qemu
TDVF Host The modified OVMF(Open Source Virtual Firmware) to support TDX guest boot like page accept, TDX measurement
TDX Grub2 Guest The modified grub for guest VM to support TDX measurement
TDX shim Guest The modified shim for guest VM to support TDX measurement

3. Further Reading

Type Content
BKM Check Memory Encryption
BKM Enable IMA with TDX RTMR
Developer Developer Guide
Developer Off TD GDB Debug
1.5 TD Migration
1.5 vTPM
Cloud Confidential Cloud Native Primitives

About

Cloud Stack and Solutions for Intel TDX (Trust Domain Extension)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 78.0%
  • Shell 8.3%
  • Python 6.4%
  • Makefile 3.2%
  • Assembly 3.2%
  • Perl 0.3%
  • Other 0.6%