>>>>> "Arnold" == Arnold G Reinhold <[EMAIL PROTECTED]> writes:

 Arnold> I have found this discussion very stimulating and
 Arnold> enlightening. I'd like to make a couple of comments:

 Arnold> 1. Mr. Kelsey's argument that entropy should only be added in
 Arnold> large quanta is compelling, but I wonder if it goes far
 Arnold> enough. I would argue that entropy collected from different
 Arnold> sources (disk, network, sound card, user input, etc.) should
 Arnold> be collected in separate pools, with each pool taped only
 Arnold> when enough entropy has been collected in that pool.

 Arnold> Mixing sources gives an attacker added opportunities. For
 Arnold> example, say entropy is being mixed from disk accesses and
 Arnold> from network activity. An attacker could flood his target
 Arnold> with network packets he controlled, insuring that there would
 Arnold> be few disk entropy deposits in any given quanta release. On
 Arnold> the other hand, if the entropy were collected separately,
 Arnold> disk activity entropy would completely rekey the PRNG
 Arnold> whenever enough accumulated, regardless of network
 Arnold> manipulation.  Similarly, in a system with a hardware entropy
 Arnold> source, adding disk entropy in a mixing mode would serve
 Arnold> little purpose, but if the pools were kept separate, disk
 Arnold> entropy would be a valuable backup in case the hardware
 Arnold> source failed or were compromised.

I think this makes sense only if the "entropy source" under
consideration isn't actually any good.  If if is reasonably sound (and 
in particular, its entropy amount estimated conservatively) then there 
isn't a problem.  For example, if an attacker floods with network
messages, and you use network timing as an entropy source, the design
job was to pick a conservative lower bound of entropy per arrival
given that the arrivals may all be controlled by an attacker.  If
you've done that, then the attack doesn't hurt.

 Arnold> 2. It seems clear that the best solution combines strong
 Arnold> crypto primitives with entropy collection. I wonder how much
 Arnold> of the resistance expressed in this thread by has to do with
 Arnold> concerns about performance. For this reason, I think RC4
 Arnold> deserves further consideration. It is very fast and has a
 Arnold> natural entropy pool built in. With some care, I believe RC4
 Arnold> can be used in such a way that attacks on the PRNG can be
 Arnold> equated to an attacks on RC4 as a cipher.  The cryproanalytic
 Arnold> significance of RC4's imperfect whiteness is questionable and
 Arnold> can be addressed in a number of ways, if needed.  I have some
 Arnold> thoughts on a fairly simple and efficient multi-pool PRNG
 Arnold> design based on RC4, if anyone is interested.

Well, yes, but /dev/{u,}random already does use strong crypto (a
strong cryptographic hash, to be precise).  I expect RC4 could do the
job but is there any reason to replace what's there now (MD5 and
SHA-1) with RC4 or anything else?

 Arnold> 3. With regard to diskless nodes, I suggest that the
 Arnold> cryptographic community should push back by saying that some
 Arnold> entropy source is a requirement and come up with a
 Arnold> specification (minimum bit rate, maximum acceptable color,
 Arnold> testability, open design, etc.). An entropy source spec would
 Arnold> reward Intel for doing the right thing and encourage other
 Arnold> processor manufacturers to follow their lead.

Obviously an entropy source is required, but I'm not prepared to
translate that into a requirement for dedicated hardware.  I still
believe (based on experiments -- though not on PC hardware) that
network arrival timing done with low order bits from a CPU cycle
counter supply non-zero entropy.

 Arnold> A hardware RNG can also be added at the board level. This
 Arnold> takes careful engineering, but is not that expensive. The
 Arnold> review of the Pentium III RNG on www.cryptography.com seems
 Arnold> to imply that Intel is only claiming patent protection on its
 Arnold> whitening circuit, which is superfluous, if not harmful. If
 Arnold> so, their RNG design could be copied.

There are probably plenty of designs; at the block diagram level they
are pretty simple and pretty obvious.  The devil is in the details.

By the way, various crypto accelerator chips now come with an RNG
built-in.  Some may be subject to export control, which would make
them unuseable in a Linux contents, but perhaps not all of them.

        paul

Reply via email to