2019-05-19 13:07:45 +01:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2011-03-09 14:13:22 -05:00
|
|
|
#
|
|
|
|
config INTEGRITY
|
2014-04-17 15:07:15 +03:00
|
|
|
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
|
2011-03-09 14:13:22 -05:00
|
|
|
|
2012-01-17 17:12:07 +02:00
|
|
|
config INTEGRITY_SIGNATURE
|
2014-12-20 15:41:11 -05:00
|
|
|
bool "Digital signature verification using multiple keyrings"
|
2011-10-05 11:54:46 +03:00
|
|
|
default n
|
2019-06-27 23:19:27 -03:00
|
|
|
select KEYS
|
2012-01-17 17:12:03 +02:00
|
|
|
select SIGNATURE
|
2011-10-05 11:54:46 +03:00
|
|
|
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.
|
|
|
|
|
2014-04-17 14:41:06 +03:00
|
|
|
config INTEGRITY_ASYMMETRIC_KEYS
|
2014-12-20 15:41:11 -05:00
|
|
|
bool "Enable asymmetric keys support"
|
2014-04-17 14:41:06 +03:00
|
|
|
depends on INTEGRITY_SIGNATURE
|
|
|
|
default n
|
2023-10-22 12:17:23 +05:30
|
|
|
select ASYMMETRIC_KEY_TYPE
|
|
|
|
select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
|
|
|
select CRYPTO_RSA
|
|
|
|
select X509_CERTIFICATE_PARSER
|
2014-04-17 14:41:06 +03:00
|
|
|
help
|
|
|
|
This option enables digital signature verification using
|
|
|
|
asymmetric keys.
|
|
|
|
|
2015-10-22 21:26:10 +03:00
|
|
|
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.
|
|
|
|
|
2018-12-09 01:56:59 +05:30
|
|
|
config INTEGRITY_PLATFORM_KEYRING
|
2023-10-22 12:17:23 +05:30
|
|
|
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.
|
2018-12-09 01:56:59 +05:30
|
|
|
|
2022-01-25 21:58:28 -05:00
|
|
|
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
|
2023-08-15 07:27:21 -04:00
|
|
|
depends on LOAD_UEFI_KEYS || LOAD_PPC_KEYS
|
2022-01-25 21:58:28 -05:00
|
|
|
help
|
2023-10-22 12:17:23 +05:30
|
|
|
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.
|
2022-01-25 21:58:28 -05:00
|
|
|
|
2023-03-02 11:46:52 -05:00
|
|
|
config INTEGRITY_CA_MACHINE_KEYRING
|
|
|
|
bool "Enforce Machine Keyring CA Restrictions"
|
|
|
|
depends on INTEGRITY_MACHINE_KEYRING
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
The .machine keyring can be configured to enforce CA restriction
|
|
|
|
on any key added to it. By default no restrictions are in place
|
|
|
|
and all Machine Owner Keys (MOK) are added to the machine keyring.
|
|
|
|
If enabled only CA keys are added to the machine keyring, all
|
|
|
|
other MOK keys load into the platform keyring.
|
|
|
|
|
|
|
|
config INTEGRITY_CA_MACHINE_KEYRING_MAX
|
|
|
|
bool "Only CA keys without DigitialSignature usage set"
|
|
|
|
depends on INTEGRITY_CA_MACHINE_KEYRING
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
When selected, only load CA keys are loaded into the machine
|
|
|
|
keyring that contain the CA bit set along with the keyCertSign
|
|
|
|
Usage field. Keys containing the digitialSignature Usage field
|
|
|
|
will not be loaded. The remaining MOK keys are loaded into the
|
|
|
|
.platform keyring.
|
|
|
|
|
2019-02-21 14:23:04 +01:00
|
|
|
config LOAD_UEFI_KEYS
|
2023-10-22 12:17:23 +05:30
|
|
|
depends on INTEGRITY_PLATFORM_KEYRING
|
|
|
|
depends on EFI
|
|
|
|
def_bool y
|
2019-02-21 14:23:04 +01:00
|
|
|
|
|
|
|
config LOAD_IPL_KEYS
|
2023-10-22 12:17:23 +05:30
|
|
|
depends on INTEGRITY_PLATFORM_KEYRING
|
|
|
|
depends on S390
|
|
|
|
def_bool y
|
2019-02-21 14:23:04 +01:00
|
|
|
|
2019-11-10 21:10:36 -06:00
|
|
|
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.
|
|
|
|
|
2013-03-18 14:48:02 -04:00
|
|
|
config INTEGRITY_AUDIT
|
|
|
|
bool "Enables integrity auditing support "
|
2014-04-17 15:07:15 +03:00
|
|
|
depends on AUDIT
|
2013-03-18 14:48:02 -04:00
|
|
|
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.
|
|
|
|
|
2018-12-11 20:01:04 +09:00
|
|
|
source "security/integrity/ima/Kconfig"
|
|
|
|
source "security/integrity/evm/Kconfig"
|
2014-04-17 15:07:15 +03:00
|
|
|
|
|
|
|
endif # if INTEGRITY
|