[v17,0/3] Add TDX Guest Attestation support

Message ID 20221104032355.227814-1-sathyanarayanan.kuppuswamy@linux.intel.com
Headers
Series Add TDX Guest Attestation support |

Message

Kuppuswamy Sathyanarayanan Nov. 4, 2022, 3:23 a.m. UTC
  Hi All,

Intel's Trust Domain Extensions (TDX) protect guest VMs from malicious
hosts and some physical attacks. VM guest with TDX support is called
as a TDX Guest.

In TDX guest, attestation process is used to verify the TDX guest
trustworthiness to other entities before provisioning secrets to the
guest. For example, a key server may request for attestation before
releasing the encryption keys to mount the encrypted rootfs or
secondary drive.

This patch set adds attestation support for the TDX guest. Details
about the TDX attestation process and the steps involved are explained
in Documentation/x86/tdx.rst (added by patch 2/3).

Following are the details of the patch set:

Patch 1/3 -> Preparatory patch for adding attestation support.
Patch 2/3 -> Adds user interface driver to support attestation.
Patch 3/3 -> Adds selftest support for TDREPORT feature.

Commit log history is maintained in the individual patches.

Current overall status of this series is, it has no pending issues
and can be considered for the upcoming merge cycle.

Kuppuswamy Sathyanarayanan (3):
  x86/tdx: Add a wrapper to get TDREPORT from the TDX Module
  virt: Add TDX guest driver
  selftests: tdx: Test TDX attestation GetReport support

 Documentation/virt/coco/tdx-guest.rst        |  42 +++++
 Documentation/virt/index.rst                 |   1 +
 Documentation/x86/tdx.rst                    |  43 +++++
 arch/x86/coco/tdx/tdx.c                      |  38 +++++
 arch/x86/include/asm/tdx.h                   |   2 +
 drivers/virt/Kconfig                         |   2 +
 drivers/virt/Makefile                        |   1 +
 drivers/virt/coco/tdx-guest/Kconfig          |  10 ++
 drivers/virt/coco/tdx-guest/Makefile         |   2 +
 drivers/virt/coco/tdx-guest/tdx-guest.c      | 102 ++++++++++++
 include/uapi/linux/tdx-guest.h               |  41 +++++
 tools/testing/selftests/Makefile             |   1 +
 tools/testing/selftests/tdx/Makefile         |   7 +
 tools/testing/selftests/tdx/config           |   1 +
 tools/testing/selftests/tdx/tdx_guest_test.c | 163 +++++++++++++++++++
 15 files changed, 456 insertions(+)
 create mode 100644 Documentation/virt/coco/tdx-guest.rst
 create mode 100644 drivers/virt/coco/tdx-guest/Kconfig
 create mode 100644 drivers/virt/coco/tdx-guest/Makefile
 create mode 100644 drivers/virt/coco/tdx-guest/tdx-guest.c
 create mode 100644 include/uapi/linux/tdx-guest.h
 create mode 100644 tools/testing/selftests/tdx/Makefile
 create mode 100644 tools/testing/selftests/tdx/config
 create mode 100644 tools/testing/selftests/tdx/tdx_guest_test.c
  

Comments

Kuppuswamy Sathyanarayanan Nov. 10, 2022, 3:41 a.m. UTC | #1
Hi Boris/Dave,

On 11/3/22 8:23 PM, Kuppuswamy Sathyanarayanan wrote:
> Hi All,
> 
> Intel's Trust Domain Extensions (TDX) protect guest VMs from malicious
> hosts and some physical attacks. VM guest with TDX support is called
> as a TDX Guest.
> 
> In TDX guest, attestation process is used to verify the TDX guest
> trustworthiness to other entities before provisioning secrets to the
> guest. For example, a key server may request for attestation before
> releasing the encryption keys to mount the encrypted rootfs or
> secondary drive.
> 
> This patch set adds attestation support for the TDX guest. Details
> about the TDX attestation process and the steps involved are explained
> in Documentation/x86/tdx.rst (added by patch 2/3).
> 
> Following are the details of the patch set:
> 
> Patch 1/3 -> Preparatory patch for adding attestation support.
> Patch 2/3 -> Adds user interface driver to support attestation.
> Patch 3/3 -> Adds selftest support for TDREPORT feature.
> 
> Commit log history is maintained in the individual patches.
> 
> Current overall status of this series is, it has no pending issues
> and can be considered for the upcoming merge cycle.
> 

Any comments on this series? If you are fine with the current version,
I'm wondering if this can be considered for the upcoming merge window.
Please let me know what you think.

> Kuppuswamy Sathyanarayanan (3):
>   x86/tdx: Add a wrapper to get TDREPORT from the TDX Module
>   virt: Add TDX guest driver
>   selftests: tdx: Test TDX attestation GetReport support
> 
>  Documentation/virt/coco/tdx-guest.rst        |  42 +++++
>  Documentation/virt/index.rst                 |   1 +
>  Documentation/x86/tdx.rst                    |  43 +++++
>  arch/x86/coco/tdx/tdx.c                      |  38 +++++
>  arch/x86/include/asm/tdx.h                   |   2 +
>  drivers/virt/Kconfig                         |   2 +
>  drivers/virt/Makefile                        |   1 +
>  drivers/virt/coco/tdx-guest/Kconfig          |  10 ++
>  drivers/virt/coco/tdx-guest/Makefile         |   2 +
>  drivers/virt/coco/tdx-guest/tdx-guest.c      | 102 ++++++++++++
>  include/uapi/linux/tdx-guest.h               |  41 +++++
>  tools/testing/selftests/Makefile             |   1 +
>  tools/testing/selftests/tdx/Makefile         |   7 +
>  tools/testing/selftests/tdx/config           |   1 +
>  tools/testing/selftests/tdx/tdx_guest_test.c | 163 +++++++++++++++++++
>  15 files changed, 456 insertions(+)
>  create mode 100644 Documentation/virt/coco/tdx-guest.rst
>  create mode 100644 drivers/virt/coco/tdx-guest/Kconfig
>  create mode 100644 drivers/virt/coco/tdx-guest/Makefile
>  create mode 100644 drivers/virt/coco/tdx-guest/tdx-guest.c
>  create mode 100644 include/uapi/linux/tdx-guest.h
>  create mode 100644 tools/testing/selftests/tdx/Makefile
>  create mode 100644 tools/testing/selftests/tdx/config
>  create mode 100644 tools/testing/selftests/tdx/tdx_guest_test.c
>