X86 답변은 VM이 RdRand 또는 RdSeed를 트랩하지 않는지 확인하는 것입니다. 당신은 많은 것들에 대해 VM을 신뢰합니다. 이것은 그들 중 하나입니다.
포스트 Snady Bridge CPU에서 충분히 최근의 RNGd는 RdRand 또는 RdSeed를 사용하게되고 (또는 들릴 수 있음), 트랩되지 않은 RdRand 또는 RdSeed는 VM에 엔트로피를 가져옵니다. 그런 다음 / dev / random은 실제 (가상이 아닌) 엔트로피 소스와 함께 작동합니다.
우연이 아닙니다. 바로 인텔 아키텍처 문서에 있습니다.
장치 기반 하드웨어 엔트로피 소스 (IE는 커널 드라이버를 사용하여 공유)의 경우 물리적 소스를 올바르게 가상화하려면 VM이 필요합니다. 그들이 그렇게하면 어떤 장치에 대한 단서가 없습니다.
RNGd에 drng 옵션이없는 경우 업데이트하십시오. 하드웨어에 빠른 하드웨어 RNG가없는 경우 파산 된 상태이므로 보안 목적으로 다른 하드웨어를 사용해야합니다.
# 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>.