Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp2677148iob; Fri, 6 May 2022 08:07:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyTbo9imy08EJUgy4nML2nFrdnz9hgVbDo9b0xouwoYCoNiRnkFzIvrvkTh5FO9R5+ek6Pv X-Received: by 2002:a05:6a00:890:b0:4f6:686e:a8a9 with SMTP id q16-20020a056a00089000b004f6686ea8a9mr4052366pfj.83.1651849658971; Fri, 06 May 2022 08:07:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651849658; cv=none; d=google.com; s=arc-20160816; b=NDFYdLiVcGUMSyLiqCAG4zxPxHzP1UFLZ2Cmi8kEYzyYYWMWdP/I0wPN7yUeuRnjGw n7+fASjMEsRWiLYCup0l/SvfE6VLZZf5AlX0OOqDuGRESgFHOybH2621AJFzVRg2HSmz Ghc4CpSeAV27pomZ1qoWnfXtQ38eNb8doDS66Vsz3TvWem43OsNYfYNElgsbboswDOEl HNFGZakMupLeL0KpPn5GJo77ReXrRl+5jb6XuZLUc3KwF255MjF0wjeliyZvBfzR8VU7 6dgkPVmYtqnNBB38kC2z0JpXT5DUkipTEQOdH39U6k/Iqsr6c6cgg3LqGXMu30yh96hf quqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:user-agent:references:in-reply-to :subject:cc:to:from:date:content-transfer-encoding:mime-version :dkim-signature; bh=hBTLRDXX7HYWGSCeHSGr2YftxW57WhXM3Qvb9yVkUQk=; b=gDDwDTSj/csCWZrjmTQ9u72mQxnMtaoGsc5aqAR+gdwd5tdpR4TBX+ge7mvwI1RYPU 61V0H531m23oT/kRXCKRHUTx+NptRVtVHVGbvscls9OuxU0youlb1oepYkJtmF0qK0pQ XD1Lac58MyqEWQitmutCmEbAojIOJQQF6Y0z6EHF48g3sdx2Gbgy0kOmQPSIZZpCmIoc mMixNLUVrdTtKm6HEuuN13jMZUWXe/QxGonTMJ03FF7Gj82U7nZwtuptsfjvvCijqYhN Uc36nxmGUHkpb15mDLVsM5ubWytBIMxSuxce0N3uTTWzY2i6lyJRJOaBta/KRuZG+1vv VlyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2016061301 header.b=hAWKHoWN; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g2-20020a170902d5c200b0015eb84f826bsi2272315plh.297.2022.05.06.08.06.46; Fri, 06 May 2022 08:07:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2016061301 header.b=hAWKHoWN; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239795AbiEFK4F (ORCPT + 99 others); Fri, 6 May 2022 06:56:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231966AbiEFK4E (ORCPT ); Fri, 6 May 2022 06:56:04 -0400 Received: from ssl.serverraum.org (ssl.serverraum.org [IPv6:2a01:4f8:151:8464::1:2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36CF65C362; Fri, 6 May 2022 03:52:19 -0700 (PDT) Received: from ssl.serverraum.org (web.serverraum.org [172.16.0.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.serverraum.org (Postfix) with ESMTPSA id EE63522246; Fri, 6 May 2022 12:52:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2016061301; t=1651834336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hBTLRDXX7HYWGSCeHSGr2YftxW57WhXM3Qvb9yVkUQk=; b=hAWKHoWNoWZfeKBbrvLwwZUOCIaV0Huaxz+PHJqpLVZdnH/5+RDd/z4htrynCe85SCOmNw Jgv/BprTb1DY6+XBz0tjeqOTmMSU13D8llXKPYwvLrHE98OCaqSFNuaY24kEjvMFVy68h1 NH7Id3QryZVY5LUiKPbvxjEB004JDC4= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 06 May 2022 12:52:13 +0200 From: Michael Walle To: Ahmad Fatoum Cc: Jarkko Sakkinen , =?UTF-8?Q?Horia_Geant=C4=83?= , Mimi Zohar , Pankaj Gupta , Herbert Xu , "David S. Miller" , James Bottomley , kernel@pengutronix.de, David Howells , James Morris , "Serge E. Hallyn" , Steffen Trumtrar , Jan Luebbe , David Gstir , Eric Biggers , Richard Weinberger , Franck LENORMAND , Sumit Garg , Andreas Rammhold , Tim Harvey , Matthias Schiffer , 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 In-Reply-To: <20220506062553.1068296-1-a.fatoum@pengutronix.de> References: <20220506062553.1068296-1-a.fatoum@pengutronix.de> User-Agent: Roundcube Webmail/1.4.13 Message-ID: <49e1738c55c73819ee0e2cac0be74d81@walle.cc> X-Sender: michael@walle.cc X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org 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 # on ls1028a (non-E and E) -michael