blob: 3ba1168b1756c97df73bd966387600425c5d3a22 [file] [log] [blame]
Mimi Zoharf381c272011-03-09 14:13:22 -05001#
2config INTEGRITY
Dmitry Kasatkin7ef84e62014-04-17 15:07:15 +03003 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
Mimi Zoharf381c272011-03-09 14:13:22 -050017
Dmitry Kasatkinf1be2422012-01-17 17:12:07 +020018config INTEGRITY_SIGNATURE
Christoph Jaeger6341e622014-12-20 15:41:11 -050019 bool "Digital signature verification using multiple keyrings"
Dmitry Kasatkin7ef84e62014-04-17 15:07:15 +030020 depends on KEYS
Dmitry Kasatkin8607c502011-10-05 11:54:46 +030021 default n
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +020022 select SIGNATURE
Dmitry Kasatkin8607c502011-10-05 11:54:46 +030023 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
Dmitry Kasatkin1ae8f412014-04-17 14:41:06 +030032config INTEGRITY_ASYMMETRIC_KEYS
Christoph Jaeger6341e622014-12-20 15:41:11 -050033 bool "Enable asymmetric keys support"
Dmitry Kasatkin1ae8f412014-04-17 14:41:06 +030034 depends on INTEGRITY_SIGNATURE
35 default n
36 select ASYMMETRIC_KEY_TYPE
37 select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
Tadeusz Strukeb5798f2016-02-02 10:08:58 -080038 select CRYPTO_RSA
Dmitry Kasatkin1ae8f412014-04-17 14:41:06 +030039 select X509_CERTIFICATE_PARSER
40 help
41 This option enables digital signature verification using
42 asymmetric keys.
43
Dmitry Kasatkinf4dc3772015-10-22 21:26:10 +030044config 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
Dmitry Kasatkinf4dc3772015-10-22 21:26:10 +030048 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
Nayna Jain9dc92c42018-12-09 01:56:59 +053054config INTEGRITY_PLATFORM_KEYRING
55 bool "Provide keyring for platform/firmware trusted keys"
56 depends on INTEGRITY_ASYMMETRIC_KEYS
57 depends on SYSTEM_BLACKLIST_KEYRING
Nayna Jain9dc92c42018-12-09 01:56:59 +053058 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
Martin Schwidefsky9641b8c2019-02-21 14:23:04 +010064config 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
Mimi Zohard726d8d2013-03-18 14:48:02 -040074config INTEGRITY_AUDIT
75 bool "Enables integrity auditing support "
Dmitry Kasatkin7ef84e62014-04-17 15:07:15 +030076 depends on AUDIT
Mimi Zohard726d8d2013-03-18 14:48:02 -040077 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
Masahiro Yamada8636a1f2018-12-11 20:01:04 +090089source "security/integrity/ima/Kconfig"
90source "security/integrity/evm/Kconfig"
Dmitry Kasatkin7ef84e62014-04-17 15:07:15 +030091
92endif # if INTEGRITY