Let's Encrypt's performance is currently degraded due to a DDoS attack
This is a very morbid thought, but I wonder if the people who run LE ever travel via the same means. If somebody took them out all at once, would the web&#x27;s security essentially crumble? This is the danger of centralized services, but moreso the crap design of web PKI.<p>All &quot;usable&quot; HTTPS depends on certs, right? And &quot;usable&quot; certs require a domain, right? And that cert for that domain needs to have been generated by a CA, right? But it&#x27;s tied to a domain, and IP space. You have to prove to a CA that you both control a domain record and some IP space it points to. Nobody has designed anything to straightforwardly prove that in an unhackable way. We have shitty hacks, like &quot;serve this unique file on this web server that this domain record is pointing to&quot;, or &quot;answer an e-mail on one of 20 addresses at this domain&quot;, etc.<p>But none of those address what we <i>actually want to do</i>, which is just to prove that we own&#x2F;control a domain record. That&#x27;s the only meaningful thing in having a cert: proving that you actually own the domain record this cert is assigned to. And we have no actual way to do this. Literally the only way to prove definitively that you own a domain is to talk to the registrar, and the only way to prove that you control a domain record is to talk to the nameserver that the registrar is pointing to. The former we don&#x27;t handle <i>at all</i>, and the latter is highly susceptible to various attacks.<p>You could remove the reliance on CAs entirely with a different model. You tie a private key to domain ownership, and a private key to a domain record. Then you only have to trust registrars&#x27; keys&#x2F;certs, and you can walk backward along a cryptographically-signed web of trust. Your browser trusts the registrar&#x27;s key X. The registrar signs your domain key Y. The domain key Y signs a domain record key Z. Your web server generates a cert using domain key Z.<p>For a client to verify the web server cert, they verify it was created by key Z, and verify that key Z was signed by key Y, and that key Y was signed by key X. Then any webserver can generate its own cert for any domain record, we don&#x27;t need CAs to generate certs, and we have a solid web of trust that goes back to the actual owner of the domain, but also allows split trust via the domain owner assigning keys to domain records.