Re: Linux messages full of `random: get_random_u32 called from`

From: Pavel Machek
Date: Sun Apr 29 2018 - 10:30:11 EST

On Thu 2018-04-26 19:56:30, Theodore Y. Ts'o wrote:
> On Thu, Apr 26, 2018 at 01:22:02PM -0700, Sultan Alsawaf wrote:
> >
> > Also, regardless of what's hanging on CRNG init, CRNG should be able to init on its own in a timely
> > manner without the need for user-provided entropy. Userspace was working fine before the recent CRNG
> > kernel changes, so I don't think this is a userspace bug.
> The CRNG changes were needed because were erroneously saying that the
> entropy pool was securely initialized before it really was. Saying
> that CRNG should be able to init on its own is much like saying, "Ted
> should be able to fly wherever he wants in his own personal Gulfstream
> V." It would certainly be _nice_ if I could afford my personal jet.
> I certainly wish I were that rich. But the problem is that dollars
> (or Euro's) are like entropy, they don't just magically drop out of
> the sky.
> If there isn't user-provided entropy, and the hardware isn't providing
> sufficient entropy, where did you think the kernel is supposed to get
> the entropy from? Should it dial 1-800-TRUST-NSA?

Yes, we could dial 1-800-TRUST-NSA. Then nicely ask them to provide us
some unbackdoored randomness. Then we'd ignore whatever they say, but
would collect randomness from timing and noise on the telephone line.

> The other approach would be to compile the kernel with
> CONFIG_HW_RANDOM_TPM and to modify drivers/char/tpm/tpm-chip.c tot
> initalize chip->hwrng.quality = 500. We've historically made this
> something that the system administrator must set via sysfs. This is
> because we wanted system adminisrators to explicitly say that they
> trust the any hardware manufacturer that (a) they haven't been paid by
> your choice of the Chinese MSS or the US NSA to introduce a backdoor,i
> and (b) they are competent to actually implemnt a _secure_ hardware
> random number generator. Sadly, this has not always been the case.

Well, we could actively start accessing suitable device (SD card ? HDD
? CMOS RTC?) when we detect entropy is low. Yes, that would eat power,
but that would be better than machine that hangs at boot.

We could also access the hwrng, then collect entropy from the
timing. TPM is slow chip...
(cesky, pictures)

Attachment: signature.asc
Description: Digital signature