Re: [PATCH v5 7/7] tpm: pass an array of tpm_bank_list structures to tpm_pcr_extend()
From: Mimi Zohar <zohar@linux.ibm.com>
Date: 2018-11-19 14:34:06
Also in:
linux-integrity, lkml
On Mon, 2018-11-19 at 09:16 +0100, Roberto Sassu wrote:
On 11/19/2018 5:57 AM, Mimi Zohar wrote:quoted
On Sun, 2018-11-18 at 09:27 +0200, Jarkko Sakkinen wrote:quoted
On Fri, Nov 16, 2018 at 04:55:36PM +0100, Roberto Sassu wrote:quoted
On 11/16/2018 4:03 PM, Jarkko Sakkinen wrote:quoted
On Wed, Nov 14, 2018 at 04:31:08PM +0100, Roberto Sassu wrote:quoted
Currently, tpm_pcr_extend() accepts as an input only a SHA1 digest. This patch modifies the definition of tpm_pcr_extend() to allow other kernel subsystems to pass a digest for each algorithm supported by the TPM. All digests are processed by the TPM in one operation. If a tpm_pcr_extend() caller provides a subset of the supported algorithms, the TPM driver extends the remaining PCR banks with the first digest passed as an argument to the function.What is the legit use case for this?A subset could be chosen for better performance, or when a TPM algorithm is not supported by the crypto subsystem.Doesn't extending a subset a security concern?Right, so instead of extending a subset of the allocated banks, all of the allocated banks need to be extended, even for those banks that a digest was not included. This is no different than what is being done today. IMA is currently only calculating the SHA1 hash, padding the digest with 0's, and extending the padded value(s) into all of the allocated banks.The caller of tpm_pcr_extend() could pass a subset of the allocated banks, but the TPM driver extends all banks as before.
Agreed, there should be a clear division. 1) The caller shouldn't need to know anything about the chip->info. 2) The TPM driver should not rely on the caller to supply all the hashes, but verify that all allocated banks are being extended. Mimi
quoted
If there is a vulnerability with the hash algorithm, then any bank extended with the padded/truncated digest would be susceptible. IMA will need to become TPM 2.0 aware, calculating and extending multiple banks and define a new measurement list format containing the multiple digests. Mimi