Oliver Deakin wrote:
Endre Stølsvik wrote:
Envision a server that's booting up.

Playing the devils advocate here, assuming that no network activity happened before our java process started, what's really random with those three "seeds"?


Oliver Deakin wrote:
I found that, although fairly simple, this produced a good variety of seeds.

On a system that's already running, it might. On a system that is starting up, there will be _no_ variety in those three variables except for the time, and that isn't really "variable" either!

Actually when I tested these values I launched the VM separately for every run, so at least for the process time (and obviously system clock) it was as if the system was starting up every time.

Not really - lots of other processes are then running, and you thus have some unpredictable elements in regard to _when you_ hit enter as opposed to which other processes are in the run queue, where they are, state, kernel threading, timeslices and pre-empting of processes, and whatnot.

How many times did you run your "reboot"?

Here's what I actually stated: Stick the JVM startup in a /etc/rc2.d/ script, WAY early in the boot sequence (in particular before the network is brought up, since that can introduce actual randomness due to latency, human intervention on other boxes in your network, name server delays, DHCP, whathaveyous), on a physical box (not running on virtualization, as that basically introduces the same problems as described as when running on an OS), sampling each of your values, and then appending them to a some log-file.

Now reboot the physical box 100 times (at least not only two). Check the values. Due to some possible randomness in regard to variation between e.g. two different clocks, or the angle of the disc in the hard disk when spinning up, or other such very limited sources of entropy, there might be more than one set of values that emerge - my point is that there might be _some_ such sets, but not plenty. Checking the actual bit patterns as opposed to decimal values also might reveal something. If you get the same value more than just once, the point is proven, I feel (obviously in comparison to how many bits of entropy you feel that you get out of these values).

This is actually very relevant in regard to a _server_, as in "web server", "application server" etc.

Endre.

Reply via email to