On Fri, Mar 22, 2024 at 07:56:53AM -0700, Dionna Amalie Glaze wrote: > On Fri, Mar 22, 2024 at 1:52 AM Gerd Hoffmann <kra...@redhat.com> wrote: > > > > On Fri, Mar 22, 2024 at 02:39:20AM +0000, Yao, Jiewen wrote: > > > Please aware that this option will cause potential security risk. > > > > > > In case that any the guest component only knows one of vTPM or RTMR, > > > and only extends one of vTPM or RTMR, but the other one only verifies > > > the other, then the chain of trust is broken. This solution is secure > > > if and only if all guest components aware of coexistence, and can > > > ensure all measurements are extended to both vTPM and RTMR. But I am > > > not sure if all guest components are ready today. > > > > As far I know (it's been a while I looked at those patches) shim.efi and > > grub.efi have support for EFI_CC_MEASUREMENT_PROTOCOL, but use the same > > logic we have in DxeTpm2MeasureBootLib, i.e. they will not measure to > > both RTMR and vTPM. > > Shim will measure into CC and then continue to measure into TPM > https://github.com/rhboot/shim/blob/126a07ebc30bbd203b6966465b058da741b2654b/tpm.c#L164 > > GRUB2 has the same behavior. We can at least get coexistence > supporting the current boot integrity strategy that Confidential Space > is using, which is to depend on a dmverity initramfs whose root hash > is in the kernel_cmdline, and a Linux kernel built with LOADPIN. The > changes to Linux are proposed but not accepted precisely due to this > conversation we're having now. > I recall describing this to another CSP engineer at an IETF meeting > and they claimed they used the same approach, but I can't remember if > that was Oracle or another company. > > > > > Looking at systemd-boot I see it will likewise not measure to both RTMR > > and vTPM, but with reversed priority (use vTPM not RTMR in case both are > > present). > > > > Interesting. Thanks for this report. We'll push for the changed > semantics here if the spec is indeed changed, and request partner > distros in the CCC to include the updated systemd-boot.
FWIW, my RTMRs patch to systemd was merged quite recently so it's not included in any systemd release yet. (It was mainly implemented for the UKI case that allows TDVF to boot a UKI image directly and then have the image sections measured separately.) > I think that since the current boot integrity story stops at PCR9, we > have time to update this component before the attestation method > evolves to support a less special-purpose system composition. > > > Linux kernel appears to not have EFI_CC_MEASUREMENT_PROTOCOL support. > > Since 6.9-rc1 we have it: ac93cbfc > > > Since this option caused a potential risk / misuse breaking the chain > > > of trust, I recommend we have at least one more company to endorse the > > > runtime co-existence of vTPM and RTMR. Also, I would like to hear the > > > opinions from other companies. > > > > Rumors say intel is working on coconut-svsm support for tdx. That will > > most likely allow to use a vTPM with tdx even without depending on the > > virtualization host or cloud hyperscaler providing one. We will see VMs > > with both RTMR and vTPM and surely need a strategy how guests should > > deal with that situation, consistent across the whole boot stack and > > not every component doing something different. > > > > An ephemeral TPM that Coconut-svsm offers is qualitatively different > than the persistent TPMs in CSPs today. Users of Confidential VMs all > have different threat models that allow for trusting a CSP-managed > vTPM for sealing keys but not for trusting unencrypted data in use. > The boot stack attestation story will not be fully resolved for a long > while, and a smooth transition is better than a jarring one. > > > Given that the vTPM might be provided by the hypervisor and thus not be > > part of the TCB I can see that guests might want use both vTPM and RTMR. > > So, yes, for that case coexistance makes sense. I'm not convinced it is > > a good idea to make that a compile time option though. That will not > > help to promote a consistent story ... > > > > I agree, but it does mean we have to change the event log composition > to describe the configured measurement services like described above. > I think a static Pcd is okay to begin with. The idea for tracking > these qualities is through software supply chain endorsements. > Eventually that would look like the proposed in-toto's SCAI [1] but > until then we'd have a bespoke format that we document and integrate > with in an attestation verification service. > > [1] https://arxiv.org/pdf/2210.05813.pdf -- Regards, Mikko -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117134): https://edk2.groups.io/g/devel/message/117134 Mute This Topic: https://groups.io/mt/105070442/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-