Re: [PATCH v4] KEYS: encrypted: Instantiate key with user-provided decrypted data

From: Mimi Zohar
Date: Thu Dec 30 2021 - 08:30:12 EST


Hi Sumit,

On Thu, 2021-12-30 at 15:37 +0530, Sumit Garg wrote:
> + Jan, Ahmad
>
> On Thu, 30 Dec 2021 at 03:24, Yael Tiomkin <yaelt@xxxxxxxxxx> wrote:
> >
> > The encrypted.c class supports instantiation of encrypted keys with
> > either an already-encrypted key material, or by generating new key
> > material based on random numbers. This patch defines a new datablob
> > format: [<format>] <master-key name> <decrypted data length>
> > <decrypted data> that allows to instantiate encrypted keys using
> > user-provided decrypted data, and therefore allows to perform key
> > encryption from userspace. The decrypted key material will be
> > inaccessible from userspace.
>
> This type of user-space key import feature has already been discussed
> at large in the context of trusted keys here [1]. So what makes it
> special in case of encrypted keys such that it isn't a "UNSAFE_IMPORT"
> or "DEBUGGING_IMPORT" or "DEVELOPMENT_IMPORT", ...?
>
> [1] https://lore.kernel.org/linux-integrity/74830d4f-5a76-8ba8-aad0-0d79f7c01af9@xxxxxxxxxxxxxx/
>
> -Sumit
>
> >
> > Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxx>
> > Signed-off-by: Yael Tiomkin <yaelt@xxxxxxxxxx>

There is a difference between trusted and encrypted keys. So in
addition to pointing to the rather long discussion thread, please
summarize the conclusion and, assuming you agree, include why in once
case it was acceptable and in the other it wasn't to provide userspace
key data.

thanks,

Mimi