Is There Safety in Numbers?
By Amit Asaravala
Whereas privacy is an abstract concept, its concrete side is security. The former follows from the latter, provided that everything is correctly implemented. Unfortunately for many consumers, e-businesses often are overwhelmed by the hype over which security method is best, so they just don't choose one. And crackers continue to break security packages, endangering customer privacy even at businesses that do have security systems in place.
The RSA algorithm used in most Web software packages requiring encryption is based on the following equation: C = Me mod N. C is the resulting encrypted text, M is the original message, N is the product of some prime numbers p and q, and e is a number that's relatively prime to the product of p-1 and q-1. (See the comp.security.pgp FAQ for further explanation.)
Most of the current discussion about encryptionand how to break itis focused on the p's and q's. Software programs first pick two very large prime numbers, p and q, and from these numbers they calculate e and N for use in the equation. You can encrypt messages to a business partner if your software knows his or her public key, which is made up of e and N. To decrypt the message, your partner's software uses a slightly different equation and his or her private key, which consists of d and N. In this equation, d is also based on the p and q primes.
The idea is that public keys are exactly that: public. Anyone should be able to obtain e and N to send you an encrypted message. But then, why can't a cracker unravel e and N to find out what p and q are, and ultimately calculate the decrypting d value?
The answer is that there's no known way to easily factor a large number. Out of familiarity, you know that the factors of 21 are 3 and 7. But if someone asked you to find the prime factors of 437 in your head, it would take you awhile to come up with 19 and 23. Now imagine having to find the primes in a number that's 1024 bits long.
RSA works because no one has yet found a better way to factor N other than to start dividing by brute force. This process takes time, even for a computer. Curiously enough, mathematicians can't prove that a shortcut equation for producing the prime factors of a number doesn't exist. If someone ever discovered a better way, it would devastate online commerce and our current model for digital security.
None of the world's greatest thinkers have devised a shortcut yet. However, as processors and networks become faster, brute-force cracking becomes ever easier. Using networked computers working in parallel, several teams have already cracked various levels of encryption. In August 1999, an international group of scientists was the first to factor a 512-bit RSA key. At the time, 95 percent of the keys used in e-commerce transactions were 512 bits long.
In a similar effort, the U.S. government's 56-bit Data Encryption Standard (DES) was cracked in just 22 hours and 15 minutes using over 100,000 networked PCs and a supercomputer from the Electronic Frontier Foundation. Working together, the computers were able to test 245 billion keys per second. As computers get more powerful and organizations like Distributed.net are better able to harness idle processors all over the world, the time required to crack the current encryption standards will continue to decrease.
Worse yet, there's already a threat to privacy that no amount of encryption can stop. Van Eck monitoring is the measurement and recreation of radio frequencies emitted from video displays. Someone with a Van Eck device could read the sensitive data right off your screen. A smart cracker with some engineering skills can build such a device with relatively simple equipment, including a directional antenna, an amplifier, and a TV receiver. The radio waves from cordless keyboards and mice can be read even easier, making even the passwords you type available to a nearby party.
If people can read your data after it has been decrypted, or before it even has a chance to be encrypted, the concept of mathematical security suddenly seems useless. So what can we do to protect our privacy and our customers' privacy? If advancements in technology continue to thwart our best attempts at security, do we just throw up our hands and hope no one attacks? Unfortunately, too many companies do just that.
For e-commerce and other applicationslike Tim Berners-Lee's Semantic Webto survive, corporations must focus much more time and money on security implementations. Software architects must post the encryption portion of their code for comprehensive peer review. And we must insist that governments avoid hindering encryption with bad legislation. In essence, the future of the Internet depends on our paranoia and how much effort we put forth to protect ourselves.
Amit is Editor in Chief of Web Techniques magazine. You can contact him at firstname.lastname@example.org.