|  | 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.) |