ฉันเจอบล็อกเกี่ยวกับปัญหาพูลเอนโทรปีและเรียนรู้ว่ามีฮาร์ดแวร์พิเศษที่เรียกว่า RNG ฉันได้อ่านหน้าRNG ของเคอร์เนลนี้แล้ว แต่ฉันยังสงสัยว่ามีวิธีที่จะดูว่าเซิร์ฟเวอร์ของฉันรองรับฮาร์ดแวร์ RNG หรือไม่
ฉันเจอบล็อกเกี่ยวกับปัญหาพูลเอนโทรปีและเรียนรู้ว่ามีฮาร์ดแวร์พิเศษที่เรียกว่า RNG ฉันได้อ่านหน้าRNG ของเคอร์เนลนี้แล้ว แต่ฉันยังสงสัยว่ามีวิธีที่จะดูว่าเซิร์ฟเวอร์ของฉันรองรับฮาร์ดแวร์ RNG หรือไม่
คำตอบ:
มีฮาร์ดแวร์ที่ "จริง" สองประเภทที่น่าจะเป็น RNG: CPU ที่ใช้และชิปเซ็ตหรือ PCI ที่ใช้ (นอกจากนี้ยังมีฮาร์ดแวร์ USB RNG บางตัว แต่ฉันสงสัยว่าคุณจะสังเกตเห็นหนึ่งในนั้น ;-)
ต่อไปนี้เป็น Linux เฉพาะ
สำหรับ CPU ที่ใช้ CPU คุณสามารถตรวจสอบ/proc/cpuinfo
เบาะแสได้โดยสมมติว่าเคอร์เนลของคุณใหม่พอที่จะตรวจจับได้ สำหรับ Intel CPUs การตั้งค่าสถานะคือ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
) เพื่อดูว่าโหลดหรือไม่ "ไม่มีอุปกรณ์ดังกล่าว" ระบุว่าไม่มีฮาร์ดแวร์ที่ตรวจพบ มีไดรเวอร์บางตัวที่พิมพ์ "RNG ตรวจพบ" หรือ "ตรวจไม่พบ" อย่างสม่ำเสมอดังนั้นคุณจึงสามารถอ่านแหล่งข้อมูลได้ ( /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
ไม่ได้ทำงานใน Ubuntu 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 (ในกรณีนี้มันเป็นเครื่องเสมือนที่โฮสต์ให้แหล่งที่มาแบบสุ่ม)
นอกจากนี้เพื่อดูว่ามีให้บริการอะไรบ้าง (ตัวอย่างนี้จากเครื่อง intel ที่ทันสมัยพร้อมกับ ChaosKey hardware 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