Bugtraq mailing list archives
Re: /dev/random is probably not
From: Thomas <tom () electric-sheep org>
Date: Wed, 6 Jul 2005 09:37:39 +0200
Am Mittwoch, 6. Juli 2005 09:14 schrieb Darren Reed:
In some mail from Thomas, sie said:
^--- "sie"? :)
Linux cited using keyboard interrupts. How many of those happen on a web server in a rack, in an air conditioned computer room somewhere ? How many happen when you open up your web browser and select your internet banking web site from your bookmarks?To complete the list, Linux uses: - block-device access - interrupt occurence - keyboard - mouse - freedback from pool extraction - pool extraction timing (doesn't matter) Even w/o devices such as keyboard and mouse Linux starts producing "a bit" entropy on an old notebook w/ just one hdd after about 2200 events (the end-phase of a booting SuSE Linux 9.0 system)And for all of those embedded devices which use compact flash (eliminate block-device access as being "random"), the list is only half complete.
Yes. Other sources should be added for such devices for sure. But I think noone really does this.
Just how good is the pool of random data going to be after powering on your Linux based embedded VPN access device?
Filled up with time in seconds and microseconds as well as the utsname. Not much... but the microseconds may have some entropy. Hopefully the old pool is restored right before the VPN software starts negotiating. Another application I fear is banking software on PocketPC/Palms. :(
Fortunately the pool is initialized in two stages... not perfect but sufficient for most systems. Twisting and stirring the bits should scatter entropy evenly in the pool.You're missing the point. If pi or e had good entropy, would they be a good data source ? No, they're predictable.
They are random but don't have entropy. The predictability is the difference between a random and an entrophic value.
If you start of with the same X bits each time you reboot, even if you stir them up, the result is going to be predictable.
Sure.
Afterwards hashing the pool contents, feeding back the hash value, and "folding" the hash value should be enough to stop every useful attack.No. See above. This doesn't change the predictability.
I know... but you miss the initialization stages. But this still leaves some interesting situation were key-breaking is reduced to guessing the time + some statistical tests on a cloned system to predict the internal pool state with p != 0.5 to reduce search space.
Unfortunately yes. At least for Linux I am not sure how accurate the entropy estimation really is. At least during boot it is much too optimistic.Entropy might be a measure of "randomness" but it is not a measure of predictability.
see above.
Darren
Thomas Biege -- Tom <tom () electric-sheep org> fingerprint = F055 43E5 1F3C 4F4F 9182 CD59 DBC6 111A 8516 8DBF
Current thread:
- /dev/random is probably not Charles M. Hannum (Jul 01)
- Re: /dev/random is probably not Thomas Wana (Jul 02)
- Re: /dev/random is probably not McLain Causey (Jul 04)
- Re: /dev/random is probably not Chiaki (Jul 02)
- Re: /dev/random is probably not exon (Jul 04)
- Re: /dev/random is probably not Darren Reed (Jul 05)
- Re: /dev/random is probably not devnull (Jul 06)
- Re: /dev/random is probably not Thomas (Jul 06)
- Re: /dev/random is probably not Darren Reed (Jul 06)
- Re: /dev/random is probably not Thomas (Jul 06)
- Re: /dev/random is probably not Kai Howells (Jul 08)
- Re: /dev/random is probably not Stefan Bethke (Jul 08)
- Re: /dev/random is probably not exon (Jul 04)
- Re: /dev/random is probably not Francesco Messineo (Jul 12)
- Re: /dev/random is probably not Thomas Wana (Jul 02)
- Re: /dev/random is probably not Anton Ivanov (Jul 05)
- Re: /dev/random is probably not devnull (Jul 06)