Re: [PATCH v8 5/5] x86/tdx: Add Quote generation support

From: Isaku Yamahata
Date: Thu Jul 21 2022 - 14:42:28 EST


On Thu, Jul 21, 2022 at 10:19:30AM -0700,
Dave Hansen <dave.hansen@xxxxxxxxx> wrote:

> On 7/21/22 10:16, Sathyanarayanan Kuppuswamy wrote:
> >> What is this "additional data"? Is that "REPORTDATA" from the TDX
> >> module spec?
> >>
> >> "Additional REPORTDATA, a 64-byte value, is provided by the
> >> guest TD to be included in the TDG.MR.REPORT."
> >
> > It is not the REPORTDATA. REPORTDATA is already included in the TDREPORT during
> > REPORT generation process (using TDG.MR.REPORT).
> >
> > Spec does not clearly define the details about the additional data. I think it is
> > related to certificates.
> >
> > Isaku, do you have more details about it?
> >
> > Current ABI allows attestation service and agent to decide the quote size. So
> > we can't make assumptions on what that size will be.
> >
> > Following is copied from TDX Module specification, sec titled "Measurement
> > and Attestation"
> >
> > An Intel SGX Quoting Enclave, written specifically to support quoting Intel TDX TDs,
> > uses a new ENCLU instruction leaf, EVERIFYREPORT2, to help check the integrity of the
> > TDG.MR.REPORT. If it passes, the Quoting Enclave can use a certified quote signing key
> > to sign a quote containing the guest TD’s measurements and the additional data being
> > quoted.
>
> <sigh> We're off in the weeds again.
>
> How many bytes does the TDX module read from and write to the guest
> physical address space? What are the absolute limits? What is the
> minimum and the maximum that the kernel needs to handle?

It's VMM (exactly, user space VMM like qemu in KVM case) that handles getquote
request and reads/writes the shared pages.
With KVM, there is no hard limit for user space VMM to access guest memory.

Regarding to the size of quote, there is no hard limit because it's for future
usage. But here is a rough idea about it.

- 4KB(1 page) can accommodate TDREPORT that is defined right now.
- 128KB is too small for foreseen use cases.
- 1MB is too big. big enough for future.

Thanks,
--
Isaku Yamahata <isaku.yamahata@xxxxxxxxx>