Atualmente, estou testando gpg --genkeyem uma VM Linux. Infelizmente, parece que esse software depende da /dev/randomcoleta 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/urandompois 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 rngddaemon e o configurei para usar /dev/urandomcomo fonte de entropia para alimentar /dev/random, mas acho essa prática bastante suja.
Tentei solucionar o problema da maneira FreeBSD removendo /dev/randome 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/urandomcomo 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/randomao vincular-se a /dev/urandomsistemas 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/randombloqueio de algum serviço?