All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: "Jarkko Sakkinen" <jarkko@kernel.org>,
	"Horia Geantă" <horia.geanta@nxp.com>,
	"Mimi Zohar" <zohar@linux.ibm.com>,
	"Pankaj Gupta" <pankaj.gupta@nxp.com>,
	"Herbert Xu" <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	"James Bottomley" <jejb@linux.ibm.com>,
	kernel@pengutronix.de, "David Howells" <dhowells@redhat.com>,
	"James Morris" <jmorris@namei.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	"Steffen Trumtrar" <s.trumtrar@pengutronix.de>,
	"Jan Luebbe" <j.luebbe@pengutronix.de>,
	"David Gstir" <david@sigma-star.at>,
	"Eric Biggers" <ebiggers@kernel.org>,
	"Richard Weinberger" <richard@nod.at>,
	"Franck LENORMAND" <franck.lenormand@nxp.com>,
	"Sumit Garg" <sumit.garg@linaro.org>,
	"Andreas Rammhold" <andreas@rammhold.de>,
	"Tim Harvey" <tharvey@gateworks.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	linux-integrity@vger.kernel.org, keyrings@vger.kernel.org,
	linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org
Subject: Re: [PATCH v9 0/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys
Date: Fri, 06 May 2022 12:52:13 +0200	[thread overview]
Message-ID: <49e1738c55c73819ee0e2cac0be74d81@walle.cc> (raw)
In-Reply-To: <20220506062553.1068296-1-a.fatoum@pengutronix.de>

Am 2022-05-06 08:25, schrieb Ahmad Fatoum:
> Series applies on top of v5.18-rc5. Would be great if this could make 
> it
> into v5.19.
> 
> v8 was here:
> https://lore.kernel.org/linux-integrity/09e2552c-7392-e1da-926b-53c7db0b118d@pengutronix.de
> 
> Changelog is beneath each individual patch. Compared to v8, only code
> change is checking whether CAAM can support blobbing at init-time as
> apparently some Layerscape SoCs are available in a non-E(ncryption)
> variant that doesn't do AES. Previously, adding trusted keys on such
> SoCs would return an error with a cryptic error message.
> 
> 
> The Cryptographic Acceleration and Assurance Module (CAAM) is an IP 
> core
> built into many newer i.MX and QorIQ SoCs by NXP.
> 
> Its blob mechanism can AES encrypt/decrypt user data using a unique
> never-disclosed device-specific key.
> 
> There has been multiple discussions on how to represent this within the 
> kernel:
> 
> The Cryptographic Acceleration and Assurance Module (CAAM) is an IP 
> core
> built into many newer i.MX and QorIQ SoCs by NXP.
> 
> Its blob mechanism can AES encrypt/decrypt user data using a unique
> never-disclosed device-specific key. There has been multiple
> discussions on how to represent this within the kernel:
> 
>  - [RFC] crypto: caam - add red blobifier
>    Steffen implemented[1] a PoC sysfs driver to start a discussion on 
> how to
>    best integrate the blob mechanism.
>    Mimi suggested that it could be used to implement trusted keys.
>    Trusted keys back then were a TPM-only feature.
> 
>  - security/keys/secure_key: Adds the secure key support based on CAAM.
>    Udit Agarwal added[2] a new "secure" key type with the CAAM as 
> backend.
>    The key material stays within the kernel only.
>    Mimi and James agreed that this needs a generic interface, not 
> specific
>    to CAAM. Mimi suggested trusted keys. Jan noted that this could 
> serve as
>    basis for TEE-backed keys.
> 
>  - [RFC] drivers: crypto: caam: key: Add caam_tk key type
>    Franck added[3] a new "caam_tk" key type based on Udit's work. This 
> time
>    it uses CAAM "black blobs" instead of "red blobs", so key material 
> stays
>    within the CAAM and isn't exposed to kernel in plaintext.
>    James voiced the opinion that there should be just one user-facing 
> generic
>    wrap/unwrap key type with multiple possible handlers.
>    David suggested trusted keys.
> 
>  - Introduce TEE based Trusted Keys support
>    Sumit reworked[4] trusted keys to support multiple possible backends 
> with
>    one chosen at boot time and added a new TEE backend along with TPM.
>    This now sits in Jarkko's master branch to be sent out for v5.13
> 
> This patch series builds on top of Sumit's rework to have the CAAM as
> yet another
> trusted key backend.
> 
> The CAAM bits are based on Steffen's initial patch from 2015. His work 
> had been
> used in the field for some years now, so I preferred not to deviate
> too much from it.
> 
> This series has been tested with dmcrypt[5] on an i.MX6Q/DL and an 
> i.MX8M[6].
> 
> Looking forward to your feedback.

For the whole series:

Tested-by: Michael Walle <michael@walle.cc> # on ls1028a (non-E and E)

-michael

  parent reply	other threads:[~2022-05-06 10:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-06  6:25 [PATCH v9 0/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 1/7] KEYS: trusted: allow use of TEE as backend without TCG_TPM support Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 2/7] KEYS: trusted: allow use of kernel RNG for key material Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 3/7] crypto: caam - determine whether CAAM supports blob encap/decap Ahmad Fatoum
2022-05-09 12:39   ` [EXT] " Pankaj Gupta
2022-05-09 13:04     ` Ahmad Fatoum
2022-05-11  9:16       ` Pankaj Gupta
2022-05-11  9:21         ` Ahmad Fatoum
2022-05-11  9:21         ` Michael Walle
2022-05-11  9:48           ` Horia Geantă
2022-05-11  9:59             ` Michael Walle
2022-05-11 10:28               ` Horia Geantă
2022-05-11 11:54                 ` Michael Walle
2022-05-12  7:07                   ` Horia Geantă
2022-05-06  6:25 ` [PATCH v9 4/7] crypto: caam - add in-kernel interface for blob generator Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 5/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 6/7] doc: trusted-encrypted: describe new CAAM trust source Ahmad Fatoum
2022-05-06  6:25 ` [PATCH v9 7/7] MAINTAINERS: add KEYS-TRUSTED-CAAM Ahmad Fatoum
2022-05-07 19:26   ` Jarkko Sakkinen
2022-05-07 19:29     ` Jarkko Sakkinen
2022-05-11 10:48       ` Ahmad Fatoum
2022-05-11 15:18         ` Jarkko Sakkinen
2022-05-11 17:13           ` Michael Walle
2022-05-06 10:52 ` Michael Walle [this message]
2022-05-11 10:47   ` [PATCH v9 0/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum
2022-05-11 11:29     ` Michael Walle

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=49e1738c55c73819ee0e2cac0be74d81@walle.cc \
    --to=michael@walle.cc \
    --cc=a.fatoum@pengutronix.de \
    --cc=andreas@rammhold.de \
    --cc=davem@davemloft.net \
    --cc=david@sigma-star.at \
    --cc=dhowells@redhat.com \
    --cc=ebiggers@kernel.org \
    --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=jejb@linux.ibm.com \
    --cc=jmorris@namei.org \
    --cc=kernel@pengutronix.de \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=matthias.schiffer@ew.tq-group.com \
    --cc=pankaj.gupta@nxp.com \
    --cc=richard@nod.at \
    --cc=s.trumtrar@pengutronix.de \
    --cc=serge@hallyn.com \
    --cc=sumit.garg@linaro.org \
    --cc=tharvey@gateworks.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.