Atualmente, estou testando gpg --genkey
em uma VM Linux. Infelizmente, parece que esse software depende da /dev/random
coleta de entropia e educadamente pede ao usuário que digite manualmente as telas após as telas de entrada criptograficamente aleatória, para que possa acabar gerando uma chave e não encontrei nenhum parâmetro de linha de comando para informar usar outro arquivo como fonte de entropia (o cara neste vídeo encontra o mesmo problema ...).
No entanto, o usuário deve ser livre para optar por usá-lo, /dev/urandom
pois não há nada errado com ele . Existe principalmente como uma reminiscência de algoritmos PRNG mais antigos, que eram mais fracos do ponto de vista criptográfico. Por exemplo, embora a página de manual do NetBSD garanta que a distinção ainda possa ser útil no estágio inicial de inicialização, ela descreve essa distinção como "folclore" e uma "teoria imaginária que se defende apenas contra modelos de ameaças de fantasia" . Ninguém concorda com a quantidade de entropia exigida por este comando nem com o fato de que a entropia é realmente consumida, como indicado na página de manual do GPG ("POR FAVOR, não use este comando, a menos que você saiba o que está fazendo, pois poderá remover entropia preciosa do sistema!" )
Eu li sobre pessoas instalando o rngd
daemon e o configurei para usar /dev/urandom
como fonte de entropia para alimentar /dev/random
, mas acho essa prática bastante suja.
Tentei solucionar o problema da maneira FreeBSD removendo /dev/random
e vinculando-o a /dev/urandom
:
rm /dev/random
ln -s /dev/urandom /dev/random
Eu vejo isso como uma configuração dizendo "Eu confio /dev/urandom
como fonte de entropia" .
Eu temia encontrar algum tipo de erro, mas isso parece fornecer o resultado esperado, já que o comando agora retorna com sucesso imediatamente.
Minha pergunta é: existe algum efeito colateral conhecido, prático e errado /dev/random
ao vincular-se a /dev/urandom
sistemas Linux, como é feito por padrão nos sistemas FreeBSD? Ou alguém poderia definir isso permanentemente (em um script no final do processo de inicialização, por exemplo) em caso de problemas repetitivos devido ao /dev/random
bloqueio de algum serviço?