On sab, apr 26, 2014 at 09:05:25 +0200, Vincent Lefevre wrote:
> On 2014-04-25 21:52:38 +0200, Alessandro Ghedini wrote:
> > or 2) curl dowloads such list from the internet every time it opens
> > an HTTPS connection.
> 
> not every time. It doesn't really make sense to download a list
> again after a few seconds. There could be some "expire" setting of
> a downloaded list (IMHO, the order of magnitude would be the day).
> The user should also have the possibility to force a download
> (like he can force a reload of a cached page).

curl is not a browser and it doesn't have a cache, so it would need to be
configured to save the CRLs somewhere. Picking a default for this kind of thing
is hard, because people use curl in the weirdest ways (and they will complain).
Also, what about libcurl users?

OCSP is better from this point of view, because it doesn't need anything to be
saved locally, but it still poses other problems (privacy, performance, ...).

FWIW, I think that firefox, as of v28, doesn't use CRLs anymore and only does
OCSP (and not even for all certificates) [0].

> > The "ca-crls" package would need someone to make it and keep it
> > updated daily to be of any use, and downloading random stuff from
> > internet for each connection doesn't sound too good either.
> 
> Even if it's not daily and if downloading a CRL is not done for each
> connection, it could be quite good. And if done in combination with
> another method such as OSCP / OCSP stapling, it would be even better.

Well, CRLs have an "expire date" (or "Next Update" date), which I think clients
are supposed to check that it's not in the past, and some (most?) CAs set it to
be after about a day after the date in which the CRL was last updated. If the
local CRL is not updated accordingly, the clients would always fail. The update
would also be needed for stable releases, which is a huge PITA on its own.

> > > or some other alternate method like Firefox.
> > 
> > If you mean OCSP, most browsers don't even bother using that by
> > default, not in a way that would make the user safe anyway [1]. The
> > alternative (OCSP stapling) is probably not supported by enough
> > servers to be useful (but I may be wrong).
> 
> Well, at least Iceweasel (which uses something based on OCSP) works
> on the example I've given.

The problems really start when the client is not able to contact the OCSP server
(as explained in the blog post I linked, browsers usually just ignore those
failures and proceed like everything is ok).

TL;DR: let's do OCSP instead of downloading CRLs. It would still need someone to
actually write the code though (ideally for all OpenSSL, GnuTLS and NSS).

[0] 
https://groups.google.com/forum/#!topic/mozilla.dev.security.policy/85MV81ch2Zo

Attachment: signature.asc
Description: Digital signature

Reply via email to