The flaws only applied for keys generated during early boot. Jann and I looked, but we didn't find a way that this could be turned into a practical exploit, which is why we considered, but decided against, doing any kind of coordinated disclosure. The potential weakness applies before you see crng_init=2 message, and in practice on many machines this happens well before a minute --- on my laptop, in under 10 seconds.…
What reasons are there not to implement the OpenBSD model where the bootloader passes the kernel a seed that the kernel generated previously?
Linux RNG flaws
11–20 of 67 posts
Re: Linux RNG flaws
#12Earlier quoted context omitted.
What reasons are there not to implement the OpenBSD model where the bootloader passes the kernel a seed that the kernel generated previously?
There is no reason not to try it, but you would still want to cater for the initial boot when you have no previous entropy to read.
Re: Linux RNG flaws
#13The flaws only applied for keys generated during early boot. Jann and I looked, but we didn't find a way that this could be turned into a practical exploit, which is why we considered, but decided against, doing any kind of coordinated disclosure. The potential weakness applies before you see crng_init=2 message, and in practice on many machines this happens well before a minute --- on my laptop, in under 10 seconds.…
What kind of applications need cryptographic randomness during early boot?
I don’t know if that solely uses the system RNG though.
Re: Linux RNG flaws
#14Re: Linux RNG flaws
#15The flaws only applied for keys generated during early boot. Jann and I looked, but we didn't find a way that this could be turned into a practical exploit, which is why we considered, but decided against, doing any kind of coordinated disclosure. The potential weakness applies before you see crng_init=2 message, and in practice on many machines this happens well before a minute --- on my laptop, in under 10 seconds.…
Applications can then check if the kernel is ready to do RNG and if not, handle the delay themselves.
But I guess that would break some applications so there might be another way (extra device for early boot randomness? ioctl?)
Re: Linux RNG flaws
#16With the new patches, are the daemons benefiting from the seed ?
Re: Linux RNG flaws
#17Just to be sure I understand fully, if I take a small embedded router running OpenWRT, that maybe take ~1min for the urandom pool to be ready. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;... On the first boot we save 512 bytes from getrandom(). On the second boot we restore the seed (cat seed > /dev/urandom) before almost all the user space starts. Many daemons (dropbear/openvpn) will read from /dev/u…
Re: Linux RNG flaws
#18The flaws only applied for keys generated during early boot. Jann and I looked, but we didn't find a way that this could be turned into a practical exploit, which is why we considered, but decided against, doing any kind of coordinated disclosure. The potential weakness applies before you see crng_init=2 message, and in practice on many machines this happens well before a minute --- on my laptop, in under 10 seconds.…
I think that problem could be handled by having the RNG return an error until crng_init=2 and introduce a way to check the state of the kernel RNG. Applications can then check if the kernel is ready to do RNG and if not, handle the delay themselves. But I guess that would break some applications so there might be another way (extra device for early boot randomness? ioctl?)
Re: Linux RNG flaws
#19The flaws only applied for keys generated during early boot. Jann and I looked, but we didn't find a way that this could be turned into a practical exploit, which is why we considered, but decided against, doing any kind of coordinated disclosure. The potential weakness applies before you see crng_init=2 message, and in practice on many machines this happens well before a minute --- on my laptop, in under 10 seconds.…
I think that problem could be handled by having the RNG return an error until crng_init=2 and introduce a way to check the state of the kernel RNG. Applications can then check if the kernel is ready to do RNG and if not, handle the delay themselves. But I guess that would break some applications so there might be another way (extra device for early boot randomness? ioctl?)
Re: Linux RNG flaws
#20Earlier quoted context omitted.
What kind of applications need cryptographic randomness during early boot?
The classic application is generating the ssh server keys. I don’t know if that solely uses the system RNG though.
The problem here is that you would have to probe RNG stats manually as it returned readiness too early.