Difference between revisions of "Formal Keysigning"
BobJonkman (talk | contribs) (Moved info about keysigning party to Discussion page) |
BobJonkman (talk | contribs) m (Capitalization of KeyMaster) |
||
Line 32: | Line 32: | ||
# Immediately before the keysigning create a '''Fingerprint List''' of all the KeyIDs, UserIDs and fingerprints in the keyring. Make sufficient copies for all participants. | # Immediately before the keysigning create a '''Fingerprint List''' of all the KeyIDs, UserIDs and fingerprints in the keyring. Make sufficient copies for all participants. | ||
#:<pre>gpg --no-default-keyring --keyring=./keysigning-keyring --fingerprint > fingerprintlist.txt</pre> | #:<pre>gpg --no-default-keyring --keyring=./keysigning-keyring --fingerprint > fingerprintlist.txt</pre> | ||
− | #* The | + | #* 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. | #* The '''Keysigning Key''' should be the first key on the list. Document editing might be necessary. | ||
Line 44: | Line 44: | ||
##:<pre>gpg --no-default-keyring --keyring ./keysigning-keyring --import MyPublicKey.gpg</pre> | ##:<pre>gpg --no-default-keyring --keyring ./keysigning-keyring --import MyPublicKey.gpg</pre> | ||
## Submit the updated keysiging keyring (Either upload it, or e-mail it to the KeyMaster). | ## Submit the updated keysiging keyring (Either upload it, or e-mail it to the KeyMaster). | ||
− | # '''OR''' E-mail your public key to the | + | # '''OR''' E-mail your public key to the KeyMaster, let him do the work. |
= At the Keysigning Party = | = At the Keysigning Party = | ||
− | # | + | # KeyMaster distributes the '''Fingerprint List''' |
− | # | + | # KeyMaster asks each participant on the '''Fingerprint List''' to make a Formal declaration |
#:<pre>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"</pre> | #:<pre>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"</pre> | ||
− | # The | + | # The KeyMaster asks for others to vouch for the participant: |
#:<pre>Alice: "I've known Bob since the early days, and that's really him"</pre> | #:<pre>Alice: "I've known Bob since the early days, and that's really him"</pre> | ||
# Everyone marks on their copy of the '''Fingerprint''' if they're sufficiently convinced that the participant really owns the key with that fingerprint. | # Everyone marks on their copy of the '''Fingerprint''' if they're sufficiently convinced that the participant really owns the key with that fingerprint. | ||
− | # The | + | # The KeyMaster repeats the process until all participants have made their declarations and been vouched for. |
= After the Keysigning Party = | = After the Keysigning Party = | ||
Line 63: | Line 63: | ||
# Sign the Public Key for each participant you've checked off. | # Sign the Public Key for each participant you've checked off. | ||
#* Also sign the '''Keysigning Public Key''' (optional, but creates a convenient record of participants) | #* Also sign the '''Keysigning Public Key''' (optional, but creates a convenient record of participants) | ||
− | # Send each signed Public Key to its owner by e-mail, with copy to the | + | # 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! | #* '''''DO NOT''''' upload other people's keys to the keyservers without their permission! | ||
− | == | + | == KeyMaster == |
− | # The | + | # The KeyMaster signs each participant's key with the '''Keysigning Secret Key''' to verify they've participated. |
− | # The | + | # The KeyMaster updates the '''Keysigning Keyring''' with all the signed keys. |
− | # The | + | # The KeyMaster expires the '''Keysigning Key''' to close the keysigning event. |
----- | ----- |
Revision as of 13:37, 3 March 2014
Contents
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:
- Something you know (passphrase)
- Something you own (key fob, pass card)
- Something you are (fingerprint, retinal scan)
- 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
- 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
- Export the Keysigning Public Key
gpg --armour --export 0xKEYID > keysigning-public-key.asc
- Also upload the Keysigning Public Key to the keyservers
- Create a Keysigning Keyring, add the Keysigning Public Key
gpg --no-default-keyring --keyring ./keysigning-keyring --import keysigning-public-key.asc
- Make the Keysigning Keyring publicly available. This keyring will also contain the public keys of the keysiging participants.
- 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!
- 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
- Add your key to the Keysigning Keyring
- Export your Public Key
gpg --export 0xYOURKEYID > MyPublicKey.gpg
- Get a copy of the Keysigning Keyring
- Either download it, or request that the KeyMaster e-mails it to you
- Add your public key to the Keysigning Keyring
gpg --no-default-keyring --keyring ./keysigning-keyring --import MyPublicKey.gpg
- Submit the updated keysiging keyring (Either upload it, or e-mail it to the KeyMaster).
- Export your Public Key
- OR E-mail your public key to the KeyMaster, let him do the work.
At the Keysigning Party
- KeyMaster distributes the Fingerprint List
- 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"
- The KeyMaster asks for others to vouch for the participant:
Alice: "I've known Bob since the early days, and that's really him"
- Everyone marks on their copy of the Fingerprint if they're sufficiently convinced that the participant really owns the key with that fingerprint.
- The KeyMaster repeats the process until all participants have made their declarations and been vouched for.
After the Keysigning Party
Participants
- Download the Keysigning Keyring
- or download each individual key from the keyserver, or get it directly from the owner
- Import the keys from the Keysigning Keyring into your keyring
gpg --import keysigning-keyring
- Sign the Public Key for each participant you've checked off.
- Also sign the Keysigning Public Key (optional, but creates a convenient record of participants)
- 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
- The KeyMaster signs each participant's key with the Keysigning Secret Key to verify they've participated.
- The KeyMaster updates the Keysigning Keyring with all the signed keys.
- The KeyMaster expires the Keysigning Key to close the keysigning event.