116 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-only
 | 
						|
#
 | 
						|
config INTEGRITY
 | 
						|
	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
 | 
						|
 | 
						|
config INTEGRITY_SIGNATURE
 | 
						|
	bool "Digital signature verification using multiple keyrings"
 | 
						|
	default n
 | 
						|
	select KEYS
 | 
						|
	select SIGNATURE
 | 
						|
	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.
 | 
						|
 | 
						|
config INTEGRITY_ASYMMETRIC_KEYS
 | 
						|
	bool "Enable asymmetric keys support"
 | 
						|
	depends on INTEGRITY_SIGNATURE
 | 
						|
	default n
 | 
						|
        select ASYMMETRIC_KEY_TYPE
 | 
						|
        select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
 | 
						|
        select CRYPTO_RSA
 | 
						|
        select X509_CERTIFICATE_PARSER
 | 
						|
	help
 | 
						|
	  This option enables digital signature verification using
 | 
						|
	  asymmetric keys.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
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
 | 
						|
	depends on LOAD_UEFI_KEYS
 | 
						|
	depends on !IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY
 | 
						|
	help
 | 
						|
	 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.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
config INTEGRITY_AUDIT
 | 
						|
	bool "Enables integrity auditing support "
 | 
						|
	depends on AUDIT
 | 
						|
	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.
 | 
						|
 | 
						|
source "security/integrity/ima/Kconfig"
 | 
						|
source "security/integrity/evm/Kconfig"
 | 
						|
 | 
						|
endif   # if INTEGRITY
 |