Gerar entropia para chave PGP

12

Estou logado em uma VM remotamente e tentando gerar uma chave PGP de 4096 bits, ela fica pendente para sempre porque não há entropia e, como estou trabalhando na área de trabalho remota, ela provavelmente não detecta a movimentação do mouse como entropia. / p>

Como posso gerar alguns?

Eu tentei cat /dev/urandom > /dev/null , mas isso não ajuda.

    
por redic 23.07.2015 / 10:18

5 respostas

13

Obter dados fora de /dev/random ou /dev/urandom é definitivamente não vai ajudar, tudo o que vai fazer é esgotar seu pool de entropia, tornando o problema ainda pior . A principal diferença entre esses dois arquivos é que, mesmo quando o kernel fica sem entropia, urandom continuará gerando dados aleatórios de menor qualidade, enquanto random bloqueará até coletar dados aleatórios novos e de alta qualidade. O PGP requer os dados aleatórios mais altos possíveis para gerar chaves seguras, portanto, ele sempre usará /dev/random .

Se você tiver bons dados aleatórios ou exportar alguns de /dev/random de outro servidor, você pode cat it em /dev/random do seu servidor para obter mais entropia. Você nunca deve cat o mesmo arquivo duas vezes em /dev/random .

Se você frequentemente se encontrar sem entropia, também pode considerar instalar algo como haveged , um daemon que gera novamente entropia em segundo plano e reencher /dev/random conforme necessário.

Também pode ser tentador fazer um symlink /dev/random to /dev/urandom , mas isso deve ser considerado um risco de segurança, já que qualquer chave gerada usando-o pode ser menos segura do que deveria. Embora possa ajudar em um aplicativo menos crítico, é necessário considerar todos os outros possíveis usos de /dev/random , incluindo outros usuários que geram suas próprias chaves, CSR, etc.

    
por 23.07.2015 / 11:19
7

Você pode usar haveged .

haveged é um daemon que gera entropia quando necessário.

    
por 23.07.2015 / 11:04
3

Em sistemas baseados em Debian, você pode instalar o pacote rng-tools usando o atp-get, e então iniciar o daemon para gerar a entropia:

echo HRNGDEVICE=/dev/urandom >> /etc/default/rng-tools && service rng-tools restart

Nos servidores CentOS-6, o daemon rng é instalado como uma das ferramentas básicas (pelo menos na maioria dos sistemas em que trabalhei) e você pode executar o seguinte comando para iniciá-lo, a fim para gerar entropia:

sed -i \'s|EXTRAOPTIONS=\"\"|EXTRAOPTIONS=\"-r /dev/urandom\"|g\' /etc/sysconfig/rngd && service rngd restart
    
por 28.07.2015 / 22:19
3

Eu recomendaria gerar suas chaves gpg em sua máquina local, que terá uma aleatoriedade muito melhor que a remota. Em seguida, migre as chaves usando o SSH para a sua máquina remota.

A geração local será mais rápida (mais fonte de entropia), mais segura (ninguém pode espionar o processo se sua máquina não estiver infectada, melhor aleatoriedade).

Se você ainda quiser gerá-los remotamente: No Linux você pode gerar mais entropia simplesmente pingando um host (por exemplo, ping 8.8.8.8 ) se você possuir outro host de rede tentar fazer pings a cada 100ms (se o seu RTT for < 100ms claro ). E / ou use find para procurar arquivos em seu disco rígido e liberar o cache de RAM entre cada pesquisa de arquivo.

Você também pode instalar haveged , mas leia as limitações se estiver executando em um ambiente virtual: link

    
por 10.08.2015 / 11:17
1
sudo yum install haveged && sudo systemctl start haveged

definitivamente funciona em uma VM do CentOS 7.2. Às vezes você quer criar chaves GPG em uma vm se estiver criando um monte e quiser que seu chaveiro esteja intacto.

    
por 18.08.2017 / 06:42