A entropia é alimentada em /dev/random
a uma taxa bastante lenta, portanto, se você usar qualquer programa que use /dev/random
, é muito comum que a entropia seja baixa.
Mesmo se você acredita na definição de entropia do Linux, a baixa entropia não é um problema de segurança. /dev/random
bloqueia até que esteja satisfeito de ter entropia suficiente. Com baixa entropia, você obterá aplicativos aguardando que você mexa o mouse, mas não uma perda de aleatoriedade.
Na verdade, a definição de entropia do Linux é falha: é uma definição extremamente conservadora que se esforça para alcançar um nível teórico de aleatoriedade que é inútil na prática. Na verdade, a entropia não se desgasta - depois de ter o suficiente, você tem o suficiente. Infelizmente, o Linux só tem duas interfaces para obter números aleatórios: /dev/random
, que bloqueia quando não deveria, e /dev/urandom
, que nunca bloqueia. Felizmente, na prática, /dev/urandom
está quase sempre correto , porque um sistema reúne rapidamente entropia suficiente, após o que point /dev/urandom
está ok para sempre (incluindo usos como a geração de chaves criptográficas) .
O único momento em que /dev/urandom
é problemático é quando um sistema ainda não possui entropia suficiente, por exemplo, na primeira inicialização de uma nova instalação, após inicializar um live CD ou após clonar uma máquina virtual. Em tais situações, aguarde até que /proc/sys/kernel/random/entropy_avail
atinja 200 ou mais. Depois disso, você pode usar /dev/urandom
o quanto quiser.