Was ist eine Zufallszahl Sicherheitslücke?
Computer sind deterministische und sind somit vorhersehbar. Computer kann nicht, und von sich selbst, erzeugt wirklich zufällige Zahlen.
In Abwesenheit von externen Eingang, Computer können nur Pseudo-Zufallszahlen.
Eine Zufallszahl Sicherheitslücke tritt auf, wenn ein Programm verwendet eine Methode zur Erzeugung von Zufallszahlen, die entweder:
- Nicht zufällig
- Vorhersagbare
Um gute Zufallszahlen, der Computer muss zwei Dinge:
- Eine gute Zufallszahlengeneratoren Algorithmus
- Eine zufällige und unpredicatable Saatgut für die Zufallszahlengeneratoren Algorithmus
Random Number Sicherheitslücke Beispiele
Betrachten Sie die folgende Code-Snippet:
x = rand ();
Dieser Code generiert zufällige Zahlen schlecht, weil beim Aufruf rand () vor einem Saatgut wurde mit srand (), verwendet es den Wert 1 als Standard-Saatgut. Alle anderen auf dem gleichen Rechner mit dem gleichen Compiler, der fordert, rand () mit einem Startkapital von 1 erhalten die gleichen Zufallszahl, wie Sie soeben getan hat.
Schauen wir uns an einem anderen Code-Snippet:
srand (time (0)); x = rand ();
Dieser Code funktioniert Aufruf srand () mit der aktuellen Zeit, wie ein Samen. Aber dieser Code ist immer noch unsicher, weil:
- Das System ist ein sehr schlechtes Saatgut, weil es vorhersehbar ist, in einem kleinen Bereich.
- Die ANSI-C-rand ()-Funktion selbst keine gute Zufallszahlen.
Lassen Sie uns für einen dritten Code-Snippet:
srandom (time (0)); x = random ();
Dieser Code verwendet die BSD random () und srandom () Funktionen, die viel bessere Zufallszahlen als ihre Vorgänger ANSI-C. Allerdings, dieser Code noch mit time (), um die Zahl Saatgut. Eine viel bessere Quelle für zufällige Zahlen auf BSD und Linux-Systemen ist das / dev / random Gerät.
Anzahl Samen und Random Number Sicherheitslücken
Gute Saatgut Zahlen stammen aus unvorhersehbaren Ereignisse, wie z. B. Benutzer Tastatureingaben oder Mausbewegungen. Diese sind nicht perfekt Quellen der Zufälligkeit, jedoch. Das menschliche Verhalten ist etwas vorhersehbar und Computer-Hardware-Puffer-Tastatur und-Maus-Interrupts, die Verringerung ihrer Zufälligkeit.
Zahlreiche weitere Zufallszahlen-Generatoren sind für verschiedene Plattformen und Entwicklungsumgebungen. Es ist äußerst schwierig, eine gute, und noch schwieriger zu ermitteln, ob der Zufallszahlengenerator Sie wirklich generiert zufällig und unvorhersehbar Zahlen. Der beste Weg für die meisten Anwendungen ist die Umsetzung eines bestehenden Zufallszahlengenerator, auf dem öffentlichen Kryptoanalyse.
Zufallszahl Schwachstellen von Interesse sind für Hacker, wenn sie genutzt werden, um festzustellen, Eingabewerte auf kryptografische Funktionen. Dies kann in Kryptoanalyse.
Missbräuchliche Verwendung der Funktionsaufrufe rand () und random () sind die üblichen Ursachen für zufällige Zahl Schwachstellen.
Zusätzliche Informationsquellen zur Generierung von Zufallszahlen
Für weitere Informationen über die Erzeugung von Zufallszahlen, lesen Sie RFC 1750 - Zufall Empfehlungen für die Sicherheit.
|
Bookmark Was ist eine Zufallszahl Sicherheitslücke?





