Eu gostaria de usar um RNG de hardware externo que forneça entropia via soquete de rede. O FreeBSD não suporta fontes externas de RNG/entropia no kernel, mas sim no espaço do usuário. Ok, tudo bem se eu estiver construindo meu próprio aplicativo para utilizar a fonte de entropia externa - mas como posso implementá-lo para que os aplicativos existentes que usam /dev/random
também usem minha fonte de entropia extra? Meu entendimento é que a resposta é que você não pode - mas adoraria estar errado nisso.
Responder1
Quando você dá uma olhada noimplementação de /dev/random em 11.0você notará que com o suporte dos novos algoritmos aleatórios (fortuna substituiu o yarrow), também há suporte para alimentar a entropia com uma chamada de gravação para /dev/random
.
As versões 10.x não suportam esta chamada de gravação. A página de manualdito anteriormente para 10.3que escreve será silenciosamente ignorado ena página de manual 11.0esta passagem foi removida. Infelizmente, não há explicação de que a alimentação da entropia seja possível escrevendo no dispositivo.
Na minha opinião, você deveria perguntar nas listas de discussão, porque este parece ser um tópico sério e relevante para a segurança e acabei de encontrar algumas informações que podem não ser suficientes para ter certeza absoluta sobre esta nova funcionalidade e todas as dicas que podem existem lá.