Avtor VPN WireGuard je izdal novo posodobitev RDRAND

Jason Donenfeld, avtor VPN WireGuard dal vedeti pred nekaj dnevi nova izvedba posodobljeno iz generatorja naključnih števil RDRAND, ki je odgovoren za naprave /dev/random in /dev/urandom v jedru Linuxa.

Konec novembra je bil Jason naveden kot vzdrževalec naključnih krmilnikov in je zdaj objavil prve rezultate svojega dela na predelavi.

V napovedi je omenjeno, da je nova izvedba značilna preklop na uporabo zgoščene funkcije BLAKE2s namesto SHA1 za operacije mešanja entropije.

BLAKE2s ima lepo lastnost, da interno temelji na
ChaCha permutacija, ki jo RNG že uporablja za razširitev, torej
ne bi smelo biti težav z novostjo, izvirnostjo ali neverjetnim procesorjem
vedenje, saj temelji na nečem, kar je že v uporabi.

Poleg tega je treba opozoriti, da je sprememba izboljšal tudi varnost generatorja psevdonaključnih števil tako, da se znebite motečega algoritma SHA1 in se izognete prepisovanju inicializacijskega vektorja RNG. Ker je algoritem BLAKE2s po zmogljivosti pred SHA1, je njegova uporaba pozitivno vplivala tudi na delovanje generatorja psevdo naključnih števil (testiranje na sistemu s procesorjem Intel i7-11850H je pokazalo 131-odstotno povečanje hitrosti). ) .

Druga prednost, ki izstopa, je prenos mešanice entropije na BLAKE2 je poenotenje uporabljenih algoritmov: BLAKE2 se uporablja v šifri ChaCha, ki se že uporablja za ekstrakcijo naključnih zaporedij.

BLAKE2s je na splošno hitrejši in zagotovo bolj varen, Res je bilo zelo pokvarjeno. Poleg tega je trenutna gradnja v RNG ne uporablja celotne funkcije SHA1, kot določa in vam omogoča, da na nek način prepišete IV z izhodom RDRAND nedokumentirano, tudi če RDRAND ni konfiguriran kot "zaupanja vreden", kar kar pomeni možne zlonamerne IV možnosti.

In njegova kratka dolžina pomeni ohraniti le polovico skrivnosti pri dovajanju nazaj v mešalnik daje nam le 2^80 bitov naprej tajnosti. Z drugimi besedami, ne samo izbira hash funkcije je zastarela, vendar tudi njena uporaba ni prav dobra.

Poleg tega so bile narejene izboljšave v kripto varnem generatorju psevdonaključnih številk CRNG, ki se uporablja pri getrandom klicu.

Omenjeno je tudi, da izboljšave se zmanjšajo na omejevanje klica na generator RDRAND počasi pri ekstrakciji entropije, kar lahko izboljša zmogljivost za faktor 3,7. Jason je pokazal, da je klic RDRAND Smiselno je le v primeru, ko CRNG še ni bil v celoti inicializiran, če pa je inicializacija CRNG končana, njegova vrednost ne vpliva na kakovost ustvarjenega toka, v tem primeru pa je to mogoče storiti brez klicanja RDRAND.

Cilj tega kompromisa je rešiti ta dva problema in hkrati ohraniti splošna struktura in semantika čim bližje izvirniku.
Natančneje:

a) Namesto da bi prepisovanje razpršitve IV z RDRAND, vnesemo v dokumentirana BLAKE2 polja "sol" in "personal", ki sta ustvarjen posebej za to vrsto uporabe.
b) Ker ta funkcija vrne rezultat celotnega zgoščevanja v entropijski zbiralnik, vrnemo samo polovico dolžine hash, tako kot je bilo storjeno prej. S tem se poveča zgraditi vnaprej skrivnost od 2^80 do 2^128 veliko bolj udobno.
c) Namesto uporabe surove funkcije "sha1_transform", namesto tega uporabljamo popolno in pravilno funkcijo BLAKE2s, z zaključkom.

Spremembe so predvidene za vključitev v jedro 5.17 in so jih že pregledali razvijalci Ted Ts'o (drugi vzdrževalec naključnega gonilnika), Greg Kroah-Hartman (odgovoren za ohranjanje stabilnosti jedra Linuxa) in Jean-Philippe Aumasson (avtor algoritmov BLAKE2 /3).

Končno, če vas zanima več o tem, si lahko ogledate podrobnosti v naslednja povezava.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.