iThome

WEP

Wired Equivalent Privacy

WEP加密機制的全名為Wired Equivalent Privacy,是在1999年9月成為802.11標準的一部分。主要使用的加密法為RC4(Rivest Cipher),驗證傳輸訊息的檢驗方式為CRC(Cyclic Redundancy Check),是一種線性的雜湊演算法。

WEP加密機制的問題,幾乎在這個機制成為標準後兩年就開始被發現,2001年就有研究者指出,只要收集到足夠的封包,就能反向算出RC4的金鑰。不久後各種破解軟體就開始在網路上散布,這也使得WEP的安全性從很早就開始受到挑戰。

WEP加密機制的問題,幾乎是宿命性的,在初始設計上就擁有太多缺點。RC4加密演算法的亂數種子,則是以初始向量(Initialization Vector,IV)和WEP的金鑰所構成,但WEP的金鑰是固定不變,IV值則是一組僅有24位元的變動值,並且以明碼的方式傳輸。

每一次封包的加密,都是透過24位元的IV值與固定的40或104位元WEP金鑰去演算,形成一個64或128位元的RC4加密值,然後傳輸出去。但是因為24位元的變動IV值,僅有1,600萬種加密的可能性,在比較繁忙的網路上,這些可能性很快就會被用完,這使得有意破解的惡意使用者,只要收集到這數量的封包,就能透過反推算的方式,算出WEP的金鑰。加上WEP金鑰只有一個主要金鑰,而且早期並沒有802.1X等可以協助無線網路定期更換金鑰的共通架構標準,這使得無線網路的安全性受到了很嚴重的挑戰。

此外WEP機制還有很多可被攻擊的弱點,比如用來驗證傳輸訊息完整與否的CRC演算法,由於是線性的雜湊演算法,只要改變輸入的位元,就會得出不同的輸出值。這讓惡意使用者只要同時變更WEP完整性的檢驗值,就能抵銷原本應該檢驗出來的不一致,這被稱為位元竄改與標頭竄改攻擊,讓惡意使用者可以偽造攻擊來源或傳送端位址,操縱訊框流向。這些做法,又可以激起更多封包傳輸,協助惡意使用者破解WEP加密機制。

由於WEP幾乎等於被瓦解,IEEE很快就成立工作小組尋找替代WEP加密機制的新方法。不過直到2003年前,WEP機制幾乎都還是無線網路唯一通用的加密標準。WEP的失敗,也帶動了後續加密標準的快速發展,Wi-Fi聯盟更是積極的推動WPA與WPA2。

WEP最大的問題在於使用單一主要金鑰,以及訊息傳遞完整度檢驗所採用的CRC演算法的缺陷。而一開始IV值的設計,本身就透漏了太多金鑰的訊息,加上長度僅有24位元,這也使得WEP幾乎沒有透過基礎改善的可能性。最後在2003年由Wi-Fi聯盟推動的WPA取代,當2004年802.11i標準通過後,更由全新架構的WPA2取代,幾乎完全被淘汰。不過在家用和較為老舊的Fat AP架構下,顧及手持裝置的支援,以及硬體架構的效能,還是有不少人依然使用WEP加密。現在網路上更已經出現可以破解WEP加密機制的硬體,這使得破解WEP加密機制的門檻更為降低,幾乎不需要專業。

WPA/WPA2

Wi-Fi Protected Access

WPA的全名為Wi-Fi Protected Access,是一個由Wi-Fi設備製造商所組成的Wi-Fi聯盟所推動的標準。

WPA的出現,是由於WEP加密機制幾近瓦解,加上IEEE制定802.11i標準的時程不斷延後,使得市面上無線網路設備沒有可靠的加密方式可以依循。在這樣的狀況下,Wi-Fi聯盟便將802.11i第三版草案中,規範的TKIP(Temporal Key Integrity Protocol)加密方式先獨立拉出來,作為WPA加密機制的骨幹,在能與原有支援WEP設備相容的狀況下,於2003年推出WPA加密機制。推出的時候分為兩種,分別是Pre-shared key模式的WPA Personal,以及WPA Enterprise(採用802.1X的TLS entropy方式產生動態金鑰。)

WPA可以說是在商業考量下,原有WEP加密機制的加強版,仍然使用RC4加密演算法,但因為加入了TKIP,所以安全性大幅提升。TKIP將IV的位元數從24增加到48,也就是讓IV能夠加密的可能性變成281兆種。並且透過TKIP金鑰、傳送位址資訊、變動的IV值中的32位元,先做一次運算,得出一把金鑰後,再與IV值中剩下的16位元進行運算,最後得出128位元的金鑰,並且能夠替每個訊框配上獨特的金鑰。這使得TKIP機制等於擁有多個主要金鑰來源,輔以不停變動的48位元IV值,讓每個訊框都能以不同的金鑰加密,增加了破解的難度。

此外,TKIP也有序號計數的能力,每個訊框加密發送出去後,都會編列序號,接收端會確認接收的次序,這可以有效避免攻擊者攔截封包再重發的攻擊模式。並且加上一個名為MIC(Message Integrity Check)的檢驗方式,MIC採用的演算法被稱為Michael,透過輸入目的地位址、來源位址,Michael會產生一組32位元倍數的值(一般來說為64位元),其中包括保留和優先性等補0的欄位。經由Michael演算,得到一個更可靠的確認值MIC,讓接收端能夠驗證封包的完整性,並且由於Michael並非線性的雜湊演算法,所以不會有過去WEP的問題。而為了避免暴力硬破的重複嘗試攻擊,在傳輸的過程中,如果MIC值錯誤,MIC機制也會在60秒內自動啟動反制措施,停止通訊60秒。

不過WPA加密機制也在2008年時,由德國的安全研究人員宣布部分破解;而到了2009年8月,WPA更被日本的研究人員宣布能在12~15分鐘內完全破解。這也使得使用RC4為基礎的兩種加密標準,WEP與WPA,都已經算是被破解了。

而WPA2則是在IEEE完成制定了802.11i標準之後,正式由Wi-Fi聯盟認證推出。由於沒有必須和過去的WEP相容的包袱,WPA2採用完全嶄新的架構,基礎的加密法為AES(Advanced Encryption Standards)。

WPA2同時使用TKIP與CCMP(Counter Mode with CBC-MAC Protocol)加密機制。

CCMP只要透過輸入訊框、暫時金鑰、金鑰識別碼、封包號碼,就能進行加密。透過由封包號碼和傳送端位址產生的亂數nonce(密碼學中指用過就拋棄的亂數號碼),以及由訊框標頭產生的額外認證資料(Additional Authentication Data,AAD),然後與128位元的暫時金鑰共同經過CCM加密,產出MIC和加密完成的資料。

目前除了使用字典檔的字串,一個一個去實驗的俗稱暴力破解法外,還沒有一個正式的研究團體,發表了可以快速破解WPA2加密機制的方法。加上搭配RADIUS等後端身分認證與802.1X的動態金鑰,WPA2還是目前最安全的無線網路加密傳輸選擇標準。當然這是指共通標準而言。

 

3大標準重要事件時間表

 


相關報導請參考「無線網路安全拉警報

熱門新聞

Advertisement