Zufallszahl: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 10: Zeile 10:


== Ausfall von Zufallszahlengeneratoren ==
== Ausfall von Zufallszahlengeneratoren ==
[[File:randomNumberGenerators.png|mini|300px]]
[[File:randomNumberGenerators.png|mini|400px]]
; Zufallszahlengeneratoren können versagen
; Zufallszahlengeneratoren können versagen
* Sie liefern vorhersehbare, nicht zufällige Zahlen.
* Sie liefern vorhersehbare, nicht zufällige Zahlen.

Version vom 19. Januar 2023, 23:12 Uhr

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.
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)