En implementering av /dev/random er foreslått for Linux-kjernen, frigjort fra binding til SHA-1

Jason A. Donenfeld, forfatter av VPN WireGuard, har foreslått en oppdatert implementering av RDRAND pseudo-tilfeldig tallgenerator som er ansvarlig for driften av /dev/random og /dev/urandom-enhetene i Linux-kjernen. I slutten av november ble Jason inkludert i antall vedlikeholdere av den tilfeldige driveren og har nå publisert de første resultatene av arbeidet med behandlingen av den.

Den nye implementeringen er kjent for overgangen til å bruke BLAKE2s hash-funksjon i stedet for SHA1 for entropiblandingsoperasjoner. Endringen forbedret sikkerheten til pseudo-tilfeldig tallgenerator ved å eliminere den problematiske SHA1-algoritmen og eliminere overskrivingen av RNG-initialiseringsvektoren. Siden BLAKE2s-algoritmen er overlegen SHA1 i ytelse, hadde bruken også en positiv effekt på ytelsen til pseudo-tilfeldig tallgenerator (testing på et system med en Intel i7-11850H-prosessor viste en hastighetsøkning på 131 %). En annen fordel med å overføre entropiblanding til BLAKE2 var foreningen av algoritmene som ble brukt - BLAKE2 brukes i ChaCha-chifferet, som allerede brukes til å trekke ut tilfeldige sekvenser.

I tillegg er det gjort forbedringer av den kryptosikre pseudo-tilfeldige tallgeneratoren CRNG som brukes i det tilfeldige anropet. Forbedringene koker ned til å begrense anropet til den langsomme RDRAND-generatoren ved utvinning av entropi, noe som forbedrer ytelsen med 3.7 ganger. Jason viste at å kalle RDRAND bare gir mening i en situasjon der CRNG ennå ikke er fullstendig initialisert, men hvis initialiseringen av CRNG er fullført, påvirker ikke verdien av den genererte sekvensen og i dette tilfellet kallet til RDRAND kan unnværes.

Endringene er planlagt for inkludering i 5.17-kjernen og har allerede blitt gjennomgått av utviklerne Ted Ts'o (andre tilfeldig drivervedlikeholder), Greg Kroah-Hartman (ansvarlig for å opprettholde den stabile grenen til Linux-kjernen) og Jean-Philippe Aumasson ( forfatter av BLAKE2/3-algoritmene).

Kilde: opennet.ru

Legg til en kommentar