La obtención de datos fuera de /dev/random
, o /dev/urandom
es, sin duda no va a ayudar, todo lo que va a hacer es agotar su fuente de entropía, por lo que el problema aún peor. La principal diferencia entre estos dos archivos es que incluso cuando el núcleo se quede sin entropía urandom
seguirá generando datos aleatorios de menor calidad, mientras que random
se bloqueará hasta que pueda recopilar datos aleatorios frescos de alta calidad. PGP requiere los datos aleatorios más altos posibles para generar claves seguras, por lo que siempre se usará /dev/random
.
Si usted tiene buenos datos aleatorios alrededor, o exportar parte de otro servidor de /dev/random
, puede cat
que en la de su servidor /dev/random
para obtener más entropía. Sin embargo , nunca debes usar cat
el mismo archivo dos veces /dev/random
.
Si a menudo te encuentras quedando sin entropía, también puedes considerar la instalación de algo como forjado , un demonio que vuelve a generar entropía en segundo plano y se vuelve a llenar /dev/random
según sea necesario.
También puede ser tentador para enlazar simbólicamente /dev/random
a /dev/urandom
, pero esto debe ser considerado un riesgo de seguridad como cualquier clave generada usarlo pueden ser menos seguros de lo que deberían. Si bien puede ser útil para aplicaciones menos críticas, debe considerar cualquier otro uso posible /dev/random
, incluidos otros usuarios que generan sus propias claves, CSR, etc.
Thomas Guyot-Sionnest
fuente
/dev/random
es un PRNG de alta calidad , y normalmente no debe bloquearse./dev/random
son PRNG de alta calidad en BSD y Linux modernos, claro. Pero se bloqueará si no hay suficiente entropía disponible. Por otro lado,/dev/urandom
no se bloqueará si no hay suficiente disponible, pero su calidad de aleatoriedad podría verse afectada en este caso. En los detalles hay muchas sutilezas entre las implementaciones aleatorias y urandom entre Linux y los diversos BSD, pero lo anterior debería ser cierto en todos los AFAIK.ping 8.8.8.8
) si posee otro host de red, intente hacer ping cada 100 ms (si su RTT es <100 ms, por supuesto). Y / o usefind
para buscar archivos en su disco duro y vacíe la memoria caché de RAM entre cada búsqueda de archivos./dev/random
no se bloquea en FreeBSD.dd if=/dev/random of=/tmp/rndtest bs=64M count=1
después de un nuevo inicio, tomó 2 ejecuciones consecutivas para ver el tiempo para generar el aumento de archivo de 64 MB. Pensé que no vería este efecto con urandom como entrada, pero FreeBSD también parece estar bloqueando, a diferencia de Linux.Puedes usar
haveged
.haveged
es un demonio que genera entropía cuando es necesario.fuente
Recomendaría generar sus claves gpg en su máquina local que tendrá una aleatoriedad mucho mejor que la remota. Y luego migre las claves usando SSH a su máquina remota.
Generar localmente será más rápido (más fuente de entropía), más seguro (nadie puede espiar el proceso si su máquina no está infectada, mejor aleatoriedad).
Si aún desea generarlos de forma remota: en Linux puede generar más entropía simplemente haciendo ping a un host (por ejemplo
ping 8.8.8.8
) si posee otro host de red, intente tener pings cada 100 ms (si su RTT es <100 ms, por supuesto). Y / o usefind
para buscar archivos en su disco duro y vacíe la memoria caché de RAM entre cada búsqueda de archivos.También puede instalar
haveged
pero leer las limitaciones si lo está ejecutando en un entorno virtual: https://wiki.archlinux.org/index.php/Haveged#Virtual_machinesfuente
En los sistemas basados en Debian, puede instalar el
rng-tools
paquete usando atp-get, y luego iniciar el demonio para generar entropía:En los servidores CentOS-6, el
rng
demonio se instala como una de las herramientas básicas (al menos en la mayoría de los sistemas en los que he trabajado), y puede ejecutar el siguiente comando para iniciarlo, a fin de generar entropía:fuente
definitivamente funciona en una VM CentOS 7.2. A veces, desea crear claves GPG en una máquina virtual si está creando un grupo y desea que su llavero esté intacto.
fuente