[lkml]   [2011]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH v6 03/20] evm: re-release
    Quoting Mimi Zohar (
    > EVM protects a file's security extended attributes(xattrs) against integrity
    > attacks. This patchset provides the framework and an initial method. The
    > initial method maintains an HMAC-sha1 value across the security extended
    > attributes, storing the HMAC value as the extended attribute 'security.evm'.
    > Other methods of validating the integrity of a file's metadata will be posted
    > separately (eg. EVM-digital-signatures).
    > While this patchset does authenticate the security xattrs, and
    > cryptographically binds them to the inode, coming extensions will bind other
    > directory and inode metadata for more complete protection. To help simplify
    > the review and upstreaming process, each extension will be posted separately
    > (eg. IMA-appraisal, IMA-appraisal-directory). For a general overview of the
    > proposed Linux integrity subsystem, refer to Dave Safford's whitepaper:
    > 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.
    > Based on the LSMs enabled, the set of EVM protected security xattrs is defined
    > at compile. EVM adds the following three calls to the existing security hooks:
    > evm_inode_setxattr(), evm_inode_post_setxattr(), and evm_inode_removexattr. To
    > initialize and update the 'security.evm' extended attribute, EVM defines three
    > calls: evm_inode_post_init(), evm_inode_post_setattr() and
    > evm_inode_post_removexattr() hooks. To verify the integrity of a security
    > xattr, EVM exports evm_verifyxattr().
    > Changelog v6: (based on Serge Hallyn's review)
    > - fix URL in patch description

    It's still wrong in Documentation/ABI/testing/evm...

    > - remove evm_hmac_size definition
    > - use SHA1_DIGEST_SIZE (removed both MAX_DIGEST_SIZE and evm_hmac_size)
    > - moved linux include before other includes
    > - test for crypto_hash_setkey failure
    > - fail earlier for invalid key
    > - clear entire encrypted key, even on failure
    > - check xattr name length before comparing xattr names

    The rest looks good, thanks

    Acked-by: Serge Hallyn <>


     \ /
      Last update: 2011-06-03 00:41    [W:0.026 / U:34.120 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site