1# SPDX-License-Identifier: GPL-2.0-only 2# 3config INTEGRITY 4 bool "Integrity subsystem" 5 depends on SECURITY 6 default y 7 help 8 This option enables the integrity subsystem, which is comprised 9 of a number of different components including the Integrity 10 Measurement Architecture (IMA), Extended Verification Module 11 (EVM), IMA-appraisal extension, digital signature verification 12 extension and audit measurement log support. 13 14 Each of these components can be enabled/disabled separately. 15 Refer to the individual components for additional details. 16 17if INTEGRITY 18 19config INTEGRITY_SIGNATURE 20 bool "Digital signature verification using multiple keyrings" 21 default n 22 select KEYS 23 select SIGNATURE 24 help 25 This option enables digital signature verification support 26 using multiple keyrings. It defines separate keyrings for each 27 of the different use cases - evm, ima, and modules. 28 Different keyrings improves search performance, but also allow 29 to "lock" certain keyring to prevent adding new keys. 30 This is useful for evm and module keyrings, when keys are 31 usually only added from initramfs. 32 33config INTEGRITY_ASYMMETRIC_KEYS 34 bool "Enable asymmetric keys support" 35 depends on INTEGRITY_SIGNATURE 36 default n 37 select ASYMMETRIC_KEY_TYPE 38 select ASYMMETRIC_PUBLIC_KEY_SUBTYPE 39 select CRYPTO_RSA 40 select X509_CERTIFICATE_PARSER 41 help 42 This option enables digital signature verification using 43 asymmetric keys. 44 45config INTEGRITY_TRUSTED_KEYRING 46 bool "Require all keys on the integrity keyrings be signed" 47 depends on SYSTEM_TRUSTED_KEYRING 48 depends on INTEGRITY_ASYMMETRIC_KEYS 49 default y 50 help 51 This option requires that all keys added to the .ima and 52 .evm keyrings be signed by a key on the system trusted 53 keyring. 54 55config INTEGRITY_PLATFORM_KEYRING 56 bool "Provide keyring for platform/firmware trusted keys" 57 depends on INTEGRITY_ASYMMETRIC_KEYS 58 depends on SYSTEM_BLACKLIST_KEYRING 59 help 60 Provide a separate, distinct keyring for platform trusted keys, which 61 the kernel automatically populates during initialization from values 62 provided by the platform for verifying the kexec'ed kerned image 63 and, possibly, the initramfs signature. 64 65config LOAD_UEFI_KEYS 66 depends on INTEGRITY_PLATFORM_KEYRING 67 depends on EFI 68 def_bool y 69 70config LOAD_IPL_KEYS 71 depends on INTEGRITY_PLATFORM_KEYRING 72 depends on S390 73 def_bool y 74 75config LOAD_PPC_KEYS 76 bool "Enable loading of platform and blacklisted keys for POWER" 77 depends on INTEGRITY_PLATFORM_KEYRING 78 depends on PPC_SECURE_BOOT 79 default y 80 help 81 Enable loading of keys to the .platform keyring and blacklisted 82 hashes to the .blacklist keyring for powerpc based platforms. 83 84config INTEGRITY_AUDIT 85 bool "Enables integrity auditing support " 86 depends on AUDIT 87 default y 88 help 89 In addition to enabling integrity auditing support, this 90 option adds a kernel parameter 'integrity_audit', which 91 controls the level of integrity auditing messages. 92 0 - basic integrity auditing messages (default) 93 1 - additional integrity auditing messages 94 95 Additional informational integrity auditing messages would 96 be enabled by specifying 'integrity_audit=1' on the kernel 97 command line. 98 99source "security/integrity/ima/Kconfig" 100source "security/integrity/evm/Kconfig" 101 102endif # if INTEGRITY 103