2014年6月26日 星期四

二樓守衛 - WEP

WEP (Wired Equivalent Protection) 是保護 WLAN 的規格協定。

WEP 現在幾乎已經沒人在用了。在 2004 年 IEEE 802.11i 推出後,也明白建議不要再使用 WEP,雖然 2004 年後 WEP 還是推行了好幾年,而且即便是現在 (2014) 市面上買的無線 AP (Access Point) 裝置,也都仍然提供 WEP 為非預設選項。

WEP 目的是希望達到 confidentiality 以及 integrity,它透過加密 WLAN 封包內容以及其 CRC32,期望讓非授權的使用者無法存取封包內容,而被加密過的 CRC32 則可以協助驗證封包內容是否有被竄改。

WEP 使用的是 RC4 演算法,金鑰長度有 64 bits 和 128 bits 兩種。

它金鑰組成相當簡單,透過預先設定的 40 bits 或 104 bits 通關密語 (passphase),加上固定 24 bits 的 IV (Initialization Vector),構成 64 bits 或 128 bits。實務上究竟是 64 或 128 要看 AP 的支援選項,通常都會有個網頁管理界面讓使用者可以選擇。

如果是 40 bits,則使用者可以輸入 5 個 ASCII 字元,5 * 8 = 40 bits。或者是輸入 10 個十六進制字元,10 * 4 = 40 bits。

如果是 104 bits,則輸入 13 個 ASCII 字元或者 26 個十六進制字元。

WEP 的金鑰交換方式也很單純,首先,使用者(我們以 Station, STA 稱呼之)對 AP 送出連接請求。第二,AP 送出一組資料當作對 STA 的挑戰 (challenge),如果 STA 可以正確加密該筆資料,才算挑戰成功,這個挑戰資料我們也常稱為 Nounce,代表隨機產生出來的數字。STA 要使用預先設定的 passphase,加上演算法自動產生出來的 IV,形成金鑰,加密這組 nounce,並且回傳。最後 AP 驗證加密結果是否正確,如果正確,回傳確認訊息,代表連接成功。

WEP 的麻煩主要有二,其一,它的金鑰組成 24 bits 的 IV 是以明文附加在每個封包 frame 裡面,每次傳輸都會自動產生,所以每個 frame 的 IV 都不同,但是都是直接明文附在封包中。根據機率,只要 frame 個數超過 12000,產生出相等 IV 的機率即超過 99%(記得同班同學生日同一天的有多少人嗎?)。

其二,它的金鑰長度固定且過短,即便是暴力破解法也可在相對短的時間內完成。

在一個有合法使用者的網路環境裡,WEP 通常可以在二十分鐘或更短時間內被破解,請參考本站文章

沒有留言:

張貼留言