WEP(Wired Equivalent Privacy) 怎麼啦?

不要讓它危及您的資料

Larry Loeb, 作家, Secure Electronic Transactions

2001 年 4 月 01 日


有線等效協議(Wired Equivalent Protocol)或 WEP 是無線 IEEE 802.11 協議之後的安全性。很多製造商都將 IEEE 802.11 用作供給電腦的無線網路擴展。問題是,WEP 的設計使竊聽者能夠相當簡單地解碼 WEP 加密的消息,從而獲得對網路和資料的存取。在此,Larry 將深入研究 WEP ― 它是什麼,它的缺點是怎樣的,這些缺點有多嚴重以及可以對它們做些什麼。

可能的夢想

自便攜機首次出現以來,無線網路(和基礎網路的連通性)就一直是用戶的夢想。近來變得流行的一種技術是“Wi-Fi”無線 LAN。它在 2.4GHz 執行,是一種基於無線電的方法:將電腦鏈結到具有可接受的連接寬頻網路。正如無線網路的狂熱者 John Saxton 提到的,“‘Wi-Fi’是由 IEEE P802 成員設計並開發的,這些成員包括有 Lucent(現在是 Agere)和 Harris(現在是 InterSil),他們已經花了幾年的時間研究無線乙太區域網路。”他們是這一領域中被認定的專家,所以其工作(被編成標準的 IEEE 802.11b [簡寫為“802.11”])應該是值得效法的。

802.11 是 IEEE 針對如何在相對較短的物理距離上全面網路完全不同的計算元素這一問題的解決方案。在 Palm PDA 中使用的 IrDA 紅外線鏈結是同一問題的另一種已定義解決方案。IrDA 允許 PDA 在很短距離上與其裝備 IrDA 硬體的主機(以及相互之間)進行通訊。802.11 打算提供相同的無縫功能,但是在更大的物理範圍內。設備到存取點的距離是通過使用無線電波增加的,而且資料流程已以“有線等效協議”或 WEP 加密。


WEP

WEP 是 802.11 系統安全性的一部分,其目的是提供機密性和資料完整性,並通過拒絕所有非 WEP 封包來保護對網路基礎結構的存取。

WEP 使用通訊器之間共用的秘鑰。一些版本使用最初用於制定標準的 40 位密鑰,而其他較新的版本使用 128 位(實際上是 104 位)密鑰。

實際加密/解密過程看起來與下面相似:

對資料幀求校驗和(使用 CRC-32 演算法)以獲得 c(M),其中 M 是消息。合併 M 和 c(M) 以獲得明文 P=(M, c(M))。
使用 RC4 演算法加密 P。這產生一個密鑰流作為初始化向量(IV)v 和秘鑰 k 的函數;以 RC4 (v, k) 表示它。密文由於將 XOR 函數應用于明文和密鑰流而產生。然後,密文和 IV 通過無線電發送。
用圖形表示,該過程類似於:



解密只是與加密相反。接收方重新產生密鑰流,並將它與密文進行 XOR 來恢復初始明文。接著,該消息(P')被分成兩個部分:M' 和 c'。然後,計算 c(M'),並將它與接收到的校驗和 c' 進行比較。如果不匹配,那麼消息主體在傳輸期間已經以某一方式更改過。解密通過使用帶封包傳輸的 IV 和共用密鑰來產生用於加密的等同密鑰流。最後,將結果與密文進行 XOR 運算,以顯示消息。

WEPbuster 出現了

從上面可以看出,安全性在數學上取決於密鑰及其對發現的抵禦能力。但是,Nikita Borisov、Ian Goldberg 和 David Wagner 於今年一月在 Mac-Crypto 會議上提出的一篇論文詳細描述了 802.11 的體系結構性安全弱點(請參閱 參考資料 )。我很大程度上根據這篇論文來說明發生了什麼。

作者指出:如果用相同的 IV 和秘鑰加密兩條消息,那麼流密碼(如 RC4)容易受到攻擊。如果一起對密文進行 XOR 運算,那麼密鑰流將互相抵消並且兩個明文的 XOR 將保留。在典型消息中,有明文的重複,它可以解決兩個明文的 XOR。有人可能查找某一已知明文(例如,“Password:”),當將該明文與其自身進行 XOR 運算時,可以計算出兩個明文的 XOR 中的文本。所以,如果在消息之間重用密鑰流,那麼只知道明文的一部分,攻擊者就有另一次危及加密的機會。

作者認識到,雖然 WEP 標準建議在每個封包之後更改 IV(及與秘鑰組合的那個 IV 的 RC4),但它不要求發生這種情況。實際上,他們發現,在他們測試的某些 PCMCIA 802.11 卡中(例如,Lucent 的),在初始化時 IV 復位成零,然後每傳輸一個封包,計數器就增加 1。因為每次將卡插入可擕式電腦時都會發生初始化,所以這意味著,IV 為低值的密鑰流將經常發生,並且對於秘鑰的生存期來說都是一樣的。這樣,攻擊者在其進行破壞時將有多個低 IV 密鑰流的實例化。重用是眾所周知的一種密鑰流弱點,或許應該已經在 802.11 標準中得到解決,以便卡製造商無法使用這種方案並且仍設法符合該標準。

802.11 中有其他結構問題。最隱蔽的一個問題就是 IV 資料空間只有 24 位寬。當某人考慮 5Mbps 網路存取點將在不到半天的時間內通過 24 位元寬的封包時,這個問題才會變得明顯。這意味著,即使低值 IV 沒有出現在資料流程中,IV 也將習慣性地(並且多少可以預知地)重複。從安全性立場來講,它不會使人感到安慰。

重用的利用

如果攻擊者知道兩個用相同 IV 加密的封包之一的明文,就可以對這兩個封包進行解密。因為大多數 IP 流量都是以眾所周知的方式構成的,所以攻擊者可以對消息做某些假設,並注意它們是否符合手邊的封包。如果攻擊者已經獲得完整的明文(比方說,如果攻擊者給您發電子郵件,然後等待您在 802.11 鏈路上讀取它),那麼這個攻擊會變得微不足道。

攻擊者需要一個已知的明文來利用密鑰重用。要這樣做,他可以構建密鑰流對 IV 的“字典”。因為密鑰空間是 2 的 24 次方,即整個字典將佔用 1500 個位元組(平均 802.11 密鑰流長度)乘以 2 的 24 次方,或者大約 24GB。那將在許多具有剩餘空間的現有硬驅動器上放得下。它僅僅是要花點時間和精力。這類攻擊不受秘鑰長度影響,僅受 IV 的 24 位長度影響。

密鑰管理問題

802.11 標準在秘鑰管理方面是無聲的。所以,即使在密鑰陣列中指定索引的可選密鑰標識欄位出現在消息中,大多數網路還是將單個密鑰用於 802.11。該欄位似乎不在當前實踐中使用,可是一旦體系結構性弱點更廣泛地散佈,這可能會更改。

單個密鑰使所有先前描述的攻擊都變得更容易執行,尤其是在多個用戶都共用秘鑰的情況下。並且如果密鑰洩露,所有用戶都必須替換其系統驅動器,因為所有系統驅動器都將被洩露。這會難以管理並且要花時間才有作用,所有這些都對攻擊者有利。

WEP 消息認證

我曾提到過,在 WEP 下對消息執行 CRC-32 校驗和。這本打算起到一個消息完整性保證人的作用。但它沒有。CRC-32 不能免受惡毒攻擊。

讓我們先研究一些校驗和屬性:

校驗和是消息的一個線性函數。即,它在消息的整個 XOR 運算上均勻分佈。這暗示了有一些控制校驗和的方法,使協定可以接受它,但與消息內容無關。實際上,作者在其論文中提供了有關於此的數學證明。另外,只要知道一部分封包內容,就可以執行這類攻擊。因此,可以欺騙校驗和 ― 它不是認證的保證人。
校驗和是一種未加密函數。即,它不取決於共用秘鑰。如果攻擊者知道消息的明文,那麼他可以在不知道共用密鑰的情況下得出 CRC。它的唯一變通方法是需要一個加密的消息認證代碼(如 SHA-1/HMAC),而 802.11 標準不需要它。由於另一個 WEP 特性(下面將描述),所以源自已知明文的攻擊只會成功。
在接收方不知道 IV 值的情況下,可以重用這些值。我們早先討論了這個問題;但它在標準中仍有缺陷。

使用存取點來破解 WEP

修改封包是啟用另一種複雜攻擊的機制,它使用物理存取點來對已編碼的消息進行解密。實際上,IP 重定向利用相對簡單。首先,攻擊者從無線電資訊流中發覺一個加密的封包,然後對它進行修改,使該封包立刻發送到一個受控的 IP 位址。它將被不受阻礙地發送,因為在它發送到網際網路之前,存取點對它進行解密。

從計算方面講,更改 IP 位址並不難。如果原始 IP 地址的高 16 位字和低 16 位字是 Dh 和 Dl,那麼我們要把它們更改成 Dh' 和 Dl'。如果 X 是原始 IP 校驗和,那麼在補數數學中 X' = X + Dh' +Dl'-Dh-Dl。

如果攻擊者通過某些方法知道 X,他就會根據上面的公式計算出 X' 並計算 [X (XOR) X'] 以獲取我們要將封包重定向到的 IP 的校驗和。這是最簡單的情況。某些人還會根據經驗來猜測 IP 位址,並查看它們是否工作。這是一種反應攻擊,因為攻擊通過觀察系統對偽造的反應是什麼進行工作。猜測正確的 IP 將被系統接受,而猜測錯誤的 IP 會使封包落入位元存儲區。這只對 TCP 封包起作用,因為攻擊者需要確認 TCP 在 TCP 校驗和正確時發送(TCP ACK 封包是標準大小)。

這充分證明了校驗和不是保證消息認證的好方法這一主張的真實性。消息可以被更改,並且在系統不知情的情況下插入一個偽造的新校驗和。象 Mac 這樣經過加密的函數可以預防這類攻擊。

IEEE 的反擊

在最新文章 Wall Street Journal 中,Greg Ennis(他是無線乙太網相容聯盟(Wireless Ethernet Compatibility Alliance)的技術主管,以前還是 IEEE 的成員)指出,標準過程“對任何人都是開放的。” 雖然他同意最新的弱點是所關心的問題,但他還是進行了有趣的觀察:WEP“從一開始就被認為不是一個頂級安全性系統。” 他還指出,IEEE 正致力於不易受攻擊的將來版本。

Ennis 還表示,這種類型的攻擊“需要一次重要的努力”才能完成。這是事實 ― 這種情況不是不能克服的。如果有人 ― 或某政府機構 ― 想要將所有膝上型電腦網路流量吸收在聖何塞機場的 American Airlines 貴賓休息室,則他們可以用一些專用設備和一些固件來做到這一點。問題就在於此。在 Wall Street Journal 文章中引用了一位元紐約電腦安全性顧問的話,當他坐在街對面的長椅上時,他可以存取其客戶(華爾街上的一家主要金融服務公司)的電腦網路。要實現利用似乎並不這麼難。

解決方案

PGP 用 PGPnet 顯示了其方法。從鍵盤到最終用戶的超級加密為您設置虛擬專用網路,破壞 802.11 傳輸的任何人都將嗅探無用資訊。

WEP 的問題似乎是當它阻止偶然的偵聽者時,對於任何嚴重的攻擊,它都敗下陣來。這很可能是由於為避免 Mac 的計算開銷而使用更簡單的 CRC 做出的設計選擇。不管缺點的起因是什麼,WEP 本身似乎不能保證安全性。當用戶不得不使用移動網路時,不要讓它危及您的資料。

Comments

Popular posts from this blog

TCP/IP 明確擁塞通知 (ECN)

L2TPv3 Enables Layer 2 Services for IP Networks

Q-in-Q(Dot1Q Tunnel) Sample Configuration