답변:
"실제"하드웨어 RNG에는 CPU 기반 하드웨어와 칩셋 또는 PCI 기반 하드웨어의 두 가지 유형이 있습니다. (USB 하드웨어 RNG도 몇 개 있지만 그 중 하나를 발견 한 것 같습니다.
다음은 Linux에만 해당됩니다.
CPU 기반 /proc/cpuinfo
커널의 경우 커널이 새로운 커널을 감지한다고 가정하면 단서를 확인할 수 있습니다. 인텔 CPU의 경우 플래그에 대한 rdrand
자세한 정보 는 /unix/43539/what-do-the-flags-in-proc-cpuinfo-mean
칩셋의 경우 CONFIG_HW_RANDOM
커널 및 공급 업체별 지원 CONFIG_HW_RANDOM_INTEL
..._AMD
등을 활성화 한 경우 부팅 메시지에 발견 된 내용이 표시되어야합니다 (예 : "Intel 82802 RNG 감지"). 모듈로 존재하면 ( modprobe intel-rng
) 시도 하여로드되는지 확인할 수 있습니다. "No such device"는 감지 된 하드웨어가 없음을 나타냅니다. 모든 드라이버가 "RNG detected"또는 "detected"를 지속적으로 인쇄하는 것은 아니므로 소스 ( /drivers/char/hw_random/
커널 소스 디렉토리)를 읽을 수 있습니다 .
다른 사람들에게는 lspci -v
무엇이 인식되는지 확인할 수 있습니다 .
RNG
다음 을 수행하십시오.
1) 이름에 "rng"가있는 모든 모듈을 나열하십시오.
cat /proc/modules | grep -i rng
2) 어떤 것이 있으면 다음과 같은 결과를 얻을 수 있습니다
tpm_rng 16384 0 - Live 0xffffff......
3) 지금 사용하여 활성화하거나로드하십시오 modprobe
.
modprobe tpm_rng
업데이트 : 1 단계와 관련하여, modprobe -l
우분투 16에서 작동하지 않았기 때문에 "/ proc / modules"내부를 찾으려고했지만 그것이 당신과 함께 작동하면 괜찮습니다 .. 최근에 검색하고 알게되었습니다. 모든 모듈이 내부에 /lib/modules/$(uname -r)
있으므로 다음을 사용하는 것이 좋습니다.
cat /lib/modules/$(uname -r)/modules.dep | grep -i rng.*.ko
최근 커널에서는 다음을 확인할 수 있습니다.
$ cat /sys/devices/virtual/misc/hw_random/rng_current
virtio_rng.0
해당 파일이 존재하고 아무 말도하지 않으면 기본적으로 rng가있는 것입니다. (이 경우 호스트는 임의의 소스를 제공하는 가상 머신입니다)
또한 사용 가능한 기능을 확인하려면 (이 예제는 최신 인텔 컴퓨터에서 ChaosKey 하드웨어 rng가 연결되어 있음)
$ cat /sys/devices/virtual/misc/hw_random/rng_available
ChaosKey-hw-1.0-sw-1.9-001900375346430b20333632 tpm-rng-0
따라서 ChaosKey와 tpm을 모두 사용할 수 있습니다.
https://daniel-lange.com/archives/152-hello-buster.html에 흥미로운 배경이 있습니다.