Entropia baixa (?) disponível no Arch Linux?

2

Acabei de ter alguns problemas para colocar o Pidgin com o OTR em execução, porque o Pidgin ficou pendurado em todas as tentativas de gerar minha chave privada. Este antigo post do blog mostrou-me a direção certa ( ou melhor, "permitiu-me gerar uma chave"), "alimentando / dev / urandom no conjunto de entropia para / dev / random".

Quando faço watch cat /proc/sys/kernel/random/entropy_avail , vejo números < 50. Ao alimentar / dev / urandom no pool de entropia, esse número subiu para ~ 2000 e, em seguida, eu consegui gerar minha chave.

Os meus valores de entropia de < 50 bit (?) Normal? Eu estou em um sistema desktop com basicamente Firefox, Thunderbird e Pidgin rodando, streaming de música da LAN.

A incapacidade de criar uma chave para o OTR é um bug no Pidgin ou a minha instalação do Arch Linux é responsável pela baixa entropia?

PS: Eu sei sobre esta resposta explicando muitos equívocos sobre a entropia e (P) RNGs .

Atualização: Já existem bugs abertos no bugtracker do OTR e em Launchpad sobre este problema. Escrever texto aleatório em um editor também ajuda na geração da chave.

    
por Jasper 30.12.2014 / 17:03

1 resposta

2

“Alimentar /dev/urandom no pool de entropia para /dev/random ” é trapaça - você está fingindo fornecer nova entropia quando, na verdade, os dados são derivados deterministicamente do estado atual do RNG. Felizmente, como você notado , a regra de que você está trapaceando é inútil: a entropia não diminui de fato apesar do que o kernel Linux finge.

A baixa entropia da estimativa de /dev/random do Linux é comum e quase sempre um alarme falso: a estimativa é excessivamente conservadora.

/dev/urandom é seguro para geração de chaves , portanto, o Pidgin deve usar /dev/urandom (que não bloqueia) em vez de /dev/random (que pode bloquear e geralmente faz).

Há apenas um caso em que /dev/random de bloqueio é legítimo porque o sistema realmente não possui entropia suficiente: quando o sistema é novo demais para ter entropia acumulada. Os sistemas Linux normalmente salvam entropia para a próxima reinicialização, portanto, na prática, a entropia baixa genuína só acontece em duas circunstâncias:

  • em uma instalação totalmente nova - isso é uma preocupação especial em dispositivos incorporados que geram uma chave na primeira vez que são ativados;
  • em um sistema ativo.

Onde definir a culpa não é realmente uma consideração produtiva, mas se você precisar: Arch Linux e você são totalmente inocentes. O Pidgin deve usar /dev/urandom ou, pelo menos, oferecer uma maneira, por isso faz parte da culpa. O kernel do Linux deve realmente fornecer uma interface que garanta aleatoriedade com qualidade de criptografia e bloqueie somente se a entropia estiver realmente ausente (como /dev/random do FreeBSD).

    
por 31.12.2014 / 00:51