The Role of Encryption in Keeping Online Shopping Safe
If you shop online, you have probably paused and wondered if it really is
safe to send sensitive information like your credit card number over the
Internet. You have likely been assured that it is safe as long as your
data is encrypted in transit. This is Jeanna Matthews and today on Common
Sense Computing, we'll be talking about different kinds of encryption
and their role in protecting your sensitive information.
Encryption is very simply the process of obscuring the meaning of
information and similarly decryption is the process of recovering meaningful
data from an obscured form. When shopping online, watch the address line.
If the web page address begins with https rather than simply http,
then the data you are exchanging is encrypted in transit.
There are many different kinds of encryption - some much more difficult
to undo or decrypt than others. You may have seen simple examples of
encryption in puzzles that replace one letter with another or add
random letters between each real letter. For example, you could take
a message and insert two random letter between each real letter.
This would turn an easy to read textual phrase into a sequence of
letters that appears random and without meaning. However, the original
meaning can easily be recovered - if you know the secret process- in this case
keep every third letter.
Unlike in this simple example, encryption in computer systems is not
typically based on a secret process, but rather on secret keys or
long sequences of 0's and 1's that control a well-known encryption
process. In our simple example, the key might be two and the encryption
process might be the number of letters to skip between each valid letter.
In reality, the encryption methods are much more complicated and the keys
are much larger numbers, but the principle remains the same.
If two ends of an Internet connection agree on the same
encryption method and the same secret key, then what one side does
to encrypt the data, the other side can undo to decrypt the data.
Anyone who intercepts the message would not know how to decrypt
the message. They would need to decrypt using all possible secret keys
to see if they can make sense of the result. This is why it is important
for the secret keys to contain a long sequences of 0's and
1's. For example, a 128-bit key would contain a list of 128 0's and 1's
in a specific pattern. With 128 bits, there are over a trillion trillion trillion
possibilities!
One problem with encryption based on secret keys is that both ends
of an Internet connection must agree on the secret key to use. If you
are exchanging information with someone you know then this wouldn't be
too hard. You could exchange secret keys in person. However, what if
you want to send data to someone you've never met? How do you
set up a secret key to use with a web server for example? You
can't just send the key over the Internet because then the attackers
could intercept it along with the message and decrypt it easily.
Fortunately, there is another kind of encryption called public key
cryptography that does not require a single shared secret key. Instead,
it uses a pairs of keys - a private key which is kept secret and a public
key that can be shared with anyone even the attacker. These keys are
chosen such that what one encrypts the other can decrypt and vice versa.
In this way, web servers can send their public key over the network and
then any data like your credit card number than you send back can be
encrypted with the public key and only they can decrypt the message using
their
secret private key.
The fact that this works is based on the difficulty of factoring numbers
that are the product of two very large prime numbers. The mathematical
formulas that make this possible were described in 1977 by Ron Rivest,
Adi Shamir and Len Adleman at MIT. One of the most well known algorithms
for public key cryptography, RSA, is named for the first initials of
their surnames. Their work is a great achievement that has enabled much
of the secure communications over public networks that we rely on today.
That said, it is important to realize that there are limitations to
public key cryptography as well. First, attackers can still try every
possible key. On a single computer, this would take much too long,
but using many computer this time can be reduced. Second, no one
knows an easy way to compute a private key from its associated
public key (or in other words an easy way to factor large prime numbers)
but people are looking and if found it would undermine all
cryptographic systems based on public key cryptography.
For these and other reasons, you should think of encryption as a deterrent against attack, rather than as an absolute guarantee of
privacy. However, most security measures are similar. We lock
doors to keep honest people honest not as an impenetrable defense.
We rely on law enforcement to punish crimes and buy insurance to
protect against losses that are possible by unlikely. So next time
you are shopping online and wonder if you should really be sending your
credit card number over the Internet, stop and do two things
- first check that the URL begins with https indicating encryption and
second check with your credit card company won't hold you responsible for fraudulent
charges. Then shop away!
For more information on encryption and other consumer protections,
visit us online at www.commonsensecomputing.org. For Common Sense Computing, this is Jeanna Matthews.
Wikipedia: RSA
Wikipedia: Brute force attack
Federal
Trade Commission's Consumer Guide to E-Payments
Federal Trade Comission's
Online Shopping Information
Copyright (c) 2005 - Jeanna Matthews
|