2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2011-03-10 03:13:22 +08:00
|
|
|
#
|
|
|
|
config INTEGRITY
|
2014-04-17 20:07:15 +08: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-10 03:13:22 +08:00
|
|
|
|
2012-01-17 23:12:07 +08:00
|
|
|
config INTEGRITY_SIGNATURE
|
2014-12-21 04:41:11 +08:00
|
|
|
bool "Digital signature verification using multiple keyrings"
|
2011-10-05 16:54:46 +08:00
|
|
|
default n
|
2019-06-28 10:19:27 +08:00
|
|
|
select KEYS
|
2012-01-17 23:12:03 +08:00
|
|
|
select SIGNATURE
|
2011-10-05 16:54:46 +08: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 19:41:06 +08:00
|
|
|
config INTEGRITY_ASYMMETRIC_KEYS
|
2014-12-21 04:41:11 +08:00
|
|
|
bool "Enable asymmetric keys support"
|
2014-04-17 19:41:06 +08:00
|
|
|
depends on INTEGRITY_SIGNATURE
|
|
|
|
default n
|
|
|
|
select ASYMMETRIC_KEY_TYPE
|
|
|
|
select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
2016-02-03 02:08:58 +08:00
|
|
|
select CRYPTO_RSA
|
2014-04-17 19:41:06 +08:00
|
|
|
select X509_CERTIFICATE_PARSER
|
|
|
|
help
|
|
|
|
This option enables digital signature verification using
|
|
|
|
asymmetric keys.
|
|
|
|
|
2015-10-23 02:26:10 +08: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 04:26:59 +08:00
|
|
|
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.
|
|
|
|
|
2019-02-21 21:23:04 +08:00
|
|
|
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
|
|
|
|
|
2019-11-11 11:10:36 +08: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-19 02:48:02 +08:00
|
|
|
config INTEGRITY_AUDIT
|
|
|
|
bool "Enables integrity auditing support "
|
2014-04-17 20:07:15 +08:00
|
|
|
depends on AUDIT
|
2013-03-19 02:48:02 +08: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 19:01:04 +08:00
|
|
|
source "security/integrity/ima/Kconfig"
|
|
|
|
source "security/integrity/evm/Kconfig"
|
2014-04-17 20:07:15 +08:00
|
|
|
|
|
|
|
endif # if INTEGRITY
|