D&C Lug - Home Page

GNU/Linux documentation.

D&C LUG Keysigning FAQ

 
 

What is key signing?

In a sense, key signatures validate public keys. They are an endorsement of validitity of a public key and associated UID by a third party (you). This is the way in which key signing builds the web of trust. Key signing is done to verify that a given user id and public key really do belong to the person who appears to own the key and who is represented by the user id packet. You should be extremely careful and always check a key's fingerprint with the owner before signing the key. You should never sign a key based on any assumption.

Top
 

What should I do before signing a key?

Top
 

What commands do I use to sign a key?

Use gpg to display the fingerprint of the key, as stored in your public keyring on your home system. Carefully match the fingerprint with the printed copy you obtained, in person, from the keyholder - all characters in the key fingerprint must match exactly. Replace KEYID with the ID of the key you want to sign:
$ gpg --fingerprint KEYID

Now you can proceed to sign the key:
$ gpg --edit-key KEYID

Now select the UID that you are going to sign. Remember that you should only select a UID containing an email address that you have already verified by correspondence.
Commandi> uid 1

To sign other UIDs, toggle between the UIDs as appropriate. Now sign the UID:
Command> sign

You will be prompted to tell GnuPG how carefully you have checked this key. A level of 3 would indicate that you have verified the email address in the UID by a series of email messages and replies, that you have also verified the name in the UID using photo ID and that you have checked the fingerprint of the key with a printed copy given to you personally by the keyholder. Make your selection and confirm that you want GnuPG to sign this key, putting in your passphrase to complete the signature.
Command>

Now edit the level of trust to indicate how much you trust the keyholder to validate other people's keys as carefully as you have verified theirs. This will tell GnuPG how much you want to trust a key that they HAVE signed but you have NOT. It is a personal decision.
Command> trust

(Enter the trust level.)
Command> save

IMPORTANT: Please now export the signed key to a public keyserver as it has now been updated with your signature. Other people cannot make use of your careful work in signing my key if you don't export it.
$ gpg --keyserver keyserver.kjsl.com --send-key KEYID
That's it!

Top
 

Can I transfer signatures to a new key?

If a key that has not been compromised needs to be revoked (or is due to expire soon), it is possible to transfer signatures onto a new key by sending encrypted details to each signatory, provided you still have the passphrase.

  1. Send an email warning / reminder about the imminent replacement of the key (signed with the old key because that's the key that people will recognise) to each signatory.
  2. Ask each signatory to send a SIGNED and encrypted reply to the OLD key containing some quote / random text. It's important that the reply is signed so that you can trust the quote / random text.
  3. Sign each key with your new key as the emails come in and make sure that all the recipient keys are updated on keyservers.
  4. Send an encrypted reply to each signatory, including the appropriate quote / random text and the fingerprint of the new key and make sure that the reply email is signed with your NEW key. Don't revoke signatures made using the old key - they are still valid as long as the old key has not been compromised.
  5. Recipients can update their own keys from keyservers, verify that the new key signature is on their own key and check the fingerprint of your new key. Recipients can also revoke their signatures on your old key at this point. Many recipients would then be willing to sign the new key as there has been an encrypted transfer of data requiring both of the secret keys involved to be available to you alone.
  6. Once you've sent out all the replies to signatories, you can revoke the old key (or just let it expire). Don't delete it from your keyring or you'll lose the ability to read encrypted emails sent to you before the new key was generated.
Top
 

More Information

Top