Für den Linux-Kernel wurde eine Implementierung von /dev/random vorgeschlagen, die von der Bindung an SHA-1 befreit ist

Jason A. Donenfeld, Autor von VPN WireGuard, hat eine aktualisierte Implementierung des RDRAND-Pseudozufallszahlengenerators vorgeschlagen, der für den Betrieb der /dev/random- und /dev/urandom-Geräte im Linux-Kernel verantwortlich ist. Ende November wurde Jason in den Kreis der Betreuer des Zufallstreibers aufgenommen und hat nun erste Ergebnisse seiner Arbeit zu dessen Verarbeitung veröffentlicht.

Die neue Implementierung zeichnet sich durch die Umstellung auf die Verwendung der BLAKE2s-Hash-Funktion anstelle von SHA1 für Entropiemischvorgänge aus. Die Änderung ermöglichte es, die Sicherheit des Pseudozufallszahlengenerators zu erhöhen, indem der problematische SHA1-Algorithmus entfernt und das Überschreiben des RNG-Initialisierungsvektors beseitigt wurde. Da der BLAKE2s-Algorithmus SHA1 in der Leistung überlegen ist, wirkte sich sein Einsatz auch positiv auf die Leistung des Pseudozufallszahlengenerators aus (Tests auf einem System mit einem Intel i7-11850H-Prozessor ergaben eine Geschwindigkeitssteigerung von 131 %). Ein weiterer Vorteil der Übertragung der Entropiemischung auf BLAKE2 war die Vereinheitlichung der verwendeten Algorithmen – BLAKE2 wird in der ChaCha-Chiffre verwendet, die bereits zur Extraktion von Zufallssequenzen verwendet wird.

Darüber hinaus wurden Verbesserungen am kryptosicheren Pseudozufallszahlengenerator CRNG vorgenommen, der im Getrandom-Aufruf verwendet wird. Die Verbesserungen laufen darauf hinaus, den Aufruf des langsamen RDRAND-Generators beim Extrahieren von Entropie zu begrenzen, was die Leistung um das 3.7-fache verbessert. Jason hat gezeigt, dass der Aufruf von RDRAND nur in einer Situation sinnvoll ist, in der der CRNG noch nicht vollständig initialisiert wurde. Wenn die Initialisierung des CRNG jedoch abgeschlossen ist, hat sein Wert keinen Einfluss auf die Qualität der generierten Sequenz und in diesem Fall auf den Aufruf von RDRAND kann darauf verzichtet werden.

Die Änderungen sollen in den 5.17-Kernel aufgenommen werden und wurden bereits von den Entwicklern Ted Ts'o (zweiter Betreuer des Zufallstreibers), Greg Kroah-Hartman (verantwortlich für die Pflege des stabilen Zweigs des Linux-Kernels) und Jean-Philippe überprüft Aumasson (Autor der BLAKE2/3-Algorithmen).

Source: opennet.ru

Kommentar hinzufügen