[meta] Implement a CRLite based revocation mechanism
Categories
(Core :: Security: PSM, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
relnote-firefox | --- | 135+ |
People
(Reporter: mgoodwin, Unassigned)
References
(Depends on 5 open bugs, Blocks 1 open bug)
Details
(Keywords: meta, Whiteboard: [psm-tracking])
![]() |
||
Updated•8 years ago
|
Updated•8 years ago
|
Reporter | ||
Updated•8 years ago
|
Reporter | ||
Updated•8 years ago
|
Updated•7 years ago
|
Updated•6 years ago
|
![]() |
||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 4•6 years ago
|
||
Making this depend on ship-rkv meta instead of multiple individual bugs.
Updated•6 years ago
|
Updated•5 years ago
|
Updated•4 years ago
|
Updated•3 years ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 5•7 months ago
|
||
Release Note Request (optional, but appreciated)
[Why is this notable]: CRLite is a state-of-the-art certificate revocation checking mechanism that will have a positive impact on the security, privacy, and performance of Firefox.
[Affects Firefox for Android]: no
[Suggested wording]: We are gradually rolling out the CRLite certificate revocation checking mechanism.
[Links (documentation, blog post, etc)]:
https://blog.mozilla.org/security/2020/01/09/crlite-part-1-all-web-pki-revocations-compressed/
Updated•7 months ago
|
Comment 6•3 months ago
|
||
Hello,
as Let's Encrypt no longer provides OCSP for new certificates, revoked LE certificates are accepted in current Firefox stable versions on both Desktop and Android:
https://crltest1.ltri.eu
https://crt.sh/?id=18272771084
I was under the impression that CRLite would be enforced starting FF 137, however it looks like the default in FF 138 stable is still security.pki.crlite_mode = 3
, which is unable to detect revoked certificates without OCSP.
Is there a timeline for defaulting crlite_mode to 2 in stable?
Thanks
Comment 7•3 months ago
|
||
Is there a timeline for defaulting crlite_mode to 2 in stable?
I don't have an exact timeline, but the answer is "soon".
For what it's worth, CRLite results are already enforced (even with security.pki.crlite_mode = 3
) for certificates that have no OCSP information in the AIA extension (https://searchfox.org/mozilla-central/rev/3a5ab81ad35fa4ab14ae75bf7549c8996ca49008/security/certverifier/NSSCertDBTrustDomain.cpp#812-818). CRLite results are also enforced when the OCSP server is not responsive. So CRLite will be enforced for new LE certificates before we change the value of security.pki.crlite_mode
.
Comment 8•3 months ago
|
||
That would be great, but I'm not seeing that at all.
To be clear, LE certificates issued on May 7th and later do NOT have OCSP in AIA.
https://crltest1.ltri.eu does NOT have OCSP in AIA, was revoked on May 7th - 9 days ago - and is not rejected in a fresh Firefox profile on FF 138.0.3 on Windows and Android.
Steps:
-
Install Firefox 138.0.3
-
Start for the first time in a fresh profile
-
wait for 5 minutes for any crl downloads
-
access https://crltest1.ltri.eu should be rejected but is not
-
Close Firefox.
-
Check task mgr for lingering Firefox instances
-
Start Firefox again
-
Wait for 5 minutes again
-
access https://crltest1.ltri.eu should be rejected but is still not
-
Repeating steps 5 - 9 again in case it needs 3 starts to trigger: certificate is still not rejected
Actually while I am sure I was able to get Firefox to reject this domain 9 hours ago when setting crlite_mode = 2, now I'm no longer able to get the certificate rejected at all, not even when setting crlite_mode = 2.
I'm genuinely confused.
Comment 9•3 months ago
|
||
CRLite artifacts are downloaded to <profile dir>/security_state
. If the artifacts were downloaded successfully, you'll see several *.filter.delta
files and one crlite.filter
file in that directory. In my tests, access to https://crltest1.ltri.eu is blocked with crlite_mode = 2 and crlite_mode = 3 when CRLite artifacts are present in the profile directory. So my best guess is that artifacts simply were not downloaded in your tests.
Polling for new artifacts currently happens on an idle timer, so 5 minutes may not be sufficient (especially if you are browsing during those 5 minutes). If you install the remote settings devtools extension you can force an update to the security_state/cert-revocations
collection to ensure that you have fresh artifacts.
Comment 10•3 months ago
|
||
Hello,
I can confirm now that when security_state
is populated in Firefox 138, the certificate is rejected in the default setting, which is the behavior I wanted to see, thank you.
However on Firefox ESR (v128) this still does not appear to work, despite bug 1773371 being solved in v103 3 years ago? <profile dir>/security_state
only contains data.safe.bin
so perhaps it's expected that ESR does not have working crlite?
Does this mean that Firefox ESR users will only be covered with the automatic upgrade to v140.3 mid September?
What is the situation with Thunderbird for StartTLS and SSL/TLS connections to IMAP/POP3/SMTP connections? security_state
appears to remain empty even on Thunderbird 138 (did not try Thunderbid ESR 128).
Also I cannot get Firefox Mobile (Android) to reject the certificate yet.
Is crlite currently only supposed to work in Firefox stable, excluding ESR versions, Thunderbird and Firefox mobile?
Thank you!
Description
•