Bugtraq mailing list archives

Re: /dev/random is probably not


From: Darren Reed <avalon () caligula anu edu au>
Date: Wed, 6 Jul 2005 17:14:34 +1000 (Australia/ACT)

In some mail from Thomas, sie said:

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.

Just how good is the pool of random data going to be after powering on
your Linux based embedded VPN access device?

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.

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.

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.

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.

Darren


Current thread: