> PGP absolutely got this part right
Lol no.
There is no mechanism to invalidate keys by the domain owner, while it uses email as one of the core identifiers.
I purchased a cool domain, which had PGP users who published their keys to various key servers.
Their keys have no expiration, while I'm in control of the domain...
PGP was good, 30 years ago. But technology has evolved, along with the understanding of the problem.
I made a reply about SSHFP records (https://news.ycombinator.com/item?id=29212552), to push server keys in the DNS: that + DNSSEC means you remove the problem of initial trust (deciding to add a server to your known_host on the first connections)
Now imagine if something like MX records could also contain SSH keys for the mail users: you'd solve the problem of mail encryption on a global level.
People who want to send me encrypted mail could ask my server for my key, DNSSEC would prevent tempering with that, and if I lose access to the domain, there would be no issue with stale keys from old PGP directories.
As for scalability issues, DNS is perfectly done (with caching, etc) to handle that easily.
Like you, I could say "SSH got this part right" - but no. Again, technology has evolved.
The "only" problem would be correlation attacks, and I think that's a big one, in the age of surveillance.
Ideally, we'd have something like bitcoin key-derivation from a seed key, where you'd have:
- a key you publish to receive encrypted email,
- derived public keys, one per server, so that you do not risk correlation attacks
This is a great article, because it looks at the ubiquity of SSH keys, and how the technology is better than PGP keys, to advance the problem - say by signing git commits and tags.
I hope we'll also use the advances from other technologies.