Como determinar quais processos estão usando quanta entropia de / dev / urandom

5

Fazer fuser -v /dev/urandom informa quais processos têm atualmente /dev/urandom aberto, mas apenas isso. Existe alguma para determinar alguma coisa sobre quanta entropia cada um está usando ao longo do tempo? Por exemplo, pode ser que um processo esteja usando cerca de 1 bit de entropia a cada minuto, enquanto um processo diferente esteja usando cerca de 8 bits por segundo; Eu gostaria de alguma maneira de determinar isso.

    
por Matthew Cline 09.10.2013 / 04:50

2 respostas

5

A resposta curta é 0, porque a entropia não é consumida.

Há um equívoco comum que a entropia é consumida - que cada vez que você lê um bit aleatório, isso remove alguma entropia da fonte aleatória. Isto está errado. Você não “consome” entropia . Sim, o Linux documentação fica errada .

Durante o ciclo de vida de um sistema Linux, existem dois estágios:

  1. Inicialmente, não há entropia suficiente. /dev/random irá bloquear até achar que acumulou entropia suficiente; /dev/urandom felizmente fornece dados de baixa entropia.
  2. Depois de um tempo, a entropia suficiente está presente no conjunto de geradores aleatórios. /dev/random atribui uma taxa fictícia de “entropy leek” e blocos de vez em quando; /dev/urandom felizmente fornece dados aleatórios com qualidade de criptografia.

O FreeBSD acerta: no FreeBSD, /dev/random (ou /dev/urandom , o que é a mesma coisa) bloqueia se não tem entropia suficiente, e uma vez, continua vomitando dados aleatórios. No Linux, nem /dev/random nem /dev/urandom é útil.

Na prática, use /dev/urandom e certifique-se de provisionar o pool de entropia do sistema (de disco, rede e atividade do mouse, de uma fonte de hardware, de uma máquina externa,…).

Enquanto você pode tentar ler quantos bytes são lidos de /dev/urandom , isso é completamente inútil. A leitura de /dev/urandom não esvazia o conjunto de entropia. Cada consumidor usa até 0 bits de entropia por qualquer unidade de tempo que você queira nomear.

    
por 10.10.2013 / 03:26
1

Embora não seja automatizado, você pode usar uma ferramenta como strace para observar as leituras do (s) descritor (es) de arquivo relacionado (s) ao urandom. Em seguida, veja quantos dados são lidos em um período de tempo específico para obter a taxa de leitura.

    
por 09.10.2013 / 08:21

Tags