劉仁山
(呼倫貝爾學院 內蒙古 海拉爾 021008)
無線局域網(WLAN)以無線信道作為傳輸媒介,利用電磁波在空氣中收發數據實現了傳統有線局域網的功能,相對有線網絡而言,無線局域網布放和實施簡單快捷,基于802.11標準的無線網絡技術飛速發展,為用戶提供的接入帶寬越來越大,在辦公大樓、體育場、候機大廳等場所得到了廣泛應用,由于無線側數據在自由空間傳輸,無線覆蓋的區域內如果配置合適的接收設備都能夠獲取到信號,導致未授權的用戶可獲得訪問權,信息存在泄露和被攻擊的風險,WLAN常見的安全威脅有以下兩個方面[1]:一是,未經授權地使用網絡服務。非法用戶未經授權使用WLAN網絡,與授權用戶共享帶寬,影響到合法用戶的使用體驗以及可能泄露用戶信息,存在認證風險;二是,數據安全風險。無線傳輸作為開放空間數據傳送,信息容易被未授權的第三方攔截,導致數據被竊聽和被篡改,導致數據的機密性和完整性遭到破壞。
因此WLAN網絡實施過程中要加強安全保護,要實現數據傳輸的機密性、可認證性和完整性,認證和加密是必須要考慮的因素,認證是從用戶接入角度確保訪問者可信任,加密是對用戶數據提供隱私保護確保機密性,另外數據完整性保護通過相應的校驗算法來實現。
無線局域網安全涉及到多種加密、認證和完整性保護算法,比如RC4算法、DES和AES算法。無線局域網通過TKIP和CCMP安全協議來實現加密算法的應用,TKIP協議的核心算法是RC4,而CCMP協議是基于AES算法實現的,下面對無線網絡支持的安全加密算法進行比較分析。
為了對數據進行保護,防止泄露和偷窺,可以采用多種加密算法對信息進行保護,尤其WLAN基于無線空間傳輸的特性,數據更加容易泄露,因此,優秀的加密算法對于保護數據的安全性至關重要,目前無線網絡設備支持的算法有:
2.1.1 RC4算法
RC4算法產生于1987年,與AES等分組算法不同,RC4采用面向流的序列密碼,密鑰長度可變,一個明文的字節(8比特)與一個密鑰的字節進行異或就生成了一個密文的字節,連續不斷地對明文字節流進行處理,產生密文輸出流。[2]
2.1.2 DES算法
DES算法是一個經典的分組加密算法,以64位為分組對數據進行加密(分組),加密和解密使用的是同一個算法(對稱);密鑰長64位,事實上56位參與DES運算,每8位中最后一位是奇偶校驗位(保證密鑰每8位都有奇數個1);56位秘鑰雖然很短,但目前并沒有發現它的致命缺陷,當秘鑰長度擴展到168位時,形成的3DES算法具有更強大的抗窮舉搜索攻擊的能力。[3]
2.1.3 AES算法
AES算法采用56位密鑰進行加密/解密在面臨高速窮舉攻擊仍然有很大的風險,因此科學家們設計了168位密鑰空間的3DES,雖然變得安全但是加解密效率降低,2000年9月美國設計出高級加密標準(Advanced Encryption Standard),AES能有效抵御所有已知攻擊,易于在現有軟硬件平臺上實現,且加解密過程效率優于DES,AES密鑰空間根據需要采用128位、192位和256位三種不同長度。
上述加密算法RC4屬于流加密方式,而DES和AES屬于分組加密方式,流加密和分組加密各有優勢,對于需要加密/解密數據流的應用,比如,在數據通信信道或瀏覽器/網絡鏈路上,流加密可能是更好的選擇,而對于處理數據分組的應用,比如,文件傳遞、電子郵件,分組加密則更合適。
為了實現安全算法的應用,在無線局域網安全領域開發適合不同場景應用的安全協議,TKIP協議采用RC4算法實現了加密機制,CCMP協議采用AES算法實現了加密機制,同時采用CBC-MAC算法實現了CCMP協議的完整性保護功能,采用EAP協議實現802.1X認證。[4]
2.2.1 TKIP協議
TKIP協議(Temporal Key Integrity Protocol)是IEEE802.11i規范中負責處理無線安全問題的加密協議。核心加密算法仍然采用WEP協議中的RC4算法,TKIP并不直接使用由PTK(Pairwise Transient Key)分解出來的密鑰作為加密報文的密鑰,而是將該密鑰作為基礎密鑰。經過兩個階段的密鑰混合過程后,生成一個新的、每一次報文傳輸都不一樣的密鑰,該密鑰才是用作直接加密的密鑰,通過這種方式 可以進一步增強WLAN的安全性。TKIP以一種比較可靠的Michael完整性校驗算法保護源地址,防止偽造幀。
2.2.2 CCMP協議
CCMP協議(Counter CBC-MAC Protocol,CCMP)是802.11i定義的默認加密方式,以AES為核心算法進行加密,以密碼塊鏈信息認證碼(CBC-MAC)來進行完整性驗證,CCMP/AES采用128為加密密鑰,信息被加密成128位的密文分組。鑒于AES算法足夠安全,報文加密、密鑰管理等所需的密鑰不必經過密鑰混合,它們通過四次握手以動態的方式生成,無論在加密安全性還是完整性校驗上,CCMP/AES的性能要遠優于TKIP/RC4。
2.2.3 EAP協議
EAP協議(Extensible Authentication Protocol,EAP)是IEEE802.1X框架下的一個認證協議,它本身并未規定如何識別用戶身份,但設計有可多種選擇的EAP認證方法,它提供了客戶端、認證者和認證服務器之間認證幀格式以及交互過程,整個認證過程主要參與者是客戶端和認證服務器,認證者只是起到中介作用,客戶端與認證者通過EAPOL(EAP over LAN)協議[5],認證者通過RADIUS封包來傳遞EAP,據此實現客戶端和RADIUS服務器的EAP協議交互信息傳遞,EAP包含多種類型,比如:EAP-MD5屬于最早的EAP類型,采用用戶名和密碼的認證方式;EAP-TLS類型是第一種標準的符合三項要求的身份認證方式,客戶端和認證服務器采用數字證書;EAP-TTLS類型只有認證服務器采用數字證書;EAP-PEAP類型客戶端采用用戶名和密碼,認證服務器采用數字證書。
安全策略就是對WLAN進行安全體系設置,包括設置接入認證、加密和完整性驗證的協議和算法等。STA接入AP無線網絡需要經歷三個階段:掃描階段、鏈路認證階段和關聯階段,在關聯階段配置用戶接入安全策略,包括STA的認證、數據加密和完整性保護,可通過采用WEP、WPA和WPA2安全策略實現。
WEP(Wired Equivalent Privacy)是1999年通過的IEEE802.11b標準的一部分,用來保護用戶數據,IEEE802.11n不支持此加密辦法,如果采用此加密方法,無線速率將降低,WEP極其不安全,在實施過程中可采用開放系統認證和共享密鑰認證兩種方式,開放系統認證過程不需要認證,用戶上線后,可以通過配置選擇是否對業務數據進行WEP加密;共享密鑰認證通過共享密鑰認證,通過協商出來的密鑰對業務數據進行RC4加密,所有用戶共享一個密鑰。
WPA(Wi-Fi Protected Access)有WPA和WPA2兩個標準,WPA 實現了IEEE802.11i標準的大部分,WPA2是IEEE802.11i安全標準組織的區別于WPA的安全性更高的安全標準,在鏈路認證階段采用開放認證,在用戶接入認證階段實施WPA/WPA2安全策略。WPA/WPA2分為企業版和個人版,WPA/WPA2企業版采用IEEE802.1X的接入認證方式,利用RADIUS服務器和可擴展認證協議EAP進行認證,在大型企業網絡中,通常采用WPA/WPA2企業版的認證方式;WPA/WPA2個人版(WPA/WPA2-PSK)模式,不需要專門的認證服務器,要求在認證雙方設備上預先輸入一個預共享密鑰即可,適合于安全性要求不高的小型無線局域網應用場景。
由于無線終端的種類多種多樣,支持的認證和加密方式也有所差異,為了便于多種類型的終端接入,方便網絡管理員的管理,可以使用混合方式配置WPA和WPA2。配置安全策略為WPA-WPA2,則支持WPA或WPA2的終端都可以接入設備進行認證;配置加密方式為TKIP-AES,則支持TKIP加密或AES加密的終端都可以對業務報文進行加密。
無線局域網安全策略分類如表1所示:

表1 安全策略分類表
通過對多種無線安全策略進行比較分析,無論是加密還是認證以及完整性保護方面WPA2安全策略都是最安全的,也是密碼學分析以及實踐檢驗驗證的無線領域最安全的技術。本文針對WPA2的工作流程進行分析,了解其原理,加強對其應用的理解。根據不同的應用場景選擇個人版或者企業版。
4.1.1 WPA/WPA2-PSK安全認證流程
WPA/WPA2-PSK認證主要用于個人、家庭與小型SOHO網絡,對網絡安全要求相對較低,不需要認證服務器。預共享密碼可以用ASCII和HEX兩種方式來輸入,ASCII為字符模式,即輸入5個(64bit模式)或13個(128bit模式)字符。HEX模式為十六進制模式,即輸入10個(64bit模式)或26個(128bit模式)從0-9及A-F之間的字符。其認證流程如圖1所示:
4.1.2 WPA/WPA2-(802.1x + EAP)安全認證流程
STA接入AP過程需要經歷兩個認證階段,包括鏈路認證階段和接入認證階段,鏈路認證階段采用開放系統認證,接入認證階段基于IEEE802.1x的EAP協議進行認證,IEEE802.1x是基于端口的接入認證協議,端口可以是物理端口也可以是邏輯端口,既可以用于有線網絡也可用于無線網絡,它是一種通用架構,它依靠可擴展身份認證協議(EAP)進行認證,需要RADIUS服務器作為認證端,接入認證成功后,客戶端生成成對主密鑰,通過服務器證書加密發送至服務器端,服務利用私鑰解密獲得PMK,據此雙方協商生成一致的PMK,PMK用于創建實際加密和解密所需的動態密鑰即成對臨時密鑰(Pairwise Transient Key),采用PTK密鑰加密和解密單播數據,如圖2所示:

圖2 802.1X認證流程圖
WPA默認采用TKIP+RC4安全加密機制,WPA2默認采用AES+CCMP安全加密機制,為保障數據的安全,安全策略設計為EAP鏈路認證通過之后進行數據加密保護,AES+CCMP進行數據加密保護的流程,如圖3所示:

圖3 AES+CCMP加密流程圖
在認證階段協商生成PMK密鑰并不負責數據的加密傳輸,PMK作為主密鑰用于生成臨時密鑰PTK,利用PMK交互信息生成PTK的步驟如下:
(1) 認證者AC生成Anonce并向客戶端STA發送包含Anonce的EAPOL-Key(EAPOL是基于LAN的EAP協議)消息,其中Snonce、Anonce分別代表客戶端和認證者的Nonce,Nonce是防范再注入攻擊的隨機值;
(2) 客戶端產生Snonce,由Anonce和Snonce使用偽隨機函數產生PTK,并發送包含Snonce和MIC的EAPOL-Key消息;
(3) 認證者根據Anonce和Snonce產生PTK,并對MIC進行校驗,隨后發送EAPOL-Key消息,其中包含Anonce、MIC以及是否安裝加密密鑰;
(4)客戶端發送EAPOL-Key消息,確認雙方PTK一致且密鑰已經安裝。
以上步驟稱為四次握手生成PTK密鑰的過程,PTK作為基本密鑰參與加密和解密數據的過程,這樣保證每個用戶在每次連接網絡時都有一個獨立的密鑰。
PTK密鑰是加密的關鍵要素,利用CCMP+AES算法對數據進行加密和完整性保護,CCMP是WPA2默認的加密方式,以AES算法為核心,目前還沒有發現破解方法,CCMP使用密碼塊鏈信息認證碼(CBC-MAC)來進行完整性驗證,WPA2也可選TKIP+RC4算法進行加密和完整性保護,但TKIP+RC4算法安全性遠不如CCMP+AES,如果無線終端只支持WEP加密,則升級為TKIP+RC4無需升級硬件,而升級為CCMP+AES可能需要升級硬件。
security psk命令用來配置WPA/WPA2的預共享密鑰認證和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}psk{pass-phrase|hex}key-value{aes|tkip|aes-tkip}
# 配置WPA預共享密鑰方式接入認證和認證密鑰,采用tkip加密方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa psk pass-phrase lrsabc123 tkip
# 配置WPA2預共享密鑰方式接入認證和認證密鑰(aes方式)。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa2
[AC6605-wlan-sec-prof-p1] security wpa2 psk pass-phrase lrs123abc aes
# 配置WPA-WPA2混合認證方式,使用混合加密(aes-tkip方式)。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa/wpa2
[AC6605-wlan-sec-prof-p1]security wpa-wpa2 psk pass-phrase 123abclrs aes-tkip
security dot1x命令用來配置WPA/WPA2的802.1X認證和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}dot1x{aes|tkip|aes-tkip}
# 配置WPA的TKIP 802.1X認證方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa dot1x tkip
# 配置WPA2的AES 802.1X認證方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa2
[AC6605-wlan-sec-prof-p1] security wpa2 dot1x aes
# 配置WPA-WPA2混合方式,使用混合加密,認證方式為802.1X。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa/wpa2
[AC6605-wlan-sec-prof-p1] security wpa-wpa2 dot1x aes-tkip
無線局域網安全是無線網絡通信的關鍵技術,它為無線傳播環境下的網絡安全提供保障,盡管沒有任何安全機制能夠保證網絡的絕對安全,但是部署合適的認證和加密解決方案可以使無線局域網的安全性的得到極大增強,尤其是WPA2的認證和加密技術更加成熟,可實施的安全策略更加多樣,因此在不同的場景得到了普遍應用。