> -----Original Message-----
> From: Dan Brown (me)
> Sent: Tuesday, March 11, 2014 3:48 PM
> 
> The ANSI/NIST standards already require seeding with entropy equal to the
> security level before generating any outputs: i.e. your setup state A (minus 
> the
> high-cost hash functions).  Also, aren't some linux RNGs blocking, isn't that 
> a
> similar idea.  Maybe I should read the blog.
> 

Now I've actually read Bernstein's blog entry that you previously cited. It is 
well-written and raises some important and interesting issues. 

One of the blog entry's arguments is an instance of something more general: 
measures addressing one esoteric security feature (in this case, prediction 
resistance measures) may undermine another esoteric security feature (in this 
case, resistance to malicious seed sources).  In particular, it raises the 
questions of appropriateness of security definitions.  I may elaborate on 
security definitions in a separate email (perhaps after reviewing previous 
emails on the archive of this list). Meanwhile, here are a few small thoughts 
regarding blog entry:

First, as I understand the ANSI/NIST specs, the entropy source is presumed to 
be within the same security boundary as the whole RBG, i.e. free from 
observation or influence.  Maybe that is not too realistic in complex systems.  
Anyway, that is how they "solve" (or wave away) the problem of a malicious 
entropy (seed) source, which is a different approach than DJB's blog proposal.  
The blog entry's example about (EC)DSA is illustrative: the sensitivity of the 
long-term key private key to the ephemeral private key requires the ephemeral 
to be entirely within the same security boundary as the static private key.  
Deterministic (EC)DSA is one way to do this without a live entropy source in 
the security boundary.  Arguably the ANSI/NIST spec for ECDSA can implicitly 
used in such a way: and an I-D or RFC explicitly describes one such way.

Second, the main situation that (at least) I have in mind where prediction 
resistance (i.e. RNG state compromise recovery) may be useful is if a device 
with a running RNG switches hands.  This switchover could occur at manufacture, 
at retail, at repair, at charging kiosk, or at an software 
installation/removal.  A state compromise might occur prior to the this 
switchover.  Are any of these realistic threats, or not?  Perhaps expert 
developers have such perfect control of their systems that they do not need 
such prediction resistance, and are more worried about a continuous persistent 
threat co-existing on the system.  

Third, the blog entry describes an adversary with two powers: effective RNG 
state compromise (by knowing x and y) and entropy source control.  If this is a 
realistic adversary, then this seems to suggest that RNG state compromise is a 
also realistic threat (going back to the second point).  Is the idea here that 
intermediate RNG state compromise only (but no entropy source control) 
adversary is no more realistic that this two-power adversary?

Fourth, I think the "conventional wisdom" alluded to in the blog entry is not 
correctly represented.  The conventional wisdom would be merely this: if x and 
y are secret, then  H(x,y,z) ought to be pretty good even if z is chosen 
maliciously, i.e. by an adversary that does not know x and y.  I think the blog 
entry is pointing out, correctly that the adversary may have two parts: an 
embedded malware that knows x and y, and an external adversary that only 
observes network communications, but has no idea of x and y. Perhaps the 
conventional wisdom ignores this latter split adversary.





_______________________________________________
dsfjdssdfsd mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dsfjdssdfsd

Reply via email to