Surveillance Advantages of Short Lifetime Certificates

I’ll just list a couple of points in random order that hopefully establish how unlikely this is.

  • Once Let’s Encrypt gets delivered primarily through distribution repositories, updates will be reviewed and signed like all the other software packages you install. Unless you manually review every update you receive, you already implicitly trust the maintainers of your distribution. If you assume maintainers are compromised, $GOVERNMENT_AGENCY won’t need letsencrypt to compromise your system - there’s plenty of other software running as root (and not just every 60 days) they could target.
    So, basically, this would only work until mainstream distros include letsencrypt. Sounds like a lot of effort for little gain from the POV of a government agency.
  • If you wanted to force people to run some specific code to get free certificates (in order to be able to compromise them), establishing a standardized protocol, for which multiple client implementations exist, and which can be implemented on your own in a few hundred lines of easily-reviewable code sounds like a terrible idea.
  • If you think you’re the target of the kind of targeted surveillance you’re describing here, you most certainly should not be running any code related to certificate renewal on the same host you run other critical services from. ACME doesn’t force you to do that.
  • There’s no guarantee that the official client will be what most people end up using. It’s just as likely that we will see most hosters and software vendors implement ACME clients inside of their software - it’s not rocket science. This is even more true for the kind of targets that face adversaries capable of delivering backdoors through letsencrypt updates. Once again, it sounds like a lot of effort with no guarantee that any of your targets will be vulnerable.

In other news, I can’t believe this is a topic of discussion. I’m all for being as paranoid as possible w.r.t. surveillance, but I just can’t make the jump from “I don’t like short certificate lifetimes” to “Let’s Encrypt is a NSA sock puppet trying to plant backdoors”.

(OT: This made me think about whether we need something like Certificate Transparency for package managers. Currently, you fully trust any package that’s been signed by the maintainers of your distribution. In a targeted attack, with a compromised maintainer key, you probably wouldn’t notice malicious updates. At least that’s how I believe the system currently works. With something like CT logs for packages you could require that such updates would have to be submitted to public append-only logs in order to be trusted. That way, targeted attacks are too messy to be a viable option.)

8 Likes