All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/2] let kexec_file_load use platform keyring to verify the kernel image
@ 2019-01-21  9:59 ` Kairui Song
  0 siblings, 0 replies; 24+ messages in thread
From: Kairui Song @ 2019-01-21  9:59 UTC (permalink / raw)
  To: linux-kernel
  Cc: dhowells, dwmw2, jwboyer, keyrings, jmorris, serge, zohar,
	bauerman, ebiggers, nayna, dyoung, linux-integrity, kexec,
	Kairui Song

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="maccentraleurope", Size: 2008 bytes --]

This patch series adds a .platform_trusted_keys in system_keyring as the
reference to .platform keyring in integrity subsystem, when platform
keyring is being initialized it will be updated, so it will be
accessable for verifying PE signed kernel image.

This patch series let kexec_file_load use platform keyring as fall
back if it failed to verify the image against secondary keyring,
so the actually PE signature verify process will use keys provides
by firmware.

After this patch kexec_file_load will be able to verify a signed PE
bzImage using keys in platform keyring.

Tested in a VM with locally signed kernel with pesign and imported the
cert to EFI's MokList variable.

To test this patch series on latest kernel, you need to ensure this commit
is applied as there is an regression bug in sanity_check_segment_list():

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id™3a110319a4a60aadbd02f6defdebe048f7773b

Update from V4:
  - Drop ifdef in security/integrity/digsig.c to make code clearer
  - Fix a potential issue, set_platform_trusted_keys should not be
    called when keyring initialization failed

Update from V3:
  - Tweak and simplify commit message as suggested by Mimi Zohar

Update from V2:
  - Use IS_ENABLED in kexec_file_load to judge if platform_trusted_keys
    should be used for verifying image as suggested by Mimi Zohar

Update from V1:
  - Make platform_trusted_keys static, and update commit message as suggested
    by Mimi Zohar
  - Always check if platform keyring is initialized before use it

Kairui Song (2):
  integrity, KEYS: add a reference to platform keyring
  kexec, KEYS: Make use of platform keyring for signature verify

 arch/x86/kernel/kexec-bzimage64.c | 13 ++++++++++---
 certs/system_keyring.c            | 22 +++++++++++++++++++++-
 include/keys/system_keyring.h     |  9 +++++++++
 include/linux/verification.h      |  1 +
 security/integrity/digsig.c       |  3 +++
 5 files changed, 44 insertions(+), 4 deletions(-)

-- 
2.20.1

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

end of thread, other threads:[~2019-01-23 18:36 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-21  9:59 [PATCH v5 0/2] let kexec_file_load use platform keyring to verify the kernel image Kairui Song
2019-01-21  9:59 ` Kairui Song
2019-01-21  9:59 ` Kairui Song
2019-01-21  9:59 ` [PATCH v5 1/2] integrity, KEYS: add a reference to platform keyring Kairui Song
2019-01-21  9:59   ` Kairui Song
2019-01-21  9:59   ` Kairui Song
2019-01-22 15:37   ` Mimi Zohar
2019-01-22 15:37     ` Mimi Zohar
2019-01-22 15:37     ` Mimi Zohar
2019-01-21  9:59 ` [PATCH v5 2/2] kexec, KEYS: Make use of platform keyring for signature verify Kairui Song
2019-01-21  9:59   ` Kairui Song
2019-01-21  9:59   ` Kairui Song
2019-01-22 15:37   ` Mimi Zohar
2019-01-22 15:37     ` Mimi Zohar
2019-01-22 15:37     ` Mimi Zohar
2019-01-23  2:35   ` Dave Young
2019-01-23  2:35     ` Dave Young
2019-01-23  2:35     ` Dave Young
2019-01-21 10:03 ` [PATCH v5 0/2] let kexec_file_load use platform keyring to verify the kernel image Kairui Song
2019-01-21 10:03   ` Kairui Song
2019-01-21 10:03   ` Kairui Song
2019-01-23 18:36 ` Mimi Zohar
2019-01-23 18:36   ` Mimi Zohar
2019-01-23 18:36   ` Mimi Zohar

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.