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

Reply via email to