Re: [PATCH 4/9] KEYS: Allow unrestricted boot-time addition of keys to secondary keyring

From: David Howells
Date: Thu Nov 17 2016 - 06:18:40 EST

Petko Manolov <petkan@xxxxxxxxxxxx> wrote:

> > > Well, I for one do not explicitly trust these keys. I may even want to
> > > completely remove or replace them.
> >
> > Fine be me. However, if you remove them all I would guess that you cannot
> > perform a secure boot.
> Maybe not on PC, but there's plenty of other architectures out there. What
> if i replace all UEFI keys with my own?

Then I would imagine that you can do a secure boot, but that you have to sign
your own shim, grub, kernel, etc..

> > Note that it's to be expected that the keys being loaded from the UEFI
> > database cannot have their signatures checked - which is why they would
> > have to be implicitly trusted. For the same reason, the kernel does not
> > check the signatures on the keys compiled into the kernel image.
> I build all kernels that matter to me and i _do_ trust myself.
> Unfortunately i can't say the same for any corporation out there.
> Trusting a key because your vendor shipped the HW with it so that you have no
> way to verify the signature is pretty weak argument IMHO.

I'm not making an argument there. There is a reason I think that I can't
check them. Well, possibly I could *if* those keys are actually signed *and*
I have certs built into the kernel by which I can verify all those keys in
UEFI variables. I don't know whether this is actually practical.

> > You can argue this either way. There's a config option to allow you to
> > turn this on or off. Arguably, this should be split in two: one for the
> > whitelist (db, MokListRT) and one for the blacklist (dbx).
> I did not see the config option. There is one?

See patch 8 where these variables are actually parsed. CONFIG_LOAD_UEFI_KEYS
is available there.