專(zhuān)利名稱:一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法
技本領(lǐng)域本發(fā)明涉及加密領(lǐng)域,尤其涉及一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法。
背景技術(shù):
無(wú)線局域網(wǎng)(WLAN)系統(tǒng)是逐漸發(fā)展壯大的一種無(wú)線通信系統(tǒng),可以使得移動(dòng)用戶使用計(jì)算機(jī)通過(guò)WLAN無(wú)線機(jī)制與網(wǎng)絡(luò)進(jìn)行通信。在移動(dòng)用戶和網(wǎng)絡(luò)之間的空中接口,由于數(shù)據(jù)和信息都會(huì)通過(guò)無(wú)線電波進(jìn)行傳輸,所以有更多的機(jī)會(huì)泄漏信息。對(duì)于信息主要保護(hù)兩個(gè)方面機(jī)密性和完整性。機(jī)密性是指?jìng)鬏數(shù)男畔⒔?jīng)過(guò)處理之后,即使非法接收者得到信息也無(wú)法知道傳輸?shù)恼鎸?shí)數(shù)據(jù),從而防止信息泄漏;完整性是指信息經(jīng)過(guò)傳輸之后,能夠保持原始的數(shù)據(jù),中間不能夠被篡改。對(duì)于WLAN系統(tǒng)傳輸?shù)目罩薪涌跀?shù)據(jù),對(duì)于信息的機(jī)密性和完整性都需要進(jìn)行保護(hù)。
目前,對(duì)于機(jī)密性基本都是通過(guò)加密來(lái)實(shí)現(xiàn)的。對(duì)于完整性,可以通過(guò)CRC算法進(jìn)行校驗(yàn),也可以通過(guò)哈西鑒權(quán)算法生成校驗(yàn)碼來(lái)實(shí)現(xiàn)完整性保護(hù)。完整性保護(hù)的機(jī)制就是能夠?qū)⒋罅康臄?shù)據(jù)變換成有限長(zhǎng)度的數(shù)值,這個(gè)有限長(zhǎng)度就稱為校驗(yàn)碼,一個(gè)好的完整性算法要求原始數(shù)據(jù)變化一點(diǎn)點(diǎn),能夠引起校驗(yàn)碼中超過(guò)半數(shù)的數(shù)值變化,而且是不可預(yù)見(jiàn)的。
在WLAN系統(tǒng)中,傳遞的信息如果被修改了,而沒(méi)有通過(guò)一些途徑修改傳遞的信息對(duì)應(yīng)的校驗(yàn)碼,那么接收方通過(guò)重新計(jì)算原始信息,計(jì)算出校驗(yàn)碼,并與傳輸過(guò)來(lái)的比較,根據(jù)哈西鑒權(quán)算法的特點(diǎn),修改過(guò)原始信息之后,其校驗(yàn)碼必定會(huì)變化,所以,接收者可以知道傳遞過(guò)來(lái)的數(shù)據(jù)已經(jīng)被非法篡改了。
與本發(fā)明相關(guān)的現(xiàn)有技術(shù)一
WLAN系統(tǒng)采用有線等效加密方案(WEP)來(lái)加密保護(hù)WLAN網(wǎng)絡(luò)中的授權(quán)用戶信息,防止任意的竊聽(tīng)活動(dòng),保護(hù)信息的機(jī)密性。其中對(duì)于信息的完整性保護(hù)是通過(guò)對(duì)于加密完成的數(shù)據(jù)運(yùn)算CRC校驗(yàn),將校驗(yàn)碼附在WEP加密后的報(bào)文后面構(gòu)成組直接傳遞的報(bào)文。加密和完整性保護(hù)過(guò)程如圖1所示。
WEP算法的核心算法是RC4,圖中的RC4 PRNG是偽隨機(jī)數(shù)產(chǎn)生器,偽隨機(jī)數(shù)產(chǎn)生器的種子seed是由初始化向量(IV)和密鑰(secret key)串聯(lián)成的向量。產(chǎn)生的偽隨機(jī)數(shù)的字節(jié)數(shù)等于傳輸?shù)膱?bào)文MPDU的字節(jié)數(shù)再加上4。為了防止中間傳輸途中對(duì)于MPDU的篡改,對(duì)于MPDU采用CRC-32算法進(jìn)行了一次完整性校驗(yàn),產(chǎn)生一個(gè)校驗(yàn)值,填充在ICV字段。WEP機(jī)制應(yīng)用在MPDU消息體中,{初始化向量,消息體,完整性校驗(yàn)值}三元組是實(shí)際傳輸?shù)臄?shù)據(jù)。
圖2描述了使用WEP算法加密之后構(gòu)建成的數(shù)據(jù)幀,加密后的數(shù)據(jù)幀比最初的MPDU多出8字節(jié),其中4字節(jié)存放初始化向量(IV),其他4字節(jié)保存完整性校驗(yàn)值(ICV),WEP ICV是一個(gè)32位的數(shù)據(jù)域,只通過(guò)計(jì)算數(shù)據(jù)PDU得到的。
目前WLAN完整性保護(hù)機(jī)制使得接收者接收之后,必須使用解密密鑰通過(guò)WEP復(fù)雜的運(yùn)算解密出報(bào)文,解密出的報(bào)文包括了真實(shí)數(shù)據(jù)和傳遞過(guò)來(lái)的ICV,同時(shí),接收者將還原出的數(shù)據(jù)再通過(guò)CRC-32完整性校驗(yàn)算法計(jì)算ICV值,并與解密出的ICV值比較,如果相同才認(rèn)為是中間沒(méi)有篡改的報(bào)文。
現(xiàn)有技術(shù)一的缺點(diǎn)網(wǎng)絡(luò)安全中,有多種手段可以向通信設(shè)備發(fā)送大量非法或者重復(fù)的數(shù)據(jù)包,導(dǎo)致設(shè)備忙于處理這些非法報(bào)文時(shí),系統(tǒng)資源不夠而癱瘓。上述方案的一個(gè)缺點(diǎn)就是非常容易招致這樣的攻擊,而且沒(méi)有有效的防護(hù)手段。
如果惡意用戶在通信設(shè)備的中間插入大量的非法報(bào)文,接收者為了知道報(bào)文是否完整的,必須計(jì)算ICV,也必須先通過(guò)解密算法還原出數(shù)據(jù),而這個(gè)解密運(yùn)算是比較耗時(shí)的。如果經(jīng)過(guò)上述完整性機(jī)制驗(yàn)證,本報(bào)文是非法的,報(bào)文需要丟棄,那么耗時(shí)的WEP運(yùn)算資源就浪費(fèi)了,從而也容易導(dǎo)致上面的攻擊。
另外,本方案采用了CRC-32算法來(lái)計(jì)算ICV,CRC-32算法本身并不具備哈西完整性鑒權(quán)算法的特點(diǎn)。哈西完整性鑒權(quán)算法要求輸出對(duì)于輸入是非線性的關(guān)系,并且輸入的一位能夠使得輸出報(bào)文的超過(guò)半數(shù)數(shù)據(jù)得到變化。
沒(méi)有采用完整性密鑰,完整性檢查完全依賴于WEP加密密鑰,一旦加密密鑰泄漏,那么完整性保護(hù)就徹底失去意義。
總結(jié)起來(lái),方案一的缺點(diǎn)包括缺點(diǎn)1采用的完整性校驗(yàn)算法不符合完整性鑒權(quán)算法的特點(diǎn)。太簡(jiǎn)單,保護(hù)級(jí)別低。
缺點(diǎn)2沒(méi)有采用完整性密鑰,機(jī)密性與完整性保護(hù)是捆綁在一起的。沒(méi)有相互增強(qiáng)安全性。
缺點(diǎn)3目前完整性計(jì)算與加密的實(shí)施順序非常容易招致簡(jiǎn)單的DOS攻擊,而使得系統(tǒng)陷入癱瘓。
與本發(fā)明相關(guān)的現(xiàn)有技術(shù)二在802.11i中制定了兩種新的加密/完整性保護(hù)協(xié)議,臨時(shí)密鑰完整性協(xié)議(TKIP)和無(wú)線強(qiáng)健認(rèn)證協(xié)議(WRAP)。加密和完整性保護(hù)如圖3所示七種完整性保護(hù)的字段MIC與技術(shù)方案一中的一樣都是先計(jì)算出來(lái),然后通過(guò)WEP加密形成密文。解密過(guò)程如圖4所示對(duì)于完整性的檢查,與方案一一樣,是在耗時(shí)的解密運(yùn)算之后才進(jìn)行MIC碼比對(duì),如果相同,說(shuō)明中間沒(méi)有篡改。
現(xiàn)有技術(shù)二的缺點(diǎn)雖然比較先進(jìn)的TKIP方案引入了完整性密鑰,但是由于其完整性計(jì)算仍然排在加密之前進(jìn)行,完整性檢查時(shí),仍然需要先通過(guò)解密才能夠知道完整性,所以,與方案一具有同樣的缺點(diǎn),即無(wú)法有效抵抗惡意的報(bào)文攻擊而陷入癱瘓。
缺點(diǎn)1采用的完整性校驗(yàn)算法不符合完整性鑒權(quán)算法的特點(diǎn)。太簡(jiǎn)單,保護(hù)級(jí)別低。
缺點(diǎn)2目前完整性計(jì)算與加密的實(shí)施順序非常容易招致簡(jiǎn)單Dos攻擊,而使得系統(tǒng)陷入癱瘓。
缺點(diǎn)3完整性保護(hù)依賴于機(jī)密性,沒(méi)有有效分離兩者,所以,對(duì)于單純的完整性保護(hù),系統(tǒng)運(yùn)行效率不高。
發(fā)明內(nèi)容
基于現(xiàn)有技術(shù)如上所述的缺點(diǎn),本發(fā)明提出一種增強(qiáng)完整性校驗(yàn)算法的安全性,將機(jī)密性與完整性相分離的保護(hù)方法。使得對(duì)于完整性保護(hù),可以不必運(yùn)行加密,就可以實(shí)現(xiàn)完整性保護(hù)。同時(shí)增強(qiáng)機(jī)密性自身的安全性,使數(shù)據(jù)的傳輸過(guò)程不必依賴于機(jī)密性。另外,還可以達(dá)到節(jié)約系統(tǒng)資源,抵抗非法攻擊的目的。
為此,本發(fā)明采用如下方案一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于包括以下步驟a、發(fā)送端利用初始化向量和加密密鑰產(chǎn)生偽隨機(jī)密鑰序列;b、將偽隨機(jī)密鑰序列與欲傳送數(shù)據(jù)進(jìn)行加密;c、將b步驟產(chǎn)生的數(shù)據(jù)與完整性密鑰利用完整性算法計(jì)算出完整性校驗(yàn)碼ICV1;d、將步驟c產(chǎn)生的完整性校驗(yàn)碼附加到步驟b產(chǎn)生的數(shù)據(jù)后,形成報(bào)文并傳遞給接收端;e、接收端將上述數(shù)據(jù)進(jìn)行解密,得到傳送的數(shù)據(jù)。
所述的步驟e,進(jìn)一步包括e1、接收端將接收到的報(bào)文與完整性密鑰一起輸入完整性算法,計(jì)算出本地完整性校驗(yàn)碼ICV2;e2、將ICV1與ICV2相比較,若不相同,則進(jìn)入步驟e3,若相同,則進(jìn)入步驟e4;e3、將數(shù)據(jù)丟棄;
e4、將初始化向量與加密密鑰輸入密碼發(fā)生器,產(chǎn)生隨機(jī)密鑰序列;e5、利用偽隨機(jī)密鑰序列與加密后的數(shù)據(jù),得到原始報(bào)文。
所述的步驟b,是通過(guò)將偽隨機(jī)密鑰序列與欲傳送的數(shù)據(jù)進(jìn)行異或操作。
所述的步驟e5,是將偽隨機(jī)密鑰序列與加密后的數(shù)據(jù)異或產(chǎn)生原始報(bào)文。
所述的步驟c中,該完整性算法為帶有密鑰的哈西鑒權(quán)函數(shù)。
所述的密鑰為HMAC或者M(jìn)D5。
本發(fā)明的方案中,由于完整性校驗(yàn)在解密之前進(jìn)行,如果發(fā)現(xiàn)是非法報(bào)文,提前丟棄報(bào)文,避免后面無(wú)謂的解密運(yùn)算,節(jié)約系統(tǒng)資源抵抗類(lèi)似DOS攻擊;另外,本發(fā)明中機(jī)密性與完整性分離,執(zhí)行效率更高;對(duì)于完整性保護(hù),可以不必運(yùn)行加密,就可以實(shí)現(xiàn)完整性保護(hù)。這樣完全實(shí)現(xiàn)用戶單獨(dú)選擇實(shí)施機(jī)密性還是完整性,增加靈活性;再有增強(qiáng)了完整性算法的安全性,可以有效保證數(shù)據(jù)的完整性。
圖1是現(xiàn)有技術(shù)中加密和完整性保護(hù)過(guò)程示意圖;圖2是現(xiàn)有技術(shù)中使用WEP算法加密之后構(gòu)建成的數(shù)據(jù)幀結(jié)構(gòu)示意圖;圖3是現(xiàn)有技術(shù)中加密流程示意圖;圖4是針對(duì)圖3加密流程的解密流程示意圖;圖5是本發(fā)明加密以及完整性計(jì)算過(guò)程示意圖;圖6是本發(fā)明解密以及完整性校驗(yàn)過(guò)程示意圖。
具體實(shí)施例方式
下面結(jié)合說(shuō)明書(shū)附圖來(lái)說(shuō)明本發(fā)明的具體實(shí)施方式
。
如圖5所示,是本發(fā)明所使用的加密及完整性計(jì)算過(guò)程的一個(gè)示意圖,從圖中可以看到,本發(fā)明涉及到了以下步驟a、IV與加密密鑰輸入密鑰發(fā)生器,產(chǎn)生偽隨機(jī)密鑰序列;
b、偽隨機(jī)密鑰序列與明文異或產(chǎn)生加密后的數(shù)據(jù);將偽隨機(jī)密鑰序列與欲傳送的明文進(jìn)行加密,這里該加密的操作可以有多種,我們采取最常見(jiàn)的異或操作。
c、加密后的數(shù)據(jù)與IV串聯(lián)起來(lái),與完整性密鑰一起輸入完整性算法,計(jì)算出完整性校驗(yàn)碼ICV;將前述的數(shù)據(jù)與初始化向量串聯(lián)起來(lái),和完整性密鑰一起,利用完整性算法計(jì)算出完整性校驗(yàn)碼IVC。
在這里,基于增強(qiáng)完整性保護(hù)的的需要,選擇帶有密鑰的哈西鑒權(quán)函數(shù)作為WLAN系統(tǒng)中的完整性算法,取代目前的CRC-32以及其他普通鑒權(quán)算法。具體可以使用密鑰HMAC,密鑰MD5等。
d、將ICV附加到加密后的數(shù)據(jù)與IV串聯(lián)成的消息后面,構(gòu)成可以傳遞的報(bào)文。
再將上述形成的可傳遞報(bào)文發(fā)送給接收端,由接收端進(jìn)行解密操作。
如圖6所示,是本發(fā)明解密以及完整性校驗(yàn)過(guò)程示意圖,從圖中可見(jiàn),本發(fā)明的解密過(guò)程包括以下步驟A、將接收到的報(bào)文中加密后的數(shù)據(jù)與IV的串聯(lián)成的報(bào)文,與完整性密鑰一起輸入完整性算法,計(jì)算出本地完整性校驗(yàn)碼ICV′;在接收端使用相同的方法,也可以產(chǎn)生一個(gè)完整性校驗(yàn)碼,ICV′,該ICV′可能與發(fā)送階段產(chǎn)生的ICV相同,也可能不相同,我們使用它作為報(bào)文完整性的驗(yàn)證標(biāo)準(zhǔn)。
B、將ICV′與接收到的ICV進(jìn)行比較。
如果兩個(gè)校驗(yàn)碼相同,說(shuō)明中簡(jiǎn)報(bào)文沒(méi)有被篡改,可以進(jìn)入下一步的解密處理,轉(zhuǎn)到流程C;如果校驗(yàn)碼不相同,說(shuō)明傳輸報(bào)文錯(cuò)誤,需要丟包。并不進(jìn)行后續(xù)的解密。
C、將IV與加密密鑰輸入密鑰發(fā)生器,產(chǎn)生偽隨機(jī)密鑰序列;D、偽隨機(jī)密鑰序列與加密后的數(shù)據(jù)異或產(chǎn)生原始明文。
本發(fā)明完整性保護(hù)在加密之后進(jìn)行,完整性檢查在解密之前進(jìn)行;如果發(fā)現(xiàn)是非法報(bào)文,提前丟棄報(bào)文,避免后面無(wú)謂的解密運(yùn)算,節(jié)約系統(tǒng)資源抵抗類(lèi)似DOS攻擊。
本發(fā)明完整性保護(hù)與機(jī)密性保護(hù)分離,有助于提高實(shí)施完整性保護(hù)的執(zhí)行效率;對(duì)于完整性保護(hù),可以不必運(yùn)行加密,就可以實(shí)現(xiàn)完整性保護(hù)。這樣完全實(shí)現(xiàn)用戶單獨(dú)選擇實(shí)施機(jī)密性還是完整性,增加靈活性。
另外,本發(fā)明使用安全級(jí)別高的完整性算法;增強(qiáng)了完整性算法的安全性,可以有效保證數(shù)據(jù)的完整性。
同時(shí),本發(fā)明在WLAN系統(tǒng)中完整性保護(hù),使用單獨(dú)的完整性密鑰。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書(shū)的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于包括以下步驟a、發(fā)送端利用初始化向量和加密密鑰產(chǎn)生偽隨機(jī)密鑰序列;b、將偽隨機(jī)密鑰序列與欲傳送數(shù)據(jù)進(jìn)行加密;c、將b步驟產(chǎn)生的數(shù)據(jù)與完整性密鑰利用完整性算法計(jì)算出完整性校驗(yàn)碼ICV1;d、將步驟c產(chǎn)生的完整性校驗(yàn)碼附加到步驟b產(chǎn)生的數(shù)據(jù)后,形成報(bào)文并傳遞給接收端;e、接收端將上述數(shù)據(jù)進(jìn)行解密,得到傳送的數(shù)據(jù)。
2.如權(quán)利要求1所述的在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于所述的步驟e,進(jìn)一步包括e1、接收端將接收到的報(bào)文與完整性密鑰一起輸入完整性算法,計(jì)算出本地完整性校驗(yàn)碼ICV2;e2、將ICV1與ICV2相比較,若不相同,則進(jìn)入步驟e3,若相同,則進(jìn)入步驟e4;e3、將數(shù)據(jù)丟棄;e4、將初始化向量與加密密鑰輸入密碼發(fā)生器,產(chǎn)生偽隨機(jī)密鑰序列;e5、利用偽隨機(jī)密鑰序列與加密后的數(shù)據(jù),得到原始報(bào)文。
3.如權(quán)利要求2所述的在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于所述的步驟b,是通過(guò)將偽隨機(jī)密鑰序列與欲傳送的數(shù)據(jù)進(jìn)行異或操作。
4.如權(quán)利要求3所述的在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于所述的步驟e5,是將偽隨機(jī)密鑰序列與加密后的數(shù)據(jù)異或產(chǎn)生原始報(bào)文。
5.如權(quán)利要求1所述的在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于所述的步驟c中,該完整性算法為帶有密鑰的哈西鑒權(quán)函數(shù)。
6.如權(quán)利要求5所述的在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于所述的密鑰為HMAC或者M(jìn)D5。
全文摘要
本發(fā)明涉及加密領(lǐng)域,尤其涉及一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法。一種在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)完整性保護(hù)的方法,其特征在于包括以下步驟a.發(fā)送端利用初始化向量和加密密鑰產(chǎn)生偽隨機(jī)密鑰序列;b.將偽隨機(jī)密鑰序列與欲傳送數(shù)據(jù)進(jìn)行加密;c.將b步驟產(chǎn)生的數(shù)據(jù)與完整性密鑰利用完整性算法計(jì)算出完整性校驗(yàn)碼ICV1;d.將步驟c產(chǎn)生的完整性校驗(yàn)碼附加到步驟b產(chǎn)生的數(shù)據(jù)后,形成報(bào)文并傳遞給接收端;e.接收端將上述數(shù)據(jù)進(jìn)行解密,得到傳送的數(shù)據(jù)。本發(fā)明完整性保護(hù)與機(jī)密性保護(hù)分離,有助于提高實(shí)施完整性保護(hù)的執(zhí)行效率;對(duì)于完整性保護(hù),可以不必運(yùn)行加密,就可以實(shí)現(xiàn)完整性保護(hù)。
文檔編號(hào)H04L12/28GK1567878SQ0314821
公開(kāi)日2005年1月19日 申請(qǐng)日期2003年6月27日 優(yōu)先權(quán)日2003年6月27日
發(fā)明者謝秀鵬, 劉廷永, 黃迎新, 鄭志彬, 張文林 申請(qǐng)人:華為技術(shù)有限公司