Cuando inicio sesión con LightDM en mi computadora portátil que ejecuta Debian Unstable, recientemente comenzó a bloquearse durante aproximadamente 2 minutos hasta que journalctl
muestra el mensaje kernel: random: crng init done
. Cuando presiono teclas aleatorias en mi teclado mientras se cuelga, inicia sesión más rápido (alrededor de 10 segundos). Antes no tenía este problema, ¿hay alguna forma de solucionarlo?
Editar:usando linux-image-4.15.0-3-amd64
en lugar de linux-image-4.16.0-1-amd64
funciona, pero no quiero usar un kernel anterior.
Respuesta aceptada:
Parece que algún componente de su sistema se bloquea al intentar obtener datos aleatorios del núcleo (es decir, leer desde /dev/urandom
o llamando a getrandom()
) debido a una entropía (aleatoriedad) insuficiente disponible.
No tengo una explicación lista de por qué el problema depende de una versión de kernel en particular, o qué componente de su sistema realmente bloquea, pero independientemente de la causa raíz,
De hecho, como señaló Bigon en su respuesta, parece ser un error del kernel introducido en 4.16:
Este error es introducido por el cambio "crng_init> 0" a "crng_init> 1"
en esta confirmación:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33
Este cambio afecta inadvertidamente a urandom_read, lo que hace que el estado
crng_init==1 se trate como no inicializado y provoca que urandom
se bloquee, a pesar de que este estado existe específicamente para admitir
necesidades no criptográficas en el momento del arranque:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c# n1863
Revertir 43838a23a05f ("aleatorio:corrija la prueba crng_ready()") corrige el error
(probado con 4.16.5-1), pero esto puede causar problemas de seguridad
(CVE-2018-1108 se menciona en 43838a23a05f ). Estoy probando una solución más
localizada que debería ser más aceptable para upstream.
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)
… Aún así, puedes intentar usar haveged
o rng-tools
para acumular entropía más rápido.