มีการเสนอการใช้งาน /dev/random สำหรับเคอร์เนล Linux ซึ่งเป็นอิสระจากการเชื่อมโยงกับ SHA-1

Jason A. Donenfeld ผู้เขียน VPN WireGuard ได้เสนอการใช้งานที่ได้รับการปรับปรุงของเครื่องกำเนิดตัวเลขสุ่มหลอก RDRAND ซึ่งรับผิดชอบการทำงานของอุปกรณ์ /dev/random และ /dev/urandom ในเคอร์เนล Linux เมื่อปลายเดือนพฤศจิกายน Jason ถูกรวมอยู่ในจำนวนผู้ดูแลไดรเวอร์แบบสุ่ม และตอนนี้ได้เผยแพร่ผลงานชิ้นแรกเกี่ยวกับการประมวลผลของเขาแล้ว

การใช้งานใหม่มีความโดดเด่นในการเปลี่ยนไปใช้ฟังก์ชันแฮช BLAKE2s แทน SHA1 สำหรับการดำเนินการผสมเอนโทรปี การเปลี่ยนแปลงนี้ปรับปรุงความปลอดภัยของตัวสร้างตัวเลขสุ่มหลอกโดยกำจัดอัลกอริทึม SHA1 ที่เป็นปัญหาและกำจัดการเขียนทับเวกเตอร์การเริ่มต้น RNG เนื่องจากอัลกอริทึม BLAKE2s นั้นเหนือกว่า SHA1 ในด้านประสิทธิภาพ การใช้งานจึงส่งผลเชิงบวกต่อประสิทธิภาพของตัวสร้างตัวเลขสุ่มหลอก (การทดสอบบนระบบด้วยโปรเซสเซอร์ Intel i7-11850H พบว่ามีความเร็วเพิ่มขึ้น 131%) ข้อดีอีกประการหนึ่งของการถ่ายโอนการผสมเอนโทรปีไปยัง BLAKE2 ก็คือการรวมอัลกอริธึมที่ใช้เข้าด้วยกัน - BLAKE2 ใช้ในการเข้ารหัส ChaCha ซึ่งใช้ในการแยกลำดับแบบสุ่มอยู่แล้ว

นอกจากนี้ ยังมีการปรับปรุง CRNG ตัวสร้างตัวเลขสุ่มหลอกที่ปลอดภัยสำหรับการเข้ารหัสลับที่ใช้ในการโทร getrandom การปรับปรุงลดลงเพื่อจำกัดการเรียกใช้ตัวสร้าง RDRAND ที่ช้าเมื่อแยกเอนโทรปี ซึ่งปรับปรุงประสิทธิภาพ 3.7 เท่า Jason แสดงให้เห็นว่าการเรียก RDRAND นั้นสมเหตุสมผลในสถานการณ์ที่ CRNG ยังไม่ได้เริ่มต้นอย่างสมบูรณ์เท่านั้น แต่หากการกำหนดค่าเริ่มต้นของ CRNG เสร็จสมบูรณ์ ค่าของมันจะไม่ส่งผลกระทบต่อคุณภาพของลำดับที่สร้างขึ้น และในกรณีนี้ การเรียกไปยัง RDRAND สามารถจ่ายได้ด้วย

การเปลี่ยนแปลงมีกำหนดที่จะรวมไว้ในเคอร์เนล 5.17 และได้รับการตรวจสอบโดยนักพัฒนา Ted Ts'o (ผู้ดูแลคนที่สองของไดรเวอร์สุ่ม), Greg Kroah-Hartman (รับผิดชอบในการรักษาสาขาที่เสถียรของเคอร์เนล Linux) และ Jean-Philippe Aumasson (ผู้เขียนอัลกอริทึม BLAKE2/3)

ที่มา: opennet.ru

เพิ่มความคิดเห็น