Full Disclosure mailing list archives

Re: OpenID/Debian PRNG/DNS Cache poisoning advisory


From: Dan Kaminsky <dan () doxpara com>
Date: Fri, 08 Aug 2008 10:43:53 -0700



Eric Rescorla wrote:
At Fri, 8 Aug 2008 17:31:15 +0100,
Dave Korn wrote:
  
Eric Rescorla wrote on 08 August 2008 16:06:

    
At Fri, 8 Aug 2008 11:50:59 +0100,
Ben Laurie wrote:
      
However, since the CRLs will almost certainly not be checked, this
means the site will still be vulnerable to attack for the lifetime of
the certificate (and perhaps beyond, depending on user
behaviour). Note that shutting down the site DOES NOT prevent the attack.

Therefore mitigation falls to other parties.

1. Browsers must check CRLs by default.
        
Isn't this a good argument for blacklisting the keys on the client
side?
      
  Isn't that exactly what "Browsers must check CRLs" means in this context
anyway?  What alternative client-side blacklisting mechanism do you suggest?
    

It's easy to compute all the public keys that will be generated
by the broken PRNG. The clients could embed that list and refuse
to accept any certificate containing one of them. So, this
is distinct from CRLs in that it doesn't require knowing 
which servers have which cert...
Funnily enough I was just working on this -- and found that we'd end up 
adding a couple megabytes to every browser.  #DEFINE NONSTARTER.  I am 
curious about the feasibility of a large bloom filter that fails back to 
online checking though.  This has side effects but perhaps they can be 
made statistically very unlikely, without blowing out the size of a browser.

Updating the filter could then be something we do on a 24 hour 
autoupdate basis.  Doing either this, or doing revocation checking over 
DNS (seriously), is not necessarily a bad idea.  We need to do better 
than we've been.

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


Current thread: