| What: security/evm |
| Date: March 2011 |
| Contact: Mimi Zohar <zohar@us.ibm.com> |
| Description: |
| EVM protects a file's security extended attributes(xattrs) |
| against integrity attacks. The initial method maintains an |
| HMAC-sha1 value across the extended attributes, storing the |
| value as the extended attribute 'security.evm'. |
| |
| EVM depends on the Kernel Key Retention System to provide it |
| with a trusted/encrypted key for the HMAC-sha1 operation. |
| The key is loaded onto the root's keyring using keyctl. Until |
| EVM receives notification that the key has been successfully |
| loaded onto the keyring (echo 1 > <securityfs>/evm), EVM |
| can not create or validate the 'security.evm' xattr, but |
| returns INTEGRITY_UNKNOWN. Loading the key and signaling EVM |
| should be done as early as possible. Normally this is done |
| in the initramfs, which has already been measured as part |
| of the trusted boot. For more information on creating and |
| loading existing trusted/encrypted keys, refer to: |
| Documentation/keys-trusted-encrypted.txt. (A sample dracut |
| patch, which loads the trusted/encrypted key and enables |
| EVM, is available from http://linux-ima.sourceforge.net/#EVM.) |