Zufallszahl
Zufallszahlengeneratoren
- Gute Quelle für Zufallszahlen
- Eine gute Quelle für Zufallszahlen ist für viele Kryptooperationen unerlässlich
- Das Hauptmerkmal eines guten Zufallszahlengenerators ist die Unvorhersehbarkeit der erzeugten Zahlen
- Dies bedeutet, dass Hardware-Unterstützung für die Erzeugung von Entropie unerlässlich ist
- Hardware-Zufallszahlengeneratoren
- Hardware-Zufallszahlengeneratoren in Betriebssystemen oder eigenständigen Komponenten sammeln Entropie aus verschiedenen Zufallsereignissen, indem sie meist die (niedrigen Bits des) Zeitpunkts des Auftretens eines Ereignisses als Entropiequelle verwenden.
- Die Entropie wird in einem Entropie-Pool zusammengeführt, und in einigen Implementierungen wird die Anzahl der verfügbaren Zufallsbits in einem Buch geführt
Ausfall von Zufallszahlengeneratoren
- Zufallszahlengeneratoren können versagen
- Sie liefern vorhersehbare, nicht zufällige Zahlen.
- Wenn nicht genügend Entropie vorhanden ist, wenn Zufallszahlen erzeugt werden sollen.
- Dies tritt typischerweise bei eingebetteten Geräten und virtuellen Maschinen auf.
- Eingebetteten Geräten fehlen einige Entropiequellen, die andere Geräte haben
- Keine permanente Uhr, so dass die Boot-Zeit nicht zum anfänglichen RNG-Status beiträgt
- Keine Festplatte: Keine Entropie aus dem Festplattentiming, keine Möglichkeit, Entropie zwischen Neustarts zu speichern
Virtuelle Maschinen
- Virtuelle Maschinen emulieren einige Hardwarekomponenten, so dass die erzeugte Entropie überschätzt wird.
- Die kritischste Komponente, die in einer emulierten Umgebung nachweislich falsche Ergebnisse liefert, ist die Zeitquelle. (Engblom, 2011).
- Die anfälligste Zeit, in der Situationen mit geringer Entropie auftreten, ist in der Regel kurz nach einem Neustart.
- Leider erstellen viele Betriebssystem-Installationsprogramme kryptografische Schlüssel kurz nach einem Neustart.
- (Heninger, Durumeric, Wustrow, & Halderman, 2012).
- Ein weiteres Problem ist, dass OpenSSL seinen internen Zufallsgenerator nur selten vom Hardware-Zufallszahlengenerator des Betriebssystems seeden lässt.
- Dies kann dazu führen, dass ein Daemon, der zu einem Zeitpunkt gestartet wird, an dem die Entropie niedrig ist, diese niedrige Entropie über Stunden beibehält, was zu vorhersehbaren Sitzungsschlüsseln führt.
- (Heninger, Durumeric, Wustrow, & Halderman, 2012).
- Für Systeme, bei denen während der Lebensdauer der Schlüssel mit Situationen geringer Entropie zu rechnen ist, sollten RSA-Schlüssel gegenüber DSA-Schlüsseln bevorzugt werden
- Bei DSA kann es zu wiederholten ephemeren Schlüsseln kommen, wenn die Entropie zu dem Zeitpunkt, zu dem die Schlüssel zum Signieren verwendet werden, unzureichend ist.
- Ein Angreifer, der einen in einer solchen Signatur verwendeten ephemeren privaten Schlüssel erraten kann, kann den geheimen DSA-Schlüssel kompromittieren.
- Bei RSA kann dies zur Entdeckung von verschlüsseltem Klartext oder gefälschten Signaturen führen, nicht aber zur Kompromittierung des geheimen Schlüssels.
- (Heninger, Durumeric, Wustrow, & Halderman, 2012)