Quais fontes de entropia são usadas pelo kernel do Linux?

14

man 4 random tem uma descrição muito vaga das fontes de entropia de kernel do Linux:

The random number generator gathers environmental noise from device drivers and other sources into an entropy pool.

As transferências Entropy no Linux Random Number Generator não são muito mais específicas, ou. Lista:

  • add_disk_randomness(),
  • add_input_randomness(), and
  • add_interrupt_randomness().

Estes functinos são de random.c , que inclui o seguinte comentário:

Sources of randomness from the environment include inter-keyboard timings, inter-interrupt timings from some interrupts, and other events which are both (a) non-deterministic and (b) hard for an outside observer to measure.

Mais abaixo, há 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, requerem conhecimento profundo do kernel do Linux para entender). Quais são as fontes de entropia reais usadas, e o kernel do Linux suporta qualquer gerador de números aleatórios de hardware pronto para uso?

    
por Jens Erat 10.12.2014 / 13:13

2 respostas

4

A maioria dos hardwares de PC tem um gerador de números aleatórios nos dias de hoje. A VIA Semiconductor colocou-os em seus processadores por muitos anos; o kernel Linux tem o driver via-rng para isso. Eu conto 34 módulos de origem no diretório drivers/char/hw_random/ na última árvore de fontes, incluindo drivers para hardware Intel e AMD e para sistemas que possuem um dispositivo TPM. Você pode executar o daemon rng (rngd) para enviar dados aleatórios para o pool de entropia do kernel.

    
por 19.08.2017 / 19:34
0

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.). Não é realmente necessário para servidores residenciais ou pequenos servidores da organização. Lembre-se de que os geradores de entropia de hardware geralmente usam interfaces PCI, nada sofisticado lá, por isso pode 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, já que não é muito difícil e não é uma indústria muito lucrativa (ao contrário das placas gráficas, de qualquer forma).

link

    
por 10.12.2014 / 13:21