Veil and PGP keyservers
For thirty years the usual answer to finding someone’s key was a keyserver. Keyservers still do one job well, which is handing out a PGP key for an email address. They were never built to tell you who is behind your other accounts.
Written on
The SKS network#
The SKS keyservers were a pool of servers that copied every key to each other. Anyone could upload any key with any name and email address on it, and nothing was ever deleted. That openness made them easy to abuse. In 2019 attackers flooded a few well known keys with tens of thousands of junk signatures, and copies of those keys stopped working in GnuPG. The main pool closed in 2021.
The lesson from SKS was that a key with an email address written on it proves nothing about that email address. Whoever uploads a key chooses what it says.
keys.openpgp.org#
keys.openpgp.org started in 2019 and fixed the worst of it. It publishes an email address only after it has mailed a confirmation link to that address and someone clicked it. It drops signatures made by other people, which stops the flooding, and it lets you delete your address. You can look a key up by email or by fingerprint, and GnuPG and Thunderbird know how to ask it.
What it doesn’t do is everything beyond email. It has no proofs for a GitHub profile, a Discord account or a domain. It keeps no public history, so you can’t see which key an address had last year. And you trust its answer as it comes, because nothing outside the server checks what it serves.
What Veil adds#
Veil is the public directory of cryptographic identities. A card ties a person’s keys to the accounts people know them by, email among them, each with its own proof. You can find a card from a Discord ID, an email address, a domain or a Fediverse account, and your browser checks it against a public log that independent witnesses cosign. A stolen account doesn’t give the thief the keys, because they stay on the owner’s devices.
A PGP key can be one of them. You bring its public half onto your card as a public key from elsewhere and sign a short challenge with the private key, on your own computer. From then on, anyone who pastes the 40 hex digits of your fingerprint into Veil’s search lands on your card and sees which accounts confirm it.
When a keyserver is still the right tool#
If people need your key to encrypt email to you, keep it on keys.openpgp.org or in a Web Key Directory on your domain. Mail clients look there by themselves, and Veil doesn’t try to replace that. Commands like gpg --locate-keys and the automatic key lookup of Thunderbird expect a keyserver or WKD, not a card.
Publish in both places when you can. The keyserver lets software find the key for an address. The card lets a person check that the key belongs to the people who know you as that address, and as the other accounts on your card.
Questions#
Is Veil a keyserver?
No. A keyserver hands out PGP keys by email address. Veil keeps one card per person or organisation, with device keys that sign the card, accounts on several platforms and, if the owner wants, public keys from other systems such as PGP and SSH.
Can I upload someone else’s key to Veil?
No. A public key from elsewhere goes on a card only with a signature from its private key over a challenge tied to that card, so only whoever holds the private key can add it.
Can Veil encrypt email for me?
No. Veil tells you which key belongs to whom. Encrypting and decrypting stay in your mail client or in GnuPG.
What happens to my key if I close my card?
The card’s content is destroyed after a 24 hour wait. The log keeps the public keys and their roles, because a signature made earlier has to stay checkable. The privacy notice lists exactly what remains.