Re: [EXT] [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new trust source

2024-05-03 Thread Jarkko Sakkinen
On Tue Apr 30, 2024 at 3:03 PM EEST, David Gstir wrote:
> Hi Jarkko,
>
> > On 30.04.2024, at 13:48, Kshitiz Varshney  wrote:
> > 
> > Hi David,
> > 
> >> -Original Message-
> >> From: David Gstir 
> >> Sent: Monday, April 29, 2024 5:05 PM
> >> To: Kshitiz Varshney 
>
>
> >> 
> >> Did you get around to testing this?
> >> I’d greatly appreciate a Tested-by for this. :-)
> >> 
> >> Thanks!
> >> BR, David
> > 
> > Currently, I am bit busy with other priority activities. It will take time 
> > to test this patch set.
>
> How should we proceed here?
> Do we have to miss another release cycle, because of a Tested-by?
>
> If any bugs pop up I’ll happily fix them, but at the moment it appears to be 
> more of a formality.
> IMHO the patch set itself is rather small and has been thoroughly reviewed to 
> ensure that any huge
> issues would already have been caught by now.

I don't mind picking this actually since unless you consume it,
it should not get in the way. I'll pick it during the weekend.
Thanks for reminding.

BR, Jarkko


Re: [EXT] [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new trust source

2024-04-30 Thread David Gstir
Hi Jarkko,

> On 30.04.2024, at 13:48, Kshitiz Varshney  wrote:
> 
> Hi David,
> 
>> -Original Message-
>> From: David Gstir 
>> Sent: Monday, April 29, 2024 5:05 PM
>> To: Kshitiz Varshney 


>> 
>> Did you get around to testing this?
>> I’d greatly appreciate a Tested-by for this. :-)
>> 
>> Thanks!
>> BR, David
> 
> Currently, I am bit busy with other priority activities. It will take time to 
> test this patch set.

How should we proceed here?
Do we have to miss another release cycle, because of a Tested-by?

If any bugs pop up I’ll happily fix them, but at the moment it appears to be 
more of a formality.
IMHO the patch set itself is rather small and has been thoroughly reviewed to 
ensure that any huge
issues would already have been caught by now.

Thanks!
BR, David

RE: [EXT] [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new trust source

2024-04-30 Thread Kshitiz Varshney
Hi David,

> -Original Message-
> From: David Gstir 
> Sent: Monday, April 29, 2024 5:05 PM
> To: Kshitiz Varshney 
> Cc: Jarkko Sakkinen ; Mimi Zohar
> ; James Bottomley ; Herbert
> Xu ; David S. Miller
> ; Shawn Guo ; Jonathan
> Corbet ; Sascha Hauer ;
> ker...@pengutronix.de; Fabio Estevam ; dl-linux-imx
> ; Ahmad Fatoum ; sigma
> star Kernel Team ; David Howells
> ; Li Yang ; Paul Moore
> ; James Morris ; Serge E.
> Hallyn ; Paul E. McKenney ;
> Randy Dunlap ; Catalin Marinas
> ; Rafael J. Wysocki
> ; Tejun Heo ; Steven Rostedt
> (Google) ; linux-...@vger.kernel.org; linux-
> ker...@vger.kernel.org; linux-integr...@vger.kernel.org;
> keyri...@vger.kernel.org; linux-cry...@vger.kernel.org; linux-arm-
> ker...@lists.infradead.org; linuxppc-dev@lists.ozlabs.org; linux-security-
> mod...@vger.kernel.org; Richard Weinberger ; David
> Oberhollenzer ; Varun Sethi
> ; Gaurav Jain ; Pankaj Gupta
> 
> Subject: Re: [EXT] [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new
> trust source
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Hi Kshitiz,
> 
> > On 09.04.2024, at 11:48, Kshitiz Varshney 
> wrote:
> >
> > Hi Jarkko,
> >
> >
> >> -Original Message-
> >> From: Jarkko Sakkinen 
> >> Sent: Wednesday, April 3, 2024 9:18 PM
> >> To: David Gstir ; Mimi Zohar
> >> ; James Bottomley ;
> Herbert
> >> Xu ; David S. Miller
> >> 
> >> Cc: Shawn Guo ; Jonathan Corbet
> >> ; Sascha Hauer ;
> Pengutronix
> >> Kernel Team ; Fabio Estevam
> >> ; dl-linux-imx ; Ahmad
> Fatoum
> >> ; sigma star Kernel Team
> >> ; David Howells ;
> Li
> >> Yang ; Paul Moore ;
> James
> >> Morris ; Serge E. Hallyn ; Paul
> E.
> >> McKenney ; Randy Dunlap
> ;
> >> Catalin Marinas ; Rafael J. Wysocki
> >> ; Tejun Heo ; Steven
> >> Rostedt
> >> (Google) ; linux-...@vger.kernel.org; linux-
> >> ker...@vger.kernel.org; linux-integr...@vger.kernel.org;
> >> keyri...@vger.kernel.org; linux-cry...@vger.kernel.org; linux-arm-
> >> ker...@lists.infradead.org; linuxppc-dev@lists.ozlabs.org;
> >> linux-security- mod...@vger.kernel.org; Richard Weinberger
> >> ; David Oberhollenzer
> >> 
> >> Subject: [EXT] Re: [PATCH v8 6/6] docs: trusted-encrypted: add DCP as
> >> new trust source
> >>
> >> Caution: This is an external email. Please take care when clicking
> >> links or opening attachments. When in doubt, report the message using
> >> the 'Report this email' button
> >>
> >>
> >> On Wed Apr 3, 2024 at 10:21 AM EEST, David Gstir wrote:
> >>> Update the documentation for trusted and encrypted KEYS with DCP as
> >>> new trust source:
> >>>
> >>> - Describe security properties of DCP trust source
> >>> - Describe key usage
> >>> - Document blob format
> >>>
> >>> Co-developed-by: Richard Weinberger 
> >>> Signed-off-by: Richard Weinberger 
> >>> Co-developed-by: David Oberhollenzer
> >>> 
> >>> Signed-off-by: David Oberhollenzer
> >>> 
> >>> Signed-off-by: David Gstir 
> >>> ---
> >>> .../security/keys/trusted-encrypted.rst   | 53 +++
> >>> security/keys/trusted-keys/trusted_dcp.c  | 19 +++
> >>> 2 files changed, 72 insertions(+)
> >>>
> >>> diff --git a/Documentation/security/keys/trusted-encrypted.rst
> >>> b/Documentation/security/keys/trusted-encrypted.rst
> >>> index e989b9802f92..f4d7e162d5e4 100644
> >>> --- a/Documentation/security/keys/trusted-encrypted.rst
> >>> +++ b/Documentation/security/keys/trusted-encrypted.rst
> >>> @@ -42,6 +42,14 @@ safe.
> >>>  randomly generated and fused into each SoC at manufacturing
> time.
> >>>  Otherwise, a common fixed test key is used instead.
> >>>
> >>> + (4) DCP (Data Co-Processor: crypto accelerator of various i.MX
> >>> + SoCs)
> >>> +
> >>> + Rooted to a one-time programmable key (OTP) that is
> >>> + generally
> >> burnt
> >>> + in the on-chip fuses and is accessible to the DCP
> >>> + encryption engine
> >> only.
> >>> + DCP provides two keys that ca

Re: [EXT] [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new trust source

2024-04-29 Thread David Gstir
Hi Kshitiz,

> On 09.04.2024, at 11:48, Kshitiz Varshney  wrote:
> 
> Hi Jarkko,
> 
> 
>> -Original Message-
>> From: Jarkko Sakkinen 
>> Sent: Wednesday, April 3, 2024 9:18 PM
>> To: David Gstir ; Mimi Zohar ;
>> James Bottomley ; Herbert Xu
>> ; David S. Miller 
>> Cc: Shawn Guo ; Jonathan Corbet
>> ; Sascha Hauer ; Pengutronix
>> Kernel Team ; Fabio Estevam
>> ; dl-linux-imx ; Ahmad Fatoum
>> ; sigma star Kernel Team
>> ; David Howells ; Li
>> Yang ; Paul Moore ; James
>> Morris ; Serge E. Hallyn ; Paul E.
>> McKenney ; Randy Dunlap ;
>> Catalin Marinas ; Rafael J. Wysocki
>> ; Tejun Heo ; Steven Rostedt
>> (Google) ; linux-...@vger.kernel.org; linux-
>> ker...@vger.kernel.org; linux-integr...@vger.kernel.org;
>> keyri...@vger.kernel.org; linux-cry...@vger.kernel.org; linux-arm-
>> ker...@lists.infradead.org; linuxppc-dev@lists.ozlabs.org; linux-security-
>> mod...@vger.kernel.org; Richard Weinberger ; David
>> Oberhollenzer 
>> Subject: [EXT] Re: [PATCH v8 6/6] docs: trusted-encrypted: add DCP as new
>> trust source
>> 
>> Caution: This is an external email. Please take care when clicking links or
>> opening attachments. When in doubt, report the message using the 'Report
>> this email' button
>> 
>> 
>> On Wed Apr 3, 2024 at 10:21 AM EEST, David Gstir wrote:
>>> Update the documentation for trusted and encrypted KEYS with DCP as
>>> new trust source:
>>> 
>>> - Describe security properties of DCP trust source
>>> - Describe key usage
>>> - Document blob format
>>> 
>>> Co-developed-by: Richard Weinberger 
>>> Signed-off-by: Richard Weinberger 
>>> Co-developed-by: David Oberhollenzer
>>> 
>>> Signed-off-by: David Oberhollenzer 
>>> Signed-off-by: David Gstir 
>>> ---
>>> .../security/keys/trusted-encrypted.rst   | 53 +++
>>> security/keys/trusted-keys/trusted_dcp.c  | 19 +++
>>> 2 files changed, 72 insertions(+)
>>> 
>>> diff --git a/Documentation/security/keys/trusted-encrypted.rst
>>> b/Documentation/security/keys/trusted-encrypted.rst
>>> index e989b9802f92..f4d7e162d5e4 100644
>>> --- a/Documentation/security/keys/trusted-encrypted.rst
>>> +++ b/Documentation/security/keys/trusted-encrypted.rst
>>> @@ -42,6 +42,14 @@ safe.
>>>  randomly generated and fused into each SoC at manufacturing time.
>>>  Otherwise, a common fixed test key is used instead.
>>> 
>>> + (4) DCP (Data Co-Processor: crypto accelerator of various i.MX
>>> + SoCs)
>>> +
>>> + Rooted to a one-time programmable key (OTP) that is generally
>> burnt
>>> + in the on-chip fuses and is accessible to the DCP encryption 
>>> engine
>> only.
>>> + DCP provides two keys that can be used as root of trust: the OTP
>> key
>>> + and the UNIQUE key. Default is to use the UNIQUE key, but 
>>> selecting
>>> + the OTP key can be done via a module parameter
>> (dcp_use_otp_key).
>>> +
>>>   *  Execution isolation
>>> 
>>>  (1) TPM
>>> @@ -57,6 +65,12 @@ safe.
>>> 
>>>  Fixed set of operations running in isolated execution environment.
>>> 
>>> + (4) DCP
>>> +
>>> + Fixed set of cryptographic operations running in isolated 
>>> execution
>>> + environment. Only basic blob key encryption is executed there.
>>> + The actual key sealing/unsealing is done on main processor/kernel
>> space.
>>> +
>>>   * Optional binding to platform integrity state
>>> 
>>>  (1) TPM
>>> @@ -79,6 +93,11 @@ safe.
>>>  Relies on the High Assurance Boot (HAB) mechanism of NXP SoCs
>>>  for platform integrity.
>>> 
>>> + (4) DCP
>>> +
>>> + Relies on Secure/Trusted boot process (called HAB by vendor) for
>>> + platform integrity.
>>> +
>>>   *  Interfaces and APIs
>>> 
>>>  (1) TPM
>>> @@ -94,6 +113,11 @@ safe.
>>> 
>>>  Interface is specific to silicon vendor.
>>> 
>>> + (4) DCP
>>> +
>>> + Vendor-specific API that is implemented as part of the DCP crypto
>> driver in
>>> + ``drivers/crypto/mxs-dcp.c``.
>>> +
>>>   *  Threat model
>>> 
>>>  The strength and appropriateness of a particular trust source
>>> for a given @@ -129,6 +153,13 @@ selected trust source:
>>>  CAAM HWRNG, enable CRYPTO_DEV_FSL_CAAM_RNG_API and ensure
>> the device
>>>  is probed.
>>> 
>>> +  *  DCP (Data Co-Processor: crypto accelerator of various i.MX SoCs)
>>> +
>>> + The DCP hardware device itself does not provide a dedicated RNG
>> interface,
>>> + so the kernel default RNG is used. SoCs with DCP like the i.MX6ULL do
>> have
>>> + a dedicated hardware RNG that is independent from DCP which can be
>> enabled
>>> + to back the kernel RNG.
>>> +
>>> 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.
>>> 
>>> @@ -231,6 +262,19 @@ Usage::
>>> CAAM-specific format.  The key length for new keys is always in bytes.
>>> Trusted Keys can be 32 - 128 bytes (256 - 1024 bits