Dla jądra Linux zaproponowano implementację /dev/random, pozbawioną zależności od SHA-1

Jason Donenfeld, autor VPN WireGuard, zaproponował zaktualizowaną implementację generatora pseudolosowych liczb RDRAND, odpowiedzialnego za działanie urządzeń /dev/random i /dev/urandom w jądrze Linux. Pod koniec listopada Jason został jednym z maintainerów sterownika random i teraz opublikował pierwsze wyniki swojej pracy nad jego przetwarzaniem.

Nowa implementacja wyróżnia się przejściem na użycie funkcji hashującej BLAKE2s zamiast SHA1 do operacji mieszania entropii. Zmiana ta pozwoliła zwiększyć bezpieczeństwo generatora pseudolosowych liczb, eliminując problematyczny algorytm SHA1 i wykluczając nadpisywanie wektora inicjalizacji RNG. Ponieważ algorytm BLAKE2s przewyższa SHA1 pod względem wydajności, jego zastosowanie pozytywnie wpłynęło również na wydajność generatora pseudolosowych liczb (testy na systemie z procesorem Intel i7-11850H wykazały 131% wzrost prędkości). Kolejną zaletą przejścia na BLAKE2 w mieszaniu entropii jest ujednolicenie używanych algorytmów — BLAKE2 znajduje zastosowanie w szyfrze ChaCha, który już jest stosowany do wyodrębniania losowych sekwencji.

Dodatkowo wprowadzono ulepszenia w kryptoniezawodnym generatorze pseudolosowych liczb CRNG, używanym w wywołaniu getrandom. Ulepszenia polegają na ograniczeniu wywołania wolnego generatora RDRAND podczas pozyskiwania entropii, co pozwala na zwiększenie wydajności o 3.7 razy. Jason pokazał, że wywołanie RDRAND ma sens tylko w sytuacji, gdy CRNG nie jest jeszcze całkowicie zainicjalizowany, ale jeśli inicjalizacja CRNG jest zakończona, jego wartość nie wpływa na jakość generowanej sekwencji i w tym przypadku można obejść się bez odwołania do RDRAND.

Zmiany są zaplanowane do włączenia w skład jądra 5.17 i zostały już przejrzane przez deweloperów Ted Ts'o (drugi maintainer sterownika random), Grega Kroah-Hartmana (odpowiedzialnego za wsparcie stabilnej gałęzi jądra Linux) i Jeana-Philippe Aumassona (autora algorytmów BLAKE2/3).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster