Thread (68 messages) 68 messages, 19 authors, 2008-05-30

Re: [PATCH] drivers/net: remove network drivers' last few uses of IRQF_SAMPLE_RANDOM

From: Jeff Garzik <hidden>
Date: 2008-05-16 14:28:06
Also in: lkml

Will Newton wrote:
On Fri, May 16, 2008 at 2:40 PM, Jeff Garzik [off-list ref] wrote:
quoted
Lennart Sorensen wrote:
quoted
On Thu, May 15, 2008 at 03:21:49PM -0400, Jeff Garzik wrote:
quoted
"no other form of entropy"?   See examples in this thread.
So where does one get entropy if not the ethernet adapter on many
embedded systems?  If you have no mouse, no keyboard, no hardware number
generator, just ethernet ports and a serial console that usually
receives no input.  While ethernet might not be preferable if you have
something else, sometimes you really don't have anything else.
Already answered in this thread...  EGD illustrates how many sources of
entropy remain, even in the example you just gave.

Further, you do not want to rely on entropy from a source that declines just
as network traffic increases.
I don't know egd that well, but from a cursory look it gets data from
such things as w or last (wtmp) which is static on most embedded
boxes.
Inevitably some of the local-machine entropy sources will be static or 
externally influenced.  That's the whole point of using several.  If 
using one source was sufficient... we would just use that one and be 
done with it.  :)

The questions to ask are

* is this collective snapshot of local machine state sufficiently unique?

* is this local-machine state externally controllable within realistic 
orders of complexity?

It also uses netstat and snmp - surely this is at least as easy
to manipulate as interrupt timings?
netstat reflects local machine state of all sockets, including local 
ones, and including local details like tcp in-q and out-q.  snmp can 
query MIBs such as ethernet wire stats, gaining entropy from 
pause/collision/etc. frame statistics.

A set of mitigated network interrupt events is far, far more predictable 
and controllable than the collective state of a machine's network 
sockets, or the electrical state of the ethernet LAN link.

For network-interrupt randomness to be subverted in some cases, one 
might need only to increase overall network traffic to a certain level.

	Jeff

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help