keybase / keybase/keybase-issues
Add support for fetching keys and performing proofs via PKA (DNS-based key lookups)
- Dominant language
- No language data
- Stars
- 899
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
PKA is based on TXT records that look like this:
`pavel._pka.kirkovsky.com`
and map to key emails (the `@` symbol is replaced with `_pka`). The record itself contains the key's primary email, key fingerprint, and URL pointing to the full key.
Manually checking the record shows the following:
```
$ dig +short pavel._pka.kirkovsky.com TXT
"v=pka1\;fpr=4328CFD67B46A8FB32270F4F0CE4A0B83F3FC81F\;uri=https://kirkovsky.com/pavel@kirkovsky.com.asc"`
```
Using PKA, keys can be fetched via DNS and imported automatically:
```
$ echo "Secret message" | gpg --auto-key-locate pka -ear pavel@kirkovsky.com
gpg: requesting key 0x0CE4A0B83F3FC81F from https server kirkovsky.com
[...]
gpg: automatically retrieved `pavel@kirkovsky.com' via PKA
-----BEGIN PGP MESSAGE-----
[...]
```
If Keybase supported PKA, it could take care of public key import, email verification, DNS verification, and (possibly) web verification in one go. This method is complemented nicely by DNSSEC.
References:
http://www.gushi.org/make-dns-cert/HOWTO.html
https://www.df7cb.de/blog/2007/openpgp-dns.html
https://keyserver.mattrude.com/guides/public-key-association/
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the PKA and OpenPGP DNS references linked in the issue, then identify the keybase client components responsible for key import, email verification, and DNS verification. Done would mean a defined implementation for reading PKA TXT records, fetching the referenced key, and performing the proposed proofs; no files or tests are named.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, networking, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100