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