王 磊,梁華慶
(中國石油大學(北京),北京102249)
802.11 采用WEP加密用來保證WLAN空中接口的數據安全,但是實際應用中WEP很容易受到攻擊,無法提供類似于有線介質的安全性,2001年7月WEP中的RC4加密技術被成功破解。這樣,原本就不太安全的無線局域網變得更脆弱不堪。因此IEEE制定了802.11i,用于增強AP的安全性,解決WEP加密的缺陷。
WEP算法的主要目的是提供數據的完整性和物理層的保密性,并通過拒絕所有非法WEP信息包來拒絕對網絡的非法訪問。WEP采用對稱性加密算法RC4,在加密與解密端均使用同樣的40 bit長的密鑰。密鑰將會被發送到每一個終端以及訪問點之中。WEP也具有終端的認證功能,當加密機制功能啟用,終端要嘗試連接到訪問點時,訪問點會發出一個測驗包(Challenge Packet)給終端,終端再利用共享密鑰將封包加密后送回訪問點以進行認證比對,如果無誤,才能獲準存取網絡的資源。WEP使用的RC4算法是一次性密碼本形式的加密算法(只有在密碼本僅用一次的情況下,一次性密碼本的安全性才有效)。根據 FLUHRER、MANTIN、SHAMIR的研究結果表明RC4算法中的KSA(Key Scheduling Algorithm)本身存在缺陷,竊聽者通過收集的大量IV值進行統計分析來解密,繼而訪問網絡[1],因此竊聽者能夠相當簡單地破譯WEP加密的消息,從而獲得對網絡和數據的訪問。在攻擊WEP之前,非法攻擊者會嗅探合法密鑰,并且通過重放攻擊收集初始向量,最終破解 WEP加密[2]。
802.11 i協議,通過使用增強認證(EAP/802.1X/RADIUS)、密鑰的動態建立與管理和增強加密(CCMP)等來加強無線網絡的安全,從而克服由于WEP本身的弱點給無線網絡安全帶來的影響。802.11i標準包括了用戶認證(使用802.1X)、密鑰管理、多種數據封裝加密機制。在數據加密算法方面,定義了TKIP、CCMP和WRAP等3種加密機制。其中TKIP采用IEEE 802.11WEP機制中的RC4作為核心加密算法。CCMP機制基于AES加密算法和CCM加密鑒別方式,使得WLAN的安全程度大大提高,是實現強安全網絡(RSN)的強制性要求。
為了在802.11網絡中提供比WEP更好的認證和機密性。IEEE802.11i協議定義了一個基于IEEE802.1X認證的強安全網絡關聯(RNSN),認證過程包括3個實體:請求者、認證者和認證服務器。一個成功的認證意味著請求者和認證者相互認證身份并生成共享密鑰用于加密傳輸數據。AP是認證者,認證服務器可以與認證者結合在一起,也可以是單獨的RADIUS服務器。通過一個安全的物理鏈路與認證者建立連接。
IEEE802.11i協議認證的完整過程包括請求者和認證者之間的握手(相互安全能力的通知和IEEE802.1X會話)、認證者和認證服務器(即 RADIUS)之間的握手,以及請求者和認證服務器之間的握手(EAP-TLS)。通過認證者轉發,這些握手、請求者和認證服務器彼此互相認證并生成一個共同的密鑰,稱為主會話密鑰MSK(Master Session Key)。認證服務器將MSK安全地傳輸給認證者,請求者和認證者利用MSK生成PMK(Pairwise Master Key),用于隨后臨時會話密鑰PTK的生成。上述操作通過4次握手功能實現。
在4次握手過程中,請求者和認證者基于事先雙方共有的PMK和握手過程中的參數等,分別在各自一端生成PTK。PTK并沒有在雙方之間傳輸,所以其密鑰的安全性得到很好的保證。在4次握手完成后雙方利用PTK中的TK加密通信數據信息,保證了數據傳輸的安全性。每次4次握手過程所產生的PTK僅在接下來的一次會話過程中使用。當需要新的會話時,則要重新開始4次握手建立新的PTK。這種動態密鑰與管理方式大大加強了WLAN的通信安全。
TKIP是在WEP基礎上改進的加密系統,安全等級有所提高。TKIP仍然采用了WEP加密,但在WEP基礎上增加了使用MIC進行完整性校驗、支持對MPDU進行編號防止重放攻擊、使用兩級密鑰混合功能防止基于WEP密鑰的攻擊。
相應的,TKIP擴展了加密幀格式,相對于WEP,增加了EIV和MIC域,其中EIV域用于重放保護,MIC域用于報文完整性校驗。MIC在MPDU分片之前進行計算,緊跟在數據之后,并使用TKIP進行加密。IV中的EIV標識用于指示幀的加密方式。如果為1,則是TKIP加密;否則即是WEP加密。
從以上可以看到,TKIP針對WEP算法的缺陷做出了相應的改進,但是TKIP算法只是一種過渡性的算法,更高級的算法已經呼之欲出,即802.11工作組I確定使用的算法CCMP。
CCMP采用AES系統,是目前最安全的無線局域網解密系統,但是無法兼容老設備。CCMP提供了加密、認證、完整性和重放保護。CCMP基于CCM(Counter-Mode/CBC-MAC)方式,該方式使用了AES加密算法,CCM(定義在RFC 3610)方式結合了用于加密的Counter Mode(CTR)與用于認證和完整性的加密塊鏈接消息認證碼。CCM保護MPDU數據和IEEE802.11iMPDU幀頭部分域的完整性。
所有在CCMP中用到的AES處理都使用一個128 bit的密鑰和一個128 bit的數據塊。CCM是一個通用模式,它可以用于任意面向塊的加密算法。CCM有兩個參數(M和L)。CCMP使用以下值作為CCM的參數:
M=8;表示 MIC是 8 B。
L=2;表示域長度位為2 B,這有助于保持802.11MPDU的最大長度。
針對每個會話,CCM需要有一個全新的臨時密鑰,CCM也要求用給定的臨時密鑰保護的每幀數據有唯一的nonce值。CCM是用一個48 bit PN實現的。對于同樣的臨時密鑰可以重用PN,這可以減少很多保證安全的工作。
CCMP處理用 16 B,擴展了原來 MPDU的容量,其中8 B為CCMP幀頭,8 B為MIC校驗碼。CCMP幀頭由PN、ExtIV(擴展初始向量)和Key ID域組成。PN是一個48 bit的數字,是一個6 B的數組。PN5是PN的最高字節,PN0是最低字節。值得注意的是,CCMP不使用WEP ICV。ExtIV域表示CCMP擴展了幀頭8 B,如果使用CCMP加密,則ExtIV的值總為1。這些設置更加確保了無線傳輸數據的真實性和安全性。
由此可知,CCMP的安全性主要取決于AES算法和CCM操作模式,而AES和CCM的理論基礎非常牢固,且都經過了網絡安全領域眾多專家和多年實踐的檢驗,從目前情況看,CCMP具有很高的安全性,已經逐漸在無線局域網安全產品中展開應用,在很長一段時期內將成為無線局域網最重要的安全機制。
本文主要介紹了WLAN技術發展以來所使用的安全技術,對不同階段的安全機制進行了一定的分析,雖然802.11i標準帶來了相對安全的無線網絡環境,但是其核心算法CCMP無法兼容老設備。隨著無線網絡的發展和安全技術的不斷進步,越來越健全的無線網絡環境將會出現。
[1]陸波波,黃鴻,任雪梅,等.802.11無線局域網安全與應用研究[J].微計算機信息,2005,21(5):226-227.
[2]張園,王青松.無線局域網安全技術綜述[J].計算機與現代化,2008(11):28-30.