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

From: Yael Tiomkin
Date: Wed Dec 22 2021 - 11:32:07 EST


On Tue, Dec 14, 2021 at 7:37 AM Mimi Zohar <zohar@xxxxxxxxxxxxx> wrote:
>
> 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
> > +
>

Hi Mimi,

I have posted the ltp test:
https://lore.kernel.org/all/20211221023721.129689-1-yaelt@xxxxxxxxxx/

I will update the documentation per your suggestion.

Thanks,
Yael