GNU Linux-libre 6.9-gnu
[releases.git] / security / integrity / evm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config EVM
3         bool "EVM support"
4         select KEYS
5         select ENCRYPTED_KEYS
6         select CRYPTO_HMAC
7         select CRYPTO_SHA1
8         select CRYPTO_HASH_INFO
9         select SECURITY_PATH
10         default n
11         help
12           EVM protects a file's security extended attributes against
13           integrity attacks.
14
15           If you are unsure how to answer this question, answer N.
16
17 config EVM_ATTR_FSUUID
18         bool "FSUUID (version 2)"
19         default y
20         depends on EVM
21         help
22           Include filesystem UUID for HMAC calculation.
23
24           Default value is 'selected', which is former version 2.
25           if 'not selected', it is former version 1
26
27           WARNING: changing the HMAC calculation method or adding
28           additional info to the calculation, requires existing EVM
29           labeled file systems to be relabeled.
30
31 config EVM_EXTRA_SMACK_XATTRS
32         bool "Additional SMACK xattrs"
33         depends on EVM && SECURITY_SMACK
34         default n
35         help
36           Include additional SMACK xattrs for HMAC calculation.
37
38           In addition to the original security xattrs (eg. security.selinux,
39           security.SMACK64, security.capability, and security.ima) included
40           in the HMAC calculation, enabling this option includes newly defined
41           Smack xattrs: security.SMACK64EXEC, security.SMACK64TRANSMUTE and
42           security.SMACK64MMAP.
43
44           WARNING: changing the HMAC calculation method or adding
45           additional info to the calculation, requires existing EVM
46           labeled file systems to be relabeled.
47
48 config EVM_ADD_XATTRS
49         bool "Add additional EVM extended attributes at runtime"
50         depends on EVM
51         default n
52         help
53           Allow userland to provide additional xattrs for HMAC calculation.
54
55           When this option is enabled, root can add additional xattrs to the
56           list used by EVM by writing them into
57           /sys/kernel/security/integrity/evm/evm_xattrs.
58
59 config EVM_LOAD_X509
60         bool "Load an X509 certificate onto the '.evm' trusted keyring"
61         depends on EVM && INTEGRITY_TRUSTED_KEYRING
62         default n
63         help
64            Load an X509 certificate onto the '.evm' trusted keyring.
65
66            This option enables X509 certificate loading from the kernel
67            onto the '.evm' trusted keyring.  A public key can be used to
68            verify EVM integrity starting from the 'init' process. The
69            key must have digitalSignature usage set.
70
71 config EVM_X509_PATH
72         string "EVM X509 certificate path"
73         depends on EVM_LOAD_X509
74         default "/etc/keys/x509_evm.der"
75         help
76            This option defines X509 certificate path.