Re: [PATCH v2] Instantiate key with user-provided decrypted data.

From: Mimi Zohar
Date: Tue Dec 14 2021 - 07:38:03 EST


Hi Yael,

On Mon, 2021-12-13 at 14:20 -0500, Yael Tiomkin 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. To support encryption of
> user-provided decrypted data, this patch defines a new datablob
> format: [<format>] <master-key name> <decrypted data length>
> <decrypted data>.
>
> Signed-off-by: Yael Tiomkin <yaelt@xxxxxxxxxx>

Other than the comment below,
Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxx>

Could you also provide an LTP test for defining, exporting, and loading
an encrypted key based on user provided key data?

thanks,

Mimi

> ---

> @@ -303,6 +306,16 @@ Load an encrypted key "evm" from saved blob::
> 82dbbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0
> 24717c64 5972dcb82ab2dde83376d82b2e3c09ffc
>
> +Instantiate an encrypted key "evm" using user-provided decrypted data::
> +
> + $ keyctl add encrypted evm "new default user:kmk 32 `cat evm.blob`" @u
> + 794890253

The existing references to "evm.blob" refer to the encrypted key data.
Here "evm.blob" is unencrypted data. Perhaps name it something like
"evm.user-provided-data" data.

> +
> + $ keyctl print 794890253
> + default user:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b382d
> + bbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0247
> + 17c64 5972dcb82ab2dde83376d82b2e3c09ffc
> +