تم اقتراح تنفيذ /dev/random لنواة Linux، وتم تحريره من الارتباط بـ SHA-1

اقترح Jason A. Donenfeld، مؤلف VPN WireGuard، تطبيقًا محدثًا لمولد الأرقام العشوائية الزائفة RDRAND المسؤول عن تشغيل الأجهزة /dev/random و/dev/urandom في نواة Linux. في نهاية شهر نوفمبر، تم إدراج جيسون ضمن عدد مشرفي برنامج التشغيل العشوائي وقد نشر الآن النتائج الأولى لعمله في معالجته.

يتميز التطبيق الجديد بتحوله إلى استخدام دالة التجزئة BLAKE2s بدلاً من SHA1 لعمليات خلط الإنتروبيا. أدى هذا التغيير إلى تحسين أمان مولد الأرقام العشوائية الزائفة من خلال إزالة خوارزمية SHA1 التي بها مشكلات والتخلص من الكتابة فوق متجه تهيئة RNG. نظرًا لأن خوارزمية BLAKE2s تتفوق على SHA1 في الأداء، فقد كان لاستخدامها أيضًا تأثير إيجابي على أداء مولد الأرقام العشوائية الزائفة (أظهر الاختبار على نظام مزود بمعالج Intel i7-11850H زيادة في السرعة بنسبة 131٪). ميزة أخرى لنقل خلط الإنتروبيا إلى BLAKE2 هي توحيد الخوارزميات المستخدمة - يتم استخدام BLAKE2 في تشفير ChaCha، المستخدم بالفعل لاستخراج تسلسلات عشوائية.

بالإضافة إلى ذلك، تم إجراء تحسينات على مولد الأرقام العشوائية الزائفة والآمن للتشفير CRNG المستخدم في المكالمة العشوائية. تتلخص التحسينات في الحد من استدعاء مولد RDRAND البطيء عند استخراج الإنتروبيا، مما يؤدي إلى تحسين الأداء بمقدار 3.7 مرة. أظهر جيسون أن استدعاء RDRAND يكون منطقيًا فقط في الحالة التي لم تتم فيها تهيئة CRNG بالكامل بعد، ولكن إذا اكتملت تهيئة CRNG، فإن قيمتها لا تؤثر على جودة التسلسل الذي تم إنشاؤه وفي هذه الحالة يتم استدعاء RDRAND يمكن الاستغناء عنها.

من المقرر إدراج التغييرات في نواة 5.17 وقد تمت مراجعتها بالفعل من قبل المطورين تيد تسو (المشرف الثاني للسائق العشوائي)، وجريج كرواه-هارتمان (المسؤول عن صيانة الفرع المستقر لنواة لينكس) وجان فيليب. أوماسون (مؤلف خوارزميات BLAKE2/3).

المصدر: opennet.ru

إضافة تعليق