Too Much Of A Good Thing?
Don't let the name fool you: PGP's cryptosystems are more than just "pretty good." If a user loses his or her private key or forgets the passphrase, prepare to kiss that data goodbye. Encrypted data could theoretically be recovered, but unless your users are in trouble with the NSA, it's probably not going to happen before we colonize Mars. If you choose to deploy secure messaging, protecting users from themselves should be your first priority.
Public key cryptosystems like PGP (Pretty Good Privacy) prompt the user for a password, but actually encrypt data
using a 512- to 2,048-bit private key stored on the user's workstation. This makes these cryptosystems extremely vulnerable; their private keys can be lost if they are maliciously or inadvertently deleted. Because users' passwords unlock only their private key rings, the loss of a private key is irrevocable; users are locked out of their encrypted files or messages if they don't know the key.
PGP offers a significant improvement over S/MIME version 2 clients in this area. Unlike X.509, PGP's public key certificates can specify more than one public encryption key. Using PGP's admin tool, the administrator can mandate that every user's certificate contain a corporate recovery key in addition to the public key. Using the ADK (additional decryption key), PGP can force all outgoing messages to be encrypted in both the user's key and a corporate key, letting the administrator unlock files in an emergency without archiving a copy of the user's private key. However, this places a significant amount of trust in the
client to honor the ADK policy. Clients can enforce the addition of a decryption key for all outgoing messages.
Luckily, adding decryption keys is a simple process that doesn't require the entire message to be encrypted multiple times. PGP-encrypted messages use symmetric encryption algorithms like CAST, DES (Data Encryption Standard) 3 or IDEA (International Data Encryption Algorithm) to encrypt, and Diffie-Hellman public key cryptography to obscure the symmetric encryption key. This makes it easy to encrypt a message in multiple recipients' keys because only the 128-bit lower-level encryption key is encrypted multiple times--not the entire message.
Inserting an additional decryption key into all encrypted messages lets companies archive all electronic correspondence while still encrypting all incoming and outgoing messages. This is especially useful to companies like financial institutions that are legally required to archive all their correspondence. This conveniently avoids the problem of keeping a
ll users' private keys in escrow. A user's private key not only lets him or her decrypt messages encoded in his or her public key, it also creates digital signatures for verifying the user's identity and the authenticity of the message. Escrowing private keys raises the risk that unauthorized users could use stolen keys to forge digital signatures.
--Dan Backman
|