From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933673AbdACELw (ORCPT ); Mon, 2 Jan 2017 23:11:52 -0500 Received: from mga06.intel.com ([134.134.136.31]:24743 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933109AbdACELo (ORCPT ); Mon, 2 Jan 2017 23:11:44 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,451,1477983600"; d="scan'208";a="25312500" Date: Tue, 3 Jan 2017 00:15:50 +0200 From: Jarkko Sakkinen To: Nayna Jain Cc: tpmdd-devel@lists.sourceforge.net, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, peterhuewe@gmx.de, tpmdd@selhorst.net, jgunthorpe@obsidianresearch.com Subject: Re: [PATCH v2 0/2] tpm: enhance TPM 2.0 extend function to support multiple PCR banks Message-ID: <20170102221550.pck4fwir77zss6lz@intel.com> References: <1483124550-9529-1-git-send-email-nayna@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1483124550-9529-1-git-send-email-nayna@linux.vnet.ibm.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.6.2-neo (2016-08-21) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 30, 2016 at 02:02:28PM -0500, Nayna Jain wrote: > IMA extends its hash measurements in the TPM PCRs, based on policy. > The existing in-kernel TPM extend function extends only the SHA1 > PCR bank. TPM 2.0 defines multiple PCR banks, to support different > hash algorithms. The TCG TPM 2.0 Specification[1] recommends > extending all active PCR banks to prevent malicious users from > setting unused PCR banks with fake measurements and quoting them. > This patch set adds support for extending all active PCR banks, > as recommended. > > The first patch implements the TPM 2.0 capability to retrieve > the list of active PCR banks. > > The second patch modifies the tpm_pcr_extend() and tpm2_pcr_extend() > interface to support extending multiple PCR banks. The existing > tpm_pcr_extend() interface expects only a SHA1 digest. Hence, to > extend all active PCR banks with differing digest sizes for TPM 2.0, > the SHA1 digest is padded with 0's as needed. > > This approach is taken to maintain backwards compatibility for IMA > in order to continue working with both TPM 1.2 and TPM 2.0 without > any changes and still comply with TCG TPM 2.0 Specification[1]. What is the plan to improve IMA so that it can use better hash algorithms? For me this zero padding sounds like a hack. > [1] TPM 2.0 Specification referred here is "TCG PC Client Specific > Platform Firmware Profile for TPM 2.0" > > Changelog v2: > > - Patch "tpm: implement TPM 2.0 capability to get active PCR banks" > - defined structs definition in tpm2-cmd.c. > - no_of_active_banks field is removed. Instead, constant > TPM2_MAX_PCR_BANKS is defined. > - renamed tpm2_get_active_pcr_banks() to tpm2_get_pcr_allocation() > - removed generic function tpm2_get_capability(). > > - Patch "tpm: enchance TPM 2.0 PCR extend to support multiple banks" > - Removed tpm2.h, and defined structs common for extend and event log > in tpm_eventlog.h > - uses tpm_buf in tpm2_pcr_extend(). > > Nayna Jain (2): > tpm: implement TPM 2.0 capability to get active PCR banks > tpm: enhance TPM 2.0 PCR extend to support multiple banks > > drivers/char/tpm/tpm-interface.c | 16 ++++- > drivers/char/tpm/tpm.h | 8 ++- > drivers/char/tpm/tpm2-cmd.c | 146 +++++++++++++++++++++++++++++++-------- > drivers/char/tpm/tpm_eventlog.h | 15 ++++ > 4 files changed, 153 insertions(+), 32 deletions(-) > > -- > 2.5.0 >