Zufallszahl: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Verschlüsselung“ durch „Kryptografie“
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Random Number Generators ==
== Zufallszahlengeneratoren ==
; A good source of random numbers is essential for many crypto operations
Eine gute Quelle für Zufallszahlen ist für viele Kryptooperationen unerlässlich
* The key feature of a good random number generator is the non-predictability of the generated numbers
* Das Hauptmerkmal eines guten Zufallszahlengenerators ist die Unvorhersehbarkeit der erzeugten Zahlen.
* This means that hardware support for generating entropy is essential
* Dies bedeutet, dass Hardware-Unterstützung für die Erzeugung von Entropie unerlässlich ist.


; Hardware random number generators
Hardware-Zufallszahlengeneratoren
* 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.  
* 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.  
* The entropy is merged into an entropy pool and in some implementations there is some bookkeeping about the number of random bits available.
* 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.


== Random Number Generators failure ==
 
== Ausfall von Zufallszahlengeneratoren ==
[[File:randomNumberGenerators.png|thumb]]
[[File:randomNumberGenerators.png|thumb]]
; Random number generators can fail
;Zufallszahlengeneratoren können versagen
* Returning predictable non-random numbers
* Sie liefern vorhersehbare, nicht zufällige Zahlen.
* If not enough entropy is available when random numbers should be generated
* Wenn nicht genügend Entropie vorhanden ist, wenn Zufallszahlen erzeugt werden sollen.
* This typically occurs for embedded devices and virtual machines
* Dies tritt typischerweise bei eingebetteten Geräten und virtuellen Maschinen auf.


; Embedded devices lack some entropy sources other devices have
Eingebetteten Geräten fehlen einige Entropiequellen, die andere Geräte haben
* No persistent clock, so boot-time is not contributing to the initial RNG state
* Keine permanente Uhr, so dass die Boot-Zeit nicht zum anfänglichen RNG-Status beiträgt
* No hard-disk: No entropy from hard-disk timing, no way to store entropy between reboots
* Keine Festplatte: Keine Entropie aus dem Festplattentiming, keine Möglichkeit, Entropie zwischen Neustarts zu speichern


== Virtual machines ==
== Virtuelle Maschinen ==
; Virtual machines emulate some hardware components so that the generated entropy is over-estimated
Virtuelle Maschinen emulieren einige Hardwarekomponenten, so dass die erzeugte Entropie überschätzt wird.


* 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]).
* Die kritischste Komponente, die in einer emulierten Umgebung nachweislich falsche Ergebnisse liefert, ist die Zeitquelle. ([https://bettercrypto.org/#bibliography-default-Eng11 Engblom, 2011]).


; Typically the most vulnerable time where low-entropy situations occur is shortly after a reboot
; Die anfälligste Zeit, in der Situationen mit geringer Entropie auftreten, ist in der Regel kurz nach einem Neustart.
* Unfortunately many operating system installers create cryptographic keys shortly after a reboot ([https://bettercrypto.org/#bibliography-default-HDWH12 Heninger, Durumeric, Wustrow, & Halderman, 2012]).
* Leider erstellen viele Betriebssystem-Installationsprogramme kryptografische Schlüssel kurz nach einem Neustart.
* ([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.  
; Ein weiteres Problem ist, dass OpenSSL seinen internen Zufallsgenerator nur selten vom Hardware-Zufallszahlengenerator des Betriebssystems seeden lässt.
* 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]).
* 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 Heninger, Durumeric, Wustrow, & Halderman, 2012]).


;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.  
;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.  
* An attacker who can guess an ephemeral private key used in such a signature can compromise the DSA secret key.  
* Ein Angreifer, der einen in einer solchen Signatur verwendeten ephemeren privaten Schlüssel erraten kann, kann den geheimen DSA-Schlüssel kompromittieren.  
* 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]).
* 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 Heninger, Durumeric, Wustrow, & Halderman, 2012])


[[Kategorie:Kryptografie]]
[[Kategorie:Kryptografie]]

Version vom 18. Januar 2023, 10:53 Uhr

Zufallszahlengeneratoren

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)