This is a great question. If we don't have CAs, how do we know if it OK to trust a cert?
Are there any reasonable alternatives to CAs in a modern world? I have never heard any good proposals.
This is a great question. If we don't have CAs, how do we know if it OK to trust a cert?
Are there any reasonable alternatives to CAs in a modern world? I have never heard any good proposals.
There are some alternatives.
Certificate pinning is probably the most widely known way to get a certificate out there without relying on live PKI. However, certificate pinning just shifts the burden of trust from runtime to install time, and puts an expiration date on every build of the program. It also doesn't work for any software that is meant to access more than a small handful of pre-determined sites.
Web-of-trust is a theoretical possibility, and is used for PGP-signed e-mail, but it's also a total mess that doesn't scale. Heck, the best way to check the PGP keys for a lot of signed mail is to go to an HTTPS website and thus rely on the CAs.
DNSSEC could be the basis for a CA-free world, but it hasn't achieved wide use. Also, if used in this way, it would just shift the burden of trust from CAs to DNS operators, and I'm not sure people really like those much better.