En implementering af /dev/random er blevet foreslået til Linux-kernen, fritaget for binding til SHA-1

Jason A. Donenfeld, forfatter til VPN WireGuard, har foreslået en opdateret implementering af RDRAND pseudo-tilfældige tal-generatoren, der er ansvarlig for driften af ​​/dev/random og /dev/urandom-enhederne i Linux-kernen. I slutningen af ​​november blev Jason inkluderet i antallet af vedligeholdere af den tilfældige driver og har nu offentliggjort de første resultater af sit arbejde med behandlingen af ​​den.

Den nye implementering er bemærkelsesværdig for sin overgang til at bruge BLAKE2s hash-funktion i stedet for SHA1 til entropiblandingsoperationer. Ændringen forbedrede sikkerheden for pseudo-tilfældige talgeneratoren ved at eliminere den problematiske SHA1-algoritme og eliminere overskrivningen af ​​RNG-initialiseringsvektoren. Da BLAKE2s-algoritmen er overlegen i forhold til SHA1 med hensyn til ydeevne, havde dens brug også en positiv effekt på ydeevnen af ​​pseudo-tilfældige tal-generatoren (test på et system med en Intel i7-11850H-processor viste en stigning på 131 % i hastigheden). En anden fordel ved at overføre entropiblanding til BLAKE2 var foreningen af ​​de anvendte algoritmer - BLAKE2 bruges i ChaCha-chifferet, der allerede bruges til at udtrække tilfældige sekvenser.

Derudover er der foretaget forbedringer af den krypto-sikre pseudo-tilfældige tal-generator CRNG, der bruges i det tilfældige opkald. Forbedringerne bunder i at begrænse opkaldet til den langsomme RDRAND-generator, når der udvindes entropi, hvilket forbedrer ydeevnen med 3.7 gange. Jason viste, at det kun giver mening at kalde RDRAND i en situation, hvor CRNG'en endnu ikke er fuldt initialiseret, men hvis initialiseringen af ​​CRNG'en er fuldført, påvirker dens værdi ikke kvaliteten af ​​den genererede sekvens og i dette tilfælde kaldet til RDRAND kan undværes.

Ændringerne er planlagt til at blive inkluderet i 5.17-kernen og er allerede blevet gennemgået af udviklerne Ted Ts'o (anden vedligeholder af den tilfældige driver), Greg Kroah-Hartman (ansvarlig for at vedligeholde den stabile gren af ​​Linux-kernen) og Jean-Philippe Aumasson (forfatter af BLAKE2/3-algoritmerne).

Kilde: opennet.ru

Tilføj en kommentar