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

12

Eu tenho três perguntas relacionadas à entropia nos 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 entropia disponível definidas no POSIX?
  2. Qual é o correto disponível que devo 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. Essa entropia é usada /dev/randomou também tem algo a ver /dev/urandom?
sintagma
fonte

Respostas:

9

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

O cálculo da entropia do kernel do Linux corresponde a um modelo de entropia teórico da informação 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 seguinte). Além dessa situação, sempre há entropia suficiente, porque a entropia não se esgota. Como o Linux /dev/randombloqueia quando acha que não tem entropia suficiente, use /dev/urandom, que nunca bloqueia. O uso /dev/urandomé bom para tudo, inclusive para gerar chaves criptográficas (exceto, como mencionado acima, em um dispositivo recém-criado).

Em suma:

  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/urandome /dev/random. Veja a página da Wikipedia para uma discussão mais detalhada.

Gilles 'SO- parar de ser mau'
fonte