116 lines
3.9 KiB
Plaintext
116 lines
3.9 KiB
Plaintext
|
# SPDX-License-Identifier: GPL-2.0-only
|
||
|
#
|
||
|
config INTEGRITY
|
||
|
bool "Integrity subsystem"
|
||
|
depends on SECURITY
|
||
|
default y
|
||
|
help
|
||
|
This option enables the integrity subsystem, which is comprised
|
||
|
of a number of different components including the Integrity
|
||
|
Measurement Architecture (IMA), Extended Verification Module
|
||
|
(EVM), IMA-appraisal extension, digital signature verification
|
||
|
extension and audit measurement log support.
|
||
|
|
||
|
Each of these components can be enabled/disabled separately.
|
||
|
Refer to the individual components for additional details.
|
||
|
|
||
|
if INTEGRITY
|
||
|
|
||
|
config INTEGRITY_SIGNATURE
|
||
|
bool "Digital signature verification using multiple keyrings"
|
||
|
default n
|
||
|
select KEYS
|
||
|
select SIGNATURE
|
||
|
help
|
||
|
This option enables digital signature verification support
|
||
|
using multiple keyrings. It defines separate keyrings for each
|
||
|
of the different use cases - evm, ima, and modules.
|
||
|
Different keyrings improves search performance, but also allow
|
||
|
to "lock" certain keyring to prevent adding new keys.
|
||
|
This is useful for evm and module keyrings, when keys are
|
||
|
usually only added from initramfs.
|
||
|
|
||
|
config INTEGRITY_ASYMMETRIC_KEYS
|
||
|
bool "Enable asymmetric keys support"
|
||
|
depends on INTEGRITY_SIGNATURE
|
||
|
default n
|
||
|
select ASYMMETRIC_KEY_TYPE
|
||
|
select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||
|
select CRYPTO_RSA
|
||
|
select X509_CERTIFICATE_PARSER
|
||
|
help
|
||
|
This option enables digital signature verification using
|
||
|
asymmetric keys.
|
||
|
|
||
|
config INTEGRITY_TRUSTED_KEYRING
|
||
|
bool "Require all keys on the integrity keyrings be signed"
|
||
|
depends on SYSTEM_TRUSTED_KEYRING
|
||
|
depends on INTEGRITY_ASYMMETRIC_KEYS
|
||
|
default y
|
||
|
help
|
||
|
This option requires that all keys added to the .ima and
|
||
|
.evm keyrings be signed by a key on the system trusted
|
||
|
keyring.
|
||
|
|
||
|
config INTEGRITY_PLATFORM_KEYRING
|
||
|
bool "Provide keyring for platform/firmware trusted keys"
|
||
|
depends on INTEGRITY_ASYMMETRIC_KEYS
|
||
|
depends on SYSTEM_BLACKLIST_KEYRING
|
||
|
help
|
||
|
Provide a separate, distinct keyring for platform trusted keys, which
|
||
|
the kernel automatically populates during initialization from values
|
||
|
provided by the platform for verifying the kexec'ed kerned image
|
||
|
and, possibly, the initramfs signature.
|
||
|
|
||
|
config INTEGRITY_MACHINE_KEYRING
|
||
|
bool "Provide a keyring to which Machine Owner Keys may be added"
|
||
|
depends on SECONDARY_TRUSTED_KEYRING
|
||
|
depends on INTEGRITY_ASYMMETRIC_KEYS
|
||
|
depends on SYSTEM_BLACKLIST_KEYRING
|
||
|
depends on LOAD_UEFI_KEYS
|
||
|
depends on !IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY
|
||
|
help
|
||
|
If set, provide a keyring to which Machine Owner Keys (MOK) may
|
||
|
be added. This keyring shall contain just MOK keys. Unlike keys
|
||
|
in the platform keyring, keys contained in the .machine keyring will
|
||
|
be trusted within the kernel.
|
||
|
|
||
|
config LOAD_UEFI_KEYS
|
||
|
depends on INTEGRITY_PLATFORM_KEYRING
|
||
|
depends on EFI
|
||
|
def_bool y
|
||
|
|
||
|
config LOAD_IPL_KEYS
|
||
|
depends on INTEGRITY_PLATFORM_KEYRING
|
||
|
depends on S390
|
||
|
def_bool y
|
||
|
|
||
|
config LOAD_PPC_KEYS
|
||
|
bool "Enable loading of platform and blacklisted keys for POWER"
|
||
|
depends on INTEGRITY_PLATFORM_KEYRING
|
||
|
depends on PPC_SECURE_BOOT
|
||
|
default y
|
||
|
help
|
||
|
Enable loading of keys to the .platform keyring and blacklisted
|
||
|
hashes to the .blacklist keyring for powerpc based platforms.
|
||
|
|
||
|
config INTEGRITY_AUDIT
|
||
|
bool "Enables integrity auditing support "
|
||
|
depends on AUDIT
|
||
|
default y
|
||
|
help
|
||
|
In addition to enabling integrity auditing support, this
|
||
|
option adds a kernel parameter 'integrity_audit', which
|
||
|
controls the level of integrity auditing messages.
|
||
|
0 - basic integrity auditing messages (default)
|
||
|
1 - additional integrity auditing messages
|
||
|
|
||
|
Additional informational integrity auditing messages would
|
||
|
be enabled by specifying 'integrity_audit=1' on the kernel
|
||
|
command line.
|
||
|
|
||
|
source "security/integrity/ima/Kconfig"
|
||
|
source "security/integrity/evm/Kconfig"
|
||
|
|
||
|
endif # if INTEGRITY
|