Keeping Your Communications Private

By Derek Zeanah

Wednesday, October 12, 2005

Lots of people need to be able to communicate securely, for personal, business, or legal reasons.  In the age of the Internet, this isn't easy.

The problem is that the standards the Internet are built around are fairly open -- they were designed to "play nice," not to keep information hidden.  There are a number of solutions we'll look at in this article, but none of them are as easy and simple as they could be.

The Simplest Solution: In-house E-mail

If your goal is to communicate with your associates at work, this can solve most of your problems.  As long as e-mail is sent and received from within your office (or from secured outside connections) you don't need to worry about someone else copying it in transit.  This has a number of downfalls, however:

A Better Solution: Using a Secure Mail Provider

There are some e-mail providers out there that strive to create a secure webmail environment.  Some of these use some pretty impressive technology, like implementing PGP (discussed below) in a way that a browser applet handled all of the hard work, removing some of the hurdles that encryption can present.

The good news is that these systems are simple to use, difficult to hack, and if they're well designed a hacker can't get anything from stored data anyway (as it's secured with fairly strong encryption on the mail host's end).  The bad news is that some employees might not get it, and will assume that anyone they communicate with via the system is receiving encrypted mail.

The Most Popular Solution: PGP

PGP is short for Pretty Good Privacy, and is a set of protocols and programs that have been around for over a decade.  There are free and commercial versions of the product, and anyone in the world that wants to keep their e-mail secure pretty much uses one or the other.  They're also compatible with the secure webmail mentioned above, so this might give you a bit more flexibility.

The problem with PGP is you need to understand a little bit of theory before you can make it work.  This article should get you over the biggest hurdle so you can get up and running on your own.

There are two conceptual stumbling blocks: understanding how keys work, and understanding "trust."

In PGP, everyone has a unique key that identifies them.  The interesting thing is that each key is broken down in two components, one (called your "public key") that you hand out to the rest of the world, and another (called your "secret key") that you keep as secure as you can.  The secret behind this arrangement is this: anything enctypted with one half of your keypair can be decrypted with the other.

This allows for a few features that are limited to public key cryptography:

PGP is actually pretty secure; the best attack is called the "man in the middle," where someone between you and the intended recipient pretends to be him when he exchanges his key, then does the same to your recipient.  Now, messages you think are sent to your friend are actually passed to your competitor (or a private investigator, or opposing council), who then re-encrypts it to your intended recipient, copying the data in the mean-time.  To prevent this, PGP implements a system of trust.

By default you only trust keys that you have signed -- you must perform an explicit act to tell PGP you trust that key.  Now, someone who knows you can use your signature on that key to help them decide whether to trust the key or not.  This can work in a few ways:

That's it.  Most of the better e-mail programs support PGP (or GPG, the open-source implementation) out of the box.  Other popular clients are supported by PGP (Outlook, Outlook Express, and Eudora almost always) so you can access the tools without having to leave your mail program.