| | Digital
Certificates & Encryption
This
is a white paper dedicated to Digital Certificates & Encryption, how
they work and apply to Internet Commerce
Lance Spitzner
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.
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.
|