GPG guide/Textual Draft

From LibrePlanet
Jump to: navigation, search

The guide has launched at EmailSelfDefense.FSF.org and this page is now deprecated

Infographic will go here

Global intro paragraph

The goal of this guide is to make it easy to set up email encryption on your computer. Once you've finished the guide, you'll be able to send and receive emails that are coded to make sure that a surveillance agent or thief can't intercept your email and read it.

This isn't something you'd do with every email, or even every day. Rather, it's a tool to have handy when you need to send something sensitive.

You'll also be able to sign emails to show reliably that they are from you. Though the need for signing may be less obvious, you'll actually do it more often.

All you need is a computer with GNU/Linux or Windows and an Internet connection. You can use your existing email account for this without affecting it.

Section 1: Get the pieces

Before starting, you'll need any one of these desktop email programs installed on your computer: FossaMail (for Windows), Icedove (for Debian GNU/Linux), Thunderbird (for other GNU/Linux flavors, Apple OS X), or any other program based on one of these. If you are already using one of these, you can skip to Step 1.b.

An email program lets you read and write mail without using a Web browser, and provides special features that are hard to find in email systems you use in a Web browser. Using an email program doesn't mean that you have to make a new email account -- most people just connect an existing email account from a Web email service (like GMail) or their workplace to their email program. You can think of it as another way to access the same email account.

Step 1.a: Set your email program up with your email account (if it isn't already)

  • Open your email program and follow the wizard that sets it up with your email account.

Troubleshooting

  • My email program can't find my account or isn't downloading my mail.
    • Answer coming soon

Step 1.b: If you are using Windows, download gpg4Win

  • Download it, run the executable and click through the installation wizard with all the default settings. You don't need to run the program once it's installed.

Step 1.c: Install the Enigmail plugin for your email program

  • In your email program's menu, select Add-ons (it may be in the Tools section). Make sure Extensions is selected on the left. Do you see Enigmail? if so, skip this step.
  • If not, search "Enigmail" with the search bar in the upper right. You can take it from here. Restart your email program when you're done.

Troubleshooting

  • I can't find the menu
    • In many new email programs, it's represented by an image of three stacked horizontal bars.



Section 2: Make your keys

Intro text

To use the GnuPG system, you'll need a public key and a private key (known together as a keypair). Each is a long string of randomly generated numbers that are unique to you. Your public and private keys are linked together by a special mathematical function.

Step 2.a: Make a keypair

  • In your email program's menu, select OpenPGP -> Setup Wizard. You don't need to read the text in the window that pops up unless you'd like to, but it's good to read the text on the later screens of the wizard.
  • On the second screen, titled "Signing," select "No, I want to create per-recipient rules for emails that need to be signed."
  • Use the default options until you reach the screen titled "Create Key"
  • On the screen titled "Create Key," pick a strong password! Your password should be at least 8 characters and include at least one lower case and upper case letter and at least one punctuation mark. Don't forget it, or all this work will be wasted!
  • The program will take a little while to finish the next step, the "Key Creation" screen. While you wait, do something else with your computer, like watching a movie or browsing the Web. The more you use the computer at this point, the faster the key creation will go.
  • When the OpenPGP Confirm screen pops up, select Generate Certificate and choose to save it in a safe place on your computer (we recommend making a folder called "Revocation Certificate" in your home folder and keeping it there. You'll learn more about the revocation certificate in Section 5. The setup wizard will ask you to move it onto an external device, but that isn't necessary at this moment.

After creating your key, the Enigmail set-up wizard automatically uploaded it to a keyserver, an online computer that makes everyone's keys available through the Internet.

Troubleshooting

  • Enigmail detected an existing key on my computer
    • Answer coming soon
  • I can't find the OpenPGP menu
    • In many new email programs, it's represented by an image of three stacked horizontal bars.


Section 3: Try it out!

Now you'll try a test correspondence with a computer program named Adele, which knows how to use encryption. You'd follow the same steps if communicating with a real person. Then you'll send your first signed email to a real person!

Step 3.a: Download Adele's public key from a keyserver

  • In your email program's menu, go to OpenPGP -> Key Management -> Keyserver -> Search for Keys.
  • In the "Search for keys" field, type adele-en@gnupp.de. That's Adele's email address.
  • Check the first result (Key ID starting with 9) and hit OK.

Step 3.b: Send a test encrypted email

  • Write a new email in your email program, addressed to adele-en@gnupp.de. Make the subject "Encryption test" or something similar and write something in the body.
  • Before sending the email, click the icon of the key in the bottom right of the composition window (it should turn yellow). This tells Enigmail to encrypt the email with the key you downloaded in the last step.
  • When Adele receives your email, she will use her private key to decrypt it, then fetch your public key from a keyserver and use it to encrypt a response to you.

Since you encrypted this email with Adele's public key, Adele's private key is required to decrypt it. Adele is the only one with her private key, so no one except her -- not even you -- can decrypt it.

  • It may take two or three minutes for Adele to respond. In the meantime, you might want to skip ahead and check out the Use it well section of this guide.
  • When you receive Adele's email and open it, Enigmail will automatically detect that it is encrypted with your public key, and then it will use your private key to decrypt it.

Notice the bar that Enigmail shows you with information about the status of Adele's key.

Step 3.c: Send a test signed email to a friend

  • Write a new email in your email program, addressed to a friend. If you want, tell them about this guide!
  • Before sending the email, click the icon of the pencil in the bottom right of the composition window (it should turn yellow). This tells Enigmail to sign the email with you private key.
  • After you click send, Enigmail will ask you for your password. It will do this any time it needs to use your public key.



Section 4: Learn the Web of Trust

Email encryption is a powerful technology, but it has a weakness; it requires a way to verify that a person's keypair is actually theirs. Otherwise, there would be no way to stop an attacker from making an email address with your friends name, creating a keypair to go with it and impersonating your friend. They would then be able to impersonate your friend by signing messages with the private key they'd created, and decrypt messages intended for your friend with the public key.

That's why the programmers that developed email encryption created keysigning and the Web of Trust. Keysigning allows a person to publicly state that they trust that a public key belongs to a specific person. To sign someone's public key, you need to use your private key, so the world will know that it was you.

Step 4.a: Sign a key

  • In your email program's menu, go to OpenPGP -> Key Management.
  • Right click on Adele's public key and select Sign Key from the context menu.
  • In the window that pops up, select "I will not answer" and click OK
  • In your email program's menu, go to OpenPGP -> Key Management -> Keyserver -> Upload Public Keys and hit OK.

You've just effectively said "I trust that Adele's public key actually belongs to Adele." This doesn't mean much because Adele isn't a real person. Before signing a real person's key, always make sure it actually belongs to them, and answer honestly in the window that pops up and asks "How carefully have you verified that the key you are about to sign actually belongs to the person(s) named above?"

It's important to take keysigning seriously because it will affect people beyond just you and the person who's key you are signing. If someone doubts that a key actually belongs to the person that is says it does, they can go on a keyserver and see the number of signatures that it has. The more it has, the more they are likely to trust it.

The Web of Trust takes this concept to the next level. It is a network of key signatures that is saved in keyservers on the Internet. It builds chains of trust between individuals that do not know each other by passing through others, a bit like the famous "six degrees of separation" game. You don't need to understand it in detail to use email encryption, but it will become a powerful tool if you become an advanced user.

Section 5: Use it well

When should I encrypt? When should I sign?

Everyone uses GnuPG a little differently. Encryption is most important for messages involving finances, personal information, politically sensitive conversations and anything else that you wouldn't want to fall into the wrong hands. Signing is best for when you think there might be concern about your identity, or as a way of demonstrating that you know how to use GnuPG and will be able to decrypt emails. If you're already encrypting, there's no reason not to sign as well, to give the recipient added assurance that the message is from you.

If you're using your email program (or wherever you have GnuPG set up) often, we recommend that you sign all outgoing messages because it turns you into an ambassador for GnuPG. Anyone can read a signed email, so it doesn't matter if the recipient doesn't yet know how to use email encryption. The more you encrypt the better, but you won't be able to do so unless the recipient has a public key. However, if you've set it up for an email program on your computer, but you primarily use email through your phone, then you'll only want to fire up the email program and use GnuPG for special occasions. If this describes you, we recommend you use

Be wary of invalid keys

Coming soon.

Step: Make it part of your online identity

Start writing your key ID anywhere someone would see your email address. Add it to your email signature, social media profile, blog, Website, or business card.

Important: act swiftly if you lose your key

If you lose your private key or someone else gets ahold of it (say, by stealing your computer), it's important to revoke it immediately before someone else uses it to steal your identity. This guide doesn't cover how to revoke a key, but it only takes a minute. We recommend you Google it or seek help from a skilled friend. After you're done revoking, send an email to everyone with whom you usually use your key to make sure they know.

Section 6: Next steps

  • Switch to GNU/Linux
  • Share this guide and help a friend get started
  • Learn more about GPG
  • Learn more about free software and why it's more secure
  • Participate in a keysigning party

Keysigning parties are social events designed to build the Web of Trust. Participants match each others' photo IDs and Key IDs, and then get out their laptops and sign each other's public keys. They're a great way to meet likeminded people and learn about new privacy tools, as well as build up people's trust in your key. Look for keysigning at tech events, hackerspaces and nerdy parties.

  • Try other encryption technologies: OTR, encrypting your hard drive, Tor, link to surveillance collection in directory, or prism-break with free software filter, if that has been set up
  • Like programming? Contribute code to GnuPG or Enigmail.
  • Support the Free Software Foundation


FAQ

  • My key expired

Answer coming soon.

  • Who can read encrypted messages? Who can read signed ones?
  • My email program is opening at times I don't want it to open/is now my default program and I don't want it to be.