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
- Versagen von Zufallszahlengeneratoren
Nicht genügend Entropie vorhanden
- Liefern sie vorhersehbare, nicht zufällige Zahlen
- Insbesondere bei eingebetteten Geräten und virtuellen Maschinen
- Eingebetteten Geräten fehlen einige Entropiequellen
- die andere Geräte haben
Keine permanente Uhr
- Boot-Zeit trägt nicht zum anfänglichen RNG-Status bei
Keine Festplatte
- Keine Entropie aus dem Festplattentiming
- Keine Möglichkeit, Entropie zwischen Neustarts zu speichern
Virtuelle Maschinen
- Virtuelle Maschinen emulieren Hardwarekomponenten
- Erzeugte Entropie wird oft überschätzt
- Zeitquelle
- Die kritischste Komponente, die in einer emulierten Umgebung nachweislich falsche Ergebnisse liefert, ist die Zeitquelle. (https://bettercrypto.org/#bibliography-default-Eng11)
- 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 (https://bettercrypto.org/#bibliography-default-HDWH12)
- Weiteres Problem
- OpenSSL lässt seinen internen Zufallsgenerator nur selten vom Hardware-Zufallszahlengenerator des Betriebssystems seeden
- 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 (https://bettercrypto.org/#bibliography-default-HDWH12)
- 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.
- https://bettercrypto.org/#bibliography-default-HDWH12