All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <jejb@linux.ibm.com>
To: "Mimi Zohar" <zohar@linux.ibm.com>,
	"Ahmad Fatoum" <a.fatoum@pengutronix.de>,
	"Horia Geantă" <horia.geanta@nxp.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"David Howells" <dhowells@redhat.com>,
	"Jarkko Sakkinen" <jarkko@kernel.org>
Cc: "kernel@pengutronix.de" <kernel@pengutronix.de>,
	James Morris <jmorris@namei.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	Aymen Sghaier <aymen.sghaier@nxp.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Udit Agarwal <udit.agarwal@nxp.com>,
	Jan Luebbe <j.luebbe@pengutronix.de>,
	David Gstir <david@sigma-star.at>,
	Franck Lenormand <franck.lenormand@nxp.com>,
	Sumit Garg <sumit.garg@linaro.org>,
	"keyrings@vger.kernel.org" <keyrings@vger.kernel.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-integrity@vger.kernel.org"
	<linux-integrity@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-security-module@vger.kernel.org" 
	<linux-security-module@vger.kernel.org>,
	Pascal Van Leeuwen <pvanleeuwen@verimatrix.com>
Subject: Re: [PATCH v1 3/3] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys
Date: Wed, 24 Mar 2021 14:58:30 -0700	[thread overview]
Message-ID: <766a68a95e6c095bb202f430b8b091d008002205.camel@linux.ibm.com> (raw)
In-Reply-To: <df118419f28a04d2e711a55678c0149115606071.camel@linux.ibm.com>

On Wed, 2021-03-24 at 16:49 -0400, Mimi Zohar wrote:
> On Wed, 2021-03-24 at 09:14 -0700, James Bottomley wrote:
> > On Tue, 2021-03-23 at 14:07 -0400, Mimi Zohar wrote:
> > > On Tue, 2021-03-23 at 17:35 +0100, Ahmad Fatoum wrote:
> > > > Hello Horia,
> > > > 
> > > > On 21.03.21 21:48, Horia Geantă wrote:
> > > > > On 3/16/2021 7:02 PM, Ahmad Fatoum wrote:
> > > > > [...]
> > > > > > +struct trusted_key_ops caam_trusted_key_ops = {
> > > > > > +	.migratable = 0, /* non-migratable */
> > > > > > +	.init = trusted_caam_init,
> > > > > > +	.seal = trusted_caam_seal,
> > > > > > +	.unseal = trusted_caam_unseal,
> > > > > > +	.exit = trusted_caam_exit,
> > > > > > +};
> > > > > caam has random number generation capabilities, so it's worth
> > > > > using that
> > > > > by implementing .get_random.
> > > > 
> > > > If the CAAM HWRNG is already seeding the kernel RNG, why not
> > > > use
> > > > the kernel's?
> > > > 
> > > > Makes for less code duplication IMO.
> > > 
> > > Using kernel RNG, in general, for trusted keys has been discussed
> > > before.   Please refer to Dave Safford's detailed explanation for
> > > not
> > > using it [1].
> > > 
> > > [1] 
> > > https://lore.kernel.org/linux-integrity/BCA04D5D9A3B764C9B7405BBA4D4A3C035F2A38B@ALPMBAPA12.e2k.ad.ge.com/
> > 
> > I still don't think relying on one source of randomness to be
> > cryptographically secure is a good idea.  The fear of bugs in the
> > kernel entropy pool is reasonable, but since it's widely used
> > they're
> > unlikely to persist very long.  Studies have shown that some TPMs
> > (notably the chinese manufactured ones) have suspicious failures in
> > their RNGs:
> > 
> > https://www.researchgate.net/publication/45934562_Benchmarking_the_True_Random_Number_Generator_of_TPM_Chips
> > 
> > And most cryptograhpers recommend using a TPM for entropy mixing
> > rather
> > than directly:
> > 
> > https://blog.cryptographyengineering.com/category/rngs/
> > 
> > The TPMFail paper also shows that in spite of NIST certification
> > things can go wrong with a TPM:
> > 
> > https://tpm.fail/
> 
> We already had a lengthy discussion on replacing the TPM RNG with the
> kernel RNG for trusted keys, when TEE was being introduced
> [2,3].  I'm not interested in re-hashing that discussion here.   The
> only difference now is that CAAM is a new trust source.  I suspect
> the same concerns/issues persist, but at least in this case using the
> kernel RNG would not be a regression.

Upstreaming the ASN.1 parser gives us a way to create trusted keys
outside the kernel and so choose any RNG that suits the user, so I
don't think there's any need to rehash for TPM based keys either.

However CaaM doesn't have the ability to create keys outside the kernel
yet, so they do need to consider the problem.

James


> [2] Pascal Van Leeuwen on mixing different sources of entropy and
> certification -
>  
> https://lore.kernel.org/linux-integrity/MN2PR20MB29732A856A40131A671F949FCA950@MN2PR20MB2973.namprd20.prod.outlook.com/
> [3] Jarrko on "regression" and tpm_asym.c - 
> https://lore.kernel.org/linux-integrity/20191014190033.GA15552@linux.intel.com/ 
> 
> Mimi
> 



  reply	other threads:[~2021-03-24 21:59 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 17:01 [PATCH v1 0/3] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum
2021-03-16 17:01 ` [PATCH v1 1/3] crypto: caam - add in-kernel interface for blob generator Ahmad Fatoum
2021-03-21 20:46   ` Horia Geantă
2021-03-23 16:41     ` Ahmad Fatoum
2021-03-16 17:01 ` [PATCH v1 2/3] KEYS: trusted: implement fallback to kernel RNG Ahmad Fatoum
2021-03-16 17:01 ` [PATCH v1 3/3] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum
2021-03-16 19:22   ` Jarkko Sakkinen
2021-03-17 13:58     ` Ahmad Fatoum
2021-03-16 23:14   ` Richard Weinberger
2021-03-17  7:39     ` Sumit Garg
2021-03-17  8:07       ` Richard Weinberger
2021-03-17 14:02     ` Ahmad Fatoum
2021-03-30 21:28       ` Richard Weinberger
2021-03-21 20:48   ` Horia Geantă
2021-03-23 16:35     ` Ahmad Fatoum
2021-03-23 18:07       ` Mimi Zohar
2021-03-24  9:26         ` Ahmad Fatoum
2021-03-24 10:47           ` Sumit Garg
2021-03-24 14:07             ` Ahmad Fatoum
2021-03-25  5:26               ` Sumit Garg
2021-03-27 12:41                 ` David Gstir
2021-03-28 20:37                   ` Jarkko Sakkinen
2021-03-29 10:11                     ` Ahmad Fatoum
2021-03-31 23:29                       ` Jarkko Sakkinen
2021-03-30  7:26                     ` Sumit Garg
2021-03-31 23:30                       ` Jarkko Sakkinen
2021-04-01  7:41                         ` Ahmad Fatoum
2021-03-30 21:47                     ` Eric Biggers
2021-03-31 23:31                       ` Jarkko Sakkinen
2021-03-31 23:34                         ` Eric Biggers
2021-04-01  1:11                           ` Herbert Xu
2021-04-01  5:50                             ` Jarkko Sakkinen
2021-04-01  6:03                               ` Eric Biggers
2021-04-01  5:46                           ` Jarkko Sakkinen
2021-03-24 16:14         ` James Bottomley
2021-03-24 20:49           ` Mimi Zohar
2021-03-24 21:58             ` James Bottomley [this message]
2021-04-02  1:49           ` Serge E. Hallyn
2021-03-31 18:35   ` Richard Weinberger
2021-04-01 10:15     ` Ahmad Fatoum
2021-04-01 10:23       ` Richard Weinberger
2021-03-16 23:10 ` [PATCH v1 0/3] " Richard Weinberger
2021-03-17 14:08   ` Ahmad Fatoum
2021-03-30 21:50     ` Richard Weinberger
2021-04-01 10:04       ` Ahmad Fatoum
2021-04-01 10:20         ` Richard Weinberger
2021-04-01 10:28           ` Ahmad Fatoum
2021-04-01 10:53             ` Richard Weinberger
2021-04-01 10:57               ` Ahmad Fatoum
2021-04-01 11:05                 ` Richard Weinberger
2021-04-01 11:13                   ` Ahmad Fatoum
2021-04-01 11:16                     ` Richard Weinberger
2021-03-30 22:04     ` Richard Weinberger
2021-03-30 22:16       ` James Bottomley
2021-03-31 18:36         ` Richard Weinberger
2021-03-31 18:49           ` James Bottomley
2021-03-31 19:36             ` Richard Weinberger
2021-04-01 10:06               ` Ahmad Fatoum
2021-04-01 13:20                 ` Sumit Garg
2021-04-01 18:26                   ` James Bottomley
2021-04-01 12:55       ` Sumit Garg
2021-04-01 13:17         ` Richard Weinberger
2021-04-01 13:30           ` Ahmad Fatoum
2021-04-01 13:52             ` Sumit Garg
2021-04-01 13:59               ` Richard Weinberger
2021-04-01 14:12                 ` Sumit Garg
2021-04-01 11:11     ` David Howells
2021-03-21 20:01 ` Horia Geantă
2021-03-23 16:34   ` Ahmad Fatoum
2021-03-24  6:23     ` Sumit Garg
2021-03-23 16:37   ` Ahmad Fatoum

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=766a68a95e6c095bb202f430b8b091d008002205.camel@linux.ibm.com \
    --to=jejb@linux.ibm.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=aymen.sghaier@nxp.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=david@sigma-star.at \
    --cc=dhowells@redhat.com \
    --cc=franck.lenormand@nxp.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@nxp.com \
    --cc=j.luebbe@pengutronix.de \
    --cc=jarkko@kernel.org \
    --cc=jmorris@namei.org \
    --cc=kernel@pengutronix.de \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=pvanleeuwen@verimatrix.com \
    --cc=serge@hallyn.com \
    --cc=sumit.garg@linaro.org \
    --cc=udit.agarwal@nxp.com \
    --cc=zohar@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.