keybase / keybase/keybase-issues

Allow storying and using private subkeys only

Open
#3,581 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

I just started keybase and think the concept is great! I really see the practical point of storing an encrypted copy of a private key on the keybase servers, but since your trust model is that I shouldn't have to trust you, I don't want you to have my private master key.

Normally I keep my private master key in one location so that it can't get out. I then make one encryption subkey which I have a copy of on all devices I need decrypting stuff on. I then make one signing subkey for each computer I use, so that I have one for every computer I want to sign things from.

I would happily share one unique private signing subkey (that I don't have a copy of) and one encrypted copy of the only private encryption subkey that I use. I see no reason for Keybase to have any other private keys. This way I can use the Keybase Web UI if I need to, without having to trust the Keybase servers with more than neccecary.

GPG has support only some subkeys (using --export-secret-subkeys), but when I import the secret keys to Keybase:

micke@Wrynn ~> gpg --list-secret-keys --keyid-format LONG
/home/micke/.gnupg/pubring.kbx
------------------------------
sec   rsa2048/7F64B7A3F7F6819E 2019-09-23 [SC] [expires: 2020-09-22]
      C7080729DBD75119A53D18AC7F64B7A3F7F6819E
uid                 [ultimate] ...
ssb   rsa2048/8C2E7E549E8D2F47 2019-09-23 [E] [expires: 2020-09-22]
ssb#  rsa2048/196E3739541A70DB 2019-09-24 [S]
ssb   rsa2048/08CDB33FC558C24E 2019-09-24 [S] [expires: 2021-09-23]

micke@Wrynn ~> gpg -a --export-secret-subkeys 8C2E7E549E8D2F47! 08CDB33FC558C24E!
-----BEGIN PGP PRIVATE KEY BLOCK-----
...
...
-----END PGP PRIVATE KEY BLOCK-----

I get: "Error: Key was locked, but no passphrase given"

Using PGP securely is hard, I think it would be a great feature if Keybase could have better support for subkeys. The fact that people store private master keys in the cloud really makes me trust them less.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files, tests, or entry points are named in the issue. Start by locating the Keybase code that imports and stores GPG private keys, then define support for importing only the selected private subkeys while keeping the master key absent; completion should preserve the requested signing and encryption workflows.

Written by the indexing model from the issue text.

Assessment

Tech stack
cryptography
Domain
cryptography
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.