Vraag GPG heeft onvoldoende entropie


Ik heb een hoop processen op de achtergrond om te proberen genoeg entropie te krijgen, maar ik faal nog steeds.

**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**

Ik heb een methode nodig om de sleutel te genereren die werkt, want wat ik probeer te doen is blijkbaar mislukken.


73
2017-12-20 21:20


oorsprong




antwoorden:


Heb je RNG bekeken?

Fedora / Rh / Centos types: sudo yum install rng-tools

Over deb types: sudo apt-get install rng-tools om het op te zetten.

Ren dan sudo rngd -r /dev/urandom voor het genereren van de sleutels.

Referentie: http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022


96
2017-12-20 21:43



Ook, op een serieuzere noot, kunt u gebruiken sudo apt-get install rng-tools als je op Ubuntu bent in plaats van sudo yum install rng-utils zoals ze hebben voor Fedora, sinds nee rng-utils pakket bestaat voor Ubuntu. - Jason Swett
Het pakket is genoemd rng-tools op zowel Fedora als EL6, dus ik vermoed een typfout in het gekoppelde artikel. Tussen haakjes, het is een goed idee om de essentiële delen van het antwoord hier te geven, en de link voor referentie, voor het geval dat de link in de toekomst dood gaat. - Michael Hampton♦
Er is geen "lage kwaliteit entropie" of "nep-entropie" in urandom. urandom roept dezelfde code aan als / dev / random. Het is niet nodig om extra willekeur in de CSPRNG te voeren (behalve tijdens het boottime, en daar moet je distributie voor zorgen). Dit is een mythe en mag niet worden gepropageerd. Zie bijvoorbeeld sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers of deze video: media.ccc.de/v/32c3-7441-the_plain_simple_reality_of_entropy - Sebastian
Hier is nog een goede over de urandom-mythe. - Andrew B
De meeste hoog gestemde opmerking is onzin; helaas zie ik dit veel op SO. Waarschuwingen (zelfs als ze helemaal verkeerd zijn) zullen veel stemmen krijgen en er is geen manier om ze te corrigeren (geen optie downvote bij het plaatsen van commentaar), dus we kunnen de mythen niet kwijtraken. - Stijn de Witt


Ik kon de sleutel genereren met

apt-get install rng-tools

In een ander SSH-venster geopend

 gpg --gen-key

Ga terug naar uw eerste SSH-sessie en voer uit

sudo rngd -r /dev/urandom

Laat dit lopen tot gpg je sleutels genereert!


24
2017-12-20 21:42



Ik zou het zeker aanraden om nooit te gebruiken /dev/urandom voor het genereren van sleutels van enig belang. - Andrew Barber
@AndrewBarber Onzin. Het is de aanbevolen methode. - David Schwartz
@AndrewBarber Het is expliciet voor dat doel ontworpen. Eigenlijk, /dev/random is een ontwerpfout. Het mag alleen blokkeren bij de eerste (ooit) aanroep (bij de eerste keer opstarten) wanneer er nog geen enkele entropie is verzameld. Net als bij andere besturingssystemen. In plaats daarvan hebben we nu twee zwembaden. Gewoon nooit gebruiken /dev/random het heeft geen voordelen. - Stijn de Witt
@AndrewBarber Wat zou u in de plaats aanbevelen? - qodeninja


Om het aantal beschikbare bytes van entropie te controleren, gebruikt u

cat /proc/sys/kernel/random/entropy_avail

De entropie-emmer is 4096 bytes groot en kan zeer snel worden leeggemaakt.

Gebruik deze kleine 'readspeed' tool (http://1wt.eu/tools/readspeed/), kunt u meten hoe snel de entropiebeker is gevuld met verschillende methoden.

Start bijvoorbeeld:

$ ./readspeed < /dev/random

en beweeg je muis rond. U zult zien dat 'readspeed' de entropiebeker leegt zodra deze gevuld is, en wanneer u de muis verplaatst, vult deze een beetje op.

Als je verschillende methoden probeert, lijkt het erop dat toetsenbordinvoer en muisbewegingen de meest efficiënte manier zijn om die bucket aan te vullen. Netwerkoverdrachten en harde-schijfkopieën hebben niet veel invloed.

Ten slotte zijn er apparaten voor het genereren van entropie beschikbaar, zoals deze: http://www.entropykey.co.uk/.


13
2017-12-20 21:52



Er is geen "lage kwaliteit entropie" in urandom. urandom roept dezelfde code aan als / dev / random. Dit is een mythe en mag niet worden gepropageerd. Zie bijvoorbeeld sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers of deze video: media.ccc.de/v/32c3-7441-the_plain_simple_reality_of_entropy - Sebastian
Dit antwoord is 5 jaar oud. We dachten dat urandom niet zo veilig was als willekeurig, maar de dingen zijn veranderd sindsdien en urandom wordt als veilig beschouwd. - Julien Vehent
Feit is dat het vanaf het begin veilig was. De waarschuwingen waren 7 jaar geleden ook verkeerd. - Stijn de Witt


+1 voor rng-tools

In het geval dat je vastzit in de situatie zoals ik ben - geen toestemming heb om nieuwe software (rng-tools) te installeren op een headless server met vrijwel geen input hardware (geluidskaart, toetsenbord, muis) aangesloten. U kunt deze eenvoudige code van een andere terminal gebruiken om verbinding te maken met dezelfde server om toe te voegen aan de entropie. Het maakt niet uit of u dit voor of na het starten begint gpg --gen-key

$ nice -n 19 bash
$ until [ $COUNT -lt 1 ]; do
  let COUNT=`cat /proc/sys/kernel/random/entropy_avail`
  echo "`date` COUNTER $COUNT"
done

De eerste regel is om een ​​nieuwe bash-shell te starten, met lagere prioriteit (ik moest aardig zijn op een server die door veel gebruikers wordt gedeeld). De tot-lus is oneindig, dus denk eraan om hem te verbreken zodra de sleutel wordt gegenereerd. Het enige wat het doet is ervoor zorgen dat het netwerkverkeer de entropie verhoogt. Het bewaakt ook de entropy_avail-teller om te laten zien hoe het wordt gevuld en aan de andere kant wordt geleegd door gpg. In mijn geval, de teller opgevuld snel tot 64 en werd geleegd terug naar 0 (raad gpg pakt in stuk van 64). Ik zat te wachten op 4096-bits sleutelgeneratie voor meer dan 3 uur op de server. Nadat dit script is gestart, is het binnen 5 minuten voltooid.


6
2018-05-25 17:08



Ook ik had geen root-toegang op de externe server en dit werkte in het creëren van wat entropie. Ik denk dat de voorwaarde moet worden veranderd in [ $COUNT -lt 0 ]. Omdat voor een systeem met werkelijk minder entropie, het bereikt 0 soms en stopt. GPG heeft echt honger in de entropie. - Ajay Brahmakshatriya


Ik was vastbesloten en vastbesloten om entropie te genereren op mijn onthoofde Ubuntu 14.04-server om een ​​4096-sleutel te genereren met gpg --gen-key

Er is een pakket voor het genereren van entropy genaamd haveged. Voorbeeld van installatie:

sudo apt-get install haveged

ik moest sudo apt-get install rng-tools omdat het een afhankelijkheid is in de volgende test.

Voorbeeld van een test om te zien of entropie is gegenereerd door:

cat /dev/random | rngtest -c 1000

Een zeer klein aantal fouten is acceptabel in elk willekeurig getal   generator, maar je kunt heel vaak 998-1000 successen verwachten   bij gebruik van zweeftekst.

Ik ontdekte het hier in een tutorial:

https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged

Ik heb nu sleutels na het hardlopen gpg --gen-key


4
2018-06-14 11:47