關(guān) 閉

新聞中心

解讀WLAN安全機(jī)制

作者:呂淵 夏宇聞 楊軍 時(shí)間:2005-04-30 來(lái)源:電子設(shè)計(jì)應(yīng)用2005年第2期 收藏

摘    要:本文介紹了基于IEEE 802.11 WLAN的安全機(jī)制,分析了有線等效保密協(xié)議()的工作原理及存在的安全漏洞,并對(duì)安全協(xié)議進(jìn)行了詳細(xì)的闡述。
關(guān)鍵詞:;;;

本文引用地址:http://www.butianyuan.cn/article/5565.htm

引言
WLAN在許多領(lǐng)域得到了充分的應(yīng)用。但是WLAN的媒質(zhì)是共享的,數(shù)據(jù)通過(guò)無(wú)線電波在空中傳播,就有可能到達(dá)預(yù)期之外,對(duì)數(shù)據(jù)安全造成重大的威脅,因此問(wèn)題更為引人注目。本文對(duì)無(wú)線網(wǎng)絡(luò)安全機(jī)制進(jìn)行了全面的分析。

802.11標(biāo)準(zhǔn)的安全機(jī)制
大多數(shù)WLAN設(shè)備都是以IEEE 802.11協(xié)議為基礎(chǔ)的,該標(biāo)準(zhǔn)為解決WLAN的安全問(wèn)題,提出了一系列的安全機(jī)制,包括有線等效保密協(xié)議(Wired Equivalent Privacy,)、開放式系統(tǒng)認(rèn)證(Open System Authentication)和共享密鑰認(rèn)證(Shared Key Authentication)等。
有線等效保密協(xié)議——WEP
WEP的目標(biāo)是應(yīng)能支持自同步、計(jì)算能力強(qiáng)且具有可輸出性。為實(shí)現(xiàn)這些目標(biāo),WEP協(xié)議采用RC4偽隨機(jī)數(shù)據(jù)產(chǎn)生器(Pseudo Random Number Generator,PRNG)生成密碼流,對(duì)WLAN中的數(shù)據(jù)流進(jìn)行加密保護(hù)。由于WEP不提供對(duì)數(shù)據(jù)的認(rèn)證功能,且RC4為一種對(duì)稱的密碼流加密算法,因此WEP不使用數(shù)據(jù)完整性密鑰,而只使用數(shù)據(jù)加密密鑰,解密密鑰與加密密鑰相同。
圖1展示的是WEP封裝的媒體訪問(wèn)控制協(xié)議數(shù)據(jù)單元(MAC Protocol Data Uint,MPDU)格式擴(kuò)展的Framebody部分,從圖中可以清楚地看到,它相對(duì)于傳統(tǒng)802.11標(biāo)準(zhǔn)定義的MPDU單元額外擴(kuò)展了8個(gè)字節(jié)。最左端是32位的初始向量(Initialization Value,IV)區(qū)域,包含3字節(jié)的初始向量值、2比特的密鑰ID值和6比特的填充字段。附于數(shù)據(jù)右端的是4字節(jié)的完整性檢驗(yàn)值(Integrity Check Value,ICV),它采用CRC-32算法,由明文數(shù)據(jù)計(jì)算而得。對(duì)于WEP加密機(jī)制來(lái)說(shuō),需要RC4密碼流加密的數(shù)據(jù)應(yīng)包含圖中的數(shù)據(jù)和ICV兩部分。
WEP加密封裝過(guò)程如下:24比特的初始向量與40比特(或104比特)的靜態(tài)共享密鑰WEP密鑰連接起來(lái)組成64比特(或128比特)的密鑰種子(Seed),輸入到RC4偽隨機(jī)數(shù)據(jù)產(chǎn)生器中以產(chǎn)生密碼流(Key Stream)。同時(shí),MPDU明文數(shù)據(jù)(Plaintext)經(jīng)由CRC-32算法計(jì)算出完整性校驗(yàn)值,附在MPDU明文數(shù)據(jù)之后,與RC4 PRNG產(chǎn)生的密碼流作異或(Exclusive)操作得到密文(Ciphertext),最后將初始向量、加密的數(shù)據(jù)和ICV值按照?qǐng)D1定義的格式封裝好等待發(fā)送。RC4為對(duì)稱的密碼流加密算法,因此解密時(shí)只需將加密封裝反向操作,就可獲得MPDU明文數(shù)據(jù),不同之處在于解密時(shí)需要比較ICV,即將由解密后的明文計(jì)算出來(lái)的ICV值與封包上的ICV值進(jìn)行比較,以確保數(shù)據(jù)完整性。
WEP存在的安全漏洞
如果WLAN的竊聽者攔截到具有兩個(gè)相同初始向量的數(shù)據(jù)包,將它們進(jìn)行異或,就可以得到這兩個(gè)數(shù)據(jù)包明文的異或值,如果推斷出其中一條消息的明文,或者攻擊者根本就很清楚其中某一條消息的明文,那么另一條消息的具體內(nèi)容也就顯而易見(jiàn)了。造成這個(gè)缺陷的主要原因就是這兩個(gè)數(shù)據(jù)包使用了相同的IV,而由IV與靜態(tài)共享密鑰組成的RC4密鑰種子相同,因此通過(guò)RC4偽隨機(jī)密碼產(chǎn)生器產(chǎn)生的密碼流也是相同的,即相對(duì)于兩個(gè)數(shù)據(jù)包來(lái)說(shuō),加密用的密碼流重用了。
在802.11標(biāo)準(zhǔn)中并沒(méi)有明確規(guī)定何時(shí)更換IV和如何更換IV的法則,而且將IV在明文中直接傳送。制造廠商在設(shè)計(jì)時(shí)為了方便起見(jiàn),通常將IV的初始值設(shè)置為0,然后往上遞增,這樣,小數(shù)值的IV使用頻率增大,密碼流重用的幾率也增大了,同時(shí)攻擊者攔截到相同密碼流加密的數(shù)據(jù)包的幾率也就增大了。
從WEP的MPDU格式中可以知道,初始向量IV只有24位,這是非常有限的,就算IV把所有可能值輪循一次,竊聽者也可以在幾個(gè)小時(shí)之內(nèi)獲得重復(fù)IV所產(chǎn)生的相同的密鑰種子及密碼流,這樣便縮短了密鑰的使用壽命。
WEP的封裝過(guò)程顯示,它并沒(méi)有額外進(jìn)行數(shù)據(jù)完整性校驗(yàn),而僅僅使用CRC-32算法對(duì)需要加密的明文計(jì)算了一次完整性檢驗(yàn)值。眾所周知,CRC-32算法是一個(gè)線性函數(shù),攻擊者可以利用這個(gè)特性來(lái)構(gòu)建正確的加密包,而僅需要為篡改的消息計(jì)算出相應(yīng)的ICV值即可。

構(gòu)建安全網(wǎng)絡(luò)
目前迫切需要一種比WEP更完善的網(wǎng)絡(luò)安全機(jī)制來(lái)有效地加強(qiáng)WLAN的安全性,鑒于這個(gè)原因,IEEE成立了專門的802.11 Task Group I(TGi)來(lái)制定并不斷修改、完善具備更高安全性能的網(wǎng)絡(luò)安全協(xié)議——802.11i。802.11 TGi提出了為WLAN構(gòu)建健全安全網(wǎng)絡(luò)的構(gòu)想RSNA(Robust Security Network Association),并將WEP列為pre-RSNA安全算法。RSNA定義了過(guò)渡時(shí)期的安全通信協(xié)議——暫時(shí)性密碼完整協(xié)議(Temporal Key Integrity Protocol,)和強(qiáng)制實(shí)施的計(jì)數(shù)器模式及密碼區(qū)塊鏈信息認(rèn)證碼協(xié)議(Counter Mode and Cipher Block Chaining Message Authentication Code Protocol,或Counter Mode/CBC-MAC Protocol,),并采用IEEE 802.1X來(lái)提供身份認(rèn)證和密鑰分配的框架結(jié)構(gòu)。

TKIP的提出,是為了兼容那些僅支持WEP的硬件,使它們?cè)诓桓淖冊(cè)瓉?lái)硬件框架的同時(shí),只需要本地升級(jí)就可以支持TKIP,從而達(dá)到增強(qiáng)網(wǎng)絡(luò)安全性的目的。
相對(duì)于WEP來(lái)說(shuō),TKIP的MPDU增加了序列計(jì)數(shù)器TSC(TKIP Sequence Counter)和信息完整碼MIC(Message Integrity Code)的信息,TSC為48比特,由初始向量IV的第一和最后一個(gè)字節(jié),再加上擴(kuò)展初始向量(Extended IV)的4個(gè)字節(jié)組成。密鑰ID字節(jié)的Ext IV比特位應(yīng)設(shè)置為1,用以標(biāo)志隨后的4個(gè)字節(jié)為TKIP的擴(kuò)展初始向量。需要WEP封裝加密的字段為數(shù)據(jù)、MIC以及WEP封裝中計(jì)算出的ICV值。
暫時(shí)性密碼TK(Temporal Key)和MIC密鑰都是由802.1X事先協(xié)商出來(lái)的成對(duì)密碼衍生出來(lái)的。MIC密鑰、目的地址DA、源地址SA、優(yōu)先級(jí)及媒體訪問(wèn)控制服務(wù)數(shù)據(jù)單元MSDU(MAC Service Data Unit)共同輸入到信息完整碼函數(shù)(Michael Function)中,計(jì)算出MIC并附在MSDU原文后,再與序列計(jì)數(shù)器TSC共同送入拆包函數(shù)(Fragment Function)中,若需要?jiǎng)t分割成多個(gè)較小的MPDU。與此同時(shí),傳輸器地址TA、暫時(shí)性密碼TK及TSC輸入到混合函數(shù)(Key Mixing Function)中,經(jīng)過(guò)兩個(gè)階段的混合運(yùn)算,為相應(yīng)TSC的MPDU計(jì)算出個(gè)別封包密碼,802.11i協(xié)議規(guī)定這個(gè)密碼總共128比特,由104比特的RC4密鑰和24比特的WEP IV組成。最后,將MPDU與對(duì)應(yīng)的個(gè)別封包密碼送入有線等效保密協(xié)議封裝函數(shù)(WEP Encapsulation)中進(jìn)行加密。由于TKIP使用對(duì)稱加密的WEP作為加密引擎,因此解密的時(shí)候只需將這個(gè)加密封裝過(guò)程反向操作即可。
雖然TKIP的核心加密運(yùn)算仍然為WEP中采用的RC4算法,但是TKIP卻提供了額外的運(yùn)算單元,對(duì)初始向量、原文及密碼進(jìn)行了先期處理,因此比WEP更具有可靠的數(shù)據(jù)傳輸安全性。首先,傳輸者計(jì)算出MIC值,附在MSDU之后分割成若干個(gè)MPDU,以待加密后發(fā)送。接收者在解密并成功通過(guò)ICV校驗(yàn)之后,將這若干MPDU整合成一個(gè)MSDU,并根據(jù)接收的數(shù)據(jù)計(jì)算出本地MIC值,與接收到的MIC值比較,若不符則拋棄該MSDU,同時(shí)采取相應(yīng)的措施,如及時(shí)更換暫時(shí)性密鑰等,這樣便有效地防止了偽造攻擊;其次,用于計(jì)算信息完整碼的Michael函數(shù)是一個(gè)單向的雜湊函數(shù),而并非線性的CRC-32函數(shù),這樣就增加了黑客截取數(shù)據(jù)包并篡改內(nèi)容的難度。同時(shí),TKIP還采取了許多措施來(lái)限制攻擊者偽造成功的幾率和通過(guò)大量數(shù)據(jù)流獲取密鑰的可能性;第三,TKIP為每個(gè)MPDU包引入了不同的TSC序列值,接收者在接收時(shí)丟棄掉TSC值順序不符的MPDU包,以此來(lái)防止重演攻擊;第四,TKIP利用混合函數(shù)將TSC與WEP密鑰捆綁起來(lái),接收者從MPDU中恢復(fù)出TSC,同樣通過(guò)混合函數(shù)計(jì)算出與發(fā)送方相同的WEP密鑰后才能正確解密,這樣就有效地破壞了黑客針對(duì)WEP密鑰的攻擊。

在802.11i構(gòu)建健全安全網(wǎng)絡(luò)的構(gòu)想中,除了TKIP安全機(jī)制以外,還有一種強(qiáng)制實(shí)施的安全通信協(xié)議,就是計(jì)數(shù)器模式及密碼區(qū)塊鏈信息認(rèn)證碼協(xié)議CCMP。任何宣稱為RSNA的安全系統(tǒng)都必須強(qiáng)制性地支持CCMP安全機(jī)制。
CCMP安全機(jī)制完全不同于WEP,它采用高級(jí)加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard)作為加密引擎。FIPS PUB 197標(biāo)準(zhǔn)中定義AES加密區(qū)塊長(zhǎng)度為128比特,密碼長(zhǎng)度則有128比特、192比特、256比特三種可選,在802.11i標(biāo)準(zhǔn)中則限定AES加密引擎的區(qū)塊和密碼長(zhǎng)度均為128比特。CCMP還配備了兩種運(yùn)算模式,即計(jì)數(shù)器模式(Counter Mode)和密碼區(qū)塊鏈信息認(rèn)證碼模式(CBC-MAC Mode),其中計(jì)數(shù)器模式用于數(shù)據(jù)流的加密/解密,而密碼區(qū)塊鏈信息認(rèn)證碼模式則用于身份認(rèn)證及數(shù)據(jù)完整性校驗(yàn)。
CCMP的MPDU格式如圖2所示。從圖中可以看出,CCMP的處理機(jī)制將802.11標(biāo)準(zhǔn)定義的MPDU格式擴(kuò)充了16個(gè)字節(jié),其中8個(gè)字節(jié)為CCMP起始碼,8個(gè)字節(jié)為MIC。CCMP起始碼是由PN(Packet Number)、Ext IV和密鑰ID組成的,PN值是48位的數(shù)據(jù)包序列號(hào)。Ext IV比特位設(shè)置為1,用以標(biāo)志CCMP將MPDU起始碼擴(kuò)展了8位,而不是像WEP那樣只擴(kuò)展了4位,對(duì)于CCMP來(lái)說(shuō),這一位總是設(shè)置為1的。附加在數(shù)據(jù)域后面的MIC是通過(guò)前述的CBC-MAC模式計(jì)算出來(lái)的,它和數(shù)據(jù)域一樣需要進(jìn)行加密運(yùn)算。
CCMP加密用的TK仍然是由成對(duì)的密碼衍生出來(lái)的。數(shù)據(jù)包序列值PN是不斷增加的,每個(gè)MPDU可以獲得一個(gè)不同的PN值,這樣對(duì)于同樣的TK,PN永遠(yuǎn)也不會(huì)重復(fù)。MAC起始碼部分用來(lái)構(gòu)造附加認(rèn)證數(shù)據(jù)AAD(Additional Authentication Data),PN、MPDU的Address 2以及優(yōu)先級(jí)則構(gòu)造出CCM Nonce值,上述二者與TK、MPDU原文一起送入CCM加密模塊,計(jì)算MIC值并進(jìn)行加密運(yùn)算。PN與密鑰ID共同組成CCMP起始碼,再與MAC起始碼、加密后數(shù)據(jù)和MIC共同構(gòu)成圖2所示的CCMP MPDU格式。解密的封裝過(guò)程與加密封裝對(duì)稱,僅需在反向操作后比較MIC值,用以確保數(shù)據(jù)完整性即可。
由此可見(jiàn),CCMP的安全機(jī)制與WEP、TKIP截然不同,它除了能對(duì)數(shù)據(jù)進(jìn)行保護(hù)外,還可以提供對(duì)MAC起始碼的保護(hù),加密引擎AES可靠性、安全性更高,同時(shí)對(duì)硬件的要求也更高??偟膩?lái)說(shuō),CCMP能夠提供保密、鑒別、完整性及重演攻擊的保護(hù)措施,也必須具備它,才能滿足健全安全網(wǎng)絡(luò)的構(gòu)想。

結(jié)語(yǔ)
IEEE 802.11 TGi所制定的802.11i標(biāo)準(zhǔn)能夠提供足夠的安全保障,以防止目前所知的攻擊方式,加強(qiáng)WLAN的安全性能,構(gòu)建健全的安全網(wǎng)絡(luò),確保數(shù)據(jù)的保密性、完整性和身份認(rèn)證都得到良好的解決?!?/p>

pid控制器相關(guān)文章:pid控制器原理




關(guān)鍵詞: 802.11i CCMP TKIP WEP WLAN安全

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉