王春曉,張 鵬
(①哈爾濱理工大學 計算機科學與技術學院,黑龍江 哈爾濱 150080;②空軍第一航空學院,河南 信陽 464000)
安全問題已經成為關系到無線局域網(WLAN)能否繼續發展和推廣應用的關鍵問題。因為802.11 標準所采用的WEP存在著明顯的安全缺陷,所以IEEE推出了WPA[1],WPA相對于WEP進行了很大的改進,彌補了WEP所有已知的安全缺陷,提高了 WLAN包括數據保護和訪問控制等的安全等級,對于網絡安全提供了比較好的保護。將對WPA中使用的一些關鍵技術做詳細的分析,并分別介紹。
WEP在數據加密方面采用的是基于對稱密碼流式加密和可變長密鑰的RC4加密算法,存在著相當多的安全缺陷,即具備合適的工具和中等技術水平的入侵者便能非法接入WLAN。AT&T的研究院最先發布了WEP的解密程序,隨后破解程序也相應出現,代表的有WEPCrack和AirSnort,WEP加密再也不安全。
WEP的安全缺陷主要有以下幾方面:
(1) 數據完整性保護的缺陷
WEP使用的是32位的循環冗余校驗(CRC)用于數據完整性,雖然從性能上和開銷上均遠遠優于奇偶校驗及算術和校驗等方式。但其具有線性且32位的CRC的生成與密鑰沒有任何關系,攻擊者可以利用CRC是線性運算這個特點,對數據進行修改的同時也對CRC位進行修改,這樣攻擊者可以偽造或竄改信息從而通過檢查,因此,CRC做不到對于惡意修改數據和偽造數據進行檢查,不能提供安全的數據完整性檢查。
(2) RC4 加密算法的缺陷
RC4 算法中密鑰的生成也過于簡單,只是由基密鑰和初始向量(IV)串聯而成,很容易破解。算法密鑰存在大量弱密鑰,這就使密鑰流的前面相當一部分比特位在很大程度上只由弱密鑰的前面幾位決定,攻擊者可以利用這個規律減少破解密鑰的難度。而且使用的是40 bit 的共享密鑰,密鑰長度過短,并且使用明文形式傳送24 bit IV,IV的24 bit導致密鑰生命周期短,導致在有限的時間內會出現密鑰的重復,加大了被破解的危險,并且WEP中也沒有采取任何有力措施來避免密鑰重用問題。
(3) 認證管理方面的缺陷
由于WEP 沒有明確定義用戶身份認證,多以WEP 的共享密鑰用作用戶身份認證的密碼,這種方式是基于硬件的,單向的,可能受到硬件威脅和拒絕服務攻擊的危險。這種已共享密鑰最為身份驗證的身份認證方式絕對無法滿足認證管理的安全需要。
上面分析WEP在數據完整性保護方面,加密算法方面,認證管理方面都存在缺陷,為了解決這些缺陷,Wi-Fi 聯盟聯合IEEE共同發布了WPA,是一種基于標準的可互操作的WLAN安全性增強解決方案,并且針對這些方面很好的解決了WEP的這些缺陷。如表1示。

表1 WEP與WPA比較
根據上表所列,RC4加密算法的改進最多,這是因為WPA在數據加密方面采用了臨時密鑰完整性協議(TKIP)。雖然TKIP由WEP使用的同樣的加密引擎和RC4算法組成,但對RC4進行改進,再其基礎上進行了更加嚴密的數據封裝,是包裹在已有WEP密碼外圍的一層“外殼”[2],下面我們就MIC、TKIP、可擴展認證協議(EAP)、802.1X進行分析:
信息完整性代碼( MIC)是用于鑒別一條信息的一個短塊密碼校驗。它也被叫做完整性檢查值或信息認證碼。MIC機制要求發送者和接受者都計算并要對MIC值進行比較,如果相等則認為沒有被改動過,一旦不一致,就認為數據被修改過了,則將此數據包丟棄,從而保護數據的完整性。WPA 中MIC 的實現可以防止篡改攻擊,MIC 可以通過軟件實現。
TKIP主要由反攻擊策略,TKIP 包序列計數器 (TSC),加密混合函數(MIC)組成。
如圖1所示,主密鑰所產生的MIC密鑰,計算出MIC,然后將MSDU與MIC 串接后進行分塊得到數據包,IV生成器生成的IV/ICV,數據包再串接IV/ICV,將MAC 頭再添加到數據包中,將加密密鑰與IV 進行混合運算,最后對處理過的數據包進行加密,生成MPDU,完成加密過程。
如圖2所示,解密過程為MPDU 剔除MAC 頭,進行IV解析,根據解析的IV再進行TSC窗口校驗,只要發現錯誤,則丟棄該數據包,只有通過校驗之后,才進行解密操作。解密要進行密鑰混合運算(與加密過程相同),混合后進行解密,解密過程中要檢查ICV,只要發現錯誤,則丟棄該數據包,只有通過檢查,解密才能完成。解密后進行分塊重組,重組后進行MIC校驗,密鑰計算的出的MIC與主密鑰生成的MIC進行比較,只要發現不同,拒絕該數據并啟動反攻擊策略。對于通過MIC校驗的數據包,刪除MIC,得到MSDU。

圖1 TKIP加密過程

圖2 TKIP解密過程
通過以上所述,可以看出反攻擊策略就是為了防止非法獲取MIC.從而限制竊聽和非法獲取密鑰信息,而TSC用來記錄MPDU(MAC協議數據單元)的傳遞順序。計算得出的MIC附加在MSDU(MAC服務數據單元)的Data 之后,TSC 可以為WLAN提供一個簡單的防重播機制。TKIP 使用的兩次Cryptographic mixing function將臨時密鑰和TSC 結合起來生成WEP種子密鑰,是為了解決WEP 中存在的弱密鑰攻擊。
IEEE802.1X協議稱為基于端口的訪問控制協議,協議用于對IEEE802局域網的認證和密鑰管理,主要目的是為了解決WLAN用戶的接入認證問題。協議由三個重要部分組成∶分別為申請者系統、認證者系統和認證服務器系統。充當申請者系統的用戶終端系統上安裝的客戶端軟件發起802.xl協議的認證過程,由認證服務器對申請者進行認證。認證者系統為支持802.xl協議的網絡設備,其對應于不同用戶的接入端口(可以是物理端口,也可以是用戶設備的MAC地址等)。IEEE802.1X本身沒有定義認證服務器,采用PPP認證的可擴展認證協議EAP(PPPEAP)作為認證協議[3],PPPEAP是PPP認證的一個通用協議,支持多種認證機制,有EAP-MD5、EAP-TLS等,這里就簡單介紹一下最為常用的EAP-MD5。EAP-MD5機制通過RADIUS服務器提供簡單的用戶認證,不需要密鑰管理和動態密鑰生成,只需要使用靜態WEP密鑰。通過MDS對傳RADIUS服務器的用戶名和密碼加密,但攻擊者可以監聽無線通信,解密WEP密鑰。MD5是EAP標準中最低級別的安全保障。
WPA解決了WLAN原先采用的安全認證WEP的缺陷,它改變了密鑰生成方式,更頻繁地變換密鑰來獲得安全。WPA還增加了消息完整性檢查功能來防止數據包偽造,由于加強了生成加密密鑰的算法,因此即便收集到分組信息并對其進行解析,也幾乎無法計算出通用密鑰。WPA還追加了防止數據中途被篡改的功能和認證功能。通過以上機制,WPA安全體系有效地滿足了企業級WLAN 應用中的安全需求,并且在家庭網絡中采用的是WPA的簡化版預共享密鑰(WPA-PSK),使用同樣的機制達到安全要求。WPA是解決WLAN安全的一個好方案。
[1] EDNEY J,WILLIAM A A.無線局域網安全實務-WPA與802.11i[M].北京:人民郵電出版社,2006:76-77.
[2] EDELMNA L G. Overview Wi-Fi Protected Aeeess[C].[s.l.]:Wi-Fi Alliance,2004:26.
[3] DUBRAWKSY I, CRAYTON C, CROSS M,et al.網絡安全保護[M].北京:科學出版社,2009:131.