FreeBSD ประกาศเลิกใช้ตัวสร้างเลขสุ่มในซีพียู

by lew
12 December 2013 - 02:14

ภายใต้บรรยากาศของความไม่วางใจว่าระบบรักษาความปลอดภัยอะไรจะถูกสร้างช่องโหว่โดย NSA ไว้บ้าง ระบบยูนิกซ์ที่เน้นเรื่องความปลอดภัยอย่าง FreeBSD ก็ประกาศว่าจะไม่ใช้งานตัวสร้างเลขสุ่มในซีพียู มาเป็นตัวสร้างเลขสุ่มของระบบปฎิบัติการโดยตรงอีกต่อไป

อินเทลและ VIA มีชุดคำสั่งพิเศษสำหรับการสร้างเลขสุ่มด้วยฮาร์ดแวร์ในตัวซีพียูเอง ฟีเจอร์สำคัญของตัวสร้างเลขสุ่มฮาร์ดแวร์คือให้ค่าสุ่มที่ดีและสามารถปล่อยค่าออกมาได้รวดเร็ว ตัว RDRAND สามารถสร้างค่าสุ่มได้ถึง 800 เมกกะไบต์ต่อวินาที

การที่ FreeBSD ไม่ใช้ชุดคำสั่งจากซีพียูโดยตรง ไม่ได้แปลว่าจะทิ้งไม่ใช้คำสั่งเหล่านี้ไปเสียหมด โดยจะเปลี่ยนไปใช้ค่าสุ่มจากฮาร์ดแวร์เหล่านี้ เข้าไปเป็นค่าเริ่มต้นของการสร้างเลขสุ่มเทียมที่ใช้อัลกอริทึม Yarrow เพื่อเพิ่มความสุ่มในกรณีให้ปลอดภัยขึ้น

คำสั่งการดึงค่าสุ่มจากซีพียูโดยตรงยังสามารถทำได้ด้วยการเรียกคำสั่งแอสแซมบลี ไลบรารีบางตัวที่ไม่ได้ใช้ค่าจาก /dev/random ก็อาจจะใช้ค่าโดยตรงจากซีพียูต่อไป

กระบวนการผสมค่าสุ่มมีความพิเศษอย่างหนึ่ง คือ เราสามารถสร้างค่าสุ่มใหม่ด้วยการใช้แหล่งค่าสุ่มสองแหล่งมา XOR กัน แล้วจะได้ค่าสุ่มที่ดีกว่าเดิมหรือเท่ากับค่าเดิมเสมอ ไม่มีทางแย่ลง

ที่มา - ArsTechnica

Blognone Jobs Premium