Skip to content

KEYS: validate key trust with owner and builtin keys only

Dmitry Kasatkin lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 42 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4KEYS: define an owner trusted keyringDocumentation/kernel-parameters.txt crypto/asymmetric_keys/x509_public_key.c include/keys/owner_keyring.h +3 more+131 -13 replies
2/4KEYS: fix couple of thingscrypto/asymmetric_keys/x509_public_key.c+2 -10 replies
3/4KEYS: validate key trust only with selected owner keycrypto/asymmetric_keys/x509_public_key.c include/keys/owner_keyring.h init/Kconfig +2 more+24 -12613 replies
4/4KEYS: validate key trust only with builtin keyscrypto/asymmetric_keys/x509_public_key.c include/linux/key.h kernel/system_keyring.c+9 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] KEYS: validate key trust with owner and builtin keys only

Hi Mimi,

As you asked ofline , here is possible equivalent and simpler alternative patches not requiring to have additional keyring.

First patch are irrelevant minor fixes.

Also I want to discuss here Fedora UEFI patches as they are the reason for the these original patchset.

http://pkgs.fedoraproject.org/cgit/kernel.git/tree/modsign-uefi.patch

They provide functionality to specify MokIgnoreDb variable to limit loading of UEFI keys only from MOK List, while ignoring DB. This is certainly a good functionality. But once MODULE_SIG_UEFI is enabled, it looks there is no way to prevent loading keys from UEFI at all. And this might not be a good default functionality. Someone might want not allow loading of keys from UEFI unless kernel parameter is specified to allow it without recompiling the kernel and disabling MODULE_SIG_UEFI.

Josh, why such design decision was made?

Why not to provide kernel parameter to have more fine-tune control over the functionality? Unconfigured machines will not have MokIgnoreDb and will allow to load kernel modules signed with certain undesired keys. In fact, I beleive, it should be default behavior of the kernel. Bootloader can enable UEFI functionality by specifing it on the kernel command line.

Second patch allows to overcome keys coming from UEFI for key validation by specifing owner key id and is an alternative for v5 4/4 patch.

It was also a good idea presented in Mimi's v4 4/4 patch to have possibility to limit key trust valiation by only builtin keys. Third patch as an alternative. It uses keys->flags to specify origin of the key, but any additional field could be added as well.

Both key id and origin verification is done in x509_validate_trust().

Thanks,
Dmitry

Dmitry Kasatkin (3):
KEYS: fix couple of things
KEYS: validate key trust only with selected owner key
KEYS: validate key trust only with builtin keys

Mimi Zohar (1):
KEYS: define an owner trusted keyring

 Documentation/kernel-parameters.txt      |  5 +++++
 crypto/asymmetric_keys/x509_public_key.c | 35 +++++++++++++++++++++++++++++---
 include/linux/key.h                      |  1 +
 kernel/system_keyring.c                  |  1 +
 4 files changed, 39 insertions(+), 3 deletions(-)
Signature · 1 line
1.9.1