อะไรคือเอนโทรปีที่ถูกต้องของระบบยูนิกซ์?


12

ฉันมีคำถามสามข้อที่เกี่ยวข้องกับเอนโทรปีในระบบ UNIX:

  1. ฉันตรวจสอบเอนโทรปีบน Linux โดยใช้: cat /proc/sys/kernel/random/entropy_avail. นี่เป็นสถานที่มาตรฐานที่มีข้อมูลเกี่ยวกับเอนโทรปีที่มีอยู่ใน POSIX หรือไม่
  2. อะไรคือสิ่งที่ถูกต้องที่ฉันควรคาดหวัง ฉันได้ยินว่าเอนโทรปีควรเท่ากับหรือมากกว่า 100 และอาจมีปัญหาหากเอนโทรปีต่ำกว่า 100 อย่างต่อเนื่อง
  3. เอนโทรปีนี้ถูกใช้/dev/randomหรือมีส่วนเกี่ยวข้อง/dev/urandomหรือไม่?

คำตอบ:


9

/dev/randomไม่ได้มาตรฐาน POSIX ไม่ได้ให้วิธีการสร้างข้อมูลสุ่มที่ปลอดภัยและเข้ารหัสลับใด ๆ และไม่มีแนวคิดเกี่ยวกับเอนโทรปี

การคำนวณเอนโทรปีของเคอร์เนลของลินุกซ์สอดคล้องกับแบบจำลองสารสนเทศเชิงทฤษฎีของเอนโทรปีซึ่งไม่เกี่ยวข้องกับการใช้งานจริง กรณีเดียวที่สิ่งนี้เกี่ยวข้องกับอุปกรณ์ใหม่ที่ไม่เคยมีเวลาสะสมเอนโทรปี (รวมถึงการแจกแจงแบบสดระบบที่ติดตั้งจะบันทึกเอนโทรปีจากการบู๊ตครั้งต่อไป) นอกเหนือจากสถานการณ์นี้มีเอนโทรปีเพียงพอเสมอเพราะเอนโทรปีไม่หมดสิ้น เนื่องจากการ/dev/randomบล็อกของ Linux เมื่อคิดว่ามันไม่มีเอนโทรปีเพียงพอให้ใช้/dev/urandomซึ่งไม่เคยปิดกั้น การใช้/dev/urandomเป็นสิ่งที่ดีสำหรับทุกสิ่งรวมถึงการสร้างคีย์การเข้ารหัส (ยกเว้นตามที่กล่าวไว้ข้างต้นบนอุปกรณ์ที่สร้างใหม่)

สรุป:

  1. ไม่นี่ไม่ใช่มาตรฐาน
  2. คุณไม่สนใจ
  3. /dev/urandomใช้

หลายคน แต่ไม่ได้ทุกระบบยูนิกซ์มีและ/dev/urandom /dev/randomดูหน้าวิกิพีเดียสำหรับการสนทนารายละเอียดเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.