All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add ability to use SEV provisioned secrets for disk decryption
@ 2020-11-13 22:25 James Bottomley
  2020-11-13 22:25 ` [PATCH v2 1/3] cryptodisk: make the password getter and additional argument to recover_key James Bottomley
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: James Bottomley @ 2020-11-13 22:25 UTC (permalink / raw)
  To: grub-devel
  Cc: dovmurik, Dov.Murik1, ashish.kalra, brijesh.singh, tobin,
	david.kaplan, jon.grimm, thomas.lendacky, jejb, frankeh,
	Dr . David Alan Gilbert

v2: update geli.c to use conditional prompt and add callback for
    variable message printing and secret destruction

To achieve encrypted disk images in the AMD SEV encrypted virtual
machine, we need to add the ability for grub to retrieve the disk
passphrase from the SEV launch secret.  To do this, we've modified
OVMF to set aside an area for the injected secret and pass up a
configuration table for it:

https://edk2.groups.io/g/devel/topic/78198617#67339

The patches in this series modify grub to look for the disk passphrase
in the secret configuration table and use it to decrypt any disks in
the system if they are found.  This is so an encrypted image with a
properly injected password will boot without any user intervention.

The three patches firstly modify the cryptodisk consumers to allow
arbitrary password getters instead of the current console based one.
The next patch adds a '-s' option to cryptodisk to allow it to use a
saved password and the final one adds a sevsecret command to check for
the secrets configuration table and provision the disk passphrase from
it if an entry is found.  With all this in place, the sequence to boot
an encrypted volume without user intervention is:

sevsecret
cryptomount -s
source (crypto0)/boot/grub.cfg

Assuming there's a standard Linux root partition.

James

---

James Bottomley (3):
  cryptodisk: make the password getter and additional argument to
    recover_key
  cryptodisk: add OS provided secret support
  efi: Add API for retrieving the AMD SEV injected secret for cryptodisk

 grub-core/Makefile.core.def    |   8 ++
 grub-core/disk/cryptodisk.c    |  61 ++++++++++++++-
 grub-core/disk/efi/sevsecret.c | 132 +++++++++++++++++++++++++++++++++
 grub-core/disk/geli.c          |  12 +--
 grub-core/disk/luks.c          |  12 +--
 grub-core/disk/luks2.c         |  12 +--
 include/grub/cryptodisk.h      |  11 ++-
 include/grub/efi/api.h         |  15 ++++
 8 files changed, 243 insertions(+), 20 deletions(-)
 create mode 100644 grub-core/disk/efi/sevsecret.c

-- 
2.26.2



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-11-15 11:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-13 22:25 [PATCH v2 0/3] Add ability to use SEV provisioned secrets for disk decryption James Bottomley
2020-11-13 22:25 ` [PATCH v2 1/3] cryptodisk: make the password getter and additional argument to recover_key James Bottomley
2020-11-14  1:50   ` Glenn Washburn
2020-11-15 11:07   ` Patrick Steinhardt
2020-11-13 22:25 ` [PATCH v2 2/3] cryptodisk: add OS provided secret support James Bottomley
2020-11-14  1:52   ` Glenn Washburn
2020-11-13 22:25 ` [PATCH v2 3/3] efi: Add API for retrieving the AMD SEV injected secret for cryptodisk James Bottomley
2020-11-14  1:50 ` [PATCH v2 0/3] Add ability to use SEV provisioned secrets for disk decryption Glenn Washburn
2020-11-14  2:48   ` James Bottomley
2020-11-14  4:23     ` Glenn Washburn
2020-11-15 11:11   ` Patrick Steinhardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.