Jason A. Donenfeld, der Autor von VPN WireGuard, hat eine ĂŒberarbeitete Implementierung des Zufallszahlengenerators RDRAND vorgeschlagen, die fĂŒr die Funktion der GerĂ€te /dev/random und /dev/urandom im Linux-Kernel verantwortlich ist. Ende November wurde Jason in die Reihe der Maintainer des Random-Treibers aufgenommen und hat nun die ersten Ergebnisse seiner Ăberarbeitungen veröffentlicht.
Die neue Implementierung ist bemerkenswert, da sie auf die Hash-Funktion BLAKE2s anstelle von SHA1 fĂŒr die Entropiemischung umsteigt. Diese Ănderung hat die Sicherheit des Zufallszahlengenerators erhöht, indem sie den problematischen SHA1-Algorithmus eliminiert und das Ăberschreiben des Initialisierungsvektors des RNG verhindert hat. Da der BLAKE2s-Algorithmus in Bezug auf die Leistung SHA1 ĂŒbertrifft, hat seine Anwendung auch positive Auswirkungen auf die Leistung des Zufallszahlengenerators gehabt (Tests auf einem System mit einem Intel i7-11850H zeigten eine Leistungssteigerung von 131 %). Ein weiterer Vorteil der Umstellung der Entropiemischung auf BLAKE2 war die Vereinheitlichung der verwendeten Algorithmen â BLAKE2 wird auch im ChaCha-VerschlĂŒsselungsalgorithmus verwendet, der bereits zur Extraktion zufĂ€lliger Sequenzen eingesetzt wird.
DarĂŒber hinaus wurden Verbesserungen am kryptographisch sicheren Zufallszahlengenerator CRNG vorgenommen, der beim Aufruf von getrandom genutzt wird. Die Verbesserungen bestehen darin, den langsamen RDRAND-Generator beim Extrahieren von Entropie zu begrenzen, was die Leistung um das 3,7-Fache steigert. Jason hat aufgezeigt, dass der Aufruf von RDRAND nur dann sinnvoll ist, wenn CRNG noch nicht vollstĂ€ndig initialisiert ist, aber wenn die Initialisierung von CRNG abgeschlossen ist, hat sein Wert keinen Einfluss auf die QualitĂ€t der generierten Sequenz und kann in diesem Fall ohne den Zugriff auf RDRAND auskommen.
Die Ănderungen sind fĂŒr die Aufnahme in den Kernel 5.17 vorgesehen und wurden bereits von den Entwicklern Ted Tsâo (zweiter Maintainer des Random-Treibers), Greg Kroah-Hartman (verantwortlich fĂŒr die UnterstĂŒtzung des stabilen Kernel-Zweigs von Linux) und Jean-Philippe Aumasson (Autor der BLAKE2/3-Algorithmen) ĂŒberprĂŒft.
Quelle: opennet.ru
