Re: [PATCH] KEYS: asym_tpm: Switch to get_random_bytes()

From: Mimi Zohar
Date: Thu Oct 03 2019 - 09:02:45 EST


On Thu, 2019-10-03 at 14:41 +0300, Jarkko Sakkinen wrote:
> On Wed, Oct 02, 2019 at 10:00:19AM -0400, Mimi Zohar wrote:
> > On Thu, 2019-09-26 at 20:16 +0300, Jarkko Sakkinen wrote:
> > > Only the kernel random pool should be used for generating random numbers.
> > > TPM contributes to that pool among the other sources of entropy. In here it
> > > is not, agreed, absolutely critical because TPM is what is trusted anyway
> > > but in order to remove tpm_get_random() we need to first remove all the
> > > call sites.
> >
> > At what point during boot is the kernel random pool available? ÂDoes
> > this imply that you're planning on changing trusted keys as well?
>
> Well trusted keys *must* be changed to use it. It is not a choice
> because using a proprietary random number generator instead of defacto
> one in the kernel can be categorized as a *regression*.

I really don't see how using the TPM random number for TPM trusted
keys would be considered a regression. ÂThat by definition is a
trusted key. ÂIf anything, changing what is currently being done would
be the regression.Â

> Also, TEE trusted keys cannot use the TPM option.

That isn't a valid justification for changing the original definition
of trusted keys. ÂJust as the kernel supports different methods of
implementing the same function on different architectures, trusted
keys will need to support different methods of generating a random
number. ÂÂ

>
> If it was not initialized early enough we would need fix that too.

Shouldn't this be determined and fixed, before making any changes?

>
> I don't think there should be a problem anyway since encrypted keys is
> already using get_random_bytes().

Encrypted keys has no bearing on trusted keys.

Mimi