Obtenir des données sur de /dev/random
ou /dev/urandom
est certainement pas aller à l' aide, tout ce qu'il va faire est épuiser votre réserve d' entropie, ce qui rend le problème encore pire. La principale différence entre ces deux fichiers est que même lorsque le noyau est à court d'entropie, urandom
il continuera à générer des données aléatoires de moindre qualité, tout en random
se bloquant jusqu'à ce qu'il puisse recueillir de nouvelles données aléatoires de haute qualité. PGP nécessite les données aléatoires les plus élevées possibles pour générer des clés sécurisées, il sera donc toujours utilisé /dev/random
.
Si vous avez de bonnes données aléatoires ou si vous en exportez à partir d'un autre serveur /dev/random
, vous pouvez les cat
transférer dans votre serveur /dev/random
pour obtenir plus d'entropie. Vous ne devriez cependant jamais faire cat
deux fois le même fichier /dev/random
.
Si vous vous retrouvez souvent à court d'entropie, vous pouvez également envisager d'installer quelque chose comme haveged , un démon qui régénère l' entropie en arrière-plan et le remplit /dev/random
au besoin.
Il peut également être tentant d'établir un lien symbolique /dev/random
vers /dev/urandom
, mais cela doit être considéré comme un risque pour la sécurité, car toute clé générée à l'aide de celle-ci peut être moins sécurisée qu'elle ne le devrait. Bien que cela puisse aider pour une application moins critique, vous devez considérer toutes les autres utilisations possibles de /dev/random
, y compris les autres utilisateurs générant leurs propres clés, CSR, etc.
Thomas Guyot-Sionnest
la source
/dev/random
c'est un PRNG de haute qualité , et ne devrait normalement pas se bloquer./dev/random
sont des PRNG de haute qualité sur BSD et Linux modernes, bien sûr. Mais il se bloquera s'il n'y a pas assez d'entropie disponible. D'un autre côté,/dev/urandom
ne bloquera pas s'il n'y en a pas assez mais sa qualité aléatoire pourrait en souffrir dans ce cas. Dans les détails, il existe de nombreuses subtilités entre les implémentations aléatoires et urandom entre Linux et les différents BSD, mais ce qui précède devrait être vrai pour tous les AFAIK.ping 8.8.8.8
) si vous possédez un autre hôte réseau, essayez d'avoir des pings toutes les 100 ms (si votre RTT est <100 ms bien sûr). Et / ou utilisezfind
pour rechercher des fichiers sur votre disque dur et vider le cache RAM entre chaque recherche de fichier./dev/random
ne bloque pas sur FreeBSD.dd if=/dev/random of=/tmp/rndtest bs=64M count=1
après un nouveau démarrage, il a fallu 2 exécutions consécutives pour voir le temps de générer l'augmentation du fichier de 64 Mo. Je pensais que je ne verrais pas cet effet avec urandom en entrée, mais FreeBSD semble également le bloquer, contrairement à Linux.Vous pouvez utiliser
haveged
.haveged
est un démon qui génère l'entropie en cas de besoin.la source
Je recommanderais de générer vos clés gpg sur votre machine locale qui aura un bien meilleur caractère aléatoire que celui distant. Ensuite, migrez les clés à l'aide de SSH vers votre ordinateur distant.
La génération locale sera plus rapide (plus de source d'entropie), plus sécurisée (personne ne peut espionner le processus si votre machine n'est pas infectée, meilleur hasard).
Si vous souhaitez toujours les générer à distance: sous Linux, vous pouvez générer plus d'entropie en envoyant simplement un ping à un hôte (par exemple
ping 8.8.8.8
) si vous possédez un autre hôte réseau, essayez d'avoir des pings toutes les 100 ms (si votre RTT est <100 ms bien sûr). Et / ou utilisezfind
pour rechercher des fichiers sur votre disque dur et vider le cache RAM entre chaque recherche de fichier.Vous pouvez également installer
haveged
mais lire les limitations si vous l'exécutez dans un environnement virtuel: https://wiki.archlinux.org/index.php/Haveged#Virtual_machinesla source
Sur les systèmes basés sur Debian, vous pouvez installer le
rng-tools
paquet en utilisant atp-get, puis démarrer le démon pour générer l'entropie:Sur les serveurs CentOS-6, le
rng
démon est installé comme l'un des outils de base (du moins sur la plupart des systèmes sur lesquels j'ai travaillé), et vous pouvez exécuter la commande suivante pour le démarrer, afin de générer l'entropie:la source
fonctionne certainement sur une machine virtuelle CentOS 7.2. Parfois, vous souhaitez créer des clés GPG sur un vm si vous créez un groupe et souhaitez que votre trousseau de clés soit intact.
la source