Warum ist die Entropie ständig ausgehen?

3657
kittykittybangbang

Ich habe also versucht, einen neuen GPG-Schlüssel zu erstellen und diesen bekannten Fehler immer wieder zu erhalten:

Not enough random bytes available. Please do some other work to give the OS a chance to collect more entropy! (Need 294 more bytes) 

Also nach 20 Minuten Mausbewegungen, die nicht einmal zu den ermutigenden +++++s am Ende des Terminals führten, habe ich versucht, was scheinbar das Problem für andere gelöst hat: Ich installierte rng-toolsund lief:

rngd -r /dev/random 

Aber das hat auch nichts getan. Keine Änderung. Wenn ich renne:

cat /proc/sys/kernel/random/entropy_avail 

Ich bekomme nie einen Output über 60 oder so.

Abgesehen von dem unmittelbaren Problem - dh, dass Sie keinen neuen GPG-Schlüssel generieren können -, warum sollte mein Computer so schnell durch Entropie fressen? Es scheint, dass es ein grundlegendes Problem geben muss, das angegangen werden sollte.

3
Irgendein anderer Prozess, der `/ dev / random` liest? Prüfen Sie, ob "lsof / dev / random" etwas anzeigt. ott-- vor 8 Jahren 0
@ ott-- Nichts. Guter Gedanke - danke. kittykittybangbang vor 8 Jahren 0
In Bezug auf Ihre Problemumgehung hat * "rngd -r / dev / random [...] nichts getan" *: Es scheint, als würde es standardmäßig in / dev / random ausgegeben werden, aber in diesem Befehl lesen Sie auch * von `/ dev / random '. Sind Sie sicher, dass dies der richtige Weg ist? Sollten Sie nicht aus einer anderen Quelle lesen (oder `-r` aus dem Befehl lassen, um die Standardeinstellungen zu verwenden)? Was ist, wenn Sie es im Vordergrund ausführen, `rngd -rf / dev / random`? (Auch [Problembehebung des Entropie-Pools mit RHEL 5.x)] (http://serverfault.com/questions/303935/how-to-fix-the-entropy-pool-issue-with-rhel-5- x) on Server Fault schlägt vor, einen Parameter "-t 0.1" oder "-t 0.001" hinzuzufügen.) Arjan vor 8 Jahren 1
Versuchen Sie, eine Installation durchzuführen, um zusätzliche Entropie zu erhalten. Uwe Burger vor 8 Jahren 1
Bist du sicher, dass dein `rngd'-Befehl richtig ist? (Siehe meinen vorherigen Kommentar.) Arjan vor 8 Jahren 0

1 Antwort auf die Frage

1
Huygens

Um ein wenig mehr Entropie zu erhalten, überprüfen Sie meine Antwort auf Serverfehler für Entropie für PGP-Schlüssel generieren .

Zusammenfassung dieser Antwort ist:

  • Netzwerk- und Festplatten-IOs generieren;
  • Verwenden Sie haveged (aber seien Sie vorsichtig, wenn Sie sich in einer VM-Umgebung befinden, siehe Link).

Was die Verwendung von rngd angeht, wird es nicht funktionieren. Das Programm rngd ist eine Art Sammler von zufälligen Dingen, die nach einer gewissen Vorspannung und Aufhellung verwendet werden, um einen Entropiepool zu speisen, der zur Erzeugung einer Zufallszahl unter Verwendung eines PRNG verwendet wird. Rngd ist also ein Kollektor, der "Eingänge" für den PRNG von Linux bereitstellt. Wenn Sie verwenden /dev/random, schätzt Linux den Entropie-Pool. Wenn er entscheidet, dass er gut genug ist, generiert er eine neue Zufallszahl für /dev/random. Lesen Sie diesen technischen Artikel über Zufallszahlen zu LWN, siehe Kapitel "Empfehlungen für Administratoren" .

Wenn /dev/randomSie gpg oder gpg aufrufen, verwenden Sie den gleichen Entropiepool (und "verbrauchen"). Also wird es nicht helfen / arbeiten. Verwenden Sie einen Hardware-RNG als Quelle für rngd oder eine beliebige Quelle wie Webcam, Mikrofon usw. Sie benötigen jedoch geeignete Treiber, um diese mit rngd zu verknüpfen. Dies hängt davon ab, ob Sie eine VM verwenden und welche Distribution Sie verwenden.

Hinweis: Wenn Sie Bare Metal (also nicht in einer Gast-VM) ausführen, können Sie TPM für einen Hardware-RNG verwenden. TPM kann nicht empfohlen werden, wenn der NSA der schlimmste Feind ist ;-) Online über TPM lesen. Wenn Sie es jedoch verwenden möchten, können Sie hier TPM mit rngd verknüpfen (Haftungsausschluss, den ich in diesem Artikel geschrieben habe): http://www.berthon.eu/2015/using-tpm-as-as-source-of-randomness -Entropie/

In dieser PDF-Präsentation finden Sie Informationen zur Verwendung von Entropie :-) https://www.blackhat.com/docs/us-15/materials/us-15-Potter-Understanding-And-Managing-Entropy-Usage.pdf

@kittykittybangbang Lösen diese vorgeschlagenen Antworten Ihr Problem? Hast du weitere Anmerkungen? Huygens vor 8 Jahren 1
Nebenbei bemerkt: der obige Kommentar macht den Fragesteller nicht aufmerksam; Siehe http://superuser.com/editing-help#comment-reply (Aber halten Sie nicht den Atem an; das OP hat auf meine früheren Kommentare ebenfalls nicht reagiert.) Arjan vor 8 Jahren 1