Hi Nelson,

Here are my thoughts on how this should work.

1) Although the option to perform cert validation (either via OCSP or CRL)
should be a user configurable option, I believe that the application should
ship with this option turned ON by default.  

2) The decision as to what mechanism the client should use to validate a
cert needs to be dictated by the CA, not the user, using the CDP and/or AIA
extension.  So instead of a ca-by-ca config as you describe, I would rather
see something like this - 
*  If there is only a CDP , then the browser should fetch the CRL. 
*  If there is only a AIA extension, then the browser should send an OCSP
request.  
*  If there is both an AIA and CDP extension, the browser must send an OCSP
request first.  If OCSP fails, then it should then fall back to using a CRL.


3) All CRL's and OCSP responses should be cached locally by the browser,
ideally the cert/crl cache would be separate from the standard web cache
(which can be flushed/turnedoff/etc)  The browser should never hit the wire
if it already has access to a "fresh" (current non-expired) CRL or OCSP
response.

Regards,

Alex





> > -----Original Message-----
> > From: Nelson B [mailto:[EMAIL PROTECTED] 
> > Sent: Monday, February 09, 2004 1:58 PM
> > To: [EMAIL PROTECTED]
> > Subject: On turning CRL and OCSP checking on by default.
> > 
> > 
> > Mozilla supports two standard ways to retrieve information from a
> > Certificate Authority (CA) concerning the revocation status of
> > a certificate issued by that CA.  That is, two ways to ask the
> > server, is this cert that you issued revoked? or is it still good?
> > 
> > The two ways are:
> > 1.  Certificate Revocation List, a signed document from the 
> > CA that lists
> >      ALL the serial numbers of ALL of the certs issued by 
> that CA that
> >      have been revoked.   This can be huge, MEGABYTES!
> > 2.  OCSP.  A protocol by which the client send the issuer name and
> >      serial number of one cert to the CA, and the CA replies 
> > with a signed
> >      message saying wether that cert (alone) is revoked or not.
> > 
> > mozilla supports both of these, but the user must takes steps 
> > to enable them.
> > OCSP is controlled by a preference.  You turn it on or off 
> > for all CAs.
> > It is off by default, IINM.
> > 
> > The user has to manually initiate the first CRL download from a CA.
> > After the first CRL has been downloaded succesfully, then 
> mozilla will
> > ask the user if he wants it to automatically fetch future 
> > CRLs from that
> > CA.  The user only needs to check the box, and click OK.
> > 
> > For clients (e.g. browsers) OCSP checking is probably 
> > preferred because
> > OCSP responses are very small, unlike CRLs which can be MEGABYTES!
> > For modem users, CRLs from the very large ISPs are not 
> > practical, because
> > they're so big.  OCSP messages are small and quick.
> > 
> > CRLs are great for servers that do client authentication, 
> > because they can
> > fetch one CRL and use it until the next CRL comes out, and do 
> > unlimited 
> > revocation checks with that one CRL. Since a given user is likely to
> > connect to the same server repeatedly, using a CRL is better 
> > than making
> > an OCSP request for every user every time the user contacts 
> > the server.
> > 
> > So, CRL fetching is turned off until the user manually fetches a CRL
> > from the CA.  CA's who want browser users to use their CRLs can
> > facilitate that by having a link on their web server to 
> > download a CRL.
> > 
> > IINM, use of CRLs in "that other browser" is controlled by a single
> > checkbox in a control panel, and is off by default.
> > 
> > OCSP is turned off by default in mozilla, because frankly, a lot of
> > home-grown CAs put out certs that claimed they did OCSP, when they
> > didn't.  So, mozilla would get one of their certs (e.g. 
> from an https
> > server), try to contact the OCSP server (and fail), and 
> then claim the
> > cert is revoked (the RIGHT THING to do in that 
> circumstance), much to
> > the browser user's dismay!
> > 
> > Now, mozilla is being criticized by people unfamiliar with 
> > these issues
> > for not enabling CRL fetching and OCSP use for all CAs by default.
> > 
> > I can think of a few things that might help this situation, 
> > and here are
> > some suggestions:
> > 
> > 1. Make it easier for users to fetch that first CRL from the CA.
> > Create a button in cert manager's CA panel that says "try to 
> > fetch CRL".
> > It would be unavailable (e.g. gray or gone) if the CA's cert doesn't
> > include an extension that says how to get the CRL.
> > 
> > 2. Make OCSP fetching be configured on a CA-by-CA basis, 
> not globally.
> > Take the global preference for OCSP out, and add an OCSP 
> check box in
> > the certificate manager in the panel of CA certs.  It would be
> > unavailable if the CA's cert doesn't have an extension that 
> identifies
> > the OCSP server.
> > 
> > These proposed changes may or may not require changes to NSS.
> > They definitely would require changes to PSM.
> > 
> > -- 
> > Nelson B
> > 
> > _______________________________________________
> > mozilla-crypto mailing list
> > [EMAIL PROTECTED]
> > http://mail.mozilla.org/listinfo/mozilla-crypto
> > 
> 
_______________________________________________
mozilla-crypto mailing list
[EMAIL PROTECTED]
http://mail.mozilla.org/listinfo/mozilla-crypto

Reply via email to