How to setup your own WKD server
shibumi.dev
shibumi.dev
It seems like the alternative is delegating control of your identity to a central authority, which greatly increases the risk of compromise of many users all at once.
Perhaps there's a third option I'm not considering.
The “government controlled PKI” criticism ignores the fact that traditional TLDs are a government controlled naming system. This is much worse than a government controlled PKI…
The only way to escape governmental control is to use overlay networks, like Tor, and non-traditional TLDs, such as .bit and .p2p. But even if you choose a domain with a TLD that isn’t controlled by a government, you still need DNSSEC to securely delegate to a nameserver and to communicate application level cryptographic information.
Don’t get it twisted.
Nobody suggested protecting end-user PGP keys with DNSSEC.
Because DNSSEC ensures the integrity of DNS records, a user that publishes their public key in the DNS using a CERT or PKA record (both defined in RFC 4398) or uses an OPENPGPKEY record as defined in RFC 7929, can be sure anyone who uses a DNSSEC-aware resolver (Google's 8.8.8.8, Cloudflare’s 1.1.1.1, Quad9’s 9.9.9.9) can confirm the integrity of these records.
Exporting public keys to be published in the DNS has been supported by GnuPG for at least 10 years.
Without DNSSEC, there’s no way to ensure the DNS records haven’t been tampered with. That seems particularly important for public keys.
RFC 4398: https://www.rfc-editor.org/info/rfc4398
RFC 7929: https://www.rfc-editor.org/info/rfc7929
Even if you believed DNSSEC is a good system --- nobody should; it's bad, and moribund --- a secure messaging system with end-user keys anchored in DNSSEC-protected records would be an incompetent design, on its face, simply due to the basic core architecture of the DNS and DNSSEC.
But it’s certainly easy enough for GnuPG to check the DNS flags to verify the resolver has validated the DNSSEC signatures, therefore authenticating the openpgp record for its use, which is the point.
This is how DANE records work; SSH doesn’t validate DNSSEC signatures either but that doesn’t stop it from using SSHFP records in the DNS when they’ve been signed.
As for the trope of DNSSEC being a government controlled PKI, I can’t help you with that.
The beauty of DNSSEC is its flexibility. For the paranoid, a zone operator using DNSSEC only has to trust themselves and nobody else by creating their own trust anchor.
And of course, I control they keys and when they rollover, etc.
But even under normal conditions, where you trust the root key and the chain of trust from it, nobody—not even the government—is going to break my ECC keys before they get rolled over.
So there’s that.
Also, I'm not sure if I get the "public ledger" part as WKD I just your own HTTPS server. It doesn't have anything in common with keyservers.