linux/security/integrity/Kconfig
<<
>>
Prefs
   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