Re:Random Numbers in Virtual Machines
by ausjke on Monday March 23, 2015 @02:59PM
(#9252712)
It seems hwrng is mandatory otherwise /dev/random will block easily for virtio-rng.
[ Parent
| on HN ]
The host has more sources that contribute to the kernel entropy pool: network and block IO are more than any individual VM.
Keep in mind, though, that just accessing /dev/urandom in the guest won't need too much input from the host.
However, having a hwrng is obviously the preferred option where there is need for a lot of entropy.
Modern Intel processors have an RDRAND instruction which (cue conspiracy theorists) is a hardware RNG. https://en.wikipedia.org/wiki/RdRand
However, it's RDSEED that needs to be used as input if we use the Intel instructions.
https://software.intel.com/en-us/blogs/2012/11/17/the-differ...
Edit to add: we can obviously pass on the RDRAND instruction directly to the VM, but that's less portable, because not all servers in a server farm may have that instruction available, limiting live migration capabilities.
So we can just pass on output from RDSEED into the host's /dev/random, and feed the VM /dev/random by default as described.