tpmdd-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
From: Nayna <nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: Jarkko Sakkinen
	<jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 0/2] tpm: enhance TPM 2.0 extend function to support multiple PCR banks
Date: Sun, 9 Oct 2016 15:30:18 +0530	[thread overview]
Message-ID: <57FA1532.30603@linux.vnet.ibm.com> (raw)
In-Reply-To: <20161009092911.GF31891-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>



On 10/09/2016 02:59 PM, Jarkko Sakkinen wrote:
> On Sun, Oct 09, 2016 at 12:08:27PM +0300, Jarkko Sakkinen wrote:
>> On Sat, Oct 08, 2016 at 10:15:55PM -0400, Nayna Jain wrote:
>>> The existing in-kernel interface for extending a TPM PCR extends
>>> the SHA1 PCR bank. For TPM 1.2, that is the one and only PCR bank
>>> defined. TPM 2.0 adds support for multiple PCR banks, to support
>>> different hash algorithms. The TPM 2.0 Specification[1]
>>> recommends extending all active PCR banks. This patch set enhances
>>> the existing TPM 2.0 extend function and corresponding in-kernel
>>> interface to support extending all active PCR banks.
>>>
>>> The first patch implements the TPM 2.0 capability to retrieve
>>> the list of active PCR banks.
>>>
>>> The second patch modifies the TPM 2.0 device driver extend function
>>> to support extending multiple PCR banks. The existing in-kernel
>>> 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 the
>>> existing users (i.e. IMA) in order to continue working with both
>>> TPM 1.2 and TPM 2.0 without any changes and still comply with the
>>> TPM 2.0 Specification[1] requirement of extending all active PCR
>>> banks.
>>>
>>> This patch series has a prerequisite(header file tpm2.h) of TPM 2.0
>>> event log patch series.
>>
>> This is an unacceptable requirement. I don't even like the idea
>> of having tpm2.h (rather would keep stuff in tpm2-cmd.c).
>>
>> Also I seriously cannot accept patch sets that add code without
>> giving value.
>
> I would propose that you work on a PoC for IMA with TPM 2.0 that
> includes these patches. Then we can try it out. Depending on half
> finished patch sets is not just right way to do it. I'm happy to
> test if you have someting runnable :)

I actually created tpm2.h in eventlog patch series thinking just like 
tpm.h and tpm_eventlog.h is meant for TPM 1.2 specific structs, there 
can be tpm2.h specific to TPM 2.0 structs. It was just my thought to 
segregate the headers, but if it doesn't look good idea, I can change it 
to more recommended way.

Also, struct tpml_digest_values are used by both eventlog and extend 
function as shown below:

struct tcg_pcr_event2 {
u32 pcr_idx;
u32 event_type;
struct tpml_digest_values digests;
struct tcg_event_field event;
} __packed;

/* Crypto agile extend format. */
struct tpm2_pcr_extend_in {
__be32 pcr_idx;
__be32 auth_area_size;
struct tpm2_null_auth_area auth_area;
struct tpml_digest_values digests;
} __packed;

So, I continued using tpm2.h for this patch series and created a 
pre-requisite on eventlog patch series.

I have applied to upstream and tested on top of eventlog patch series, 
so yes, it doesn't apply directly to upstream without eventlog patches 
because of tpm2.h file.

If this doesn't look an acceptable approach, I would be happy to redo it 
in new way which is more acceptable.

I will post next patch series with no tpm2.h and moving data types into 
tpm2-cmd.c and existing header file as applicable.

Please suggest if I am missing something.

Thanks & Regards,
    - Nayna

>
> /Jarkko
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot

  parent reply	other threads:[~2016-10-09 10:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-09  2:15 [PATCH 0/2] tpm: enhance TPM 2.0 extend function to support multiple PCR banks Nayna Jain
     [not found] ` <1475979357-1167-1-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09  2:15   ` [PATCH 1/2] tpm: implement TPM 2.0 capability to get active " Nayna Jain
     [not found]     ` <1475979357-1167-2-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09  9:05       ` Jarkko Sakkinen
2016-10-09 10:21       ` Jarkko Sakkinen
2016-10-09  2:15   ` [PATCH 2/2] tpm: enhance TPM 2.0 PCR extend to support multiple banks Nayna Jain
     [not found]     ` <1475979357-1167-3-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09  6:28       ` Winkler, Tomas
     [not found]         ` <5B8DA87D05A7694D9FA63FD143655C1B542F6C75-Jy8z56yoSI8MvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-10-12 16:50           ` Nayna
     [not found]             ` <57FE69D9.4070304-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-12 19:02               ` Winkler, Tomas
2016-10-09  9:06       ` Jarkko Sakkinen
2016-10-09 10:24       ` Jarkko Sakkinen
2016-10-09  9:08   ` [PATCH 0/2] tpm: enhance TPM 2.0 extend function to support multiple PCR banks Jarkko Sakkinen
     [not found]     ` <20161009090827.GC31891-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-09  9:29       ` Jarkko Sakkinen
     [not found]         ` <20161009092911.GF31891-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-09 10:00           ` Nayna [this message]
     [not found]             ` <57FA1532.30603-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09 10:37               ` Jarkko Sakkinen
     [not found]                 ` <20161009103705.GA2855-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-09 11:10                   ` Nayna

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57FA1532.30603@linux.vnet.ibm.com \
    --to=nayna-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
    --cc=jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).