From: Ahmad Fatoum <a.fatoum@pengutronix.de> To: Jonathan Corbet <corbet@lwn.net>, David Howells <dhowells@redhat.com>, Jarkko Sakkinen <jarkko@kernel.org>, James Bottomley <jejb@linux.ibm.com>, Mimi Zohar <zohar@linux.ibm.com> Cc: kernel@pengutronix.de, "Pankaj Gupta" <pankaj.gupta@nxp.com>, "Ahmad Fatoum" <a.fatoum@pengutronix.de>, "James Morris" <jmorris@namei.org>, "Serge E. Hallyn" <serge@hallyn.com>, "Horia Geantă" <horia.geanta@nxp.com>, "Herbert Xu" <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, "Eric Biggers" <ebiggers@kernel.org>, "Jan Luebbe" <j.luebbe@pengutronix.de>, "David Gstir" <david@sigma-star.at>, "Richard Weinberger" <richard@nod.at>, "Franck LENORMAND" <franck.lenormand@nxp.com>, "Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>, "Michael Walle" <michael@walle.cc>, "John Ernberg" <john.ernberg@actia.se>, "Sumit Garg" <sumit.garg@linaro.org>, keyrings@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org Subject: [PATCH v10 6/7] doc: trusted-encrypted: describe new CAAM trust source Date: Fri, 13 May 2022 16:57:04 +0200 [thread overview] Message-ID: <20220513145705.2080323-7-a.fatoum@pengutronix.de> (raw) In-Reply-To: <20220513145705.2080323-1-a.fatoum@pengutronix.de> Update documentation for trusted key use with the Cryptographic Acceleration and Assurance Module (CAAM), an IP on NXP SoCs. Reviewed-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> --- v9 -> v10: - no change v8 -> v9: - add Jarkko's Reviewed-by v7 -> v8: - add Pankaj's Reviewed-by v6 -> v7: - docs update split off as new Patch (Jarkko) - fixed typo in "Trusted Keys usage: CAAM" section To: Jonathan Corbet <corbet@lwn.net> To: David Howells <dhowells@redhat.com> To: Jarkko Sakkinen <jarkko@kernel.org> To: James Bottomley <jejb@linux.ibm.com> To: Mimi Zohar <zohar@linux.ibm.com> Cc: James Morris <jmorris@namei.org> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: "Horia Geantă" <horia.geanta@nxp.com> Cc: Pankaj Gupta <pankaj.gupta@nxp.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Biggers <ebiggers@kernel.org> Cc: Jan Luebbe <j.luebbe@pengutronix.de> Cc: David Gstir <david@sigma-star.at> Cc: Richard Weinberger <richard@nod.at> Cc: Franck LENORMAND <franck.lenormand@nxp.com> Cc: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Cc: Michael Walle <michael@walle.cc> Cc: John Ernberg <john.ernberg@actia.se> Cc: Sumit Garg <sumit.garg@linaro.org> 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 --- .../security/keys/trusted-encrypted.rst | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/Documentation/security/keys/trusted-encrypted.rst b/Documentation/security/keys/trusted-encrypted.rst index 2fe6fd1a2bbd..0bfb4c339748 100644 --- a/Documentation/security/keys/trusted-encrypted.rst +++ b/Documentation/security/keys/trusted-encrypted.rst @@ -35,6 +35,13 @@ safe. Rooted to Hardware Unique Key (HUK) which is generally burnt in on-chip fuses and is accessible to TEE only. + (3) CAAM (Cryptographic Acceleration and Assurance Module: IP on NXP SoCs) + + When High Assurance Boot (HAB) is enabled and the CAAM is in secure + mode, trust is rooted to the OTPMK, a never-disclosed 256-bit key + randomly generated and fused into each SoC at manufacturing time. + Otherwise, a common fixed test key is used instead. + * Execution isolation (1) TPM @@ -46,6 +53,10 @@ safe. Customizable set of operations running in isolated execution environment verified via Secure/Trusted boot process. + (3) CAAM + + Fixed set of operations running in isolated execution environment. + * Optional binding to platform integrity state (1) TPM @@ -63,6 +74,11 @@ safe. Relies on Secure/Trusted boot process for platform integrity. It can be extended with TEE based measured boot process. + (3) CAAM + + Relies on the High Assurance Boot (HAB) mechanism of NXP SoCs + for platform integrity. + * Interfaces and APIs (1) TPM @@ -74,10 +90,13 @@ safe. TEEs have well-documented, standardized client interface and APIs. For more details refer to ``Documentation/staging/tee.rst``. + (3) CAAM + + Interface is specific to silicon vendor. * Threat model - The strength and appropriateness of a particular TPM or TEE for a given + The strength and appropriateness of a particular trust source for a given purpose must be assessed when using them to protect security-relevant data. @@ -104,6 +123,12 @@ selected trust source: from platform specific hardware RNG or a software based Fortuna CSPRNG which can be seeded via multiple entropy sources. + * CAAM: Kernel RNG + + The normal kernel random number generator is used. To seed it from the + CAAM HWRNG, enable CRYPTO_DEV_FSL_CAAM_RNG_API and ensure the device + is probed. + Users may override this by specifying ``trusted.rng=kernel`` on the kernel command-line to override the used RNG with the kernel's random number pool. @@ -193,6 +218,19 @@ Usage:: specific to TEE device implementation. The key length for new keys is always in bytes. Trusted Keys can be 32 - 128 bytes (256 - 1024 bits). +Trusted Keys usage: CAAM +------------------------ + +Usage:: + + keyctl add trusted name "new keylen" ring + keyctl add trusted name "load hex_blob" ring + keyctl print keyid + +"keyctl print" returns an ASCII hex copy of the sealed key, which is in a +CAAM-specific format. The key length for new keys is always in bytes. +Trusted Keys can be 32 - 128 bytes (256 - 1024 bits). + Encrypted Keys usage -------------------- -- 2.30.2
next prev parent reply other threads:[~2022-05-13 14:58 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-13 14:56 [PATCH v10 0/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum 2022-05-13 14:56 ` [PATCH v10 1/7] KEYS: trusted: allow use of TEE as backend without TCG_TPM support Ahmad Fatoum 2022-05-13 14:57 ` [PATCH v10 2/7] KEYS: trusted: allow use of kernel RNG for key material Ahmad Fatoum 2022-05-17 15:52 ` Mimi Zohar 2022-05-17 16:25 ` Ahmad Fatoum 2022-05-17 17:40 ` Jason A. Donenfeld 2022-05-17 17:38 ` Jason A. Donenfeld 2022-05-17 18:21 ` Mimi Zohar 2022-05-17 18:30 ` Jason A. Donenfeld 2022-05-17 19:49 ` Mimi Zohar 2022-05-18 4:31 ` Ahmad Fatoum 2022-05-17 17:27 ` Jason A. Donenfeld 2022-05-17 17:52 ` Ahmad Fatoum 2022-05-17 18:00 ` Jason A. Donenfeld 2022-05-17 18:27 ` Ahmad Fatoum 2022-05-17 18:10 ` Jarkko Sakkinen 2022-05-17 18:20 ` Ahmad Fatoum 2022-05-17 18:20 ` Jason A. Donenfeld 2022-05-13 14:57 ` [PATCH v10 3/7] crypto: caam - determine whether CAAM supports blob encap/decap Ahmad Fatoum 2022-05-17 10:03 ` [EXT] " Pankaj Gupta 2022-05-13 14:57 ` [PATCH v10 4/7] crypto: caam - add in-kernel interface for blob generator Ahmad Fatoum 2022-05-13 14:57 ` [PATCH v10 5/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Ahmad Fatoum 2022-05-13 14:57 ` Ahmad Fatoum [this message] 2022-05-13 14:57 ` [PATCH v10 7/7] MAINTAINERS: add KEYS-TRUSTED-CAAM Ahmad Fatoum 2022-05-16 18:36 ` [PATCH v10 0/7] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys Jarkko Sakkinen 2022-05-17 12:44 ` Ahmad Fatoum 2022-05-18 1:08 ` Jarkko Sakkinen 2022-05-18 4:36 ` Ahmad Fatoum 2022-05-18 14:58 ` Jarkko Sakkinen 2022-05-19 23:41 ` Jarkko Sakkinen
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=20220513145705.2080323-7-a.fatoum@pengutronix.de \ --to=a.fatoum@pengutronix.de \ --cc=corbet@lwn.net \ --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=john.ernberg@actia.se \ --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=matthias.schiffer@ew.tq-group.com \ --cc=michael@walle.cc \ --cc=pankaj.gupta@nxp.com \ --cc=richard@nod.at \ --cc=serge@hallyn.com \ --cc=sumit.garg@linaro.org \ --cc=zohar@linux.ibm.com \ --subject='Re: [PATCH v10 6/7] doc: trusted-encrypted: describe new CAAM trust source' \ /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
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.