Arnold G. Reinhold
Fri, 09 Feb 2001 12:31:00 -0800
The draft paper by Borisov, Goldberg, and Wagner http://www.isaac.cs.berkeley.edu/isaac/wep-draft.pdf presents a number of practical attacks on 802.11 Wired Equivalent Privacy (WEP). The right way to fix them, as the paper points out, is to rework the 802.11 protocol to use better encryption and message authentication algorithms. Unfortunately a huge infrastructure has grown up around 802.11 and large numbers of transceiver/modems are installed. If I understand things correctly, the encryption and authentication is done in firmware, so any changes to these algorithms requires new hardware. Thus there is a need for a short term remedy that can work with the existing standard. The BGW paper suggests changing keys more frequently. Here are a couple of suggestion for fairly simple ways to do this that I believe would significantly improve the security of 802.11, without requiring changes to the protocol or obsoleting all existing equipment. They consist of a couple of higher security modes, I'll call them WF1 and WF2 (WF stands for WEP Fix). WF1 In WF1 the 802.11 WEP keys would be changed many times each hour, say every 10 minutes. A parameter, P , determines how many time per hour the key is to be changed, where P must divide 3600 evenly. The WEP keys are derived from a master key, M, by taking the low order N bits (N = 40, 104, whatever) of the SHA1 hash of the master key with the date and time (UTC) of the key change appended. WEPkey = Bits[0-N](SHA1(M | yyyymmddhhmmss)) M can be any size, up to, say, 256 bytes. This allows direct entry of a passphrase. WF1 would eliminate the dictionary attack described in the paper. Note that since the master key is not limited to 40 bits, WF1 would also reduce the value of direct attacks on 40-bit keys. In this regard, it is worth noting that IV collisions also facilitate a direct attack on the encryption. If an attacker accumulates n packets with the same IV, he can attack all the packets at the same time, reducing the time required by a factor of n, if n isn't too big. Since the time required to crack 40-bit RC4 on a single workstation is on the order of a week, even a factor of 3 reduction is significant. WF1 does not completely eliminate the problem of IV collisions. With a 24-bit IV, some are inevitable. Each IV collision has the potential of compromising the data in both packets. But WF1 does allow the rate at which they occur to be reduced and controlled. The rate of collisions varies linearly with the period between key changes. If there are R packets per second and the time between key changes is T (T =3600/P) then the expected number of collisions in the time interval T is roughly (T*R)^2/2^25, so the rate of collisions is roughly T*R^2/2^25. WF1 also does not eliminate the authentication attacks described in part 4 of the paper. However most of the attacks described there require multiple attempts to succeed and the shortened key window might make them more difficult to mount. Clearly good synchronization of the time-of-day clock on each node is essential in WF1, but protocols already exist that can do this over a network. Small synchronization discrepancies can be handled by the 802 retry mechanism and should look very much like a short RF outage. The BGW paper mentions that some 802.11 modems reset their IV counter when they are initialized. I don't know if a key change counts as an initialization. If so then my proposal runs the risk of creating additional collisions. However it should be possible to test modems for this property and refuse to enter the key changing security mode if such a modem is installed. Manufacturers could eliminate this behavior with a firmware change and there would be no impact on other uses of the modem. Similarly modems that do not change the IV for each packet could be barred. Unless I have missed something, WF1 could be implemented as an option in 802.11 driver software. It might also be possible to implement WF1 with currently available 802.11 software by using a scripting language. Note that a crude version of WF1 can be implemented today with no new software at all: just change the WEP key every night. A weekly WEP key list could be distributed to authorized users by paper mail or encrypted e-mail. WF2 WF2 would change keys periodically just like WF1, however the packet sender's address would also incorporated in the hash. WEPkey = Bits[0-N](SHA1(M | Sender's address | yyyymmddhhmmss)) WF2 requires that hubs encryption programming be changed. Assuming most hubs are programmed in firmware, this will generally require new hubs. However existing client modems can still be used. WF2 will essentially eliminate IV collisions if the keys are changed at least every few hours. WF2 still does not eliminate the authentication attacks. However since we have to change the hub programming anyway, it might be possible to add tests to detect possible attacks. Neither WF1 nor WF2 eliminates data leaks from WEP, but they do reduce them considerably. Stronger security measures, such as SSL and IPsec, should be used to protect sensitive data traveling over 802.11, but the same can be said of wired Ethernet. These suggestions are base on a quick analysis of what I have gleaned about 802.11 from the net. I did not have access to the full 802.11 spec. Arnold Reinhold