Autor VPN-a WireGuard objavio je novo RDRAND ažuriranje

Jason A Donenfeld, autor VPN WireGuard dao do znanja prije nekoliko dana nova implementacija ažuriran iz generatora slučajnih brojeva RDRAND, koji je odgovoran za /dev/random i /dev/urandom uređaje u Linux kernelu.

Krajem studenog, Jason je naveden kao nasumični održavatelj kontrolera i sada je objavio prve rezultate svog rada na preradi.

U priopćenju se spominje po čemu je nova implementacija značajna prebacite na korištenje BLAKE2s hash funkcije umjesto SHA1 za operacije miješanja entropije.

Sam BLAKE2s ima lijepo svojstvo da se interno temelji na
ChaCha permutacija, koju RNG već koristi za proširenje, dakle
ne bi trebalo biti problema s novitetom, originalnošću ili nevjerojatnim CPU-om
ponašanje, budući da se temelji na nečemu što je već u upotrebi.

Osim toga, napominje se da je promjena također je poboljšao sigurnost generatora pseudoslučajnih brojeva uklanjanjem problematičnog SHA1 algoritma i izbjegavanjem prepisivanja vektora inicijalizacije RNG-a. Budući da je algoritam BLAKE2s ispred SHA1 u performansama, njegova upotreba je također imala pozitivan učinak na performanse generatora pseudo-slučajnih brojeva (testovi na sustavu s procesorom Intel i7-11850H pokazali su povećanje brzine od 131%).) .

Još jedna prednost koja se ističe je prijenos mješavine entropije na BLAKE2 je objedinjavanje korištenih algoritama: BLAKE2 se koristi u ChaCha šifri, koja se već koristi za izdvajanje slučajnih sekvenci.

BLAKE2s je općenito brži i sigurno sigurniji, Stvarno je jako slomljena. Osim toga, trenutna izgradnja u RNG-u ne koristi punu SHA1 funkciju, kao specificira i omogućuje vam da na neki način prepišete IV s RDRAND izlazom nedokumentirano, čak i ako RDRAND nije konfiguriran kao "pouzdani", što što znači moguće zlonamjerne IV opcije.

A njegova kratka duljina znači da zadrži samo pola tajne kada se vraća natrag u mikser daje nam samo 2^80 bita proslijeđene tajnosti. Drugim riječima, ne samo izbor hash funkcije je zastario, ali njezino korištenje također nije baš dobro.

Dodatno, poboljšani su kripto-sigurni CRNG generator pseudoslučajnih brojeva koji se koristi u getrandom pozivu.

Također se spominje da poboljšanja se svode na ograničavanje poziva na RDRAND generator sporo izdvaja entropiju, što može poboljšati performanse za faktor 3,7. Jason je pokazao da je poziv na RDRAND Ima smisla samo u situaciji kada CRNG još nije u potpunosti inicijaliziran, ali ako je CRNG inicijalizacija dovršena, njegova vrijednost ne utječe na kvalitetu generiranog toka, au ovom slučaju to je moguće učiniti bez pozivanja RDRAND.

Ovaj kompromis ima za cilj riješiti ova dva problema i istovremeno održati opća struktura i semantika što bliže izvorniku.
Posebno:

a) Umjesto da prepišete IV hash s RDRAND, stavili smo u BLAKE2 dokumentirana polja "sol" i "osobna", koja su stvorena posebno za ovu vrstu upotrebe.
b) Budući da ova funkcija vraća rezultat potpunog hasha u entropijski kolektor, vraćamo samo polovicu duljine hash, baš kao što se radilo prije. Time se povećava izgraditi unaprijed tajnu od 2^80 do 2^128 mnogo udobnije.
c) Umjesto da koristite samo sirovu funkciju "sha1_transform", umjesto toga koristimo punu i ispravnu funkciju BLAKE2s, s dovršenjem.

Promjene su predviđene za uključivanje u kernel 5.17 i već su ih recenzirali programeri Ted Ts'o (drugi održavatelj slučajnog vozača), Greg Kroah-Hartman (odgovoran za održavanje stabilne jezgre Linuxa) i Jean-Philippe Aumasson (autor BLAKE2 algoritama /3).

Konačno, ako ste zainteresirani da možete saznati više o tome, možete pogledati detalje u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.