Qual é a entropia disponível correta nos sistemas UNIX?

12

Eu tenho três perguntas relacionadas à entropia em sistemas UNIX:

  1. Eu verifico entropia no Linux usando: cat /proc/sys/kernel/random/entropy_avail . Este é o local padrão com informações sobre a entropia disponível definida no POSIX?
  2. Qual é o correto disponível que eu deveria esperar? Ouvi dizer que a entropia deve ser igual ou superior a 100 e que pode haver um problema se a entropia estiver constantemente abaixo de 100.
  3. Esta entropia é usada por /dev/random ou também tem algo a ver com /dev/urandom ?
por syntagma 05.11.2014 / 10:47

1 resposta

8

/dev/random não é padronizado. O POSIX não fornece nenhuma maneira de gerar dados aleatórios criptograficamente seguros e não possui qualquer noção de entropia.

O cálculo de entropia do kernel do Linux corresponde a um modelo teórico de informações de entropia que não é relevante para o uso prático. O único caso em que isso é relevante é em um novo dispositivo que nunca teve tempo de acumular entropia (isso inclui distribuições ativas; os sistemas instalados salvam sua entropia de uma inicialização para a próxima). Além dessa situação, sempre há entropia suficiente, porque a entropia não se esgota. Como o /dev/random do Linux bloqueia quando acha que não tem entropia suficiente, use /dev/urandom , que nunca bloqueia. Usando /dev/urandom é bom para tudo, incluindo a geração de chaves criptográficas (exceto, como mencionado acima, em um dispositivo recém-criado).

Em resumo:

  1. Não, isso não é padrão.
  2. Você não se importa.
  3. Use /dev/urandom .

Muitos, mas nem todos os sistemas unix possuem /dev/urandom e /dev/random . Veja a página da Wikipedia para uma discussão mais detalhada.

    
por 07.11.2014 / 05:09

Tags