[摘 要] WEP協議是IEEE802.11標準規定的數據加密機制,雖然WEP提供了64位和128位長度的密鑰機制,但仍然存在許多缺陷,因此,IEEE802.11需要采用其他的加密體制。本文分析了基于IEEE802.11標準的WEP安全漏洞,介紹了AES-CMM和ECC兩種加密體制,對IEEE802.11數據幀加密,并對它們的性能進行分析。
[關鍵詞] 有線對等協議 AES-CCM 橢圓曲線密碼體制
一、引言
無線局域網的IEEE802.11標準規定了兩部分安全機制:一是訪問認證機制;二是數據加密機制(WEP協議:Wired Equivalency Privacy)。它們是無線局域網系統中安全機制的主要形態和基礎,在IEEE802.11安全機制的評審過程中,加密專家對WEP算法進行很少的組內評審工作,正是這一疏忽,造成WEP的多處漏洞,為各種竄改數據攻擊提供了方便之門。
二、WEP協議分析
1.WEP協議簡介
802.11b使用WEP協議即有線對等協議來保證在無線傳輸過程中的數據安全,WEP協議可以實現以下安全性目標:
(1)數據安全性:WEP的基本目標就是防止數據在傳輸過程中被監聽。
(2)接入控制:WEP可用來在802.11b中實現接入控制,可以選擇是否丟棄那些非WEP加密的數據包,從而保證只將可信的用戶接入到局域網。
(3)數據完整性:WEP協議還能用來防止數據在傳輸的過程中被人篡改。
2.WEP安全機制
(1)WEP幀的數據加解密。首先介紹加密過程,發送端WEP幀加密過程如圖1所示:
WEP機制用加密密鑰與初始化向量IV連接產生種子密鑰,然后把種子密鑰送入偽隨機產生器PRNG產生密鑰流,密鑰流與明文進行異或生成密文。WEP幀加密過程如下:①消息M通過 CRC-32循環冗余校驗生成校驗值ICV,記做C(M),將M與C(M)連接生成明文P=M,C(M));②選擇初始向量IV 記做V,將初始向量與密鑰K連接作為種子密鑰,種子密鑰作為RC4算法的輸入生成偽隨機密鑰流,記為RC4(V,K);③將明文P 與偽隨機密鑰流RC4(V,K)進行異或生成密文,記為C=PRC4(V,K)。
然后把密文加上初始向量IV和報頭形成WEP幀進行傳輸,WEP幀格式如圖2所示:
接收端解密WEP幀過程如圖3所示:
①把接收到的初始向量V和共享密鑰K連接作為種子密鑰,種子密鑰作為RC4算法的輸入生成密鑰流RC4(V,K);②將密鑰流RC4(V,K)與密文進行異或生成明文:CRC4(V,K)=(PRC4(V,k))RC4(V,K)=P;③計算解密后的消息的ICV’,與接收ICV進行比較,若相同,則接收不同則丟棄。
(2)WEP認證機制。IEEE802.11規定了兩種認證方法:開放式認證,共享密鑰認證。開放式認證允許任何無線站訪問無線局域網,只要它符合無線網絡設置的MAC地址過濾規定,在開放式認證系統中沒有采取數據加密措施,信息都以明文方式出現,因此它實際上就是無認證。共享密鑰認證要求STA(移動終端)與AP(接入控制點)必須擁有一個靜態WEP密鑰,如圖4所示:
共享密鑰認證過程:①STA向訪問點AP發送一個認證請求,請求進行共享密鑰認證;②AP發送給STA一個挑戰信息包作為回應;③STA使用共享WEP密鑰對挑戰信息進行加密,并把它返回給AP;④如果AP能利用共享WEP密鑰對挑戰信息進行解密,并恢復出原始的挑戰信息,那么它將用一個認證響應允許STA接入,否則,AP將終止與此STA的通信。
3.WEP安全隱患分析
(1)RC4算法自身的不足。在采用IEEE 802.11協議的無線局域網產品中,主要有兩種方法來給定IV的值:一種是當無線網卡在初始化時,IV的值取為0或某一個隨機數,然后隨著數據包的個數逐次按模224遞增,當增加到224時IV的值又回到0;另一種方法是在[0,224 -1]上隨機選取IV值。當IV的值被隨機選取時,在傳輸大約4823個數據包后,就會有50%的概率發生IV碰撞,12430個數據包后將有99%的概率發生IV碰撞。在WEP協議中,每一個封裝的數據包中都包含一個初始向量IV。IV在數據幀中以明文形式傳輸,并和原始密鑰一起作為種子密鑰,用來生成加密有效載荷的密鑰流。密鑰流加密算法的缺陷就是,如果用相同的IV和密鑰加密兩個消息,將導致兩條消息的同時泄漏。這里,假設有兩段明文P1和P2,它們都采用相同的種子密鑰{IV,Key},對應生成的密文分別為C1和C2,則:
C1=P1RC4{IV,Key}
C2=P2RC4{{IV,Key }
C1C2=P1P2
因此在IV和密鑰相同的情況下,如果知道密文C1,C2和其中一段明文P1,就可以得到另一段明文P2。如果僅知道密文C1和C2,那么就得到了兩段明文P1和P2的異或值,使用字典攻擊法,就可以對P1和P2的值進行猜測,并最終得到其中一條明文。
(2)密鑰管理帶來的安全隱患。在WEP協議中,對密鑰的生成和分布沒有做任何規定,密鑰的使用也沒有具體規定,實際應用中這些重要的問題由設備制造商自行解決,導致大批存在密鑰管理安全隱患產品的出現。而這些產品中使用的WEP加密密鑰通常在很長一段時間內都不會改變,導致攻擊者在一個密鑰生存周期內可以獲得大量的無線傳輸數據包。從中選擇出使用相同IV的數據包,只要知道一個明文和密文,就可以計算出這些數據包使用的密鑰。在具體應用中,大多數用戶長時間共享同一密鑰,并且使用WEP協議的設備都是將密鑰保存在設備中,所以一旦設備丟失,所有使用這一共享密鑰的計算機的安全都可能受到威脅。
(3)身份認證中的安全隱患。在WEP協議身份認證過程中,AP以明文的形式把128字節的隨機序列流發送給客戶端,如果能夠監聽一個成功的客戶端與AP之間身份認證的過程,截獲它們雙方之間相互發送的數據包,通過把隨機數與加密值相異或,就可以得到密鑰流。而擁有了該密鑰流,任何人都可以向AP提出訪問請求。因為WEP協議中,身份認證是單向的。
三、安全對策
1.AES_CCM
采用AES_CCM模式來提供加密和數據完整性校驗,AES_CCM是802.11工作組專門為WLAN的加密和數據完整性校驗提出的一種基于AES的運行模式。數據完整性校驗部分使用了密碼學上成熟的CBC模式,保護對象是整個的MPDU數據單元和一部分MAC幀頭信息。加密部分使用的是AES_CRT模式,就是用一個準計數器產生一系列的分組作為AES的明文輸入,AES加密后輸出的密文作為定長得密鑰流與要保護的數據相異或產生密文,其安全性取決于AES的安全性。
加密過程:(1)將由標志,隨機數和計數器構成的初始向量輸入AES產生定長密鑰流;(2)將定長密鑰流與MAC幀的數據部分異或,計數部分加(1);(3)將(2)的結果作為下一個AES的輸入,產生定長密鑰流;(4)重復第二步,直到MAC幀數據全部加密完為止;(5)計數器清零,將上面得到的加密數據作為AES的輸入,輸出密鑰流;(6)將(4)得到的結果與校驗碼異或,完成對MAC幀的加密。
數據完整性校驗:(1)把由標志,隨機數和計數器構成的初始向量輸入AES產生定長密鑰流;(2)把AES以密碼分組鏈接的形式對MAC幀頭和MAC幀進行運算;(3)將(2)得到的結果,選取一半作為MIC值。
2.ECC
橢圓曲線密碼體制(ECC)來源于對橢圓曲線的研究,ECC的安全性基于橢圓曲線離散對數問題的困難性,使用相對較短的密鑰實現了與其他密碼體制(如RSA密碼體制)類似的安全強度。下面簡要描述用ECC密碼體制加解密的算法。
(1)密鑰的生成。首先選擇一個有限域GF(q)上的橢圓曲線E,在E上選擇基點P,用戶隨機選擇一個整數d,且d∈[0,n-1];計算點Q=dp,將Q作為公鑰,d作為私鑰。
(2)加密過程。①獲得接收方的公鑰Q;②將明文M映射為域GF(q)中的元素;③隨機選擇一個整數k,使得k∈[0,n-1];④計算(x1,y1)=kP,(x2,y2)=kQ,如果x2=0則返回第三步;⑤計算c=mx2;⑥發送密文(x1,y1,c)。
(3)解密過程。①用自己的私鑰d計算(x2,y2)=d (x1,y1);②計算m=cx2-1 ,然后,由m映射得到明文M。
四、性能分析
下面利用WEP、AES-CCM和ECC實現對IEEE 802.11數據幀的加密,并分析其性能。
AES-CCM應用程序由數據加密和解密認證兩部分實現,密鑰長度為128bit。ECC應用程序基于NTL來實現數據的加密/解密和簽名驗證過程。
為了獲得同128bit長度的AES算法一樣的安全性能,ECC應用程序采用233bit和283bit兩種密鑰長度來實現,預定義曲線:K-233、B-233、K-283、B-283,見表:
下面對表中的數據進行分析:
(1)RC4和AES-CCM為對稱密鑰(私鑰)體制,ECC為非對稱密鑰(公鑰)體制。
(2)AES-CCM是一種分組加密算法,分組長度和密鑰長度可以為128bit、192bit或256bit。該算法將數據分成一個個128bit(16字節)長的分組,不夠16字節的數據用0填充,因此表1中1字節和8字節的數據加密時間與16字節數據的加密時間相同。
(3)不管需要加密的數據長度有多長,利用相同的ECC密鑰長度來加密的時間是相等的,K-233與B-233相等,K-283與B-283相等,這是因為數據是映射到特定的橢圓曲線上的,不同長度的數據只映射到橢圓曲線上的不同點。表中ECC對不同數據長度的加密時間還是有少許的差別,那是因為加密過程中如果第四步x2=0,還需要返回第三步重新選取k的緣故。
通過以上分析,說明采用AES-CMM和ECC兩種加密體制對IEEE802.11數據幀加密,安全性得到進一步的提高。
參考文獻:
[1]W.A.Arbaugh,N.Shankar, and Y.J Wan, ”Your 802.11 wireless network has no clothes”. Department of Computer Science University of Maryland College Park, Maryland 20742,March 30,2001
[2]杜 勇:無線局域網安全研究與802.1x協議在AP中的實現.西安:西安電子科技大學,2001
[3]Madge Limited. Wireless LAN Security White Paper[EB/OL].http://www.madge.com,2003
[4]鐘曉珊 劉 旭:無線局域網接入的安全性問題[J].信息技術,2004,12(28):10~13