From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Dionna Amalie Glaze <dionnaglaze@google.com>
Cc: "Jörg Rödel" <jroedel@suse.de>,
linux-coco@lists.linux.dev, amd-sev-snp@lists.suse.com
Subject: Re: SVSM initiated early attestation / guest secrets injection
Date: Mon, 16 Jan 2023 09:36:42 +0000 [thread overview]
Message-ID: <Y8UaqpLzyznAQl7D@redhat.com> (raw)
In-Reply-To: <CAAH4kHb=3nrAMR3GvpvyG0y__-USmZgV=FBSqtecw+ECXXoqpQ@mail.gmail.com>
On Fri, Jan 13, 2023 at 10:52:57AM -0800, Dionna Amalie Glaze wrote:
> >
> > Aside from what James' says, one option is to lockdown the OVMF and
> > secureboot chain. eg OVMF built with SecureBoot=on, and instead of
> > having the generic Microsoft keys enrolled, have a distro specific
> > key enrolled. That distro key would have to be one that is only
> > used for signing UKIs (Unified Kernel Images), and the initrd embedded
> > in the UKI would need to be designed abort if it finds the disk is
> > not encrypted.
> >
>
> IIUC, the disk doesn't need to be encrypted, it needs integrity. We
> can't treat booting to an encrypted disk as booting to the expected
> encrypted disk.
The attacker does not know the keyslot passphrase for the expected
encrypted disk. Thus if the initrd successfully unlocks the root
disk keyslot, we know it was presented the expected one. The only
serious attack is for the encrypted disk to be substituted with an
unencrypted disk, which can be handled by having the initrd refuse
to boot with any unencrypted root disk.
Other attacks on the encrypted disk such as tampering with the
cipher text would be mere denial of service. Use of LUKS AEAD
ciphers would mitigate that, but other integrity checking layers
can work too.
> The secret-holding server should only ever release secrets encrypted
> by an attested vTPM binary (SVSM-generated public key) that has sealed
> the secret to the workload PCRs.
> This kicks the problem to the server and VM having pre-agreed on
> what's the expected combination of OVMF and SVSM. So yes the vTPM gets
> its core secret transferred to it before the PCRs get set to the
> expected values, but that's part of the attestation dance with the
> initial registration with the secret-holding server.
To be clear, I think the vTPM is a good thing, but it does not look
like it is mandatory to me. If you lock down your firmware and initrd
sufficiently strict in its impl, a vTPM is not a blocker. What a vTPM
does is make the system much more flexible, since you can come up with
a wide variety of PCR policies for tieing unlock to. When not having a
vTPM you're effectively having to rely on one very specific policy that
is hardcoded through initrd/firmware impl.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2023-01-16 9:36 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-12 14:39 SVSM initiated early attestation / guest secrets injection Daniel P. Berrangé
2023-01-13 17:22 ` Jörg Rödel
2023-01-13 18:02 ` James Bottomley
2023-01-14 16:57 ` Jörg Rödel
2023-01-19 14:05 ` Christophe de Dinechin Dupont de Dinechin
2023-01-19 14:10 ` James Bottomley
2023-01-19 21:18 ` Jörg Rödel
2023-01-19 21:29 ` James Bottomley
2023-01-20 8:37 ` Jörg Rödel
2023-01-20 8:57 ` Daniel P. Berrangé
2023-01-20 12:39 ` James Bottomley
2023-01-20 12:51 ` Daniel P. Berrangé
2023-01-20 17:10 ` James Bottomley
2023-01-20 12:32 ` James Bottomley
2023-01-13 18:28 ` Daniel P. Berrangé
2023-01-13 18:52 ` Dionna Amalie Glaze
2023-01-16 9:36 ` Daniel P. Berrangé [this message]
2023-01-14 17:08 ` Jörg Rödel
2023-01-14 18:22 ` James Bottomley
2023-01-16 16:55 ` Jörg Rödel
2023-01-16 16:59 ` James Bottomley
2023-01-17 16:47 ` Jörg Rödel
2023-01-16 17:13 ` Daniel P. Berrangé
2023-01-17 16:53 ` Jörg Rödel
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=Y8UaqpLzyznAQl7D@redhat.com \
--to=berrange@redhat.com \
--cc=amd-sev-snp@lists.suse.com \
--cc=dionnaglaze@google.com \
--cc=jroedel@suse.de \
--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).