劉仁山
(呼倫貝爾學(xué)院 內(nèi)蒙古 海拉爾 021008)
無(wú)線局域網(wǎng)(WLAN)以無(wú)線信道作為傳輸媒介,利用電磁波在空氣中收發(fā)數(shù)據(jù)實(shí)現(xiàn)了傳統(tǒng)有線局域網(wǎng)的功能,相對(duì)有線網(wǎng)絡(luò)而言,無(wú)線局域網(wǎng)布放和實(shí)施簡(jiǎn)單快捷,基于802.11標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò)技術(shù)飛速發(fā)展,為用戶提供的接入帶寬越來(lái)越大,在辦公大樓、體育場(chǎng)、候機(jī)大廳等場(chǎng)所得到了廣泛應(yīng)用,由于無(wú)線側(cè)數(shù)據(jù)在自由空間傳輸,無(wú)線覆蓋的區(qū)域內(nèi)如果配置合適的接收設(shè)備都能夠獲取到信號(hào),導(dǎo)致未授權(quán)的用戶可獲得訪問(wèn)權(quán),信息存在泄露和被攻擊的風(fēng)險(xiǎn),WLAN常見(jiàn)的安全威脅有以下兩個(gè)方面[1]:一是,未經(jīng)授權(quán)地使用網(wǎng)絡(luò)服務(wù)。非法用戶未經(jīng)授權(quán)使用WLAN網(wǎng)絡(luò),與授權(quán)用戶共享帶寬,影響到合法用戶的使用體驗(yàn)以及可能泄露用戶信息,存在認(rèn)證風(fēng)險(xiǎn);二是,數(shù)據(jù)安全風(fēng)險(xiǎn)。無(wú)線傳輸作為開放空間數(shù)據(jù)傳送,信息容易被未授權(quán)的第三方攔截,導(dǎo)致數(shù)據(jù)被竊聽(tīng)和被篡改,導(dǎo)致數(shù)據(jù)的機(jī)密性和完整性遭到破壞。
因此WLAN網(wǎng)絡(luò)實(shí)施過(guò)程中要加強(qiáng)安全保護(hù),要實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)臋C(jī)密性、可認(rèn)證性和完整性,認(rèn)證和加密是必須要考慮的因素,認(rèn)證是從用戶接入角度確保訪問(wèn)者可信任,加密是對(duì)用戶數(shù)據(jù)提供隱私保護(hù)確保機(jī)密性,另外數(shù)據(jù)完整性保護(hù)通過(guò)相應(yīng)的校驗(yàn)算法來(lái)實(shí)現(xiàn)。
無(wú)線局域網(wǎng)安全涉及到多種加密、認(rèn)證和完整性保護(hù)算法,比如RC4算法、DES和AES算法。無(wú)線局域網(wǎng)通過(guò)TKIP和CCMP安全協(xié)議來(lái)實(shí)現(xiàn)加密算法的應(yīng)用,TKIP協(xié)議的核心算法是RC4,而CCMP協(xié)議是基于AES算法實(shí)現(xiàn)的,下面對(duì)無(wú)線網(wǎng)絡(luò)支持的安全加密算法進(jìn)行比較分析。
為了對(duì)數(shù)據(jù)進(jìn)行保護(hù),防止泄露和偷窺,可以采用多種加密算法對(duì)信息進(jìn)行保護(hù),尤其WLAN基于無(wú)線空間傳輸?shù)奶匦?,?shù)據(jù)更加容易泄露,因此,優(yōu)秀的加密算法對(duì)于保護(hù)數(shù)據(jù)的安全性至關(guān)重要,目前無(wú)線網(wǎng)絡(luò)設(shè)備支持的算法有:
2.1.1 RC4算法
RC4算法產(chǎn)生于1987年,與AES等分組算法不同,RC4采用面向流的序列密碼,密鑰長(zhǎng)度可變,一個(gè)明文的字節(jié)(8比特)與一個(gè)密鑰的字節(jié)進(jìn)行異或就生成了一個(gè)密文的字節(jié),連續(xù)不斷地對(duì)明文字節(jié)流進(jìn)行處理,產(chǎn)生密文輸出流。[2]
2.1.2 DES算法
DES算法是一個(gè)經(jīng)典的分組加密算法,以64位為分組對(duì)數(shù)據(jù)進(jìn)行加密(分組),加密和解密使用的是同一個(gè)算法(對(duì)稱);密鑰長(zhǎng)64位,事實(shí)上56位參與DES運(yùn)算,每8位中最后一位是奇偶校驗(yàn)位(保證密鑰每8位都有奇數(shù)個(gè)1);56位秘鑰雖然很短,但目前并沒(méi)有發(fā)現(xiàn)它的致命缺陷,當(dāng)秘鑰長(zhǎng)度擴(kuò)展到168位時(shí),形成的3DES算法具有更強(qiáng)大的抗窮舉搜索攻擊的能力。[3]
2.1.3 AES算法
AES算法采用56位密鑰進(jìn)行加密/解密在面臨高速窮舉攻擊仍然有很大的風(fēng)險(xiǎn),因此科學(xué)家們?cè)O(shè)計(jì)了168位密鑰空間的3DES,雖然變得安全但是加解密效率降低,2000年9月美國(guó)設(shè)計(jì)出高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard),AES能有效抵御所有已知攻擊,易于在現(xiàn)有軟硬件平臺(tái)上實(shí)現(xiàn),且加解密過(guò)程效率優(yōu)于DES,AES密鑰空間根據(jù)需要采用128位、192位和256位三種不同長(zhǎng)度。
上述加密算法RC4屬于流加密方式,而DES和AES屬于分組加密方式,流加密和分組加密各有優(yōu)勢(shì),對(duì)于需要加密/解密數(shù)據(jù)流的應(yīng)用,比如,在數(shù)據(jù)通信信道或?yàn)g覽器/網(wǎng)絡(luò)鏈路上,流加密可能是更好的選擇,而對(duì)于處理數(shù)據(jù)分組的應(yīng)用,比如,文件傳遞、電子郵件,分組加密則更合適。
為了實(shí)現(xiàn)安全算法的應(yīng)用,在無(wú)線局域網(wǎng)安全領(lǐng)域開發(fā)適合不同場(chǎng)景應(yīng)用的安全協(xié)議,TKIP協(xié)議采用RC4算法實(shí)現(xiàn)了加密機(jī)制,CCMP協(xié)議采用AES算法實(shí)現(xiàn)了加密機(jī)制,同時(shí)采用CBC-MAC算法實(shí)現(xiàn)了CCMP協(xié)議的完整性保護(hù)功能,采用EAP協(xié)議實(shí)現(xiàn)802.1X認(rèn)證。[4]
2.2.1 TKIP協(xié)議
TKIP協(xié)議(Temporal Key Integrity Protocol)是IEEE802.11i規(guī)范中負(fù)責(zé)處理無(wú)線安全問(wèn)題的加密協(xié)議。核心加密算法仍然采用WEP協(xié)議中的RC4算法,TKIP并不直接使用由PTK(Pairwise Transient Key)分解出來(lái)的密鑰作為加密報(bào)文的密鑰,而是將該密鑰作為基礎(chǔ)密鑰。經(jīng)過(guò)兩個(gè)階段的密鑰混合過(guò)程后,生成一個(gè)新的、每一次報(bào)文傳輸都不一樣的密鑰,該密鑰才是用作直接加密的密鑰,通過(guò)這種方式 可以進(jìn)一步增強(qiáng)WLAN的安全性。TKIP以一種比較可靠的Michael完整性校驗(yàn)算法保護(hù)源地址,防止偽造幀。
2.2.2 CCMP協(xié)議
CCMP協(xié)議(Counter CBC-MAC Protocol,CCMP)是802.11i定義的默認(rèn)加密方式,以AES為核心算法進(jìn)行加密,以密碼塊鏈信息認(rèn)證碼(CBC-MAC)來(lái)進(jìn)行完整性驗(yàn)證,CCMP/AES采用128為加密密鑰,信息被加密成128位的密文分組。鑒于AES算法足夠安全,報(bào)文加密、密鑰管理等所需的密鑰不必經(jīng)過(guò)密鑰混合,它們通過(guò)四次握手以動(dòng)態(tài)的方式生成,無(wú)論在加密安全性還是完整性校驗(yàn)上,CCMP/AES的性能要遠(yuǎn)優(yōu)于TKIP/RC4。
2.2.3 EAP協(xié)議
EAP協(xié)議(Extensible Authentication Protocol,EAP)是IEEE802.1X框架下的一個(gè)認(rèn)證協(xié)議,它本身并未規(guī)定如何識(shí)別用戶身份,但設(shè)計(jì)有可多種選擇的EAP認(rèn)證方法,它提供了客戶端、認(rèn)證者和認(rèn)證服務(wù)器之間認(rèn)證幀格式以及交互過(guò)程,整個(gè)認(rèn)證過(guò)程主要參與者是客戶端和認(rèn)證服務(wù)器,認(rèn)證者只是起到中介作用,客戶端與認(rèn)證者通過(guò)EAPOL(EAP over LAN)協(xié)議[5],認(rèn)證者通過(guò)RADIUS封包來(lái)傳遞EAP,據(jù)此實(shí)現(xiàn)客戶端和RADIUS服務(wù)器的EAP協(xié)議交互信息傳遞,EAP包含多種類型,比如:EAP-MD5屬于最早的EAP類型,采用用戶名和密碼的認(rèn)證方式;EAP-TLS類型是第一種標(biāo)準(zhǔn)的符合三項(xiàng)要求的身份認(rèn)證方式,客戶端和認(rèn)證服務(wù)器采用數(shù)字證書;EAP-TTLS類型只有認(rèn)證服務(wù)器采用數(shù)字證書;EAP-PEAP類型客戶端采用用戶名和密碼,認(rèn)證服務(wù)器采用數(shù)字證書。
安全策略就是對(duì)WLAN進(jìn)行安全體系設(shè)置,包括設(shè)置接入認(rèn)證、加密和完整性驗(yàn)證的協(xié)議和算法等。STA接入AP無(wú)線網(wǎng)絡(luò)需要經(jīng)歷三個(gè)階段:掃描階段、鏈路認(rèn)證階段和關(guān)聯(lián)階段,在關(guān)聯(lián)階段配置用戶接入安全策略,包括STA的認(rèn)證、數(shù)據(jù)加密和完整性保護(hù),可通過(guò)采用WEP、WPA和WPA2安全策略實(shí)現(xiàn)。
WEP(Wired Equivalent Privacy)是1999年通過(guò)的IEEE802.11b標(biāo)準(zhǔn)的一部分,用來(lái)保護(hù)用戶數(shù)據(jù),IEEE802.11n不支持此加密辦法,如果采用此加密方法,無(wú)線速率將降低,WEP極其不安全,在實(shí)施過(guò)程中可采用開放系統(tǒng)認(rèn)證和共享密鑰認(rèn)證兩種方式,開放系統(tǒng)認(rèn)證過(guò)程不需要認(rèn)證,用戶上線后,可以通過(guò)配置選擇是否對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行WEP加密;共享密鑰認(rèn)證通過(guò)共享密鑰認(rèn)證,通過(guò)協(xié)商出來(lái)的密鑰對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行RC4加密,所有用戶共享一個(gè)密鑰。
WPA(Wi-Fi Protected Access)有WPA和WPA2兩個(gè)標(biāo)準(zhǔn),WPA 實(shí)現(xiàn)了IEEE802.11i標(biāo)準(zhǔn)的大部分,WPA2是IEEE802.11i安全標(biāo)準(zhǔn)組織的區(qū)別于WPA的安全性更高的安全標(biāo)準(zhǔn),在鏈路認(rèn)證階段采用開放認(rèn)證,在用戶接入認(rèn)證階段實(shí)施WPA/WPA2安全策略。WPA/WPA2分為企業(yè)版和個(gè)人版,WPA/WPA2企業(yè)版采用IEEE802.1X的接入認(rèn)證方式,利用RADIUS服務(wù)器和可擴(kuò)展認(rèn)證協(xié)議EAP進(jìn)行認(rèn)證,在大型企業(yè)網(wǎng)絡(luò)中,通常采用WPA/WPA2企業(yè)版的認(rèn)證方式;WPA/WPA2個(gè)人版(WPA/WPA2-PSK)模式,不需要專門的認(rèn)證服務(wù)器,要求在認(rèn)證雙方設(shè)備上預(yù)先輸入一個(gè)預(yù)共享密鑰即可,適合于安全性要求不高的小型無(wú)線局域網(wǎng)應(yīng)用場(chǎng)景。
由于無(wú)線終端的種類多種多樣,支持的認(rèn)證和加密方式也有所差異,為了便于多種類型的終端接入,方便網(wǎng)絡(luò)管理員的管理,可以使用混合方式配置WPA和WPA2。配置安全策略為WPA-WPA2,則支持WPA或WPA2的終端都可以接入設(shè)備進(jìn)行認(rèn)證;配置加密方式為TKIP-AES,則支持TKIP加密或AES加密的終端都可以對(duì)業(yè)務(wù)報(bào)文進(jìn)行加密。
無(wú)線局域網(wǎng)安全策略分類如表1所示:
表1 安全策略分類表
通過(guò)對(duì)多種無(wú)線安全策略進(jìn)行比較分析,無(wú)論是加密還是認(rèn)證以及完整性保護(hù)方面WPA2安全策略都是最安全的,也是密碼學(xué)分析以及實(shí)踐檢驗(yàn)驗(yàn)證的無(wú)線領(lǐng)域最安全的技術(shù)。本文針對(duì)WPA2的工作流程進(jìn)行分析,了解其原理,加強(qiáng)對(duì)其應(yīng)用的理解。根據(jù)不同的應(yīng)用場(chǎng)景選擇個(gè)人版或者企業(yè)版。
4.1.1 WPA/WPA2-PSK安全認(rèn)證流程
WPA/WPA2-PSK認(rèn)證主要用于個(gè)人、家庭與小型SOHO網(wǎng)絡(luò),對(duì)網(wǎng)絡(luò)安全要求相對(duì)較低,不需要認(rèn)證服務(wù)器。預(yù)共享密碼可以用ASCII和HEX兩種方式來(lái)輸入,ASCII為字符模式,即輸入5個(gè)(64bit模式)或13個(gè)(128bit模式)字符。HEX模式為十六進(jìn)制模式,即輸入10個(gè)(64bit模式)或26個(gè)(128bit模式)從0-9及A-F之間的字符。其認(rèn)證流程如圖1所示:
4.1.2 WPA/WPA2-(802.1x + EAP)安全認(rèn)證流程
STA接入AP過(guò)程需要經(jīng)歷兩個(gè)認(rèn)證階段,包括鏈路認(rèn)證階段和接入認(rèn)證階段,鏈路認(rèn)證階段采用開放系統(tǒng)認(rèn)證,接入認(rèn)證階段基于IEEE802.1x的EAP協(xié)議進(jìn)行認(rèn)證,IEEE802.1x是基于端口的接入認(rèn)證協(xié)議,端口可以是物理端口也可以是邏輯端口,既可以用于有線網(wǎng)絡(luò)也可用于無(wú)線網(wǎng)絡(luò),它是一種通用架構(gòu),它依靠可擴(kuò)展身份認(rèn)證協(xié)議(EAP)進(jìn)行認(rèn)證,需要RADIUS服務(wù)器作為認(rèn)證端,接入認(rèn)證成功后,客戶端生成成對(duì)主密鑰,通過(guò)服務(wù)器證書加密發(fā)送至服務(wù)器端,服務(wù)利用私鑰解密獲得PMK,據(jù)此雙方協(xié)商生成一致的PMK,PMK用于創(chuàng)建實(shí)際加密和解密所需的動(dòng)態(tài)密鑰即成對(duì)臨時(shí)密鑰(Pairwise Transient Key),采用PTK密鑰加密和解密單播數(shù)據(jù),如圖2所示:
圖2 802.1X認(rèn)證流程圖
WPA默認(rèn)采用TKIP+RC4安全加密機(jī)制,WPA2默認(rèn)采用AES+CCMP安全加密機(jī)制,為保障數(shù)據(jù)的安全,安全策略設(shè)計(jì)為EAP鏈路認(rèn)證通過(guò)之后進(jìn)行數(shù)據(jù)加密保護(hù),AES+CCMP進(jìn)行數(shù)據(jù)加密保護(hù)的流程,如圖3所示:
圖3 AES+CCMP加密流程圖
在認(rèn)證階段協(xié)商生成PMK密鑰并不負(fù)責(zé)數(shù)據(jù)的加密傳輸,PMK作為主密鑰用于生成臨時(shí)密鑰PTK,利用PMK交互信息生成PTK的步驟如下:
(1) 認(rèn)證者AC生成Anonce并向客戶端STA發(fā)送包含Anonce的EAPOL-Key(EAPOL是基于LAN的EAP協(xié)議)消息,其中Snonce、Anonce分別代表客戶端和認(rèn)證者的Nonce,Nonce是防范再注入攻擊的隨機(jī)值;
(2) 客戶端產(chǎn)生Snonce,由Anonce和Snonce使用偽隨機(jī)函數(shù)產(chǎn)生PTK,并發(fā)送包含Snonce和MIC的EAPOL-Key消息;
(3) 認(rèn)證者根據(jù)Anonce和Snonce產(chǎn)生PTK,并對(duì)MIC進(jìn)行校驗(yàn),隨后發(fā)送EAPOL-Key消息,其中包含Anonce、MIC以及是否安裝加密密鑰;
(4)客戶端發(fā)送EAPOL-Key消息,確認(rèn)雙方PTK一致且密鑰已經(jīng)安裝。
以上步驟稱為四次握手生成PTK密鑰的過(guò)程,PTK作為基本密鑰參與加密和解密數(shù)據(jù)的過(guò)程,這樣保證每個(gè)用戶在每次連接網(wǎng)絡(luò)時(shí)都有一個(gè)獨(dú)立的密鑰。
PTK密鑰是加密的關(guān)鍵要素,利用CCMP+AES算法對(duì)數(shù)據(jù)進(jìn)行加密和完整性保護(hù),CCMP是WPA2默認(rèn)的加密方式,以AES算法為核心,目前還沒(méi)有發(fā)現(xiàn)破解方法,CCMP使用密碼塊鏈信息認(rèn)證碼(CBC-MAC)來(lái)進(jìn)行完整性驗(yàn)證,WPA2也可選TKIP+RC4算法進(jìn)行加密和完整性保護(hù),但TKIP+RC4算法安全性遠(yuǎn)不如CCMP+AES,如果無(wú)線終端只支持WEP加密,則升級(jí)為TKIP+RC4無(wú)需升級(jí)硬件,而升級(jí)為CCMP+AES可能需要升級(jí)硬件。
security psk命令用來(lái)配置WPA/WPA2的預(yù)共享密鑰認(rèn)證和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}psk{pass-phrase|hex}key-value{aes|tkip|aes-tkip}
# 配置WPA預(yù)共享密鑰方式接入認(rèn)證和認(rèn)證密鑰,采用tkip加密方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa psk pass-phrase lrsabc123 tkip
# 配置WPA2預(yù)共享密鑰方式接入認(rèn)證和認(rèn)證密鑰(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混合認(rèn)證方式,使用混合加密(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命令用來(lái)配置WPA/WPA2的802.1X認(rèn)證和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}dot1x{aes|tkip|aes-tkip}
# 配置WPA的TKIP 802.1X認(rèn)證方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa dot1x tkip
# 配置WPA2的AES 802.1X認(rèn)證方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa2
[AC6605-wlan-sec-prof-p1] security wpa2 dot1x aes
# 配置WPA-WPA2混合方式,使用混合加密,認(rèn)證方式為802.1X。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa/wpa2
[AC6605-wlan-sec-prof-p1] security wpa-wpa2 dot1x aes-tkip
無(wú)線局域網(wǎng)安全是無(wú)線網(wǎng)絡(luò)通信的關(guān)鍵技術(shù),它為無(wú)線傳播環(huán)境下的網(wǎng)絡(luò)安全提供保障,盡管沒(méi)有任何安全機(jī)制能夠保證網(wǎng)絡(luò)的絕對(duì)安全,但是部署合適的認(rèn)證和加密解決方案可以使無(wú)線局域網(wǎng)的安全性的得到極大增強(qiáng),尤其是WPA2的認(rèn)證和加密技術(shù)更加成熟,可實(shí)施的安全策略更加多樣,因此在不同的場(chǎng)景得到了普遍應(yīng)用。