random: limit the contribution of the hw rng to at most half
authorTheodore Ts'o <tytso@mit.edu>
Thu, 17 Jul 2014 09:27:30 +0000 (05:27 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 5 Aug 2014 20:41:50 +0000 (16:41 -0400)
commit48d6be955a7167b0d0e025ae6c39e795e3544499
treec6e3ebc786fbb45072fbda6a8c55e91aa17aaf95
parentc6e9d6f38894798696f23c8084ca7edbf16ee895
random: limit the contribution of the hw rng to at most half

For people who don't trust a hardware RNG which can not be audited,
the changes to add support for RDSEED can be troubling since 97% or
more of the entropy will be contributed from the in-CPU hardware RNG.

We now have a in-kernel khwrngd, so for those people who do want to
implicitly trust the CPU-based system, we could create an arch-rng
hw_random driver, and allow khwrng refill the entropy pool.  This
allows system administrator whether or not they trust the CPU (I
assume the NSA will trust RDRAND/RDSEED implicitly :-), and if so,
what level of entropy derating they want to use.

The reason why this is a really good idea is that if different people
use different levels of entropy derating, it will make it much more
difficult to design a backdoor'ed hwrng that can be generally
exploited in terms of the output of /dev/random when different attack
targets are using differing levels of entropy derating.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
drivers/char/random.c