Die X86-Antwort lautet: Stellen Sie sicher, dass Ihre VM RdRand oder RdSeed nicht abfängt. Sie vertrauen Ihrer VM in vielen Dingen, dies ist einer von ihnen.
Ein ausreichend aktueller RNGd auf einer Post-Snady-Bridge-CPU wird (oder kann angewiesen werden) RdRand oder RdSeed verwenden, und ein nicht abgefangener RdRand oder RdSeed wird in die VM entropisiert. / dev / random arbeitet dann mit einer realen (nicht virtuellen) Entropiequelle.
Das ist kein Zufall. Es ist genau dort in den Intel-Architekturdokumenten.
Für eine gerätebasierte Hardware-Entropiequelle (IE verwendet einen Kerneltreiber, um sie freizugeben) muss die VM die physische Quelle ordnungsgemäß virtualisieren. Ich habe keine Ahnung, ob und für welche Geräte sie dies tun.
Wenn Ihr RNGd die unten stehende Option drng nicht hat, aktualisieren Sie sie. Wenn Ihre Hardware kein schnelles Hardware-RNG hat, sind Sie zum Scheitern verurteilt und sollten aus Sicherheitsgründen die Verwendung unterschiedlicher Hardware in Betracht ziehen.
# rngd --help
Usage: rngd [OPTION...]
Check and feed random data from hardware device to kernel entropy pool.
-b, --background Become a daemon (default)
**-d, --no-drng=1|0 Do not use drng as a source of random number input**
(default: 0)
-f, --foreground Do not fork and become a daemon
-n, --no-tpm=1|0 Do not use tpm as a source of random number input
(default: 0)
-o, --random-device=file Kernel device used for random number output
(default: /dev/random)
-p, --pid-file=file File used for recording daemon PID, and multiple
exclusion (default: /var/run/rngd.pid)
-q, --quiet Suppress error messages
-r, --rng-device=file Kernel device used for random number input
(default: /dev/hwrng)
-s, --random-step=nnn Number of bytes written to random-device at a time
(default: 64)
-v, --verbose Report available entropy sources
-W, --fill-watermark=n Do not stop feeding entropy to random-device until
at least n bits of entropy are available in the
pool (default: 2048), 0 <= n <= 4096
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
Report bugs to Jeff Garzik <jgarzik@pobox.com>.