Zufallszahl: Unterschied zwischen den Versionen
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | '''Zufallszahl''' - Qualität von Zufallszahlen | ||
; Gute | |||
== Beschreibung == | |||
== Qualität von Zufallszahlen == | |||
; Gute Quellen für Zufallszahlen | |||
* Für viele Kryptooperationen unerlässlich | |||
* Das Hauptmerkmal eines guten Zufallszahlengenerators ist die Unvorhersehbarkeit der erzeugten Zahlen | * 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 | * Dies bedeutet, dass Hardware-Unterstützung für die Erzeugung von Entropie unerlässlich ist | ||
=== Quantität von Zufallszahlen === | |||
=== Hardware-Zufallszahlengeneratoren === | |||
Hardware-Zufallszahlengeneratoren in Betriebssystemen oder eigenständigen Komponenten sammeln Entropie aus verschiedenen Zufallsereignissen | |||
* Zeitpunkts des Auftretens eines Ereignisses als Entropie-Quelle | |||
; Die Entropie wird in einem Entropie-Pool zusammengeführt | |||
* Einigen Implementierungen protokollieren die Anzahl der verfügbaren Zufallsbit | |||
== Ausfall von Zufallszahlengeneratoren == | == Ausfall von Zufallszahlengeneratoren == | ||
=== Versagen von Zufallszahlengeneratoren === | |||
[[File:randomNumberGenerators.png|mini|400px]] | [[File:randomNumberGenerators.png|mini|400px]] | ||
; | ; Ungenügende Entropie | ||
* Zufallszahlengeneratoren liefern unter Umständen vorhersehbare, nicht zufällige Zahlen | |||
* | * Insbesondere bei eingebetteten Geräten und virtuellen Maschinen | ||
* | |||
=== Fehlen Entropie-Quellen bei eingebetteten Geräten === | |||
; Uhr | |||
* Boot-Zeit trägt nicht zum anfänglichen RNG-Status bei | * Boot-Zeit trägt nicht zum anfänglichen RNG-Status bei | ||
; Festplatte | |||
* Keine Entropie aus dem Festplattentiming | * Keine Entropie aus dem Festplattentiming | ||
* Keine Möglichkeit, Entropie zwischen Neustarts zu speichern | * Keine Möglichkeit, Entropie zwischen Neustarts zu speichern | ||
== Virtuelle Maschinen == | == Virtuelle Maschinen == | ||
; Virtuelle Maschinen emulieren | ; Virtuelle Maschinen emulieren Hardwarekomponenten | ||
* Erzeugte Entropie wird oft überschätzt | |||
; Zeitquelle | |||
* Kritischste Komponente ist die Zeitquelle | |||
; Emulierten Umgebungen liefern unter Umständen falsche Ergebnisse | |||
* https://bettercrypto.org/#bibliography-default-Eng11 | |||
; | ; 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 | * Leider erstellen viele Betriebssystem-Installationsprogramme kryptografische Schlüssel kurz nach einem Neustart | ||
* | * https://bettercrypto.org/#bibliography-default-HDWH12 | ||
; | ; Weiteres Problem | ||
* 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 | * 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 | |||
; | ; Empfehlung | ||
* 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 bevorzugen | |||
* 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. | * 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. | * 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 | ||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
=== Weblinks === | |||
[[Kategorie:Zufallszahl]] | |||
[[Kategorie:Kryptografie/Anwendung]] | |||
</noinclude> |
Aktuelle Version vom 26. Oktober 2024, 01:49 Uhr
Zufallszahl - Qualität von Zufallszahlen
Beschreibung
Qualität von Zufallszahlen
- Gute Quellen für Zufallszahlen
- 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
Quantität von Zufallszahlen
Hardware-Zufallszahlengeneratoren
Hardware-Zufallszahlengeneratoren in Betriebssystemen oder eigenständigen Komponenten sammeln Entropie aus verschiedenen Zufallsereignissen
- Zeitpunkts des Auftretens eines Ereignisses als Entropie-Quelle
- Die Entropie wird in einem Entropie-Pool zusammengeführt
- Einigen Implementierungen protokollieren die Anzahl der verfügbaren Zufallsbit
Ausfall von Zufallszahlengeneratoren
Versagen von Zufallszahlengeneratoren
- Ungenügende Entropie
- Zufallszahlengeneratoren liefern unter Umständen vorhersehbare, nicht zufällige Zahlen
- Insbesondere bei eingebetteten Geräten und virtuellen Maschinen
Fehlen Entropie-Quellen bei eingebetteten Geräten
- Uhr
- Boot-Zeit trägt nicht zum anfänglichen RNG-Status bei
- 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
- Kritischste Komponente ist die Zeitquelle
- Emulierten Umgebungen liefern unter Umständen falsche Ergebnisse
- 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
- Empfehlung
- 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 bevorzugen
- 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
Anhang
Siehe auch
Weblinks