keys, trusted: seal with a TPM2 authorization policy
authorJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Sat, 31 Oct 2015 15:53:44 +0000 (17:53 +0200)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Sun, 20 Dec 2015 13:27:13 +0000 (15:27 +0200)
commit5beb0c435bdde35a09376566b0e28f7df87c9f68
tree3f8c2bc84de7a77c3fed187f3bd15011e2b33e5b
parent5ca4c20cfd37bac6486de040e9951b3b34755238
keys, trusted: seal with a TPM2 authorization policy

TPM2 supports authorization policies, which are essentially
combinational logic statements repsenting the conditions where the data
can be unsealed based on the TPM state. This patch enables to use
authorization policies to seal trusted keys.

Two following new options have been added for trusted keys:

* 'policydigest=': provide an auth policy digest for sealing.
* 'policyhandle=': provide a policy session handle for unsealing.

If 'hash=' option is supplied after 'policydigest=' option, this
will result an error because the state of the option would become
mixed.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Acked-by: Peter Huewe <peterhuewe@gmx.de>
Documentation/security/keys-trusted-encrypted.txt
drivers/char/tpm/tpm2-cmd.c
include/keys/trusted-type.h
security/keys/trusted.c