From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Alexander Graf <graf@amazon.com>,
"Reshetova, Elena" <elena.reshetova@intel.com>,
Dan Middleton <dan.middleton@linux.intel.com>,
"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
"Kalra, Ashish" <ashish.kalra@amd.com>
Subject: Re: Confidential Computing call May 10: RTMR ABI & TEE I/O
Date: Sat, 08 Jun 2024 10:41:12 -0400 [thread overview]
Message-ID: <88ca715e6234bd7d09cee1b0cb7682cc3e15ed3a.camel@HansenPartnership.com> (raw)
In-Reply-To: <c3457141-1b62-4a7b-9cba-0ecec4dfb693@amazon.com>
On Fri, 2024-06-07 at 18:05 +0200, Alexander Graf wrote:
>
> On 07.06.24 16:46, Reshetova, Elena wrote:
> > > Hi Dan,
> > >
> > > On 03.05.24 21:55, Dan Middleton wrote:
> > > > Hi
> > > > Next Friday, May 10th at 9am PDT, we have a Confidential
> > > > Computing devsec / BoF / Discussion Group / SIG call. Everyone
> > > > is welcome.
> > > >
> > > > Tentative agenda includes RTMR ABI v3 direction and TEE I/O
> > > > next steps.
> > >
> > > I haven't seen an email for today's call, so let me throw my
> > > topic suggestion here:
> > >
> > > I would like to talk about "confidential kexec" today: A kexec
> > > mechanism that allows you to destroy the confidential VM you're
> > > in and recreate a new one based on a payload of the old one. With
> > > that, we would have a very easy and clean mechanism to bootstrap
> > > a VM into a fully measured new execution stack.
> >
> > Interesting topic, I am curious of the requirements!
> > Sounds like you want a local fast migration, i.e. a migration to a
> > newCoCo VM on the same platform? I guess the difference would be
> > the absenceof the online migration phase since you are probably ok
> > stopping the original CoCo VM first.
>
>
> Almost. I basically want the VM to be able to provide a new early
> measurement. So the opposite of migration: With migration, I want to
> preserve previous state. Here, the main motivation is to get rid of
> any previous state except the new "seed" for the target VM.
>
> There are 2 main use cases for this:
>
> 1) Measurement purely based on initial launch measurements. If the
> full OS is inside an initramfs, we can provide
> firmware+kernel+initramfs as "seed". The CoCo env would measure
> everything and I have an easy path to validate authenticity of my
> target environment. I also have an easy path to update the VM and
> then measure without replaying any event logs.
With an SVSM (that you're not replacing, so the initial launch
measurement remains valid) this one is easy: it can reinit everything
(including the vTPM) and redo a measured boot. So here you have
exactly the same measurements as though it were a clean boot.
> 2) Update SVSM (or similar). Often today, you want to implement TPMs
> and inside a higher privileged component that is really part of the
> VM. To update it, you could use in-VM mechanisms, but that leaves a
> path where you boot with an old version -> exploit -> update to the
> new. If we could "reboot"/kexec into a new SVSM, we could reason
> about its confidentiality with a 100% guarantee.
This one's a bit more difficult because the initial launch measurement
becomes invalid if the SVSM is replaced. What I'd suggest happens here
is that the SVSM reinit everything (including the vTPM), then measure a
"replace SVSM" record containing both the old and new SVSM measurements
and then do a measured boot. That way an attesting system can tie the
old launch measurement to the updated SVSM.
James
next prev parent reply other threads:[~2024-06-08 14:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-03 19:55 Confidential Computing call May 10: RTMR ABI & TEE I/O Dan Middleton
2024-05-07 16:17 ` James Bottomley
2024-05-13 5:10 ` Samuel Ortiz
2024-06-07 14:24 ` Alexander Graf
2024-06-07 14:46 ` Reshetova, Elena
2024-06-07 16:05 ` Alexander Graf
2024-06-08 14:41 ` James Bottomley [this message]
2024-06-10 12:09 ` Alexander Graf
2024-06-12 12:48 ` James Bottomley
2024-06-12 11:19 ` Reshetova, Elena
2024-06-12 11:49 ` Alexander Graf
2024-06-12 13:19 ` Reshetova, Elena
2024-06-12 21:18 ` Steve Rutherford
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-all 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=88ca715e6234bd7d09cee1b0cb7682cc3e15ed3a.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=ashish.kalra@amd.com \
--cc=dan.middleton@linux.intel.com \
--cc=elena.reshetova@intel.com \
--cc=graf@amazon.com \
--cc=linux-coco@lists.linux.dev \
/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;
as well as URLs for NNTP newsgroup(s).