March 06, 2003
While wired equivalent privacy (WEP) encryption is not good enough for mission critical data, it’s still better than nothing for most WLANs. Here’s why WEP does what it does, and the elbow grease you can apply to make it more secure.
We all know by now that 802.11’s wired equivalent privacy (WEP) isn’t good enough to protect our data. That isn’t just the theory, it’s a fact. Sure, WEP will stop Joe Wireless, but freely available programs like AirSnort enable Joe Cracker break into your WLAN with little trouble.
Thus equipped, a cracker only needs some patience to mount a successful invasion. Specifically, it usually takes only five to ten million packets to break WEP encryption. And, at fifteen million packets, it’s almost dead certain that a dedicated attacker can pry the lid off your network traffic. Or, to put it another way, a small WLAN with four active users is almost certain to be cracked with two weeks of eavesdropping.
Making matters even worse, the cracking techniques most frequently used will work equally well no matter what WEP key length you’re using. Thus, a 128-bit key is just as vulnerable as a 64-bit key. Indeed, even if a WEP key was 1,204 bits, it still as crackable by today’s methods as one’s that the minimal 64-bits.
How can that be? To understand how that works, you have to look closely at how WEP actually generates and manages, or more to the point doesn’t, manage its encryption keys.
Every WEP packet is encrypted separately with an RC4 cipher stream generated by an encryption key. That key is made up of a 24-bit initialization vector (IV) and either a 40-bit or 104-bit WEP key that’s usually set by your wireless device. Combined, they have a total length of 64 or 128-bits, hence the popular names of 64 and 128-bit WEP keys (some vendors use to call the 64-bit key a 40-bit key, but they simply weren’t including the 24-bit IV — so 64 and 40-bit WEP are the same thing). This transmitted packet is generated by a mathematical operation called ‘bitwise exclusive OR’ (XOR) using the packet sent to your network interface card (NIC) by your computer and the RC4 encryption key.
With me so far? Now, the first thing that kills WEP’s fundamental security is that every packet you send also includes the IV in plaintext. In short, any would-be snooper can immediately see part of the key.
Now, because the IV is only 24-bits long, you can only get 16,777,216 different RC4 encryption streams for every key, regardless of how long the rest of the key is. Sounds like a lot doesn’t it? It’s not even close to enough. The plaintext IV is constantly reused and it takes many packets to send even a quick “Hi, how are you?” instant message, so it doesn’t take long for a snooper to gather up enough packets to start cracking your messages.
If that was WEP’s only weakness, it would still be insecure but it would take a serious processing power and a lot more packets to break into a WLAN. Unfortunately, RC4 has another problem. Not all of those close to 17-million possible IV numbers work as well as others in RC4. When one of these approximately 9,000 ‘Weak IVs’, are used to encrypt packets, a snooping program can recognize and collect them. These Weak IVs give additional clues on the full encryption key, no matter its length, and so they make breaking WEP that much easier.
There are other theoretical ways to take advantage of WEP, but the combination of these two ways of exploiting the IV have proven to be easy and effective enough that little effort is being spent on developing software to exploit these holes. Trust me, the existing way to pry open a WEP-protected network work more than well enough.
What Can You Do?
Well, for one thing you can’t wait around for a solution. Yes, there are replacements to WEP coming like Wi-Fi Protected Access (WPA), but it has problems of its own. 802.11i, which hopefully will take care of wireless security until someone works out bigger and better ways of cracking wireless, is still a work in progress.
- VPNs, Dot-One-X and the Mailman
- WLAN Security’s Slippery Slope
- Interlink SPEKEs Up
- Meetinghouse Licenses 802.1X API
In the meantime, you can make the most of WEP by changing your key frequently. I would recommend small offices with security concerns do this once a week, while companies with ten or more wireless PCs with sensitive information should change the WEP daily.
Sounds easy doesn’t it? It’s not. When they built WEP, they didn’t build in network key management. With almost all WLAN NICs and APs, you have to manually reset WEP to the new IV on each and every device, one by one.
That may only be annoying in your home office, but it’s a true pain in the rump for network administrators with dozens or even hundreds of wireless-enabled devices. Not to mention that if you enter the IV wrong on a PC, its user will find that it can’t get on the network. Adding insult to injury, if you get it wrong on an access point (AP), the entire area of the network that access point serves will be out of action.
Of course, you could have your users reset their own computer’s WEP settings, but that’s just asking for a technical support disaster of epic proportions.
Besides simply resetting your WEP key, you should follow these simple rules for making WEP as secure as possible. If your WEP software asks you for a passphrase or string to generate a key, do not use your SSID, company name, network name, or any other easy to guess alphanumeric string. Treat setting WEP keys the same way you a strong password. Why make life any easier for a cracker then it already is, right?
If you must manually enter the key, you’re restricted to the numbers ‘0-9’ and letters ‘a-f’ In this case, don’t simply hit the same key over and over again or use some simple pattern like 1,2,3, and so on.
If you do this, and change your key frequently, you can maximize WEP’s minimal protection. Good security? Heck no! But, it’s definitely better.
Looking Ahead and Beyond WEP
Come the day that 802.1x arrives in all wireless, we’ll finally get key management. Alas, while 802.1x is available in Windows XP, and some access points and proprietary setups, but it’s still relatively uncommon. Implementing it properly in WLANs is an issue being dealt with in the still unfinished 802.11i. Eventually, we’ll all use 802.1x for our WLANs, but that day isn’t here yet.
Of course, there are add-on solutions, like Cisco’s LEAP which is adds a proprietary take on Extensible Authentication Protocol (EAP) combined with RADIUS. It works well, and it enables new WEP keys per session. It also, however, requires that all the equipment be LEAP enabled, which isn’t cheap — you then have to replace any older WLAN NICs and access points.
Another path often taken is to use a Virtual Private Network (VPN) to encrypt all WLAN communications. While straight-forward it enough, it does mean that you’ll need to either add VPN software, or in the case of some operating systems like Windows XP, Linux and the BSDs, implement their VPN features. VPNs must also be coordinated across the network, but VPNs can be centrally managed thus making running them much easier for administrators and users alike.
So, in summary, if you want the best WLAN security today, either use an add-on approach like LEAP and be ready to use only equipment from a single vendor–or be ready to work with the added complexity of a VPN.
But, if you’re willing to take the time and trouble, WEP alone can still be useful.