[5205] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Re: linux-ipsec: Re: TRNG, PRNG

daemon@ATHENA.MIT.EDU (Bill Stewart)
Sat Jul 24 16:55:31 1999

Date: Sat, 24 Jul 1999 11:23:54 -0600
To: linux-ipsec@clinet.fi, cryptography@c2.net
From: Bill Stewart <bill.stewart@pobox.com>
In-Reply-To: <4.1.19990722041427.00cc5710@surfcity.research.att.com>

At 05:14 AM 7/22/99 -0400, John Denker wrote:
>1) Linux /dev/urandom can be considered a PRNG with some good properties
>but two suboptimal properties:
>  1a) First it reseeds too much, and then
>  1b) it reseeds in dribs and drabs.
>That is:
>  1a') When there is entropy in the pool, it gobbles it all up before
>acting like a PRNG.  Leverage factor=1.  This causes other applications to
>stall if they need to read /dev/random.
....
>5) So let's talk about solving problem (1a).  For clarity, let's talk in
>terms of a new device /dev/vrandom.  Consider the following possible
>design:  We use code similar to the existing /dev/urandom, EXCEPT that it
>does not share its internal state with /dev/random or /dev/urandom.  The
>new device initializes its state from /dev/random or some other TRNG.  (We
>*really* want the initial state to be really random.)  For a stripped-down
>host on which TRNG bits are scarce or unavailable, this initialization is
>done "at the factory".  Thereafter it performs quantized reseeding often
>enough to fend off iterative guessing attacks but not so often as to
>deplete the TRNG.

You could help this problem by giving the randomness pool a secret key
that's typed in by the operator, and hashed in with each reseeding and
each output phase.  You'd probably have to store it in a key file as well,
since there may not be an operator keyboard at boot time,
but if you've got an extra 160 bits of information not obtained
from the physical-randomness process, it should be stronger.
The user interface could allow the superuser (or maybe everyone?)
to input a bunch of text that gets SHA1'd together with the existing key.

> 2b) Suppose the attacker briefly gets root access.  Such an attacker
>*could* do something much worse than merely reading the keyfile -- but
>might be afraid to.  Altering the system has to be done very carefully or
>it will leave fingerprints.

This is a non-problem - once the attacker gets root, you've lost
the game anyway.

				Thanks! 
					Bill
Bill Stewart, bill.stewart@pobox.com
PGP Fingerprint D454 E202 CBC8 40BF  3C85 B884 0ABE 4639


home help back first fref pref prev next nref lref last post