Re: /dev/random is probably not

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux