O gerador de chaves GPG não * usa * a entropia

5

Estou tentando gerar uma chave GPG no Ubuntu 16.10 e o GPG está demorando muito.

Eu pesquisei um pouco no Google e encontrei alguns sites, incluindo algumas perguntas sobre o StackExchange, sugerindo a execução de um gerador de entropia como rngd para ajudar o sistema a gerar números aleatórios mais rapidamente.

Alguns desses sites também incentivaram a verificação de /proc/sys/kernel/random/entropy_avail , afirmando que, em seus sistemas, ele informava números de quatro dígitos antes de executar GPG e números de dois a um dígito enquanto estava sendo executado.

Atualmente estou executando o GPG no meu computador. está funcionando há pelo menos meia hora, e eu estou entendendo isso

$ cat /proc/sys/kernel/random/entropy_avail 
3644

O número aumenta ao longo do tempo e diminui muito raramente em pequenas quantidades (depois de escrever esta frase, é em 3801). Eu não estou executando nenhum gerador de números aleatórios. Na verdade, se eu tentar executar um (por exemplo, sudo rngd -fr /dev/random , ele cai para cerca de 50; se eu usar /dev/urandom , ele ficará em torno de 3.000).

Alguém pode me ajudar a descobrir o que está errado com o meu sistema?

Estou no Linux 4.8.0-37-genérico, gpg (GnuPG) 2.1.15, libgcrypt 1.7.2-beta.

    
por Depau 19.02.2017 / 02:05

1 resposta

4

Eu tive um problema semelhante recentemente após atualizar para o Debian 9. Alguns dos programas que dependem de números aleatórios tiveram suas rotinas de código fonte / gerador aleatório alteradas nas versões recentes do Linux que os tornam mais dependentes da entropia do sistema.

Instalar o daemon haveged parece fornecer um conjunto consistente de números aleatórios. Então faça:

sudo apt-get install haveged

O daemon haveged agora é exigido por programas diferentes que exigem entropia, especialmente em VMs e iOTs (por exemplo, framboesa, outros), em que a entropia é normalmente baixa.

De man haveged :

NAME
haveged - Generate random numbers and feed Linux's random device.

DESCRIPTION
haveged generates an unpredictable stream of random numbers harvested from the indirect effects of hardware events on hidden processor state (caches, branch predictors, memory translation tables, etc) using the HAVEGE (HArdware Volatile Entropy Gathering and Expansion) algorithm. The algorithm operates in user space, no special privilege is required for file system access to the output stream.

Linux pools randomness for distribution by the /dev/random and /dev/urandom device interfaces. The standard mechanisms of filling the /dev/random pool may not be sufficient to meet demand on systems with high needs or limited user interaction. In those circumstances, haveged may be run as a privileged daemon to fill the /dev/random pool whenever the supply of random bits in /dev/random falls below the low water mark of the device.

    
por 19.02.2017 / 10:19