public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Mimi Zohar <zohar@linux.vnet.ibm.com>,
	"Safford, David (GE Global Research, US)" <david.safford@ge.com>,
	Jiandi An <anjiandi@codeaurora.org>,
	Jason Gunthorpe <jgg@ziepe.ca>
Cc: "dmitry.kasatkin@gmail.com" <dmitry.kasatkin@gmail.com>,
	"jmorris@namei.org" <jmorris@namei.org>,
	"serge@hallyn.com" <serge@hallyn.com>,
	"linux-integrity@vger.kernel.org"
	<linux-integrity@vger.kernel.org>,
	"linux-ima-devel@lists.sourceforge.net"
	<linux-ima-devel@lists.sourceforge.net>,
	"linux-ima-user@lists.sourceforge.net"
	<linux-ima-user@lists.sourceforge.net>,
	"linux-security-module@vger.kernel.org"
	<linux-security-module@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] security: Fix IMA Kconfig for dependencies on ARM64
Date: Wed, 14 Mar 2018 10:25:06 -0700	[thread overview]
Message-ID: <1521048306.4508.56.camel@HansenPartnership.com> (raw)
In-Reply-To: <1521047286.3547.470.camel@linux.vnet.ibm.com>

On Wed, 2018-03-14 at 13:08 -0400, Mimi Zohar wrote:
> On Wed, 2018-03-14 at 07:41 -0700, James Bottomley wrote:
[...]
> > What about a compromise: we
> > already get the boot loader to do measurements and PCR extensions
> > using the BIOS TPM driver, there's no reason why we can't do the
> > same in the early kernel until a real TPM driver is found.
> 
> Your proposal requires changes to the existing boot loaders, not all
> of which are X86 based.

I don't believe it does, see below.

>   Grub, to the best of my knowledge, is not interested in having
> anything to do with TPM based measurements.  Many attempts have been
> made to upstream trusted boot patches, but none have been accepted. 

Just for the sake of accuracy, even though it has nothing to do with
the current proposal, grub does actually measure the booting
components.  It does this via a shim protocol trick, so when grub
passes the kernel to shim to verify the signature, shim also stores its
measurement in the TPM boot log.

>  Any support would need to piggyback on the callback hooks introduced
> for secure boot and then be carried by the distros.

Right, that's how it does actually work today.

This is more or less what made me think of the compromise: the way shim
does measurements is using the EFI TPM protocol.  Although this is
technically a boot time UEFI driver, we can make it serve us until
we're ready to load the real TPM driver, so we could write measurements
to a PCR without any kernel drivers loaded.

> As for Linux based boot loaders, the driver needs to be builtin for
> these measurements.  So this wouldn't help you.
> 
> > 
> > That way IMA would have no dependency on any built in TPM driver
> > ... is that an acceptable compromise to everyone?
> 
> Adding additional support for post IMA-initialization for TPM's built
> as kernel modules is clearly not optimal for all of the reasons
> provided to now and will be confusing, but could be supported.  This
> delayed loading of the TPM needs to be clearly indicated in both the
> audit log and in IMA's measurement list.

Why if the measurement chain isn't broken?  The way I'm thinking of
implementing it, IMA wouldn't even know.  What would happen is that a
NULL tpm chip in tpm_pcr_read/tpm_pcr_extend would trigger the usual
search for the first TPM but if none were found and we'd booted on an
EFI system, we'd just use the EFI driver to do perform the operation.

There's probably a bit of additional subtlety making the kernel and EFI
agree which TPM they're using in a multi-TPM situation.

The EFI driver isn't full featured: it only does measurement and
logging, but it looks like that's all IMA needs.

James

> In terms of attestation, if a measurement policy is enabled before
> the TPM is loaded, any records up to the delayed TPM entry in the IMA
> measurement list would need to be ignored.
> 
> In addition, your changes should not in any way change the existing
> IMA-measurement initialization.
> 
> Mimi
> 

  reply	other threads:[~2018-03-14 17:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07  5:26 [PATCH] security: Fix IMA Kconfig for dependencies on ARM64 Jiandi An
2018-03-07 18:51 ` Jason Gunthorpe
2018-03-07 18:55   ` Mimi Zohar
2018-03-07 19:08     ` James Bottomley
2018-03-07 19:21       ` Mimi Zohar
2018-03-07 19:41         ` James Bottomley
2018-03-07 21:12           ` Jiandi An
2018-03-07 21:16             ` James Bottomley
2018-03-07 22:19           ` Mimi Zohar
2018-03-08 18:42             ` Jiandi An
2018-03-08 20:06               ` Mimi Zohar
2018-03-09 17:11               ` James Bottomley
2018-03-12 21:53                 ` Mimi Zohar
2018-03-12 21:59                   ` Jason Gunthorpe
2018-03-12 22:58                     ` Mimi Zohar
2018-03-12 23:05                       ` Jason Gunthorpe
2018-03-12 23:19                         ` Mimi Zohar
2018-03-12 22:30                   ` James Bottomley
2018-03-12 23:30                     ` Mimi Zohar
2018-03-13  0:06                       ` James Bottomley
2018-03-13 12:57                         ` Safford, David (GE Global Research, US)
2018-03-14 14:41                           ` James Bottomley
2018-03-14 17:08                             ` Mimi Zohar
2018-03-14 17:25                               ` James Bottomley [this message]
2018-03-15 16:19                                 ` Mimi Zohar
2018-03-15 17:08                                   ` James Bottomley
2018-03-15 17:14                                     ` Mimi Zohar
2018-03-15 17:29                                       ` James Bottomley
2018-03-16 16:51                                         ` Mimi Zohar
2018-03-11 22:06 ` Mimi Zohar

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=1521048306.4508.56.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=anjiandi@codeaurora.org \
    --cc=david.safford@ge.com \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=jgg@ziepe.ca \
    --cc=jmorris@namei.org \
    --cc=linux-ima-devel@lists.sourceforge.net \
    --cc=linux-ima-user@lists.sourceforge.net \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=serge@hallyn.com \
    --cc=zohar@linux.vnet.ibm.com \
    /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