新一代安全標(biāo)準(zhǔn)IEEE 802.11i定義了RSN(Robust Security Network)的概念,增強(qiáng)了WLAN中的數(shù)據(jù)加密和認(rèn)證性能,并且針對(duì)WEP加密機(jī)制的各種缺陷做了多方面的改進(jìn)。
IEEE 802.11i規(guī)定使用802.1x認(rèn)證和密鑰管理方式,在數(shù)據(jù)加密方面,定義了TKIP(Temporal Key Int egrity Protocol)、CCMP(Counter-Mode/CBC-MAC Protocol)和WRAP(Wireless Robust Authenticated Protocol)三種加密機(jī)制。其中TKIP采用WEP機(jī)制里的RC4作為核心加密算法,可以通過(guò)在現(xiàn)有的設(shè)備上升級(jí)固件和驅(qū)動(dòng)程序的方法達(dá)到提高WLAN安全的目的。CCMP機(jī)制基于AES(Advanced Encryption Standard)加密算法和CCM(Counter-Mode/CBC-MAC)認(rèn)證方式,使得WLAN的安全程度大大提高,是實(shí)現(xiàn)RSN的強(qiáng)制性要求。由于AES對(duì)硬件要求比較高,因此CCMP無(wú)法通過(guò)在現(xiàn)有設(shè)備的基礎(chǔ)上進(jìn)行升級(jí)實(shí)現(xiàn)。802.11i協(xié)議結(jié)構(gòu)如圖1所示。
探詢11i的秘密
TKIP
TKIP雖然與WEP同樣都是基于RC4加密算法,但卻引入了4個(gè)新算法:
● 擴(kuò)展的48位初始化向量(IV)和IV順序規(guī)則(IV Sequencing Rules);
● 每包密鑰構(gòu)建機(jī)制(per-packet key construction);
● Michael消息完整性代碼(Message Integrity Code,MIC);
● 密鑰重新獲取和分發(fā)機(jī)制。
TKIP并不直接使用由PTK/GTK分解出來(lái)的密鑰作為加密報(bào)文的密鑰,而是將該密鑰作為基礎(chǔ)密鑰(Base Key),經(jīng)過(guò)兩個(gè)階段的密鑰混合過(guò)程,從而生成一個(gè)新的、每一次報(bào)文傳輸都不一樣的密鑰,該密鑰才是用做直接加密的密鑰,通過(guò)這種方式可以進(jìn)一步增強(qiáng)WLAN的安全性。密鑰的生成方式如圖2所示。
CCMP
除了TKIP算法以外,802.11i還規(guī)定了一個(gè)基于AES(高級(jí)加密標(biāo)準(zhǔn))加密算法的CCMP(Counter-Mode/CBC-MAC Protocol)數(shù)據(jù)加密模式。與TKIP相同,CCMP也采用48位初始化向量(IV)和IV順序規(guī)則,其消息完整檢測(cè)算法采用CCM算法。
AES是一種對(duì)稱的塊加密技術(shù),提供比WEP/TKIP中RC4算法更高的加密性能。對(duì)稱密碼系統(tǒng)要求收發(fā)雙方都知道密鑰,而這種系統(tǒng)的最大困難在于如何安全地將密鑰分配給收發(fā)的雙方,特別是在網(wǎng)絡(luò)環(huán)境中。AES加密算法使用128bit分組加密數(shù)據(jù),它將在802.11i最終確認(rèn)后,成為取代WEP的新一代的加密技術(shù)。
IEEE 802.1x和EAP
IEEE 802.1x是一種基于端口的網(wǎng)絡(luò)接入控制技術(shù),該技術(shù)提供一個(gè)可靠的用戶認(rèn)證和密鑰分發(fā)的框架,可以控制用戶只有在認(rèn)證通過(guò)以后才能連接網(wǎng)絡(luò)。IEEE 802.1x本身并不提供實(shí)際的認(rèn)證機(jī)制,需要和上層認(rèn)證協(xié)議(EAP)配合來(lái)實(shí)現(xiàn)用戶認(rèn)證和密鑰分發(fā)。EAP允許無(wú)線終端支持不同的認(rèn)證類型,能與后臺(tái)不同的認(rèn)證服務(wù)器進(jìn)行通信,如遠(yuǎn)程接入用戶服務(wù)(Radius)。
802.lx要求三個(gè)實(shí)體:申請(qǐng)者、認(rèn)證者、認(rèn)證服務(wù)器。這些實(shí)體都是網(wǎng)絡(luò)設(shè)備的邏輯實(shí)體,認(rèn)證者一般為AP。它有兩個(gè)邏輯端口:受控端口和非受控端口。非受控端口過(guò)濾所有的網(wǎng)絡(luò)數(shù)據(jù)流只允許EAP幀通過(guò)。在認(rèn)證時(shí),用戶通過(guò)非受控端口和AP交換數(shù)據(jù),若用戶通過(guò)認(rèn)證則AP為用戶打開(kāi)一個(gè)受控端口,用戶可通過(guò)受控端口傳輸各種類型的數(shù)據(jù)幀(如HTTP和POP3)。
IEEE 802.1x認(rèn)證過(guò)程如下: 1) 無(wú)線終端向AP發(fā)出請(qǐng)求,試圖與AP進(jìn)行通信; 2) AP將加密的數(shù)據(jù)發(fā)送給驗(yàn)證服務(wù)器進(jìn)行用戶身份認(rèn)證; 3) 驗(yàn)證服務(wù)器確認(rèn)用戶身份后,AP允許該用戶接入; 4) 建立網(wǎng)絡(luò)連接后授權(quán)用戶通過(guò)AP訪問(wèn)網(wǎng)絡(luò)資源。
接入點(diǎn)通過(guò)不受控端口與WLAN用戶進(jìn)行通信,二者之間運(yùn)行EAPoL(EAP over LAN)協(xié)議,而接入點(diǎn)與認(rèn)證服務(wù)器之間運(yùn)行EAP協(xié)議。EAP協(xié)議并不是認(rèn)證系統(tǒng)和認(rèn)證服務(wù)器通信的惟一方式,其他的通信通道也可以使用。例如,如果認(rèn)證系統(tǒng)和認(rèn)證服務(wù)器集成在一起,兩個(gè)實(shí)體之間的通信就可以不采用EAP協(xié)議。
EAP(可擴(kuò)展認(rèn)證協(xié)議)認(rèn)證對(duì)IEEE 802.11原有標(biāo)準(zhǔn)進(jìn)行了3點(diǎn)改進(jìn):一是雙向認(rèn)證機(jī)制,這一機(jī)制有效地消除了中間人攻擊(MITM),如假冒的AP和遠(yuǎn)端認(rèn)證服務(wù)器; 二是集中化認(rèn)證管理和動(dòng)態(tài)分配加密密鑰機(jī)制,這一機(jī)制解決了管理上的難度; 三是定義了集中策略控制,當(dāng)會(huì)話超時(shí)時(shí),將觸發(fā)重新認(rèn)證和生成新的密鑰。
安全是這樣煉成的
802.11i草案標(biāo)準(zhǔn)中建議的認(rèn)證方案是基于802.1x和擴(kuò)展認(rèn)證協(xié)議(EAP)的,加密算法為高級(jí)加密標(biāo)準(zhǔn)(AES)。動(dòng)態(tài)協(xié)商認(rèn)證和加密算法使RSN可以不斷演進(jìn),與最新的安全水平保持同步,添加算法應(yīng)付新的威脅,并不斷提供保護(hù)無(wú)線局域網(wǎng)傳送的信息所需要的安全性。
由于采用動(dòng)態(tài)協(xié)商、802.1x、EAP和AES,故RSN比WEP和WPA可靠得多。但是,RSN不能很好地在遺留設(shè)備上運(yùn)行,只有最新的設(shè)備才擁有實(shí)現(xiàn)加密算法所需的計(jì)算速度和性能。
IEEE 802.11i系統(tǒng)在工作的時(shí)候,先由AP向外公布自身對(duì)系統(tǒng)的支持,在Beacons、Probe Response等報(bào)文中使用新定義的信息元素(Information Element),這些信息元素中包含了AP的安全配置信息(包括加密算法和安全配置等信息)。STA(終端)根據(jù)收到的信息選擇相應(yīng)的安全配置,并將所選擇的安全配置表示在其發(fā)出的Association Request和Re-Association Request報(bào)文中。
802.11i協(xié)議通過(guò)上述方式來(lái)實(shí)現(xiàn)STA與AP之間的加密算法以及密鑰管理方式的協(xié)商。另外,AP需要工作在開(kāi)放系統(tǒng)認(rèn)證方式下,STA以該模式與AP建立關(guān)聯(lián)之后,如果網(wǎng)絡(luò)中有Radius服務(wù)器作為認(rèn)證服務(wù)器,那么STA就使用802.1x方式進(jìn)行認(rèn)證;如果網(wǎng)絡(luò)中沒(méi)有Radius,STA與AP就會(huì)采用預(yù)共享密鑰(PSK,Pre-Shared Key)的方式。
STA通過(guò)802.1x身份驗(yàn)證之后,AP就會(huì)得到一個(gè)與STA相同的Session Key,AP與STA將該Session Key作為PMK(Pairwise Master Key,對(duì)于使用預(yù)共享密鑰的方式來(lái)說(shuō),PSK就是PMK)。隨后AP與STA通過(guò)EAPoL-KEY進(jìn)行WPA的四次握手(4-Way Handshake)過(guò)程,如圖4所示。在這個(gè)過(guò)程中,AP和STA均確認(rèn)了對(duì)方是否持有與自己一致的PMK,如不一致,四次握手過(guò)程就告失敗,連接也因此中斷,反之建立連接。