Keysigning @ DebConf18
Where?
As part of the 18th Debian Conference in Hsinchu, Taiwan there will be OpenPGP (pgp/gpg) keysignings.
When?
The time and venue of a discussion/information session about the keysigning in particular and modern cryptography in general will be announced during DebConf18. It may be followed by a number of keysignings of small groups of people.
What is keysigning and why do it
A keysigning party or meeting is a get-together of at least two individuals who use the PGP encryption system with the purpose of allowing them to sign each others keys. Keysigning parties serve to extend the web of trust (WoT) to a great degree. A useful metric of the WoT is the mean shortest distance (MSD) of a key.
Please read chapters one and two of the GnuPG Keysigning Party HOWTO (note: we are doing the party differently, so the other chapters do not apply completely).
Don't you have a strong key yet?
The Debian Project has moved to GPG keys with stronger ones using SHA256 or better. Please read:
https://lists.debian.org/debian-devel-announce/2010/09/msg00003.html
The process to create a new key is documented at https://keyring.debian.org/creating-key.html.
If you plan to migrate your WoT, you should read "HOWTO prep for migration off of SHA-1 in OpenPGP" at https://www.debian-administration.org/users/dkg/weblog/48 by Daniel Kahn Gillmor (dkg).
Check your key and fix any problem with your key
Please read the document "OpenPGP Best Practices" by dkg which is available at https://help.riseup.net/en/security/message-security/openpgp/best-practices. Its OpenPGP key checks have been implemented by Clint Adams (clint) in the Debian package hopenpgp-tools. Please check your key with clint's hokey lint command.
How will the keysigning happen?
The keysignings will be based on the Efficient Group Key Signing Method by Len Sassaman and Phil Zimmermann which is a protocol to do keysignings in a way that is faster than the way many people may be familiar with.
The keysigning steps follow.
- Please note that having multiple keys isn't a requirement. If you have one key to be signed, adjust the examples below from two keys to just one key.
- Revoke all non-reacheable or no longer valid uids.
- Update GnuPG to use SHA2 in preference to SHA1. Read the information under "Update ~/.gnupg/gpg.conf" at https://keyring.debian.org/creating-key.html. Don't forget to update ~/.caff/gnupghome/gpg.conf as well, if you use caff for signing keys, otherwise your signatures will be SHA1.
- Cross sign your keys and upload them to a key server, if you haven't done so yet.
- Example with two keys 0xfedcba9876543210 and 0x0123456789abcdef and uploading to a key server:
- gpg --local-user 0xfedcba9876543210 --edit 0x0123456789abcdef sign
- gpg --local-user 0x0123456789abcdef --edit 0xfedcba9876543210 sign
- gpg --keyserver keys.gnupg.net --send-keys 0xfedcba9876543210 0x0123456789abcdef
- Send your ascii armored, cleaned, minimized and clear-signed public keys to gwolf@debian.org no later than 23:59 UTC/GMT/Zulu on Sunday 2018.07.22. Multiple cross-signed keys per armor are just fine. The signatures will prove the owner of the keys controls the private keys.
- Please check that your version of gpg does support the export-clean option.
- Please do not encrypt your email.
- Please do not send attachments.
- Please do not encode your email.
- Example with two keys 0xfedcba9876543210 and 0x0123456789abcdef, signature is made with both keys 0xfedcba9876543210 and 0x0123456789abcdef:
- gpg --armor --export-options export-clean,export-minimal --export 0xfedcba9876543210 0x0123456789abcdef > publickeyblock
- Then clear-sign publickeyblock with your keys 0xfedcba9876543210 and 0x0123456789abcdef creating publickeyblock.asc:
- gpg --local-user 0xfedcba9876543210 --clearsign --local-user 0x0123456789abcdef --clearsign publickeyblock
- Then email publickeyblock.asc as so:
- mail -s "KeySigning Party @ DebConf18" gwolf@debian.org < publickeyblock.asc
- Same example as a one-liner:
- gpg --armor --export-options export-clean,export-minimal --export 0xfedcba9876543210 0x0123456789abcdef | gpg --local-user 0xfedcba9876543210 --clearsign --local-user 0x0123456789abcdef --clearsign | mail -s "KeySigning Party @ DebConf18" gwolf@debian.org
- Another one-liner:
- (echo -e "To: gwolf@debian.org\nFrom: Your Full Name <name@example.org>\nBcc: name@example.org\nSubject: KeySigning Party @ DebConf18\n"; gpg --armor --export-options export-clean,export-minimal --export 0xfedcba9876543210 0x0123456789abcdef | gpg --local-user 0xfedcba9876543210 --clearsign --local-user 0x0123456789abcdef --clearsign) | sendmail -t
- Another one-liner (by Philip Hands):
- ( KEYS="0xfedcba9876543210 0x0123456789abcdef" ; \
gpg --armor --export-options export-clean,export-minimal --export $KEYS | \
gpg $(for k in $KEYS; do echo "--local-user $k --clearsign"; done) | \
mail -s "KeySigning Party @ DebConf18" gwolf@debian.org \
)
- Your keys will be processed manually and if the submitted keys are valid, an email will be sent back to you and the key IDs will be listed at https://people.debian.org/~gwolf/ksp-dc18/names.html. If you find an error write immediately to dkg@debian.org, gwolf@debian.org, noodles@debian.org.
- On Thursday 2018.07.26 you will be able to fetch the complete keyring (ksp-dc18.gpg.bz2) with all the keys that were submitted along with a text file (ksp-dc18.txt) giving the fingerprint of each key on the ring.
-
At https://people.debian.org/~gwolf/ksp-dc18/ both the
keyring and text files will have corresponding files with their SHA256
checksums. The SHA256 files will be signed with public key
AB41 C1C6 8AFD 668C A045 EBF8 673A 03E4 C1DB 921F, which can
be downloaded from keyring.debian.org
or db.debian.org.
- To verify the signature of the SHA256 files, download
gwolf's key from db.debian.org, e.g.:
- finger gwolf/key@db.debian.org | gpg --import
- And then run gpg with the verify option (using ksp-dc18.txt.sha256.asc as an example):
- gpg --verify ksp-dc18.txt.sha256.asc
- Verify that the fingerprints of your keys in ksp-dc18.txt are correct. Also compute the SHA256 hash of ksp-dc18.txt. One way to do this is with sha256sum invoked as follows:
- sha256sum ksp-dc18.txt
- Bring to DebConf the hash you computed and a hardcopy of ksp-dc18.txt.
- It is very important that you have verified at home the fingerprints of your keys on the hardcopy.
- It is also very important that you have computed the hash at home.
- The SHA256 hash of ksp-dc18.txt will be announced during the
discussion/information session. Verify that the hashes match what you
computed. This guarantees that all participants are working from the
same list of keys.
- During DebConf, look for keysigning participants during the conference.
- For each participant:
- Compare the hash you computed with the other participant (it will be recited loudly).
- Ask if the other participant's gpg fingerprints on the hardcopy are correct.
- Verify each other's identity by checking preferably a passport or, alternatively, some other form of government issued ID. Please don't show very old, doubtful or easy-to-fake documents as people will not sign your key if you do so.
- If you are satisfied with the identification, mark on your hardcopy that the other participant's gpg fingerprints are correct and the other participant has been identified.
- Later that evening, or perhaps when you get home, you can sign the keys in ksp-dc18.txt which you were able to verify and identify.
- Please use caff to sign keys, one of the scripts of pgp-tools. The scripts are also available as the debian package signing-party.
Downloads
Will be announced when the time comes.
Summary
What to bring with you
- A printout of ksp-dc18.txt; check that your fingerprints are correct.
- The SHA256 hash you made of ksp-dc18.txt so that we can ensure we are all working with the same copy.
- Some form of government issued ID (passport or similar).
- If this is your first keysigning, a copy of this web page and linked documents might be useful.
Questions
If you have questions please send them to the mailing list at debconf-discuss@lists.debconf.org. If you don't want to post to the mailing list, send your questions to dkg@debian.org, gwolf@debian.org, noodles@debian.org.
Thanks
There are several people to thank. To Benjamin Mako Hill, who
provided the scripts and text used at DebConf4, Peter Palfrader who
provided the scripts and text used at DebConf3 and LinuxTag (2003 and
2004) whose reuse made putting together this keysigning easy and
possible. To Aníbal Monsalve, who ran the keysigning processes for
many years. To all of the people who have pointed out issues, bugs or
items to correct/improve in the way we do keysigning.