1. 15 Dec, 2015 1 commit
    • Dmitry Kasatkin's avatar
      evm: enable EVM when X509 certificate is loaded · 26ddabfe
      Dmitry Kasatkin authored
      
      In order to enable EVM before starting the 'init' process,
      evm_initialized needs to be non-zero.  Previously non-zero indicated
      that the HMAC key was loaded.  When EVM loads the X509 before calling
      'init', with this patch it is now possible to enable EVM to start
      signature based verification.
      
      This patch defines bits to enable EVM if a key of any type is loaded.
      
      Changes in v3:
      * print error message if key is not set
      
      Changes in v2:
      * EVM_STATE_KEY_SET replaced by EVM_INIT_HMAC
      * EVM_STATE_X509_SET replaced by EVM_INIT_X509
      Signed-off-by: default avatarDmitry Kasatkin <dmitry.kasatkin@huawei.com>
      Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
      26ddabfe
  2. 12 Jun, 2014 1 commit
  3. 07 Mar, 2014 1 commit
  4. 06 Feb, 2013 1 commit
    • Dmitry Kasatkin's avatar
      evm: add file system uuid to EVM hmac · 74de6684
      Dmitry Kasatkin authored
      
      EVM uses the same key for all file systems to calculate the HMAC,
      making it possible to paste inodes from one file system on to another
      one, without EVM being able to detect it.  To prevent such an attack,
      it is necessary to make the EVM HMAC file system specific.
      
      This patch uses the file system UUID, a file system unique identifier,
      to bind the EVM HMAC to the file system. The value inode->i_sb->s_uuid
      is used for the HMAC hash calculation, instead of using it for deriving
      the file system specific key.  Initializing the key for every inode HMAC
      calculation is a bit more expensive operation than adding the uuid to
      the HMAC hash.
      
      Changing the HMAC calculation method or adding additional info to the
      calculation, requires existing EVM labeled file systems to be relabeled.
      This patch adds a Kconfig HMAC version option for backwards compatability.
      
      Changelog v1:
      - squash "hmac version setting"
      Changelog v0:
      - add missing Kconfig depends (Mimi)
      Signed-off-by: default avatarDmitry Kasatkin <dmitry.kasatkin@intel.com>
      Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
      74de6684
  5. 16 Jan, 2013 1 commit
  6. 09 Nov, 2011 1 commit
  7. 18 Jul, 2011 3 commits
    • Dmitry Kasatkin's avatar
      evm: crypto hash replaced by shash · d46eb369
      Dmitry Kasatkin authored
      
      Using shash is more efficient, because the algorithm is allocated only
      once. Only the descriptor to store the hash state needs to be allocated
      for every operation.
      
      Changelog v6:
      - check for crypto_shash_setkey failure
      Signed-off-by: default avatarDmitry Kasatkin <dmitry.kasatkin@nokia.com>
      Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
      d46eb369
    • Mimi Zohar's avatar
      evm: add evm_inode_init_security to initialize new files · cb723180
      Mimi Zohar authored
      
      Initialize 'security.evm' for new files.
      
      Changelog v7:
      - renamed evm_inode_post_init_security to evm_inode_init_security
      - moved struct xattr definition to earlier patch
      - allocate xattr name
      Changelog v6:
      - Use 'struct evm_ima_xattr_data'
      Signed-off-by: default avatarMimi Zohar <zohar@us.ibm.com>
      cb723180
    • Mimi Zohar's avatar
      evm: re-release · 66dbc325
      Mimi Zohar authored
      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:
      http://downloads.sf.net/project/linux-ima/linux-ima/Integrity_overview.pdf.
      
      EVM depends on the Kernel Key Retention System to provide it w...
      66dbc325