Abrufen von Daten aus der /dev/random
oder /dev/urandom
definitiv nicht gehen zu helfen, all es ist erschöpfen Ihre Entropiepool tun wird, was noch schlimmer das Problem zu machen. Der Hauptunterschied zwischen diesen beiden Dateien besteht darin, dass der Kernel selbst dann, wenn die Entropie urandom
aufgebraucht ist, weiterhin zufällige Daten von geringerer Qualität generiert und random
blockiert, bis er neue zufällige Daten von hoher Qualität erfassen kann. PGP benötigt die höchstmöglichen Zufallsdaten, um sichere Schlüssel zu generieren. Daher werden diese immer verwendet /dev/random
.
Wenn Sie gute Zufallsdaten haben oder einige von einem anderen Server exportieren /dev/random
, können Sie cat
diese in Ihren Server übertragen /dev/random
, um mehr Entropie zu erzielen. Sie sollten jedoch niemals cat
zweimal dieselbe Datei speichern /dev/random
.
Wenn Ihnen häufig die Entropie ausgeht , können Sie auch so etwas wie haveged installieren , einen Daemon, der die Entropie im Hintergrund neu generiert und /dev/random
nach Bedarf auffüllt .
Es kann auch verlockend sein, Symlinks /dev/random
zu erstellen /dev/urandom
, dies sollte jedoch als Sicherheitsrisiko angesehen werden, da jeder damit generierte Schlüssel möglicherweise weniger sicher ist als er sollte. Während dies für eine weniger kritische Anwendung hilfreich sein kann, müssen Sie jede andere mögliche Verwendung in Betracht ziehen /dev/random
, einschließlich anderer Benutzer, die ihre eigenen Schlüssel, CSR usw. generieren.
Thomas Guyot-Sionnest
quelle
/dev/random
ein PRNG hoher Qualität ist und normalerweise nicht blockieren sollte./dev/random
sind qualitativ hochwertige PRNG auf modernen BSD und Linux, sicher. Es wird jedoch blockiert, wenn nicht genügend Entropie verfügbar ist. Auf der anderen Seite/dev/urandom
wird nicht geblockt, wenn nicht genug verfügbar ist, aber die Qualität der Zufälligkeit kann in diesem Fall leiden. In den Details gibt es viele Feinheiten zwischen zufälligen und zufälligen Implementierungen zwischen Linux und den verschiedenen BSDs, aber das obige sollte für alle AFAIK zutreffen.ping 8.8.8.8
anpingen ( z. B. ), wenn Sie einen anderen Netzwerkhost besitzen und versuchen, alle 100 ms Pings zu erhalten (wenn Ihre RTT <100 ms ist). Und / oder verwenden Siefind
, um nach Dateien auf Ihrer Festplatte zu suchen und den RAM-Cache zwischen den einzelnen Dateisuchen zu leeren./dev/random
FreeBSD nicht blockiert.dd if=/dev/random of=/tmp/rndtest bs=64M count=1
nach einem Neustart auszuführen. Es dauerte zwei aufeinanderfolgende Durchläufe, bis die Zeit zum Generieren der 64-MB-Datei angestiegen war. Ich dachte, ich würde diesen Effekt nicht mit urandom als Eingabe sehen, aber FreeBSD scheint im Gegensatz zu Linux auch damit zu blockieren.Sie können verwenden
haveged
.haveged
ist ein Daemon, der bei Bedarf Entropie erzeugt.quelle
Ich würde empfehlen, Ihre gpg-Schlüssel auf Ihrem lokalen Computer zu generieren, der eine viel bessere Zufälligkeit aufweist als der Remote-Computer. Migrieren Sie anschließend die Schlüssel mithilfe von SSH auf Ihren Remotecomputer.
Lokale Generierung ist schneller (mehr Quelle für Entropie) und sicherer (niemand kann den Prozess ausspionieren, wenn Ihr Computer nicht infiziert ist, bessere Zufälligkeit).
Wenn Sie diese weiterhin remote generieren möchten: Unter Linux können Sie mehr Entropie erzeugen, indem Sie einfach einen Host
ping 8.8.8.8
anpingen ( z. B. ), wenn Sie einen anderen Netzwerkhost besitzen, und versuchen, alle 100 ms Pings zu erhalten (wenn Ihre RTT <100 ms ist). Und / oder verwenden Siefind
, um nach Dateien auf Ihrer Festplatte zu suchen und den RAM-Cache zwischen den einzelnen Dateisuchen zu leeren.Sie können
haveged
die Einschränkungen auch installieren, aber lesen, wenn Sie sie in einer virtuellen Umgebung ausführen : https://wiki.archlinux.org/index.php/Haveged#Virtual_machinesquelle
Auf Debian-basierten Systemen können Sie das
rng-tools
Paket mit atp-get installieren und dann den Dämon starten, um Entropie zu erzeugen:Auf CentOS-6-Servern ist der
rng
Dämon als eines der Basistools installiert (zumindest auf den meisten Systemen, auf denen ich gearbeitet habe), und Sie können den folgenden Befehl ausführen, um ihn zu starten, um Entropie zu generieren:quelle
Funktioniert definitiv auf einer CentOS 7.2 VM. Manchmal möchten Sie GPG-Schlüssel auf einem virtuellen Computer erstellen, wenn Sie einen Haufen erstellen und Ihren Schlüsselbund intakt lassen möchten.
quelle