public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: James Bottomley <jejb@linux.ibm.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Xu, Min M" <min.m.xu@intel.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>,
	Brijesh Singh <brijesh.singh@amd.com>,
	"Aktas, Erdem" <erdemaktas@google.com>,
	Tom Lendacky <thomas.lendacky@amd.com>
Subject: Re: [edk2-devel] [PATCH V3 5/9] OvmfPkg/IntelTdx: Measure Td HobList and Configuration FV
Date: Thu, 21 Apr 2022 09:24:49 +0000	[thread overview]
Message-ID: <MW4PR11MB5872F69A5073EB911364FC988CF49@MW4PR11MB5872.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20220421091430.55zgdocsn6h4z5dy@sirius.home.kraxel.org>

Adding CFV and TD_HOB to MRTD is technically possible, but not desired.

In a typical trust boot use case, the verifier should have a way to distinguish the *code* from *configuration*.
If you look at the TCG specification, the TPM has 24 PCRs. 8 of them are allocated for BIOS. Each PCRs record one type of measurements.
Technically, you can merge all PCR into one. But no one will do that in reality.

I would say: merging everything into one MRTD is a terrible idea.

Thank you
Yao Jiewen

> -----Original Message-----
> From: Gerd Hoffmann <kraxel@redhat.com>
> Sent: Thursday, April 21, 2022 5:15 PM
> To: Yao, Jiewen <jiewen.yao@intel.com>
> Cc: James Bottomley <jejb@linux.ibm.com>; devel@edk2.groups.io; Xu, Min M
> <min.m.xu@intel.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Justen,
> Jordan L <jordan.l.justen@intel.com>; Brijesh Singh <brijesh.singh@amd.com>;
> Aktas, Erdem <erdemaktas@google.com>; Tom Lendacky
> <thomas.lendacky@amd.com>
> Subject: Re: [edk2-devel] [PATCH V3 5/9] OvmfPkg/IntelTdx: Measure Td
> HobList and Configuration FV
> 
> On Wed, Apr 20, 2022 at 10:29:11PM +0000, Yao, Jiewen wrote:
> > The Root-of-Trust for Measurement (RTM) for TDX is TDX-Module. The TDX-
> Module will enforce the MRTD calculation for the TDVF code.
> > Then TDVF can then act as Chain-of-Trust for Measurement (CTM) to setup
> RTMR and continue the rest.
> >
> > It is described in [TDX-Module] Chapter 11, [TDVF] Chapter 8.
> >
> > [TDX-Module]
> https://www.intel.com/content/dam/develop/external/us/en/documents/tdx-
> module-1.0-public-spec-v0.931.pdf
> > [TDVF]
> https://www.intel.com/content/dam/develop/external/us/en/documents/tdx-
> virtual-firmware-design-guide-rev-1.01.pdf
> 
> Ok.  So it all works via TDH.MEM.PAGE.ADD (initial set of accepted
> pages) and TDH.MR.EXTEND (measure into MRTD) functions.
> 
> Looking at our binary ...
> 
> # virt-fw-dump -i Build/IntelTdx/DEBUG_GCC5/FV/OVMF.fd --ovmf-meta
> image=Build/IntelTdx/DEBUG_GCC5/FV/OVMF.fd
>   resetvector size=0x9b0
>     [ ... sev metadata snipped ... ]
>     guid:TdxMetadataOffset size=0x16 data=50080000
>       mbase=0xffc84000 msize=0x37c000 type=BFV (code) fbase=0x84000
> fsize=0x37c000 flags=0x1
>       mbase=0xffc00000 msize=0x84000 type=CFV (vars) fbase=0x0 fsize=0x84000
>       mbase=0x810000 msize=0x10000 type=MEM
>       mbase=0x80b000 msize=0x2000 type=MEM
>       mbase=0x809000 msize=0x2000 type=TD Hob
>       mbase=0x800000 msize=0x6000 type=MEM
> 
> ... BFV is measured (bit 0 of flags) whereas CFV and TD Hob are only
> added but not measured.
> 
> Adding CFV and TH Hob to the initial launch measurement should be
> possible by just updating flags, correct?
> 
> I think this should be done for the CFV.  The firmware will be loaded
> via "qemu -bios OVMF.fd".  No separate images for CODE and VARS. So
> splitting the measurement looks rather pointless to me.
> 
> TD Hob could be part of the initial launch measurement too, which would
> avoid the need to measure anything in SEC.  On the other hand the that
> would make the launch measurement depend not only on the firmware image
> but also the guest configuration (memory size), which would likely make
> things more complexity elsewhere, so probably not a good idea.
> 
> take care,
>   Gerd


  reply	other threads:[~2022-04-21  9:25 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-17 23:59 [PATCH V3 0/9] Enable RTMR based measurement and measure boot for Td guest Min Xu
2022-04-17 23:59 ` [PATCH V3 1/9] Security: Add HashLibTdx Min Xu
2022-04-17 23:59 ` [PATCH V3 2/9] CryptoPkg: Add SecCryptLib Min Xu
2022-04-18 15:31   ` [edk2-devel] " Michael D Kinney
2022-04-19 11:45     ` Min Xu
2022-04-17 23:59 ` [PATCH V3 3/9] SecurityPkg: Add definition of EFI_CC_EVENT_HOB_GUID Min Xu
2022-04-17 23:59 ` [PATCH V3 4/9] OvmfPkg: Introduce SecMeasurementLib Min Xu
2022-04-17 23:59 ` [PATCH V3 5/9] OvmfPkg/IntelTdx: Measure Td HobList and Configuration FV Min Xu
2022-04-19  6:58   ` Gerd Hoffmann
2022-04-19 11:12     ` Min Xu
2022-04-19 12:49       ` [edk2-devel] " Gerd Hoffmann
2022-04-19 14:06         ` Yao, Jiewen
2022-04-20  8:16           ` Gerd Hoffmann
2022-04-20  9:46             ` Yao, Jiewen
2022-04-20 16:05               ` Gerd Hoffmann
2022-04-20 14:25             ` James Bottomley
2022-04-20 16:29               ` Gerd Hoffmann
2022-04-20 22:29                 ` Yao, Jiewen
2022-04-21  9:14                   ` Gerd Hoffmann
2022-04-21  9:24                     ` Yao, Jiewen [this message]
2022-04-17 23:59 ` [PATCH V3 6/9] OvmfPkg: Add PCDs for LAML/LASA field in CC EVENTLOG ACPI table Min Xu
2022-04-17 23:59 ` [PATCH V3 7/9] MdePkg: Define CC Measure EventLog ACPI Table Min Xu
2022-04-18  1:23   ` Yao, Jiewen
2022-04-18  2:02     ` Min Xu
2022-04-17 23:59 ` [PATCH V3 8/9] OvmfPkg/IntelTdx: Add TdTcg2Dxe Min Xu
2022-04-18  0:00 ` [PATCH V3 9/9] OvmfPkg/IntelTdx: Enable RTMR based measurement and measure boot Min Xu
2022-04-18  1:43 ` [edk2-devel] [PATCH V3 0/9] Enable RTMR based measurement and measure boot for Td guest Yao, Jiewen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MW4PR11MB5872F69A5073EB911364FC988CF49@MW4PR11MB5872.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox