Open Source im professionellen Einsatz

Kernelpatch: Alternative zu "/dev/random"

25.04.2016

Die Zufallserzeugung mit "/dev/random" stößt in aktuellen IT-Setups mitunter an ihre Grenzen. Nun schlägt der deutsche Entwickler Stephan Müller mit dem Linux Random Number Generator eine Alternative vor und hat auf der Kernel-Mailingliste ein Patch eingereicht.

290

In virtuellen Maschinen, auf Embedded-Geräten, im Umgang mit SSDs oder auf massiv parallelisierten Maschinen gerät die traditionelle Zufallserzeugung über "/dev/random" an ihre Grenzen, weil einige Quellen zur Zufallserzeugung ausfallen. Zu diesen gehören tarditionell die Human Interface Devices (HID), Mausbewegungen und Tastatureingaben sollen Rauschen erzeugen und so zur Entropie beitragen. Sie aber spielen beim Einsatz von virtuellen Maschinen oft keine Rolle. Auch die High-Resolution-Timer in blockorientierten Geräten ergeben beim Einsatz von SSDs als Zufallsquelle wenig Sinn; weil diesen Festplatten die mechanischen Teile fehlen, sind die Ausführungszeiten wesentlich vorhersagbarer, fällt also die Komponente Zufall deutlich weniger ins Gewicht.

Auf der Kernel-Mailingliste hat Entwickler Stephan Müller nun auf Basis diverser Studien zum Thema eine neue Methode vorgeschlagen, den Linux Random Number Generator (LRNG). Der soll vor allem zur Bootzeit, in virtuellen Umgebungen und beim Einsatz von SSDs ausreichend Entropie bieten. Zudem wolle er die Auswirkungen der Entropiegeneration auf massiv-parallelen Systemen einschränken und den Einsatz beschleunigter kryptografischer Primitive erlauben. Nicht zuletzt gehe es darum, dass sich sämtliche Schritte der Zufallserzeugung testen lassen.

Sein Patch, das er an Herbert Xu und Ted Ts'o geschickt hat, hängt den LRNG in den "cryptodev-2.6"-Zweig des Kernel ein. Allerdings muss ein Kernelnutzer das Patch beim Kompilieren explizit aktivieren, andernfalls kommt wie gewohnt "/dev/random" zum Einsatz. In einem ausführlichen Paper beschreibt der Entwickler zudem die Probleme der Zufallserzeugung mit "/dev/random" und seine Idee einer Alternative. In dem Paper finden sich auch Berechnungen und ein Überblick zum LRNG-Design. Testcode auf der Webseite des Entwicklers vergleicht zudem die "/dev/random"-Implementierung mit der seines eigenen Codes. Nicht zuletzt habe er Stabilitätstests auf 32- und 64-Bit-KVM-Systemen vorgenommen.

Ähnliche Artikel

  • NSA-Code im Kernel? Linus sagt: Nope!

    Auch Linus Torvalds spürt mittlerweile die Auswirkungen der NSA-Affäre und schmettert eine Vermutung ab, nach welcher die Zufallserzeugung im Kernel manipuliert sei.

  • Kern-Technik

    Hochwertige Zufallszahlen sind schwieriger zu erzeugen, als man denkt. Dieser Artikel verrät, wie Linux virtuell würfelt und damit eine hohe Qualität der generierten Zahlenfolgen sicherstellt. Einige Bereiche lassen aber noch Raum für Verbesserungen.

  • Einführung

    Die kryptographische Praxis benötigt oft viele Zufallszahlen binnen weniger Augenblicke. Pures Chaos ist der Rohstoff für den Zahlenzufall, den zu gewinnen sich als schwieriger erweist, als zu vermuten wäre. Ein Einsatzbericht von Charlys Chaostagen.

  • Portable OpenSSH 5.8p2 schließt Sicherheitslücke

    Mit einem Update von Portable OpenSSH schließen die Entwickler eine Lücke, die durch die SSH-Keysign-Utility von OpenSSH entstand.

  • Lese-Schutz

    Ganze Filesysteme verschlüsseln schützt deren Daten auch, wenn jemand die Festplatte klaut oder den Rechner von Diskette bootet. Während Suse-Anwender bereits bei der Installation die Verschlüsselung aktivieren können, ist bei anderen Distributionen etwas Handarbeit angesagt.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.