專利名稱:一種在密鑰污染后重新生成密鑰的方法
技術領域:
本發(fā)明涉及通信和計算機領域,尤其涉及一種在密鑰污染后重新生成密鑰的方法。
背景技術:
目前在無線局域網(wǎng)(WLAN)的認證過程中,將密鑰的生成過程劃分為幾個層級。當某一級密鑰受到攻擊時,由此密鑰產(chǎn)生的下級密鑰都將受到污染,而由此產(chǎn)生的會話將被刪除。
如圖1所示,當無線站點(STA)與認證服務器進行了802.1X認證后,會產(chǎn)生一個主會話密鑰(MSK)(如果采用PSK,則預先在STA和網(wǎng)絡側設備上配置該PSK),此時網(wǎng)絡側和STA上都有MSK。網(wǎng)絡側成對主密鑰R0(PMK-R0)持有者得到此MSK,并連同一些其它的參數(shù)通過一定的算法生成PMK-R0。同樣,網(wǎng)絡側R1密鑰持有者從網(wǎng)絡側R0密鑰持有者獲得PMK-R0,并連同一些其它的參數(shù)通過一定的算法生成PMK-R1。最后無線接入點(AP)得到PMK-R1。在終端上,STA由MSK和一些參數(shù)通過同樣的算法生成PMK-R0,然后生成PMK-R1。然后STA和PMK-R1進行四次握手,由此PMK-R1和一些參數(shù)在STA和AP上生成相同的新的密鑰PTK,如果二者有相同的PMK-R1,那么四次握手就可以進行,如果二者的PMK-R1不一樣,四次握手將不能進行。
在此密鑰層級的生成過程中,如果中間某一級密鑰受到攻擊,產(chǎn)生一個被污染的密鑰,那么由此產(chǎn)生的下級密鑰都將被污染,在這種情況下,STA和認證服務器需要重新進行認證以生成MSK(或者重新配置PSK)。而重新進行認證不僅時延比較大,而且使STA不能和AP進行數(shù)據(jù)通信,從而造成數(shù)據(jù)丟失。
發(fā)明內(nèi)容
本發(fā)明提供一種在密鑰污染后重新生成密鑰的方法,以解決現(xiàn)有技術在多層級生成密鑰過程中某一層級密鑰受到污染時,需要重新進行認證而存在增加通信時延和丟失數(shù)據(jù)的問題。
本發(fā)明提供以下技術方案一種在密鑰污染后重新生成密鑰的方法,所述密鑰由初始密鑰經(jīng)過多層級運算后生成,并且每層級的密鑰根據(jù)前一層級的密鑰生成;在確定當前層級的密鑰受到污染時進行下述步驟A、向當前層級的前一層級重新申請密鑰;B、根據(jù)申請到的密鑰重新生成當前層級的新密鑰。
步驟B之后還進一步包括步驟C、確定新密鑰是否與當前層級的原密鑰相同,若相同,則確定前一層級的密鑰被污染,將所述前一層級作為當前層級并進行步驟A;若不同,則確定新密鑰未受污染。
若未受污染的新密鑰為中間層級的密鑰,則根據(jù)該新密鑰按層級依次生成后續(xù)各層級的密鑰。
步驟A中,在申請密鑰前先判斷當前層級是否為初始層級,若是,則重新產(chǎn)生初始密鑰和利用該初始密鑰按層級依次生成后續(xù)各層級的密鑰,否則,向前一層級重新申請密鑰。
各層級在生成密鑰時還加入本層級的參數(shù)。
一種在無線局域網(wǎng)(WLAN)的認證過程中密鑰污染后重新生成密鑰的方法,由主會話密鑰(MSK)或預共享密鑰(PSK)經(jīng)過多層級運算后生成成對主密鑰R1(PMK-R1),并且每層級的密鑰由前一層級的密鑰與本層級參數(shù)生成;該方法包括如下步驟A、無線站點(STA)與接入點(AP)握手失敗,確定網(wǎng)絡側的PMK-R1被污染;B、網(wǎng)絡側生成PMK-R1的層級向生成PMK-R0的層級申請密鑰;
C、所述生成PMK-R1層級利用申請到的PMK-R0與參數(shù)生成新PMK-R1。
生成新的PMK-R1后進一步包括步驟D、將新PMK-R1與原PMK-R1比較,若兩者相同,則確定PMK-R0被污染,則進行步驟E,若不相同,AP則使用該PMK-R1;E、由生成PMK-R0的層級向MSK或PSK的持有者申請MSK或PSK,并將其與參數(shù)生成新PMK-R0;F、判斷新PMK-R0與原PMK-R0是否相同,若是,則通過重新認證生成MSK或重新配置PSK,以及利用該MSK或PSK按層級依次生成后續(xù)各層級的密鑰;若否,利用PMK-R0與參數(shù)生成新PMK-R1。
在網(wǎng)絡側重新生成密鑰過程中,STA可與網(wǎng)絡側其他AP進行通信。
本發(fā)明在中間層次密鑰受到污染時,通過向前一層級申請密鑰重新密鑰來生成密鑰,因而能夠減小重新生成密鑰的時間,降低時延;尤其在WLAN中,能夠減少STA和認證服務器的交互次數(shù),從而減少數(shù)據(jù)包丟失。
圖1為現(xiàn)有技術中802.11r中密鑰生成層級;圖2為本發(fā)明中多層次級密鑰中密鑰受到污染時的處理流程;圖3A、圖3B分別為本發(fā)明中在WLAN系統(tǒng)中密鑰受到污染時的處理示意圖和流程。
具體實施例方式
為了避免在初始密鑰經(jīng)多層級運算后生成最終密鑰過程中因中間某一層級密鑰被污染而直接通過認證等方式重新生成新的初始密鑰,造成通信的時延增加和造成數(shù)據(jù)丟失,本發(fā)明在中間密鑰受到污染時,向前面沒有受到污染層級申請密鑰,重新生成下級正確的密鑰。
對于當前層級密鑰在從前一層級申請到密鑰并生成本層級的新密鑰后,為了確定前一層級密鑰是否受到污染,將新密鑰和本層的密鑰進行比較,如果兩者相同,則說明前一層級的密鑰受到污染,因此需要由所述前一層級向其前一層級申請密鑰來重新生成新密鑰,以此類推,直到從前面沒有受到污染的層級申請到密鑰。如果確定初始密鑰已經(jīng)被污染,則要求重新進行認證來生成新的初始密鑰。
參閱圖2所示,在通信過程中,密鑰受到污染時的處理流程如下步驟200、用戶設備與網(wǎng)絡側的設備交互,在用戶設備和網(wǎng)絡側設備上生成初始密鑰;或者在用戶設備與網(wǎng)絡側的設備上配置初始密鑰。
步驟210、用戶設備和網(wǎng)絡側設備分別利用所述初始密鑰,經(jīng)過多層級運算生成最后層級的密鑰;其中各層級密鑰由前一級密鑰和本層級參數(shù)生成。
步驟220、用戶設備與網(wǎng)絡側設備交互過程利用所述最后層級的密鑰驗證失敗,即終端設備與網(wǎng)絡側的最終密鑰不相同,確定網(wǎng)絡側最后層級的密鑰受污染。
步驟230、由當前層級向前一層級申請并獲得密鑰。
步驟240、利用申請到的密鑰與當前層級的參數(shù)通過運算生成新密鑰。
步驟250、判斷新密鑰與當前層級的原密鑰是否相同,若相同,則進行步驟260,否不相同,則進行步驟300。
步驟260、說明前一層級的密鑰已被污染,判斷所述前一層級是否為初始層級,若是則進步驟280和290,否則,進行步驟270。
步驟270、將所述前一層級作為當前層級,進行步驟230。
步驟280、用戶設備與認證服務器交互,在用戶設備和網(wǎng)絡側設備上生成初始密鑰;或者重新在用戶設備和網(wǎng)絡側設備上配置初始密鑰。
步驟290、用戶設備和網(wǎng)絡側設備分別利用所述初始密鑰,經(jīng)過多層級運算生成最后層級的密鑰。
步驟295、若當前層級為最后層級,則使用該層級密鑰;若當前層級為中間層級,則根據(jù)該新密鑰按層級依次生成后續(xù)各層級的密鑰。
上述的層級可以是任何通信網(wǎng)絡的認證密鑰生成層級,如WLAN的密鑰層級。
下面以WLAN中的層級密鑰為例進一步說明根據(jù)現(xiàn)有的802.11r草案中定義的密鑰的生成算法,PMK-R0和PMK-R1的生成參數(shù)都不是隨機的,在參數(shù)不變的情況下,通過密鑰生成的算法,其結果即生成的新密鑰也不變,即輸入不變,輸出也不變。
按現(xiàn)有技術,當無線站點(STA)與無線接入點(AP)之間進行四次握手發(fā)送兩者的PMK-R1不相同時,一般情況下確定網(wǎng)絡側的PMD-R1被污染,需要STA和認證服務器重新進行認證以生成MSK;或重新配置PSK。但本發(fā)明中,當PMK-R1受到污染后,直接從上級沒有受到污染的層次獲取密鑰以生成下級正確的密鑰。如圖3A和圖3B所示,其實現(xiàn)過程如下步驟300、STA和AP進行四次握手時發(fā)現(xiàn)二者的PMK-R1不一樣,四次握手失敗,確定可能是AP網(wǎng)絡側的密鑰受到了污染。
步驟310、由R1密鑰持有者向上一級R0密鑰持有者重新申請密鑰PMK-R0。
步驟320、R1密鑰持有者利用R0密鑰持有者重新下發(fā)的密鑰PMK-R0和其它參數(shù)重新生成PMK-R1。
步驟330、判斷新的PMK-R1和原來PMK-R1是否相同,如果相同,確定可能是PMK-R0受到了污染,進行步驟340,如果不相同,進行步驟400。
步驟340、R1密鑰持有者通知R0密鑰持有者密鑰已受到污染,R0密鑰持有者向MSK或者PSK的持有者重新請求MSK或者PSK。
步驟350、R0密鑰持有者成功得到MSK或者PSK后,利用此密鑰生成新PMK-R0。
步驟360、判斷生成的新PMK-R0與原來的PMK-R0是否相同,如果相同,可能是MSK或者PSK受到了污染,進行步驟370,否則進行步驟390。
步驟370、重新發(fā)起認證生成MSK;或者重新配置PSK。
步驟380、R0密鑰持有者利用新生成的MSK或者PSK生成新PMK-R0。
步驟390、R1密鑰持有者利用新的PMK-R0生成新的PMK-R1。
步驟400、AP使用新生成的PMK-R1。
在步驟310至步驟400的過程中,STA可以和其它AP進行通信。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權利要求
1.一種在密鑰污染后重新生成密鑰的方法,所述密鑰由初始密鑰經(jīng)過多層級運算后生成,并且每層級的密鑰根據(jù)前一層級的密鑰生成;其特征在于,在確定當前層級的密鑰受到污染時進行下述步驟A、向當前層級的前一層級重新申請密鑰;B、根據(jù)申請到的密鑰重新生成當前層級的新密鑰。
2.如權利要求1所述的方法,其特征在于,步驟B之后還進一步包括步驟C、確定新密鑰是否與當前層級的原密鑰相同,若相同,則確定前一層級的密鑰被污染,將所述前一層級作為當前層級并進行步驟A;若不同,則確定新密鑰未受污染。
3.如權利要求2所述的方法,其特征在于,若未受污染的新密鑰為中間層級的密鑰,則根據(jù)該新密鑰按層級依次生成后續(xù)各層級的密鑰。
4.如權利要求1、2或3所述的方法,其特征在于,步驟A中,在申請密鑰前先判斷當前層級是否為初始層級,若是,則重新產(chǎn)生初始密鑰和利用該初始密鑰按層級依次生成后續(xù)各層級的密鑰,否則,向前一層級重新申請密鑰。
5.如權利要求1所述的方法,其特征在于,各層級在生成密鑰時還加入本層級的參數(shù)。
6.一種在無線局域網(wǎng)(WLAN)的認證過程中密鑰污染后重新生成密鑰的方法,由主會話密鑰(MSK)或預共享密鑰(PSK)經(jīng)過多層級運算后生成成對主密鑰R1(PMK-R1),并且每層級的密鑰由前一層級的密鑰與本層級參數(shù)生成;其特征在于,包括如下步驟A、無線站點(STA)與接入點(AP)握手失敗,確定網(wǎng)絡側的PMK-R1被污染;B、網(wǎng)絡側生成PMK-R1的層級向生成PMK-R0的層級申請密鑰;C、所述生成PMK-R1層級利用申請到的PMK-R0與參數(shù)生成新PMK-R1。
7.如權利要求6所述的方法,其特征在于,生成新的PMK-R1后進一步包括步驟D、將新PMK-R1與原PMK-R1比較,若兩者相同,則確定PMK-R0被污染,則進行步驟E,若不相同,AP則使用該PMK-R1;E、由生成PMK-R0的層級向MSK或PSK的持有者申請MSK或PSK,并將其與參數(shù)生成新PMK-R0;F、判斷新PMK-R0與原PMK-R0是否相同,若是,則通過重新認證生成MSK或重新配置PSK,以及利用該MSK或PSK按層級依次生成后續(xù)各層級的密鑰;若否,利用PMK-R0與參數(shù)生成新PMK-R1。
8.如權利要求6所述的方法,其特征在于,在網(wǎng)絡側重新生成密鑰過程中,STA可與網(wǎng)絡側其他AP進行通信。
全文摘要
本發(fā)明公開了一種在密鑰污染后重新生成密鑰的方法,所述密鑰由初始密鑰經(jīng)過多層級運算后生成,并且每層級的密鑰根據(jù)前一層級的密鑰生成;在確定當前層級的密鑰受到污染時向當前層級的前一層級重新申請密鑰,然后根據(jù)申請到的密鑰重新生成當前層級的新密鑰。本發(fā)明在中間層次密鑰受到污染時,通過向前一層級申請密鑰重新密鑰來生成密鑰,因而能夠減小重新生成密鑰的時間,降低時延;尤其在WLAN中,能夠減少STA和認證服務器的交互次數(shù),從而減少數(shù)據(jù)包丟失。
文檔編號H04L9/12GK1964253SQ200510115659
公開日2007年5月16日 申請日期2005年11月9日 優(yōu)先權日2005年11月9日
發(fā)明者莊宏成, 杜漢美 申請人:華為技術有限公司