Coder Social home page Coder Social logo

tupelo-shen / tdx-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jumpmanhou/tdx-tools

0.0 1.0 0.0 27.22 MB

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

License: Apache License 2.0

Shell 8.32% Python 6.30% Perl 0.33% C 78.05% Lua 0.15% Assembly 3.19% Rust 0.20% Makefile 3.24% Dockerfile 0.07% Roff 0.14%

tdx-tools's Introduction

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

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

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

tdx-tools's People

Contributors

jialeif avatar ruomengh avatar kenplusplus avatar clsulliv avatar intelzhongjie avatar jurobystricky avatar leizhou-97 avatar haokunx-intel avatar tenderbulk avatar dongx1x avatar kkbodke avatar matti avatar ruoyu-y avatar zhlsunshine avatar anselmolsm avatar bfuhry avatar qhongye avatar vli11 avatar hector-cao avatar kepingwa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.