De auteur van VPN WireGuard heeft een nieuwe update van RDRAND . uitgebracht

Jason A. Donenfeld , de auteur van WireGuard VPN, heeft onlangs een nieuwe, bijgewerkte implementatie aangekondigd van de RDRAND-willekeurige-getallengenerator , die verantwoordelijk is voor de werking van de /dev/random- en /dev/urandom-apparaten in de Linux-kernel.

Eind november werd Jason vermeld als onderhouder van de willekeurige controller en heeft hij nu de eerste resultaten van zijn nabewerking gepubliceerd.

In de aankondiging wordt vermeld dat de nieuwe implementatie opmerkelijk is vanwege de overstap naar de BLAKE2s-hashfunctie in plaats van SHA1 voor entropiemengbewerkingen.

BLAKE2s zelf heeft de mooie eigenschap intern gebaseerd te zijn op de
ChaCha-permutatie, die de RNG al gebruikt voor uitbreiding, dus
er zou geen probleem moeten zijn met nieuwheid, originaliteit of geweldige CPU
gedrag, omdat het gebaseerd is op iets dat al in gebruik is.

Bovendien is het vermeldenswaard dat de wijziging ook de beveiliging van de pseudowillekeurige getallengenerator heeft verbeterd door het problematische SHA1-algoritme te elimineren en het overschrijven van de initialisatievector van de RNG te voorkomen. Omdat het BLAKE2s-algoritme beter presteert dan SHA1, had het gebruik ervan ook een positief effect op de prestaties van de pseudowillekeurige getallengenerator (tests op een systeem met een Intel i7-11850H-processor lieten een snelheidsverbetering van 131% zien).

Een ander voordeel dat wordt benadrukt, is dat de overdracht van de entropiemix naar BLAKE2 de gebruikte algoritmen verenigt: BLAKE2 wordt gebruikt in het ChaCha-cijfer, dat al wordt gebruikt om willekeurige reeksen te extraheren.

BLAKE2s is over het algemeen sneller en zeker veiliger, maar het is ernstig gecompromitteerd. Bovendien maakt de huidige RNG-constructie geen gebruik van de volledige SHA1-functie zoals gespecificeerd, en staat het ongedocumenteerde overschrijving van de IV met de RDRAND-uitvoer toe , zelfs als RDRAND niet is geconfigureerd als "vertrouwd", wat potentieel kwaadaardige IV-opties impliceert.

En door de korte lengte betekent het dat we, door slechts de helft van het signaal terug te sturen naar de mixer, slechts 2^80 bits aan forward secrecy overhouden. Met andere woorden, niet alleen is de keuze van de hashfunctie verouderd, maar het gebruik ervan is ook niet echt optimaal.

Daarnaast zijn er verbeteringen aangebracht aan de crypto-beveiligde CRNG pseudowillekeurige nummergenerator die wordt gebruikt in de getrandom-oproep.

Er wordt ook vermeld dat de verbeteringen neerkomen op het beperken van de aanroep naar de trage RDRAND-generator bij het extraheren van entropie, wat de prestaties met een factor 3,7 kan verbeteren. Jason demonstreerde dat de RDRAND-aanroep alleen zinvol is in een situatie waarin de CRNG nog niet volledig is geïnitialiseerd, maar als de initialisatie van de CRNG voltooid is, heeft de waarde ervan geen invloed op de kwaliteit van de gegenereerde reeks, en in dat geval is het mogelijk om dit te doen zonder RDRAND aan te roepen.

Deze toezegging heeft tot doel deze twee problemen op te lossen en tegelijkertijd de algemene structuur en semantiek zo dicht mogelijk bij het origineel.
Specifiek:

a) In plaats van de IV-hash te overschrijven met RDRAND, wordt it we hebben de door BLAKE2 gedocumenteerde "zout" en "persoonlijke" velden ingevoerd, die zijn speciaal gemaakt voor dit soort gebruik.
b) Aangezien deze functie het resultaat van de volledige hash teruggeeft aan de entropiecollector, retourneren we slechts de helft van de lengte van de hasj, net zoals het vroeger werd gedaan. Dit verhoogt de geheime bouwdoorbraak van 2^80 naar 2 ^ 128 veel comfortabeler.
c) In plaats van alleen de onbewerkte functie "sha1_transform" te gebruiken, in plaats daarvan gebruiken we de volledige en juiste BLAKE2s-functie, met voltooiing.

De wijzigingen zullen naar verwachting worden opgenomen in kernel 5.17 en zijn reeds beoordeeld door ontwikkelaars Ted Ts'o (de tweede persoon die verantwoordelijk is voor het onderhoud van de random driver), Greg Kroah-Hartman (verantwoordelijk voor het waarborgen van de stabiliteit van de Linux-kernel) en Jean-Philippe Aumasson (auteur van de BLAKE2/3-algoritmen).

Als u tot slot meer wilt weten, kunt u de details vinden via de volgende link.


Voeg dit toe als voorkeursbron in Google.