Linux çekirdeği için SHA-1'e bağlanmaktan kurtulmuş bir /dev/random uygulaması önerildi

VPN WireGuard'ın yazarı Jason A. Donenfeld, Linux çekirdeğindeki /dev/random ve /dev/urandom aygıtlarının çalışmasından sorumlu olan RDRAND sözde rastgele sayı üretecinin güncellenmiş bir uygulamasını önerdi. Kasım ayının sonunda Jason, rastgele sürücünün bakımcıları arasına dahil edildi ve şimdi bunun işlenmesine ilişkin çalışmasının ilk sonuçlarını yayınladı.

Yeni uygulama, entropi karıştırma işlemleri için SHA2 yerine BLAKE1'nin karma fonksiyonunu kullanmaya geçiş yapmasıyla dikkat çekiyor. Değişiklik, sorunlu SHA1 algoritmasını ortadan kaldırarak ve RNG başlatma vektörünün üzerine yazılmasını ortadan kaldırarak sözde rastgele sayı üretecinin güvenliğini artırdı. BLAKE2s algoritması performans açısından SHA1'den üstün olduğundan, kullanımının sözde rastgele sayı üretecinin performansı üzerinde de olumlu bir etkisi oldu (Intel i7-11850H işlemcili bir sistem üzerinde yapılan testler hızda %131'lik bir artış gösterdi). Entropi karışımını BLAKE2'ye aktarmanın bir diğer avantajı, kullanılan algoritmaların birleştirilmesiydi - BLAKE2, halihazırda rastgele dizileri çıkarmak için kullanılan ChaCha şifresinde kullanılıyor.

Ayrıca getrandom çağrısında kullanılan kripto güvenli sözde rastgele sayı üreteci CRNG'de iyileştirmeler yapıldı. İyileştirmeler, entropi çıkarılırken yavaş RDRAND oluşturucuya yapılan çağrının sınırlandırılmasıyla özetleniyor ve bu da performansı 3.7 kat artırıyor. Jason, RDRAND'ı çağırmanın yalnızca CRNG'nin henüz tam olarak başlatılmadığı bir durumda anlamlı olduğunu, ancak CRNG'nin başlatılması tamamlandığında değerinin oluşturulan dizinin ve bu durumda RDRAND'a yapılan çağrının kalitesini etkilemediğini gösterdi. vazgeçilebilir.

Değişikliklerin 5.17 çekirdeğine eklenmesi planlanıyor ve geliştiriciler Ted Ts'o (rastgele sürücünün ikinci koruyucusu), Greg Kroah-Hartman (Linux çekirdeğinin kararlı dalını korumaktan sorumlu) ve Jean-Philippe tarafından incelendi. Aumasson (BLAKE2/3 algoritmalarının yazarı).

Kaynak: opennet.ru

Yorum ekle