Câu trả lời X86 là đảm bảo VM của bạn không bẫy RdRand hoặc RdSeed. Bạn tin tưởng VM của bạn cho nhiều thứ, đây là một trong số đó.
Một RNGd gần đây trên CPU Snady Bridge bài đăng, sẽ (hoặc có thể được yêu cầu) sử dụng RdRand hoặc RdSeed, và một RdRand hoặc RdSeed chưa được khai thác sẽ được nhập vào VM. / dev / ngẫu nhiên sau đó hoạt động với một nguồn entropy thực (không phải ảo).
Đây không phải là tình cờ. Nó ở ngay trong tài liệu kiến trúc Intel.
Đối với nguồn entropy phần cứng dựa trên thiết bị (IE sử dụng trình điều khiển hạt nhân để chia sẻ nó), bạn cần VM để ảo hóa chính xác nguồn vật lý. Tôi không có đầu mối nếu họ làm điều này và nếu vậy, cho thiết bị nào.
Nếu RNGd của bạn không có tùy chọn drng bên dưới, hãy cập nhật nó. Nếu phần cứng của bạn không có RNG phần cứng nhanh, bạn sẽ phải chịu số phận và bạn nên cân nhắc sử dụng các phần cứng khác nhau cho mục đích bảo mật.
# 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>.