linux/security/ipe
Luca Boccassi 02e2f9aa33 ipe: allow secondary and platform keyrings to install/update policies
The current policy management makes it impossible to use IPE
in a general purpose distribution. In such cases the users are not
building the kernel, the distribution is, and access to the private
key included in the trusted keyring is, for obvious reason, not
available.
This means that users have no way to enable IPE, since there will
be no built-in generic policy, and no access to the key to sign
updates validated by the trusted keyring.

Just as we do for dm-verity, kernel modules and more, allow the
secondary and platform keyrings to also validate policies. This
allows users enrolling their own keys in UEFI db or MOK to also
sign policies, and enroll them. This makes it sensible to enable
IPE in general purpose distributions, as it becomes usable by
any user wishing to do so. Keys in these keyrings can already
load kernels and kernel modules, so there is no security
downgrade.

Add a kconfig each, like dm-verity does, but default to enabled if
the dependencies are available.

Signed-off-by: Luca Boccassi <bluca@debian.org>
Reviewed-by: Serge Hallyn <serge@hallyn.com>
[FW: fixed some style issues]
Signed-off-by: Fan Wu <wufan@kernel.org>
2024-10-17 11:46:10 -07:00
..
.gitignore scripts: add boot policy generation program 2024-08-20 14:03:39 -04:00
audit.c ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
audit.h ipe: add permissive toggle 2024-08-20 14:02:27 -04:00
digest.c ipe: add support for dm-verity as a trust provider 2024-08-20 14:02:45 -04:00
digest.h ipe: add support for dm-verity as a trust provider 2024-08-20 14:02:45 -04:00
eval.c ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
eval.h ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
fs.c scripts: add boot policy generation program 2024-08-20 14:03:39 -04:00
fs.h ipe: add userspace interface 2024-08-20 14:02:15 -04:00
hooks.c ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
hooks.h ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
ipe.c ipe: Remove duplicated include in ipe.c 2024-08-22 12:24:10 -04:00
ipe.h ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
Kconfig ipe: allow secondary and platform keyrings to install/update policies 2024-10-17 11:46:10 -07:00
Makefile ipe: kunit test for parser 2024-08-20 14:03:43 -04:00
policy_fs.c ipe: add userspace interface 2024-08-20 14:02:15 -04:00
policy_parser.c ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00
policy_parser.h
policy_tests.c ipe: Add missing terminator to list of unit tests 2024-09-23 15:53:37 -04:00
policy.c ipe: allow secondary and platform keyrings to install/update policies 2024-10-17 11:46:10 -07:00
policy.h ipe: enable support for fs-verity as a trust provider 2024-08-20 14:03:35 -04:00