一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法。在AP和無線終端存在PMKSA的情況下,如果無線終端進(jìn)行或重關(guān)聯(lián)AP,則直接省略四次握手交互過程,利用關(guān)聯(lián)過程協(xié)商PTK和GTK的頒發(fā),縮短了鏈路建立時間,實現(xiàn)更快的數(shù)據(jù)報文傳輸;同時AP和無線終端之間直接略過四次密鑰協(xié)商過程,減少了四次握手失敗的可能,使得在無線環(huán)境惡劣的情況下,能夠減少或避免上層應(yīng)用的對底層鏈路的失敗處理,進(jìn)而減少上層應(yīng)用中斷。
【專利說明】一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法及裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法及裝置。
【背景技術(shù)】
[0002]WLAN (Wireless Local Area Network,無線局域網(wǎng))是以無線信道作為傳輸媒介的計算機(jī)局域網(wǎng),是有線聯(lián)網(wǎng)方式的重要補(bǔ)充和延伸。WLAN網(wǎng)絡(luò)是基于空口媒介傳輸?shù)?,為了保證網(wǎng)絡(luò)的安全性,使用者一般都需要對報文傳輸過程進(jìn)行驗證和加密。在802.11標(biāo)準(zhǔn)中,IEEE 提供了 RSNA (Robust Security Network Association,健壯安全網(wǎng)絡(luò)聯(lián)盟)安全架構(gòu)。在RSNA安全架構(gòu)下,無線終端和AP (Acess Point,無線接入點(diǎn))之間在通過802.1X之類的認(rèn)證或PSK (Pairwise Security Key,對稱安全密鑰)方式下,建立PMKSA安全聯(lián)盟(Pairwise Master Key Security Association,對稱主密鑰安全聯(lián)盟)。在此基礎(chǔ)上,無線終端和AP之間需要進(jìn)一步進(jìn)行四次密鑰握手過程,才能完成PTK密鑰(PairwiseTransient Key,對稱臨時密鑰)的協(xié)商,以及AP到無線終端的GTK(Group Temporal Key,組播臨時密鑰)頒發(fā)。
[0003]當(dāng)無線終端在ESS(Extended Service Set,擴(kuò)展服務(wù)集合)中漫游時,無線終端和新AP(無線終端將要關(guān)聯(lián)的AP)之間可以利用預(yù)認(rèn)證或緩存等方式預(yù)先建立了 PMKSAdM仍需要通過四次密鑰握手交互才能協(xié)商出PTK以及GTK的頒發(fā),然后和新AP進(jìn)行數(shù)據(jù)報文的傳輸。在實際運(yùn)用中,這個過程中的四次密鑰握手交互,同時也會給無線運(yùn)用帶來困擾,表現(xiàn)在:
[0004]四次密鑰握手交互過程花費(fèi)時間比較長,對手機(jī)類終端甚至達(dá)到了秒級別,會造成語音中斷時間過長;
[0005]四次密鑰握手交互,會造成無線終端來回切換信道,常常引起四次密鑰握手交互過程不能順利完成,引起鏈路中斷,從而給漫游帶來困難,這主要是因為,新AP的工作信道和無線終端當(dāng)前連接的AP—般是不同的,無線終端需切換到新AP的信道上來關(guān)聯(lián),但關(guān)聯(lián)之后在四次握文交互完成之前,無線終端如果有數(shù)據(jù)需要傳輸,常常會切換到當(dāng)前AP的信道上,造成不能接收新AP的交互報文,從而引起交互失敗。
[0006]現(xiàn)有技術(shù)中典型的解決方式為:802.1lr,但是802.1lr不能和現(xiàn)有的802.11(2007)提供的RSNA過程兼容,包括:密鑰計算過程;PMK聯(lián)盟的標(biāo)識方法,802.11以PMKID來標(biāo)識,而802.1lr以PMKROName來標(biāo)識。此外,802.1lr的快速關(guān)聯(lián)過程必須要用到第一次關(guān)聯(lián)過程中的信息,也就是說,無線終端要想在支持的802.1lr漫游域中快速漫游,必須先進(jìn)行一次支持802.1lr的首次關(guān)聯(lián)過程。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法和裝置,能夠直接省略四次密鑰握手交互過程而更快的傳輸數(shù)據(jù)報文。
[0008]為實現(xiàn)本發(fā)明目的,本發(fā)明實現(xiàn)方案具體如下:[0009]一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法,應(yīng)用于AP,所述方法包括:
[0010]接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA ;
[0011]向所述無線終端回應(yīng)第二個認(rèn)證報文,若所述AP本地保存有所述PMKSA,則在所述第二個認(rèn)證報文中攜帶第一 EAPOL-KEY幀,以便所述無線終端根據(jù)所述第一 EAPOL-KEY幀向AP發(fā)送關(guān)聯(lián)請求報文,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID ;
[0012]接收到所述無線終端發(fā)送的關(guān)聯(lián)請求報文后,檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和第二 EAPOL-KEY幀,如果有則將所述PMKID和所述第二 EAPOL-KEY幀保存在本地,其中所述第二 EAPOL-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;
[0013]利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算臨時密鑰PTK,并檢查所述第二 EAPOL-KEY幀的MIC是否正確,若檢查成功,則表示建立PTKSA成功;
[0014]返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,以便所述無線終端向AP傳輸數(shù)據(jù)報文,其中所述第三EAPOL-KEY幀攜帶MIC以及GTK。
[0015]本發(fā)明同時提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法,應(yīng)用于無線終端,所述方法包括:
[0016]向AP發(fā)送第一個認(rèn)證報文,以便所述AP根據(jù)所述第一個認(rèn)證報文回應(yīng)第二個認(rèn)證報文;
[0017]接收所述AP回應(yīng)的所述第二個認(rèn)證報文,若認(rèn)證成功則判斷所述第二個認(rèn)證報文中是否攜帶第一 EAPOL-KEY幀,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及 PMKID ;
[0018]若所述第二個認(rèn)證報文中攜帶了所述第一 EAPOL-KEY幀,將所述第一 EAPOL-KEY幀保存在本地,并將所述第一 EAPOL-KEY幀中的PMKID和保存在本地的所述AP的各個PMKID比較;若發(fā)現(xiàn)有與所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則生成所述無線終端的隨機(jī)數(shù)SNonce,并利用本地存儲的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,并進(jìn)行MIC校驗;
[0019]向AP發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二 EAP0L-KEY幀,以便AP根據(jù)所述關(guān)聯(lián)請求報文返回相應(yīng)的關(guān)聯(lián)響應(yīng)報文,其中所述第二EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;
[0020]接收AP端返回的關(guān)聯(lián)響應(yīng)報文,若在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAP0L-KEY幀,則向AP傳輸數(shù)據(jù)報文,其中所述第三EAP0L-KEY幀攜帶MIC以及GTK。
[0021]本發(fā)明還提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于AP,所述裝置包括:
[0022]第一接收單元,用于接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA ;
[0023]第一發(fā)送單元,用于向所述無線終端回應(yīng)第二個認(rèn)證報文,若所述AP本地保存有所述PMKSA,則在所述第二個認(rèn)證報文中攜帶第一 EAP0L-KEY幀,以便所述無線終端根據(jù)所述第一 EAP0L-KEY幀向AP發(fā)送關(guān)聯(lián)請求報文,其中所述第一 EAP0L-KEY幀中攜帶AP隨機(jī)數(shù) ANonce 以及 PMKID ;
[0024]第二接收單元,用于接收到所述無線終端發(fā)送的關(guān)聯(lián)請求報文后,檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和第二 EAPOL-KEY幀,如果有則將所述PMKID和所述第二EAPOL-KEY幀保存在本地,其中所述第二 EAPOL-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;
[0025]第一處理單元,利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算臨時密鑰PTK,并檢查所述第二EAPOL-KEY幀的MIC是否正確,若檢查成功,則表示建立PTKSA成功;
[0026]第二發(fā)送單元,用于返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,以便所述無線終端向AP傳輸數(shù)據(jù)報文,其中所述第三EAPOL-KEY幀攜帶MIC以及GTK。
[0027]本發(fā)明還提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于無線終端,所述裝置包括:
[0028]第三發(fā)送單元,用于向AP發(fā)送第一個認(rèn)證報文,以便所述AP根據(jù)所述第一個認(rèn)證報文回應(yīng)第二個認(rèn)證報文;
[0029]第三接收單元,用于接收所述AP回應(yīng)的所述第二個認(rèn)證報文,若認(rèn)證成功則判斷所述第二個認(rèn)證報文中是否攜帶第一 EAPOL-KEY幀,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID ;
[0030]第二處理單元,用于若所述第二個認(rèn)證報文中攜帶了所述第一 EAPOL-KEY幀,將所述第一 EAPOL-KEY幀保存在本地,并將所述第一 EAPOL-KEY幀中的PMKID和保存在本地的所述AP的各個PMKID比較;若發(fā)現(xiàn)有與所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則生成所述無線終端的隨機(jī)數(shù)SNonce,并利用本地存儲的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,并進(jìn)行MIC校驗;
[0031 ] 第四發(fā)送單元,用于向AP發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二 EAP0L-KEY幀,以便AP根據(jù)所述關(guān)聯(lián)請求報文返回相應(yīng)的關(guān)聯(lián)響應(yīng)報文,其中所述第二 EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;
[0032]第四接收單元,用于接收AP端返回的關(guān)聯(lián)響應(yīng)報文,若在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAP0L-KEY幀,則向AP傳輸數(shù)據(jù)報文,其中所述第三EAP0L-KEY幀攜帶MIC以及GTK。
[0033]與現(xiàn)有技術(shù)相比,本發(fā)明在PMKSA的情況下,將PTK的協(xié)商和GTK的頒發(fā)融合在報文認(rèn)證請求過程中,而省略了認(rèn)證請求完成之后正常的四次密鑰握手過程,縮短了鏈路建立時間,實現(xiàn)更快的數(shù)據(jù)報文傳輸;同時AP和無線終端之間直接略過四次密鑰協(xié)商過程,減少了四次握手失敗的可能,使得在無線環(huán)境惡劣的情況下,能夠減少或避免上層應(yīng)用的對底層鏈路的失敗處理,進(jìn)而減少上層應(yīng)用中斷。
【專利附圖】
【附圖說明】
[0034]圖1為本發(fā)明一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法實施例流程示意圖。
[0035]圖2為本發(fā)明一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法另一實施例流程示意圖。
[0036]圖3為本發(fā)明一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法再一實施例流程示意圖。
[0037]圖4為本發(fā)明一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置邏輯組成圖?!揪唧w實施方式】
[0038]當(dāng)無線終端在ESS中漫游時,無線終端和新AP (無線終端將要關(guān)聯(lián)的AP)之間可以利用預(yù)認(rèn)證或緩存的方式預(yù)先建立PMKSA (對稱主密鑰安全聯(lián)盟),但是仍然需要通過四次密鑰握手交互才能協(xié)商出PTK (對稱臨時密鑰)以及GTK (組播臨時密鑰)的頒發(fā),然后進(jìn)行數(shù)據(jù)報文的傳輸。本發(fā)明提出一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法和裝置,使得當(dāng)無線終端和AP之間已經(jīng)建立PMKSA后,如果無線終端進(jìn)行關(guān)聯(lián)AP,則直接省略四次密鑰握手交互過程,將四次密鑰握手交互過程中需要進(jìn)行的PTK協(xié)商和GTK的頒發(fā)在AP與無線終端的認(rèn)證和關(guān)聯(lián)過程中進(jìn)行,使得無線終端與AP進(jìn)行關(guān)聯(lián)之后直接進(jìn)入數(shù)據(jù)報文的傳輸過程。
[0039]為實現(xiàn)本發(fā)明目的,以下結(jié)合附圖詳細(xì)說明本發(fā)明。請參考圖1,為本發(fā)明提供的一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法實施例,所述無線網(wǎng)絡(luò)密鑰協(xié)商的方法應(yīng)用于AP和無線終端,所述方法包括以下步驟:
[0040]步驟101,無線終端向AP發(fā)送第一認(rèn)證報文;
[0041]步驟102,AP端接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA,并向無線終端回應(yīng)第二個認(rèn)證報文;
[0042]若所述AP本地保存有所述PMKSA,在所述第二個認(rèn)證報文中攜帶第一 EAPOL-KEY中貞,所述第一 EAP0L-KEY巾貞攜帶AP隨機(jī)數(shù)ANonce以及PMKID (pairwise master keyidentifier, PMKSA的標(biāo)識,用于唯一標(biāo)識一個PMKSA),其他內(nèi)容與PTK協(xié)商四次密鑰握手中第一個報文中的幀相同。
[0043]步驟103,無線終端接收到AP端發(fā)送的所述第二認(rèn)證報文后,檢查認(rèn)證是否成功,如果認(rèn)證不成功,則重新認(rèn)證;如果認(rèn)證成功,則判斷所述第二個認(rèn)證報文中是否攜帶所述第一 EAPOL-KEY 幀;
[0044]若所述第二個認(rèn)證報文中攜帶了所述第一 EAPOL-KEY幀,保存所述第一EAPOL-KEY幀,并將所述第一 EAPOL-KEY幀中的PMKID和保存在本地的各個AP的PMKID比較;
[0045]若發(fā)現(xiàn)有與所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則生成無線終端自己的隨機(jī)數(shù)SNonce,并根據(jù)IEEE802.11中所述,利用存儲在本地的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK并進(jìn)行MIC的校驗;所述PTK中包含臨時密鑰TK、加密密鑰KEK、確認(rèn)密鑰KCK以及MIC的校驗密鑰TMK,其中PTK的計算過程為【技術(shù)領(lǐng)域】內(nèi)的公知技術(shù),在此不再詳細(xì)介紹;
[0046]步驟104,無線終端向所述AP端發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二 EAPOL-KEY幀,所述第二 EAPOL-KEY幀攜帶無線終端隨機(jī)數(shù)SNonce以及MIC (消息完整性校驗碼),其他內(nèi)容與PTK協(xié)商四次密鑰握手第二個報文中的幀相同。
[0047]步驟105,AP接收到無線終端發(fā)送的關(guān)聯(lián)請求報文后,檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和所述第二 EAPOL-KEY幀;
[0048]若所述關(guān)聯(lián)請求報文中攜帶所述第二 EAPOL-KEY幀,則將所述PMKID和所述第二EAPOL-KEY幀保存在本地,并利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce,AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,所述PTK中包含臨時密鑰TK、密鑰加密密鑰KEK、確認(rèn)密鑰KCK以及MIC的校驗密鑰TMK,其中PTK的計算過程為【技術(shù)領(lǐng)域】內(nèi)的公知技術(shù),在此不再詳細(xì)介紹;
[0049]AP通過該P(yáng)TK中的KCK部分對所述第二 EAPOL-KEY幀中的MIC進(jìn)行驗證,檢查所述第二 EAPOL-KEY幀中的MIC是否正確,若檢查所述第二 EAPOL-KEY幀中的MIC正確,則表示PTKSA (對稱臨時密鑰聯(lián)盟)建立成功;
[0050]步驟106,AP向無線終端返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,所述第三EAPOL-KEY幀攜帶MIC(消息完整性校驗碼)、GTK (組播臨時密鑰),與四次密鑰握手中第三個報文中的幀相同,其中所述組播臨時密鑰GTK已經(jīng)利用所述PTK中的KEK (Key Encryption key,密鑰加密密鑰)部分進(jìn)行了加密;
[0051]步驟107,無線終端接收AP端返回的關(guān)聯(lián)響應(yīng)報文,并對所述的GTK進(jìn)行解密,完成PTK協(xié)商和GTK的頒發(fā),鏈路建立成功,然后所述無線終端進(jìn)入數(shù)據(jù)報文的傳輸過程。
[0052]通過以上步驟可以得出,在AP與無線終端建立PMKSA安全聯(lián)盟的基礎(chǔ)上,所述AP與無線終端建立關(guān)聯(lián)時,在認(rèn)證以及關(guān)聯(lián)過程中進(jìn)行PTK協(xié)商和GTK的頒發(fā),而經(jīng)過認(rèn)證和關(guān)聯(lián)之后,省略四次密鑰握手過程直接進(jìn)入數(shù)據(jù)報文傳輸過程。以上過程通過PMKID的判斷確定重關(guān)聯(lián)請求報文的內(nèi)容,并通過PTK的計算來實現(xiàn)關(guān)聯(lián),解決了 802.1lr不能和現(xiàn)有的802.11提供的RSNA兼容以及802.1lr的快速關(guān)聯(lián)過程中必須使用第一次關(guān)聯(lián)過程中的信息的問題,同時AP和無線終端之間能夠直接跳過四次密鑰協(xié)商過程,縮短鏈路建立時間,尤其在漫游的情況下,為上層應(yīng)用提供了更好的鏈路層服務(wù)。進(jìn)一步地,AP和無線終端之間能夠直接略過四次密鑰協(xié)商過程,減少了四次握手失敗的可能,這在無線環(huán)境惡劣的情況下,能夠減少或避免上層應(yīng)用的對底層鏈路的失敗處理,減少上層應(yīng)用中斷。
[0053]進(jìn)一步地,在AP與無線終端進(jìn)行密鑰協(xié)商的過程中,可能會存在AP或無線終端不支持跳過四次密鑰握手的過程,或者在雙方都支持的跳過四次密鑰握手,但是由于PMK的老化而不能跳過四次密鑰握手的過程,具體情形如下:
[0054]情形一:當(dāng)所述AP或無線終端不支持跳過四次密鑰握手的過程時,則所述AP啟動正常的四次密鑰握手過程。如圖2所示,在正常的關(guān)聯(lián)請求完成之后,由AP發(fā)起四次密鑰握手過程。例如:
[0055]在所述步驟103中,若所述第二個認(rèn)證報文中沒有攜帶所述第一 EAPOL-KEY幀,則啟動正常的四次密鑰握手,即在關(guān)聯(lián)請求完成之后由所述AP向客戶端發(fā)起四次密鑰握手;具體地,如果認(rèn)證報文中沒有攜帶所述第一 EAPOL-KEY幀,則表明是AP不支持跳過四次密鑰握手的過程,此時無線終端無法計算得到PTK所需要的AP隨機(jī)數(shù)ANonce,因此,也就不能在關(guān)聯(lián)請求階段完成PTK的協(xié)商。
[0056]情形二:AP和無線終端雙方都支持的跳過四次密鑰握手,但是由于PMK的老化而不能跳過四次密鑰握手的過程,如圖3所示,當(dāng)跳過四次密鑰握手失敗時,在完成關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由AP發(fā)起正常的四次密鑰握手,例如:
[0057]在所述步驟103中,若保存在所述無線終端上的關(guān)于所述AP的各個PMKID中沒有和所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則需要重新建立PMKSA,并且由AP向無線終端發(fā)起四次密鑰握手;具體地,若保存在所述無線終端上的關(guān)于所述AP的各個PMKID中沒有和所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則表示保存的PMK已經(jīng)發(fā)生老化,需要重新建立PMKSA才能完成PTK的建立,但是PKMSA的建立是在四次密鑰握手過程中建立的,所以不能實現(xiàn)跳躍四次密鑰握手的過程。
[0058]通過以上兩種情形可以得出:本發(fā)明提供的密鑰協(xié)商方法即使在跳過四次密鑰握手失敗的情況下,AP和無線終端之間仍然能夠在認(rèn)證請求完成之后,進(jìn)行正常的四次密鑰握手過程,仍然能夠使AP和無線終端時間建立連接。
[0059]本發(fā)明同時提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于AP,如圖4示,所述裝置包括:
[0060]第一接收單元401,用于接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA ;
[0061]第一發(fā)送單元402,用于向所述無線終端回應(yīng)第二個認(rèn)證報文,若所述AP本地保存有所述PMKSA,則在所述第二個認(rèn)證報文中攜帶第一 EAPOL-KEY幀,以便所述無線終端根據(jù)所述第一 EAPOL-KEY幀向AP發(fā)送關(guān)聯(lián)請求報文,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID,其他內(nèi)容與四次密鑰握手過程中的第一報文中的幀相同;
[0062]第二接收單元403,用于接收到所述無線終端發(fā)送的關(guān)聯(lián)請求報文,并檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和第二 EAPOL-KEY幀,如果有則將所述PMKID和所述第二EAPOL-KEY幀保存在本地,其中所述第二 EAPOL-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC,其他內(nèi)容與四次密鑰過程中的第二個報文中的幀相同。
[0063]第一處理單元404,利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算臨時密鑰PTK,并檢查所述第二EAPOL-KEY幀的MIC是否正確,若檢查成功,則表示建立PTKSA成功。
[0064]第二發(fā)送單元405,用于返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,以便所述無線終端向AP傳輸數(shù)據(jù)報文,其中所述第三EAPOL-KEY幀攜帶MIC以及GTK,其他內(nèi)容與四次密鑰握手過程中第三個報文中的幀相同;
[0065]進(jìn)一步地,當(dāng)所述裝置或無線終端不支持跳過四次密鑰握手的過程時,則所述裝置與無線終端間啟動正常的四次密鑰握手過程。
[0066]進(jìn)一步地,當(dāng)所述裝置和無線終端雙方都支持跳過四次密鑰握手,當(dāng)所述AP跳過四次密鑰握手失敗時,在所述無線終端完成與所述裝置的關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由所述裝置發(fā)起正常的四次密鑰握手。
[0067]本發(fā)明還提供一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于無線終端,請進(jìn)一步參考圖4,所述裝置包括:
[0068]第三發(fā)送單元407,用于向AP發(fā)送第一個認(rèn)證報文,以便所述AP根據(jù)所述第一個認(rèn)證報文回應(yīng)第二個認(rèn)證報文。
[0069]第三接收單元408,用于接收所述AP回應(yīng)的所述第二個認(rèn)證報文,若認(rèn)證成功則判斷所述第二個認(rèn)證報文中是否攜帶第一 EAPOL-KEY幀,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID,其他內(nèi)容與四次密鑰握手過程中的第一個報文中的相同。
[0070]第二處理單元409,用于若所述第二個認(rèn)證報文中攜帶了所述第一 EAPOL-KEY幀,將所述第一 EAPOL-KEY幀保存在本地,并將所述第一 EAPOL-KEY幀中的PMKID和保存在本地的所述AP的各個PMKID比較;若發(fā)現(xiàn)有與所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則生成所述無線終端的隨機(jī)數(shù)SNonce,并利用本地存儲的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,并進(jìn)行MIC校驗。
[0071]第四發(fā)送單元410,用于向AP發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二 EAP0L-KEY幀,以便AP根據(jù)所述關(guān)聯(lián)請求報文返回相應(yīng)的關(guān)聯(lián)響應(yīng)報文,其中所述第二EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC,其他內(nèi)容與四次密鑰握手過程中的第二個報文中的幀相同。
[0072]第四接收單元411,用于接收AP端返回的關(guān)聯(lián)響應(yīng)報文,若在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAP0L-KEY幀,則向AP傳輸數(shù)據(jù)報文,其中所述第三EAP0L-KEY幀攜帶MIC以及GTK,其他內(nèi)容與四次密鑰握手過程中的第三個報文中的幀相同。
[0073]進(jìn)一步地,當(dāng)所述裝置或AP不支持跳過四次密鑰握手的過程時,則所述裝置與AP間啟動正常的四次密鑰握手過程。
[0074]進(jìn)一步地,所述裝置和AP雙方都支持跳過四次密鑰握手,當(dāng)所述裝置與AP間跳過四次密鑰握手失敗時,在所述裝置終端完成與AP的關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由所述AP發(fā)起正常的四次密鑰握手。
[0075]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法,應(yīng)用于AP,其特征在于,所述方法包括: 接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA ; 向所述無線終端回應(yīng)第二個認(rèn)證報文,若所述AP本地保存有所述PMKSA,則在所述第二個認(rèn)證報文中攜帶第一 EAPOL-KEY幀,以便所述無線終端根據(jù)所述第一 EAP0L-KEY幀向AP發(fā)送關(guān)聯(lián)請求報文,其中所述第一 EAP0L-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID ; 接收到所述無線終端發(fā)送的關(guān)聯(lián)請求報文后,檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和第二 EAP0L-KEY幀,如果有則將所述PMKID和所述第二 EAP0L-KEY幀保存在本地,其中所述第二 EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ; 利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算臨時密鑰PTK,并檢查所述第二 EAP0L-KEY幀的MIC是否正確,若檢查成功,則表示建立PTKSA成功; 返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAP0L-KEY幀,以便所述無線終端向AP傳輸數(shù)據(jù)報文,其中所述第三EAP0L-KEY幀攜帶MIC 以及 GTK。
2.如權(quán)利要求1所述的方法,其特征在于,當(dāng)所述AP或無線終端不支持跳過四次密鑰握手的過程時,則所述AP啟動正常的四次密鑰握手過程。
3.如權(quán)利要求1所述的方法,其特征在于,AP和無線終端雙方都支持跳過四次密鑰握手,當(dāng)所述AP跳過四次密鑰握手失敗時 ,在所述無線終端完成AP的關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由所述AP發(fā)起正常的四次密鑰握手。
4.一種無線網(wǎng)絡(luò)密鑰協(xié)商的方法,應(yīng)用于無線終端,其特征在于,所述方法包括: 向AP發(fā)送第一個認(rèn)證報文,以便所述AP根據(jù)所述第一個認(rèn)證報文回應(yīng)第二個認(rèn)證報文; 接收所述AP回應(yīng)的所述第二個認(rèn)證報文,若認(rèn)證成功則判斷所述第二個認(rèn)證報文中是否攜帶第一 EAP0L-KEY幀,其中所述第一 EAP0L-KEY幀中攜帶AP隨機(jī)數(shù)ANonce以及PMKID ; 若所述第二個認(rèn)證報文中攜帶了所述第一 EAP0L-KEY幀,將所述第一 EAP0L-KEY幀保存在本地,并將所述第一 EAP0L-KEY幀中的PMKID和保存在本地的所述AP的各個PMKID比較;若發(fā)現(xiàn)有與所述第一 EAP0L-KEY幀中的PMKID相等的PMKID,則生成所述無線終端的隨機(jī)數(shù)SNonce,并利用本地存儲的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,并進(jìn)行MIC校驗; 向AP發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二EAP0L-KEY幀,以便AP根據(jù)所述關(guān)聯(lián)請求報文返回相應(yīng)的關(guān)聯(lián)響應(yīng)報文,其中所述第二EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ; 接收AP端返回的關(guān)聯(lián)響應(yīng)報文,若在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAP0L-KEY幀,則向AP傳輸數(shù)據(jù)報文,其中所述第三EAP0L-KEY幀攜帶MIC以及GTK。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 當(dāng)所述AP或無線終端不支持跳過四次密鑰握手的過程時,則所述無線終端和AP間啟動正常的四次密鑰握手過程。
6.如權(quán)利要求4所述的方法,其特征在于,AP和無線終端雙方都支持的跳過四次密鑰握手,當(dāng)所述無線終端與AP跳過四次密鑰握手失敗時,所述無線終端完成AP的關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由所述AP發(fā)起正常的四次密鑰握手。
7.一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于AP,其特征在于,所述裝置包括: 第一接收單元,用于接收到無線終端發(fā)送的第一個認(rèn)證報文后,檢查AP本地是否保存有所述無線終端的PMKSA ; 第一發(fā)送單元,用于向所述無線終端回應(yīng)第二個認(rèn)證報文,若所述AP本地保存有所述PMKSA,則在所述第二個認(rèn)證報文中攜帶第一 EAPOL-KEY幀,以便所述無線終端根據(jù)所述第一 EAPOL-KEY幀向AP發(fā)送關(guān)聯(lián)請求報文,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù)ANonce 以及 PMKID ; 第二接收單元,用于接收到所述無線終端發(fā)送的關(guān)聯(lián)請求報文后,檢查所述關(guān)聯(lián)請求報文中是否攜帶PMKID和第二 EAPOL-KEY幀,如果有則將所述PMKID和所述第二 EAPOL-KEY幀保存在本地,其中所述第二 EAPOL-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;第一處理單元,利用本地保存的密鑰PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算臨時密鑰PTK,并檢查所述第二 EAPOL-KEY幀的MIC是否正確,若檢查成功,則表示建立PTKSA成功; 第二發(fā)送單元,用于返回關(guān)聯(lián)響應(yīng)報文,若與無線終端建立了所述PTKSA,則在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,以便所述無線終端向AP傳輸數(shù)據(jù)報文,其中所述第三EAPOL-KEY幀攜帶MIC以及GTK。
8.如權(quán)利要求7所述的裝置,其特征在于,當(dāng)所述裝置或無線終端不支持跳過四次密鑰握手的過程時,則所述裝置與無線終端間啟動正常的四次密鑰握手過程。
9.如權(quán)利要求7所述的裝置,其特征在于,所述裝置和無線終端雙方都支持跳過四次密鑰握手,當(dāng)所述裝置與無線終端跳過四次密鑰握手失敗時,在所述無線終端完成與所述裝置的關(guān)聯(lián)請求之后,重新建立PMKSA,并PMKSA建立完成之后由所述裝置發(fā)起正常的四次密鑰握手。
10.一種無線網(wǎng)絡(luò)密鑰協(xié)商的裝置,應(yīng)用于無線終端,其特征在于,所述裝置包括: 第三發(fā)送單元,用于向AP發(fā)送第一個認(rèn)證報文,以便所述AP根據(jù)所述第一個認(rèn)證報文回應(yīng)第二個認(rèn)證報文; 第三接收單元,用于接收所述AP回應(yīng)的所述第二個認(rèn)證報文,若認(rèn)證成功則判斷所述第二個認(rèn)證報文中是否攜帶第一 EAPOL-KEY幀,其中所述第一 EAPOL-KEY幀中攜帶AP隨機(jī)數(shù) ANonce 以及 PMKID ; 第二處理單元,用于若所述第二個認(rèn)證報文中攜帶了所述第一 EAPOL-KEY幀,將所述第一 EAPOL-KEY幀保存在本地,并將所述第一 EAPOL-KEY幀中的PMKID和保存在本地的所述AP的各個PMKID比較;若發(fā)現(xiàn)有與所述第一 EAPOL-KEY幀中的PMKID相等的PMKID,則生成所述無線終端的隨機(jī)數(shù)SNonce,并利用本地存儲的PMK、AP隨機(jī)數(shù)ANonce、無線終端隨機(jī)數(shù)SNonce、AP的MAC地址、無線終端的MAC地址,計算出臨時密鑰PTK,并進(jìn)行MIC校驗;第四發(fā)送單元,用于向AP發(fā)送關(guān)聯(lián)請求報文,并在所述關(guān)聯(lián)請求報文中攜帶所述相等的PMKID和第二 EAP0L-KEY幀,以便AP根據(jù)所述關(guān)聯(lián)請求報文返回相應(yīng)的關(guān)聯(lián)響應(yīng)報文,其中所述第二 EAP0L-KEY幀中攜帶無線終端隨機(jī)數(shù)SNonce以及MIC ;第四接收單元,用于接收AP端返回的關(guān)聯(lián)響應(yīng)報文,若在所述關(guān)聯(lián)響應(yīng)報文中攜帶第三EAPOL-KEY幀,則向AP傳輸數(shù)據(jù)報文,其中所述第三EAPOL-KEY幀攜帶MIC以及GTK。
11.如權(quán)利要求10所述的裝置,其特征在于,當(dāng)所述裝置或AP不支持跳過四次密鑰握手的過程時,則所述裝置與AP間啟動正常的四次密鑰握手過程。
12.如權(quán)利要求10所述的裝置,其特征在于,所述裝置和AP雙方都支持跳過四次密鑰握手,當(dāng)所述裝置與AP間跳過四次密鑰握手失敗時,在所述裝置完成與AP的關(guān)聯(lián)請求之后,重新建立PMKSA,并PM KSA建立完成之后由所述AP發(fā)起正常的四次密鑰握手。
【文檔編號】H04W12/04GK103888941SQ201210560648
【公開日】2014年6月25日 申請日期:2012年12月20日 優(yōu)先權(quán)日:2012年12月20日
【發(fā)明者】徐國祥 申請人:杭州華三通信技術(shù)有限公司