July 23rd, 2024

Intent to End OCSP Service

Let's Encrypt will discontinue OCSP in favor of CRLs to enhance privacy. This change won't affect website visitors but may impact non-browser software. Users relying on OCSP are advised to prepare for the transition.

Read original articleLink Icon
ConcernConfusionAppreciation
Intent to End OCSP Service

Let's Encrypt has announced its intention to discontinue the Online Certificate Status Protocol (OCSP) service in favor of Certificate Revocation Lists (CRLs) due to the latter's advantages. This change will not impact website visitors but may affect some non-browser software. The decision aims to enhance privacy on the internet by avoiding the immediate awareness of visited websites by Certificate Authorities (CAs) through OCSP. Let's Encrypt plans to end OCSP support to simplify its CA infrastructure, ensuring compliance, reliability, and efficiency. The move aligns with the CA/Browser Forum's decision to make OCSP services optional for trusted CAs. Let's Encrypt intends to provide a specific timeline for shutting down OCSP services once Microsoft Root Program also makes OCSP optional. Users relying on OCSP services are advised to prepare for this transition. Let's Encrypt, operated by the Internet Security Research Group (ISRG), encourages support through donations or sponsorship to promote a more secure and privacy-respecting web.

AI: What people are saying
The comments reflect a mix of concerns and insights regarding Let's Encrypt's transition from OCSP to CRLs.
  • Many users express confusion about the implications of this change for non-browser applications and the potential for slower revocation checks.
  • There are calls for better support and standards for CRLs, with some suggesting alternatives like OCSP stapling or binary formats for CRLs.
  • Users highlight the importance of privacy in certificate status checking and express disappointment over the perceived drawbacks of relying solely on CRLs.
  • Some commenters seek clarification on how this change affects their specific setups, particularly with popular web servers like Nginx and Caddy.
  • Overall, there is a sentiment of frustration regarding the complexity of the transition and its impact on certificate management.
Link Icon 19 comments
By @agwa - 6 months
After I created OCSP Watch[1], I regularly detected CAs returning an OCSP response of unknown or unauthorized for certificates found in CT logs, indicating that they had basically forgotten that they had issued a certificate. I find that rather troubling. Indeed, OCSP Watch is currently reporting several forgotten NETLOCK certificates. (The certificates from other CAs are recently issued and will probably have OCSP responses provisioned in the near future.)

CRLs can't be used to detect this, because they only list revoked certificates rather than providing a definitive status for every issued certificate.

I do wish the root programs had merely removed the requirement to include an OCSP URL in certificates, but required OCSP URLs for every issuer to be disclosed in the CCADB. That would have solved the privacy problems and made OCSP responders much cheaper to operate, while continuing to provide transparency into the status of certificates.

[1] https://sslmate.com/labs/ocsp_watch/

By @hlieberman - 6 months
Why not simply add the Must Staple restriction unconditionally to all certificates (aka "status_request")?

That will eliminate privacy concerns -- no compliant TLS implementation should fetch a OCSP ticket given a stapled response -- while still allowing for broad non-browser support.

By @jrochkind1 - 6 months
letsencrypt is the nonprofit community-focused infrastruture that we imagined the internet would consist of 20 years ago. I love you letsencrypt.
By @datadrivenangel - 6 months
"As soon as the Microsoft Root Program also makes OCSP optional, which we are optimistic will happen within the next six to twelve months, Let’s Encrypt intends to announce a specific and rapid timeline for shutting down our OCSP services. We hope to serve our last OCSP response between three and six months after that announcement. The best way to stay apprised of updates on these plans is to subscribe to our API Announcements category on Discourse."

Interesting to see Microsoft dragging here.

By @klysm - 6 months
Certificate management is an interesting problem along the intersection of human behavior and computer science that feels similar to BGP. In theory, it's simple, but when met with reality things get messy really really fast.
By @kroeckx - 6 months
For the major browsers, this probably makes little difference, but for anything else, this will most likely result in not verifying the revocation status of certificates anymore or making things slower.

As far as I know, most browser vendors already download the CRLs, and then update the browsers based on what they downloaded. For instance firefox seems to be using CRLite. There is a lack of support for something like that in the non-major browsers and non-browsers. The alternative they have is to download the CRL instead of the OCSP reply, which is larger, probably making things slower. Or they could just not check the status, which is most likely what will happen.

CRLite changes the failure mode of the status check, it no longer just ignores error in downloading the status information.

We need better support for something like CRLite.

By @codegeek - 6 months
Can someone ELI5 what does this mean for people using LetsEncrypt today with servers like Nginx or Caddy ? Do we need to make any changes to adjust ?
By @c0balt - 6 months
Interesting, how does the support for CRLs in web servers look?

Afaik, NGINX and Apache only have OCSP stapling support.

By @remram - 6 months
So if I'm not using Chrome or Firefox, how do I check for revoked certificates? This just makes the web less open again.
By @trillic - 6 months
Are there any free or very inexpensive certificate providers which support ACME, DNS-01 challenges, and OCSP other than ZeroSSL?
By @notepad0x90 - 6 months
CRLs don't scale, that's their problem and they take too long to update.

Why isn't there a standard binary format for CRLs that is a cuckoo filter or a similar data structure? That way you don't have to worry about a CRL ballooning to gigabytes and you can expect clients to fetch the latest binary blob frequently.

By @new23d - 6 months
We collected some data [1] on the viability of only CRLs as the future (phasing out OCSP) - motivated by Let's Encrypt's announcement today [2].

Data is on CRL availability, number of entries, expiry & refresh times, etc. from various x509 leaf server SSL certificates.

[1] https://news.ycombinator.com/item?id=41058138 [2] https://news.ycombinator.com/item?id=41046956

By @arsome - 6 months
Disappointing to hear considering the limitations of CRLs - is there any intention to go forward with OCSP stapling or is that completely abandoned at this point?
By @Sohcahtoa82 - 6 months
I'm curious how much of a factor this is. How often do certificates get revoked before expiration? I would think the only reason to revoke a certificate is if it was compromised.
By @7bit - 6 months
Have we gone full circle?

Wasn't the point of OCSP to provide a low-latency and low-data alternative to CRLs, which might become massively huge?

By @newman314 - 6 months
Does anyone have a ready to go hosts blocklist for OCSP hostnames? Else, I could make one...
By @eqvinox - 6 months
I… er… what?

First of all, privacy was one of the points of OCSP stapling.

Second, this breaks all non-http applications in the sense that they could previously work through OCSP stapling which would be communicated in-line. CRLs need to be fetched by the client, generally over HTTP.

Third, most non-browser TLS clients simply do not fetch CRLs, the implementation hurdle was too high.

… I'm left seriously befuddled by this decision by Let's Encrypt [edit: or rather the CA/B forum] :(

By @eduction - 6 months
It would be nice if one didn't need to be a TLS expert to understand the post -- particularly since the whole point of Let's Encrypt was to democratize TLS access.

I have no idea if this means my setup will break even after consulting the docs of my ACME client.

Can I still use ACME Tiny[1] with nginx? Any reason to think that will break? How can I tell if I'm using OCSP or CRL?

Totally incomprehensible blog post.

[1] https://github.com/diafygi/acme-tiny