man 4 random
tem uma descrição muito vaga das fontes de entropia do kernel do Linux:
O gerador de números aleatórios reúne ruído ambiental de drivers de dispositivo e outras fontes em um pool de entropia.
As transferências de Entropia em papel no Gerador de Números Aleatórios do Linux também não são muito mais específicas. Ele lista:
add_disk_randomness()
,add_input_randomness()
eadd_interrupt_randomness()
.
Estas funções são de random.c
, o que inclui o seguinte comentário:
As fontes de aleatoriedade do ambiente incluem temporizações no teclado, temporizações entre interrupções de algumas interrupções e outros eventos que são (a) não determinísticos e (b) difíceis para um observador externo medir.
Mais abaixo, existe uma função add_hwgenerator_randomness(...)
indicando suporte para geradores de números aleatórios de hardware.
Todas essas informações são bastante vagas (ou, no caso do código-fonte, exigem um conhecimento profundo do kernel do Linux para entender). Quais são as fontes de entropia atuais usadas e o kernel Linux suporta qualquer gerador de números aleatórios de hardware pronto para uso?
fonte
cat /sys/devices/virtual/misc/hw_random/rng_available
.Sim, ele suporta geradores de entropia de hardware prontos para uso. Isso é necessário para servidores SSL de alta carga com muitas conexões simultâneas iniciadas por segundo (Gmail, Facebook, Microsoft, etc.). Realmente não é necessário para servidores domésticos ou servidores de pequenas organizações. Lembre-se de que os geradores de entropia de hardware geralmente usam interfaces PCI, nada sofisticado lá, para que ele possa ser suportado facilmente. Não tenho certeza se existem geradores de entropia de hardware proprietários que exigem drivers de código fechado, provavelmente não, pois não é muito difícil e não é um setor muito lucrativo (de qualquer maneira, diferente das placas gráficas).
http://en.wikipedia.org/wiki/Hardware_random_number_generator
fonte