安全要素
WEP 是1999年9月通過的 IEEE 802.11 標準的一部分,使用 RC4(Rivest Cipher) 串流加密技術達到機密性,並使用 CRC-32 驗和達到資料正確性。標準的64比特WEP使用40比特的鑰匙接上24比特的初向量(initialization vector,IV) 成為 RC4 用的鑰匙。在起草原始的 WEP 標準的時候,美國政府在加密技術的輸出限制中限制了鑰匙的長度,一旦這個限制放寬之後,所有的主要業者都用 104 比特的鑰匙作了 128 比特的 WEP 延伸協定。用戶輸入 128 比特的 WEP 鑰匙的方法一般都是用含有 26 個十六進制數 (0-9 和 A-F)的字串來表示,每個字元代表鑰匙中的 4 個比特, 4 * 26 = 104 比特,再加上 24 比特的 IV 就成了所謂的 "128 比特 WEP 鑰匙"。有些廠商還提供 256 比特的 WEP 系統,就像上面講的,24 比特是 IV,實際上剩下 232 比特作為保護之用,典型的作法是用 58 個十六進制數來輸入,(58 * 4 = 232 比特) + 24 個 IV 比特 = 256 個 WEP 比特。
鑰匙長度不是 WEP 安全性的主要因素,破解較長的鑰匙需要攔截較多的封包,但是有某些主動式的攻擊可以激發所需的流量。WEP 還有其他的弱點,包括 IV 雷同的可能性和變造的封包,這些用長一點的鑰匙根本沒有用。
協定認證
WEP有2種認證方式:開放式系統認證(open system authentication)和共有鍵認證(shared key authentication)。
開放式系統認證
顧名思義,不需要密鑰驗證就可以連線。
共有鍵認證
客戶端需要放送與接入點預存密鑰匹配的密鑰。共有鍵一共有4個步驟
1.客戶端向接入點傳送認證請求。
2.接入點發回一個明文。
3.客戶端利用預存的密鑰對明文加密,再次向接入點發出認證請求。
4.接入點對數據包進行解密,比較明文,並決定是否接受請求。
綜上所述,共有鍵認證的安全性高於開放式系統認證,但是就目前的技術而言,完全可以無視這種認證。
協定瑕疵
因為 RC4 是 stream cipher 的一種,同一個鑰匙絕不能使用二次,所以使用(雖然是用明文傳送的) IV 的目的就是要避免重複;然而 24 比特的 IV 並沒有長到足以擔保在忙碌的網路上不會重複,而且 IV 的使用方式也使其可能遭受到關連式鑰匙攻擊。
許多 WEP 系統要求鑰匙得用十六進制格式指定,有些用戶會選擇在有限的 0-9 A-F 的十六進制字元集中可以拼成英文詞的鑰匙,如 C0DE C0DE C0DE C0DE,這種鑰匙很容易被猜出來。
在 2001年8月,Fluhrer et al. 發表了針對 WEP 的密碼分析,利用 RC4 加解密和 IV 的使用方式的特性,結果在網路上偷聽幾個小時之後,就可以把 RC4的鑰匙破解出來。這個攻擊方式很快就被實際運作了,而自動化的工具也釋出了,只要用個人電腦、賣場架上的硬體和免費可得的軟體就能進行這種攻擊。
Cam-Winget et al.(2003) 審查了 WEP 的各種短處,他們寫下“在實際場所實驗的結果顯示,只要有合適的儀器,就可以在一英哩之外或更遠的地方偷聽由WEP 保護的網路。”他們也報告了兩個一般的弱點:
*WEP 不是強制使用的,使得許多設施根本就沒有啟動 WEP;以及
*WEP 並不包含鑰匙管理協定,都依賴在用戶間共享一個秘密鑰匙。
在2005年,美國聯邦調查局的一組人展示了用公開可得的工具可以在三分鐘內破解一個用 WEP 保護的網路。
補救措施
對 WEP 安全問題最廣為推薦的解法是換到 WPA 或 WPA2,不論哪個都比 WEP 安全。有些古老的 WiFi 取用點(access point)可能需要汰換或是把它們記憶體中的作業系統升級才行,不過替換費用相對而言並不貴。另一種方案是用某種穿隧協定,如IPsec。