Formal Keysigning

From SOBAC Wiki
Revision as of 02:51, 1 December 2013 by BobJonkman (talk | contribs) (→‎ToDo for the Participants: Make publickey filename consistent (MyPublicKey.gpg)
Jump to navigation Jump to search
  • I'm running a formal keysigning after my presentation at KWLUG on Monday, 2 December 2013. These are the steps for both the keymaster (me) and the people attending. Feel free to make changes or additions as you see necessary. You may find some useful information in the Guidelines for Key Signing Parties.
BobJonkman 05:42, 9 October 2013 (UTC)
If you'd like to participate in the keysigning you can either:
  1. send me encrypted, signed e-mail with your public key attached
  2. Download the keyring, add your public key, then upload it to the KWCrypto ownCloud.
BobJonkman 01:12, 26 October 2013 (UTC)

I think this is essentially done. Please let me know if there are any errors, omissions, poor wording, or unclear instructions. Or update this page yourself! Login and edit this page.

Purpose

A keysigning is not meant to establish your absolute, one true, Real Name™ identity, it is merely to associate a keyID with your identity. The identity you use is up to you, as published in the UserID portion of your GnuPG/PGP key. It could be only an e-mail address, a nickname, or even your real name. It's how people identify you in correspondence, or associate you as the author of a document or software. By signing your key, people verify that the KeyID is associated with the identity by which they know you.

A formal keysigning is a way to expand the Web Of Trust to include people whose keys you might not otherwise sign (because you don’t know them very well, or they only have ID issued by an authority you don’t like). With all these introductions and vouchings the chance of someone misrepresenting their identity is vanishingly small, so you can trust that the key fingerprint they read is really associated with that person.

Concepts

Four factors of authentication:

  1. Something you know (passphrase)
  2. Something you own (key fob, pass card)
  3. Something you are (fingerprint, retinal scan)
  4. Someone who knows you (trusted introducer)

A keysigning party increases the Web of Trust, or the number of trusted introducers who will vouch for the association of your identity with your KeyID.

Preparations before the Keysigning Party

ToDo for the KeyMaster

  1. Generate Keysigning Key
    gpg --key-gen
    • This can be a Sign Only key
    • Use the Real Name field to identify this Keysigning event, eg. "KWLUG Keysigning 2013-12-02"
    • Doesn't need an e-mail address
    • Use the Comment field for a URL to the keysigning Web site
  2. Export the Keysigning Public Key
    gpg --armour --export 0xKEYID > keysigning-public-key.asc
    • Also upload the Keysigning Public Key to the keyservers
  3. Create a Keysigning Keyring, add the Keysigning Public Key
    gpg --no-default-keyring --keyring ./keysigning-keyring --import keysigning-public-key.asc 
  4. Make the Keysigning Keyring publicly available. This keyring will also contain the public keys of the keysiging participants.
  5. Collect the public keys that people send to you in encrypted, signed e-mail, add them to the Keysigning Keyring
    gpg --no-default-keyring --keyring ./keysigning-keyring --import alicepublickey.asc bobpublickey.asc carolpublickey.asc
    • Remember to update the published Keysigning Keyring!
  6. Immediately before the keysigning create a Fingerprint List of all the KeyIDs, UserIDs and fingerprints in the keyring. Make sufficient copies for all participants.
    gpg --no-default-keyring --keyring=./keysigning-keyring --fingerprint > fingerprintlist.txt
    • The Keymaster can send fingerprintlist.txt to all participants in an encrypted, signed e-mail, or participants can download the keyring and print their own
    • The Keysigning Key should be the first key on the list. Document editing might be necessary.

ToDo for the Participants

  1. Add your key to the Keysigning Keyring
    1. Export your Public Key
       gpg --export 0xYOURKEYID > MyPublicKey.gpg
    2. Get a copy of the Keysigning Keyring
      • Either download it, or request that the KeyMaster e-mails it to you
    3. Add your public key to the Keysigning Keyring
      gpg --no-default-keyring --keyring ./keysigning-keyring --import MyPublicKey.gpg
    4. Submit the updated keysiging keyring (Either upload it, or e-mail it to the KeyMaster).
  2. OR E-mail your public key to the keymaster, let him do the work.

At the Keysigning Party

  1. Keymaster distributes the Fingerprint List
  2. Keymaster asks each participant on the Fingerprint List to make a Formal declaration
    Bob: "I'm Bob Jonkman, the User ID on my key is bjonkman@sobac.com and my GnuPG fingerprint is 04F7 742B 8F54 C40A E115 26C2 B912 89B0 D2CC E5EA"
  3. The Keymaster asks for others to vouch for the participant:
    Alice: "I've known Bob since the early days, and that's really him"
  4. Everyone marks on their copy of the Fingerprint if they're sufficiently convinced that the participant really owns the key with that fingerprint.
  5. The Keymaster repeats the process until all participants have made their declarations and been vouched for.

After the Keysigning Party

Participants

  1. Sign the Public Key for each participant you've checked off. Also sign the Keysigning Public Key.
  2. Send each signed Public Key to its owner by e-mail, with copy to the Keymaster.
    • DO NOT upload other people's keys to the keyservers without their permission!

Keymaster

  1. The Keymaster signs each participant's key with the Keysigning Secret Key to verify they've participated.
  2. The Keymaster updates the Keysigning Keyring with all the signed keys.
  3. The Keymaster expires the Keysigning Key to close the keysigning event.