Zufallszahl: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(56 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Random Number Generators ==
'''Zufallszahl''' - Qualität von Zufallszahlen
[[Image:Bild11.png|top|alt="A real fair random number generator"]]
(Image license: [http://creativecommons.org/licenses/by-nc/2.5/ CC-BY-NC])
A good source of random numbers is essential for many crypto operations.
* The key feature of a good random number generator is the non-predictability of the generated numbers.
* This means that hardware support for generating entropy is essential.
Hardware random number generators in operating systems or standalone components collect entropy from various random events mostly by using the (low bits of the) time an event occurs as an entropy source.
* The entropy is merged into an entropy pool and in some implementations there is some bookkeeping about the number of random bits available.


=== When Random Number Generators Fail ===
== Beschreibung ==
Random number generators can fail – returning predictable non-random numbers – if not enough entropy is available when random numbers should be generated.
== Qualität von Zufallszahlen ==
This typically occurs for embedded devices and virtual machines.
; 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


; Embedded devices lack some entropy sources other devices have
=== Quantität von Zufallszahlen ===
* No persistent clock, so boot-time is not contributing to the initial RNG state.
* No hard-disk: No entropy from hard-disk timing, no way to store entropy between reboots.


; Virtual machines emulate some hardware components so that the generated entropy is over-estimated
=== Hardware-Zufallszahlengeneratoren ===
* The most critical component that has been shown to return wrong results is an emulated environment is the timing source ([https://bettercrypto.org/#bibliography-default-Eng11 Engblom, 2011]).
Hardware-Zufallszahlengeneratoren in Betriebssystemen oder eigenständigen Komponenten sammeln Entropie aus verschiedenen Zufallsereignissen
Typically the most vulnerable time where low-entropy situations occur is shortly after a reboot.
* Zeitpunkts des Auftretens eines Ereignisses als Entropie-Quelle
* Unfortunately many operating system installers create cryptographic keys shortly after a reboot ([https://bettercrypto.org/#bibliography-default-HDWH12 Heninger, Durumeric, Wustrow, & Halderman, 2012]).
 
Another problem is that OpenSSL seeds its internal random generator only seldomly from the hardware random number generator of the operating system.
; Die Entropie wird in einem Entropie-Pool zusammengeführt
* This can lead to situations where a daemon that is started at a time when entropy is low keeps this low-entropy situation for hours leading to predictable session keys ([https://bettercrypto.org/#bibliography-default-HDWH12 Heninger, Durumeric, Wustrow, & Halderman, 2012]).
* Einigen Implementierungen protokollieren die Anzahl der verfügbaren Zufallsbit
For systems where – during the lifetime of the keys – it is expected that low-entropy situations occur, RSA keys should be preferred over DSA keys: For DSA, if there is ever insufficient entropy at the time keys are used for signing this may lead to repeated ephemeral keys.  
 
* An attacker who can guess an ephemeral private key used in such a signature can compromise the DSA secret key.  
== Ausfall von Zufallszahlengeneratoren ==
* For RSA this can lead to discovery of encrypted plaintext or forged signatures but not to the compromise of the secret key ([https://bettercrypto.org/#bibliography-default-HDWH12 Heninger, Durumeric, Wustrow, & Halderman, 2012]).
=== Versagen von Zufallszahlengeneratoren  ===
[[Kategorie:Verschlüsselung]]
[[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
; 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
* 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
* 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
 
<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
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