/dev/random Is More Like /dev/urandom With Linux 5.6
The random changes have been sent in for Linux 5.6 that yield /dev/random behavioral changes and a new random flag.
First up, with Linux 5.6 /dev/random behaves more like /dev/urandom now for polling RNG data in user-space. The changed behavior causes /dev/random to behave the same as /dev/urandom except for reads being blocked until the CRNG (the Linux cryptographic-strength random number generator) is ready. Meanwhile /dev/urandom will continue to serve its best data but never block. This /dev/random change allows the random's blocking pool to be removed and in turn clean-up the Linux random code in the process.
Linux 5.6 also brings the new insecure "GRND_INSECURE" flag for getentropy(). This new flag can be used for requesting the best random output it can even if it's not meeting cryptographically random strength.
The list of Linux 5.6 random changes in full can be found via this PR.
First up, with Linux 5.6 /dev/random behaves more like /dev/urandom now for polling RNG data in user-space. The changed behavior causes /dev/random to behave the same as /dev/urandom except for reads being blocked until the CRNG (the Linux cryptographic-strength random number generator) is ready. Meanwhile /dev/urandom will continue to serve its best data but never block. This /dev/random change allows the random's blocking pool to be removed and in turn clean-up the Linux random code in the process.
Linux 5.6 also brings the new insecure "GRND_INSECURE" flag for getentropy(). This new flag can be used for requesting the best random output it can even if it's not meeting cryptographically random strength.
The list of Linux 5.6 random changes in full can be found via this PR.
15 Comments