On Wed, Sep 18, 2019 at 12:56 PM Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: > > The cheap solution appears to be copying a random seed from a previous > boot, and I think that will take care of many many cases, and has > already been implemented. Which reduces this to a system first > boot issue. Not really. Part of the problem is that many people don't _trust_ that "previous boot entropy". The lack of trust is sometimes fundamental mistrust ("Who knows where it came from"), which also tends to cover things like not trusting rdrand or not trusting the boot loader claimed randomness data. But the lack of trust has been realistic - if you generated your disk image by cloning a pre-existing one, you may well have two (or more - up to any infinite number) of subsequent boots that use the same "random" data for initialization. And doing that "boot a pre-existing image" is not as unusual as you'd think. Some people do it to make bootup faster - there have been people who work on pre-populating bootup all the way to user mode by basically making boot be a "resume from disk" kind of event. So a large part of the problem is that we don't actually trust things that _should_ be trust-worthy, because we've seen (over and over again) people mis-using it. So then we do mix in the data into the randomness pool (because there's no downside to _that_), but we don't treat it as entropy (because while it _probably_ is, we don't actually trust it sufficiently). A _lot_ of the problems with randomness come from these trust issues. Our entropy counting is very very conservative indeed. Linus