Digital Certificates & Encryption
This is a white paper dedicated to Digital Certificates &
Encryption, how they work and apply to Internet
Commerce

The Need for Security

On the Internet, information  you send from one
computer to another passes through numerous systems before it reaches its
destination. Normally, the users of these intermediary systems don't monitor the
Internet traffic routed through them, but someone who's determined can intercept
and eavesdrop on your private conversations or credit card exchanges. Worse
still, they might replace your information with their own and send it back on
its way.

Due to the architecture of the Internet and intranets, there
will always be ways for unscrupulous people to intercept and replace data in
transit. Without security precautions, users can be compromised when sending
information over the Internet or an intranet. This has serious implications for
Internet Commerce. For Internet Commerce to exist, there has to be a means to
secure data sent over the Internet. Without a secure means of communication,
commerce cannot exist.

How do I protect my data?

Encryption & Digital Certificates are the solution for
Internet Commerce. Used together, they protect your data as it travels over the
Internet.

Encryption is the process of using a mathematical algorithm
to transform information into a format that can't be read (this format is called
cipher text). Decryption is the process of using another algorithm to
transform encrypted information back into a readable format (this format is
called plain text).

Digital Certificates are your digital passport, an Internet
ID. They are verification of you who you are and the integrity of your
data.

Combined, encryption and digital certificates protect and
secure your data in the following four ways:.

Authentication: This is digital verification of
who you are, much in the same way your driver's license proves your identity.
It is very easy to send spoofed email. I can email anyone in the world
pretending I am the President of the United States. Using standard email,
there is no way to verify who the sender is, i.e. if it is actually the
President. With digital signatures and certificates, you digitally encode
verifiable proof of your identity into the email.

Integrity: This is the verification that the
data you sent has not been altered. When email or other data travels across
the Internet, it routes through various gateways (way stations). It is
possible for people to capture, alter, then resend the message. Example, your
boss emails the company president stating that you should be fired. It is
possible for you to intercept that email and change it saying you deserve a
$10,000 raise. With digital certificates, your email cannot be altered without
the recipient knowing.

Encryption:
This ensures that your data was unable to be read or
utilized by any party while in transit. Your message is encrypted into
incomprehensible gibberish before it leaves your computer. It maintains it
encrypted (gibberish) state during it's travel through the Internet. It is not
de-crypt until the recipient receives it. Because of the public-key
cryptography used (discussed later) only the recipient can decipher the
received message, no one else can.

Token
verification: Digital tokens replace your password which
can be easily guessed. Tokens offer a more secure way of access to sensitive
data. The most common way to secure data or a web site is with passwords.
Before anyone access the data, they are prompted with their user login id and
password. However, this is easily cracked using various security software
(such as Crack 5.0, etc.). Also, passwords can be found with other means, such
as social engineering. Passwords are not secure. Token verification is more
secure. Your digital certificate is an encrypted file that sits on your
hardrive. When you need access to a system, that systems asks you for your
digital certificate instead of a password. Your computer would then send the
certificate, in encrypted format, through the Internet, authorizing you for
access. For this to be compromised, someone would have to copy this file from
your computer, AND know your password to de-crypt the file.

How does it all
work?

Encryption

To understand how this all works, we need to start
with the basics. Encryption has been around for centuries, Julius Caesar used
encrypted notes to communicate with Rome thousands of years ago. This
traditional cryptography is based on the sender and receiver of a message
knowing and using the same secret key: the sender uses the secret key to encrypt
the message, and the receiver uses the same secret key to decrypt the message.
For Caesar, the letter A was represented by the letter D, B by the letter E, C
by the letter F, etc. The recipient would know about this sequence, or key, and
decrypt his message. This method is known as secret-key or symmetric
cryptography. Its main problem is getting the sender and receiver to agree on
the key without anyone else finding out. Both sides must find some "secure" way
to agree or exchange this common key. Because all keys must remain secret,
secret-key cryptography often has difficulty providing secure key management,
especially in open systems with a large numbers of users, such as the
Internet.

21 years ago, a revolution happened in
cryptography that changed all this, public-key cryptography. In 1976, Whitfield
Diffie and Martin Hellman, introduced this new method of encryption and key
management. A public-key cryptosystem is a cryptographic system that uses a pair
of unique keys (a public key and a private key). Each individual is assigned a
pair of these keys to encrypt and decrypt information. A message encrypted by
one of these keys can only be decrypted by the other key in the pair:

The public key is available to others for use
when encrypting information that will be sent to an individual. For example,
people can use a person's public key to encrypt information they want to send
to that person. Similarly, people can use the user's public key to decrypt
information sent by that person.

The private key is accessible only to the
individual. The individual can use the private key to decrypt any messages
encrypted with the public key. Similarly, the individual can use the private
key to encrypt messages, so that the messages can only be decrypted with the
corresponding public key.

What
does this mean?

Exchanging keys is no longer a security concern. I
have my public key and private key. I send my public key to anyone on the
Internet. With that public key, they encrypt their email. Since the email was
encrypted with my public key, ONLY I can decrypt that email with my private key,
no one else can. If I want to encrypt my email to anyone else on the Internet, I
need their public key. Each individual involved needs their own public/private
key combination.

Now, the big question is, when you initially
receive someone's public key for the first time, how do you know it is them? If
spoofing someone's identity is so easy, how do you knowingly exchange public
keys, how do you TRUST the user is really who he says he is? You use your
digital certificate. A digital certificate is a digital document that vouches
for the identity and key ownership of an individual, a computer system (or a
specific server running on that system), or an organization. For example, a
user's certificate verifies that the user owns a particular public key.
Certificates are issued by certificate authorities, or CAs. These authorities
are responsible for verifying the identity and key ownership of the individual
before issuing the certificate, such as Verisign, http://www.verisign.com/.

Authentication &
Integrity

We now have a secure means of encrypting data, one of the
four methods of securing data on the Internet. Two others, authentication and
data integrity, are combined in what is called a digital signature. A digital
signature works as follows:

Authentication: a specific individual sent a
message (in other words, no impersonator claiming to be the individual sent
the message).

Integrity: this particular message was sent by
the individual (in other words, no one altered the message before it was
received).

When you email someone, your
public/private key combination creates the digital signature. It does this using
the following format:

The sender uses a message-digest algorithm to
generate a shorter version of the message that can be encrypted. This shorter
version is called a message digest. Message digests and message-digest
algorithms are explained in the next section.

The sender uses their private key to encrypt the message
digest.

The sender transmits the message and the encrypted
message digest to the recipient.

Upon receiving the message, the recipient decrypts the
message digest.

The recipient uses the hash function on the message to
generate the message digest.

The recipient compares the decrypted message digest
against the newly generated message digest.

If the message digests are identical, the recipient
knows that the message was indeed sent by the person claiming to be the
sender and that the message was not modified during transmission.

If the message digests differ, the recipient knows that
either the message was sent by someone else claiming to be the sender or
that the message was modified or damaged during transmission.

The encrypted message digest serves as a digital
signature for the message. The signature verifies the identity of the sender and
the contents of the message.

If the message is sent by someone claiming to be the sender,
this person does not have access to the sender's private key. The person
claiming to be the sender must use a different private key to encrypt the
message digest.

Because the recipient uses the sender's public key to
decrypt the message digest (and not the actual public key corresponding to the
private key used to encrypt the message digest), the decrypted message digest
will not match the newly generated message digest.

If the message was modified during transmission, the hash
function will generate a different message digest when applied after the
transmission.

Tokens

Tokens represent the fourth security option by replacing
passwords. Tokens are simply your digital certificate residing on your hardrive.
When a computer prompts you for your password,  your computer sends your
certificate over the Internet instead. Your certificate verifies your identity
instead of the password. This is a more secure (and easier) means of
verification.

How Secure is all This?

Just how secure is encryption. The strength of encryption is
measured in bits, or how big the key is. The bigger the key, the stronger the
encryption. There are currently 3 commonly used key sizes used commercially, 40,
56, and 128 bit. Originally, the government allowed only 40 bit keys for
exportation. However, this proved far to weak for security. In February of 1997,
a college student was able to crack 40 bit encrypted data within 4  hours
(http://www2.ecst.csuchico.edu/~atman/).

Berkeley -- It took UC Berkeley graduate
student Ian Goldberg only three and a half hours to crack the most secure level
of encryption that the federal government allows U.S. companies to
export.

Yesterday (1/28) RSA Data Security Inc.
challenged the world to decipher a message encrypted with its RC5 symmetric
stream cipher, using a 40-bit key, the longest keysize allowed for export. RSA
offered a $1,000 reward, designed to stimulate research and practical experience
with the security of today's codes.

Goldberg succeeded a mere 3 1/2 hours after
the contest began, which provides very strong evidence that 40-bit ciphers are
totally unsuitable for practical security.

In June of 1997, a organized group of people were able to
crack 56 bit DES encryption in 140 days. This group shared their resources
throughout the Internet utilizing software called DESCHALL (http://www.rsa.com/des.

With a possible 72 quadrillion keys to test,
this distributed attack would require an incredibly large amount of computing
power. And compute the DESCHALL team did, at some points testing almost seven
billion keys per second.

In the end, the DESCHALL effort solved the DES
challenge after only searching 24.6% of the key space. (about 18 quadrillion
keys!) The winning key was determined by Michael Sanders, using a Pentium 90 MHz
desktop PC with 16 megs of RAM.

Many believe this
security is good enough. By the time your data can be compromised, (3 months) it
is of little value because it took so long.  However, to truly ensure the
security of your data, most Internet Commerce uses 128 bit encryption. Keep in
mind, key strength increases exponentially, making 128 bit encryption thousands
of times more difficult to compromise. Because of its strength, the government
has prohibited its exportation, it can only be used within the United States. At
this time, no one has cracked this encryption. 128 bit encryption is expected to
remain secure well past the year 2000.

What it Looks Like

Below is an example of a message that has been
encrypted and signed, but intercepted before the recipient has received
it.   Notice how the body of the entire message is "gibberish", i.e.,
the message cannot be read.  That is what encryption looks like.

Below is an example of the same message, but
received by the intended recipient.  The recipient has decrypted the
message and verified the message's integrity & /authenticity.  The
protocol or Internet standard used for Digital Certificates is X.509 &
S/MIME.  Any email system that has these open based standards can use
Digital Certifcates for Internet Commerce.  The image below is of
Netscape  Navigator, which is both X.509 and S/MIME compliant.

Conclusion

Utilizing digital certificates and encryption,
users can easily and securely communicate on the Internet. This combination of
ease of use and security lays the foundation for commerce. As users gain
confidence and experience using these tools, Internet Commerce, much like
encryption, will grow exponentially.