中文字幕无码日韩视频无码三区

一種wapi認證和密鑰協商方法和系統的制作方法

文檔序號:7967252閱讀:297來源:國知局
專利名稱:一種wapi認證和密鑰協商方法和系統的制作方法
技術領域
本發明涉及無線通信技術領域,特別涉及無線局域網WLAN的安全技術,具體地講,涉及一種WAPI認證和密鑰協商方法和系統,以解決移動設備接入WAPI網絡時的身份認證及密鑰協商問題。

背景技術
2003年中國知識產權局公開了申請號為02139508.X的發明專利申請,名稱為《無線局域網移動終端的安全接入與無線鏈路的數據保密通信方法》。此申請所涉及的專利在中國無線局域網國家標準GB15629.11-無線局域網鑒別與保密基礎結構(WAPIWLAN Authentication and Privacy Infrastructure),中應用,其中的無線局域網鑒別基礎結構簡稱為WAI(WLAN AuthenticationInfrastructure)。WAI采用類似于IEEE 802.1X結構的基于端口的認證模型,整個系統由客戶端STA(Station)、接入點(APAccess Point)和認證服務單元(ASUAuthentication Service Unit)組成;采用公鑰證書進行認證和密鑰協商,目標在于實現客戶端STA與接入點AP間的雙向鑒別,對于采用“假”接入的AP的攻擊方式具有很強的抵御能力。不僅可以防止非法客戶端STA接入接入點AP而占用網絡資源,而且還可以防止客戶端STA登錄至非法接入點AP而造成信息泄漏。
國標GB15629.11中WAI的協議交互過程如圖1所示,它主要由證書鑒別和密鑰協商兩個部分組成。
如圖1所示,所述的證書鑒別部分按如下過程進行協議交互 第一步,客戶端STA將自己的證書和當前時間提交給接入點AP; 第二步,接入點AP將客戶端STA的證書、提交時間和自己的證書一起用自己的私鑰進行簽名,并將這個簽名連同這三部分一起發給認證服務單元(ASUAuthentication Service Unit); 第三步,當認證服務單元ASU收到接入點AP提交來的鑒別請求之后,首先驗證接入點AP的簽名和證書。當鑒別成功之后,進一步驗證客戶端STA的證書; 第四步,認證服務單元ASU將客戶端STA和接入點AP的鑒別結果信息用自己的私鑰進行簽名,并將這個簽名連同這兩個結果發回給接入點AP。
接入點AP對收到的結果進行簽名驗證,并得到對客戶端STA的鑒別結果,根據這一結果來決定是否允許該客戶端STA接入。同時接入點AP需要將認證服務單元ASU的驗證結果轉發給客戶端STA,客戶端STA也要對認證服務單元ASU的簽名進行驗證,并得到接入點AP的鑒別結果,根據這一結果來決定是否接入接入點AP。
如圖2所示,所述密鑰協商部分按如下過程進行協議交互 第一步,客戶端STA向接入點AP發送密鑰協商請求,雙方首先進行密鑰算法協商,隨后,客戶端STA產生一個隨機數r0,用接入點AP的公鑰PKAP加密之后傳輸給對方; 第二步,接入點AP向客戶端STA發送密鑰協商響應,接入點AP用自己的私鑰將對方所產生的隨機數r0還原,也產生一個隨機數r1,用客戶端STA的公鑰PKSTA加密后傳輸給對方,并計算會話密鑰K=r0r1; 第三步,客戶端STA用自己的私鑰將對方產生的隨機數r1還原,也計算會話密鑰K=r0r1。
上述國家標準中的WAI存在如下缺陷 1.密鑰協商協議不安全。由于在WAI的密鑰協商過程中,一個攻擊者可以首先將接入點AP發送給客戶端STA的第二條消息給丟棄,然后可以假冒接入點AP給客戶端STA發送ENC(PKSTA,r)(用公鑰加密算法中加密密鑰為STA的公鑰加密隨機數r),其中r為攻擊者任意選擇的一個隨機數。這樣當協議結束的時候,客戶端STA得到的會話密鑰是Kl=r0r,而接入點AP得到的會話密鑰是K2=r0r1。也就是說在協議結束時,接入點AP和客戶端STA得到了不相同的會話密鑰,因此該密鑰協商協議是不安全的。
2.沒有實現接入點AP對客戶端STA的身份認證功能。在WAPI中,只有當接入點AP確認客戶端STA擁有與其自身出示的公鑰證書相對應的私鑰時,才能夠實現對客戶端STA的身份認證。但從WAI的執行過程看出,一個攻擊者只要知道一個合法用戶的證書,就可以順利的通過證書鑒別;而且該WAI的密鑰協商過程是隱式的密鑰認證,接入點AP不能夠確認客戶端STA擁有與其自身出示的公鑰證書相對應的私鑰,這樣就可使該攻擊者不被發現地完成密鑰協商協議,所以WAI沒有實現對客戶端STA的身份認證功能。
3.客戶端STA在沒完成身份認證的情況下就被允許訪問網絡。由于在該WAI中,一個攻擊者只要提交一個合法用戶的證書就可以假冒該用戶接入網絡,因此在網絡是計時收費的情況下,就可能導致誤收費。同時攻擊者一旦接入網絡就有可能發動許多的攻擊,對網絡的安全造成嚴重的威脅。
4.協議執行效率太低,客戶端STA和接入點AP必須通過資源有限的無線信道傳送各自的公鑰證書,并且要通過認證服務單元ASU來驗證對方證書的合法性和有效性,嚴重增加了網絡負載、計算負擔和傳輸時延,尤其是客戶端STA需要做繁重的簽名及簽名驗證運算,影響了用戶接入的實時性。
為了克服上述的缺陷,2004年全國信息技術標準化技術委員會寬帶無線IP標準工作組頒布了WAPI的實施指南。該實施指南中WAI的交互過程同國家標準中WAI的交互過程基本一樣,都是由證書鑒別和密鑰協商兩部分組成。這兩者中的證書鑒別過程完全一樣,而且實施指南中的單播密鑰協商與國標中的密鑰協商過程大體相同,都是由客戶端STA和接入點AP分別產生隨機數后用對方的公鑰加密后傳送給對方,并通過這兩個隨機數計算得到會話密鑰。不同的是(1)實施指南中的密鑰協商請求是由接入點AP發出,而且在協商請求中增加了接入點AP對加密后的隨機數、鑒別請求時間、客戶端STA和接入點AP的身份標示等數據的一個數字簽名;(2)密鑰協商應答是由客戶端STA發出,而且在該協商應答中,增加了客戶端STA對加密后的隨機數、鑒別請求時間、客戶端STA和接入點AP的身份標示等數據計算出的一個消息認證碼。
WAPI實施指南中單播密鑰協商交互過程的安全性相對于國家標準中原方案的安全性有一定的提高,但沒有從根本上解決原來存在的安全缺陷,沒能達到足夠的安全強度。


發明內容
鑒于現有技術中存在的問題,本發明提供一種WAPI中認證和密鑰協商方法和系統。該方法基于自驗證公鑰,使得在不改變原WAI基本框架的基礎上,客戶端STA和接入點AP無須在空中接口傳送自己的公鑰證書及驗證對方證書的合法性,并且雙方可以利用自驗證公鑰證書進行密鑰協商。因此,減少了數據傳輸量和在線計算量,提高了認證體系的安全性;解決了WAPI中身份認證和密鑰協商過程中存在的問題,進一步提高WAPI認證機制的安全強度。
本發明提供一種WAPI中的認證和密鑰協商方法,所述WAPI中包括一認證機構,該方法包括步驟 客戶端和/或接入點向所述認證機構申請自驗證公鑰證書; 所述客戶端和接入點之間利用自驗證公鑰證書進行身份驗證和密鑰協商。
根據該方法,所述客戶端和接入點之間利用自驗證公鑰證書進行身份驗證和密鑰協商,包括步驟 客戶端向接入點發送認證和密鑰協商請求消息; 接入點向客戶端發送認證和密鑰協商應答響應消息; 客戶端給接入點發送應答消息; 接入點給客戶端發送應答響應消息; 客戶端驗證應答響應消息。
根據該方法,所述客戶端或接入點申請自驗證公鑰證書,包括步驟 所述客戶端或接入點向認證機構提出申請; 認證機構為客戶端或接入點頒發自驗證公鑰證書。
根據該方法,所述認證機構為客戶端或接入點頒發自驗證公鑰證書,包括步驟 認證機構產生系統密鑰數據,該系統密鑰數據包括系統參數和系統私鑰; 認證機構公開所述系統參數,并秘密保存系統私鑰; 所述客戶端或接入點根據所述系統密鑰數據建立自驗證公鑰證書。
根據該方法,所述系統參數至少包括公開模數、公開指數和公開元素。
根據該方法,所述客戶端或接入點根據系統密鑰數據建立自驗證公鑰證書,包括步驟 步驟1,客戶端或接入點隨機選擇一整數作為私鑰; 步驟2,客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構; 步驟3,認證機構發送公鑰至所述客戶端或接入點。
根據該方法,所述客戶端或接入點以及認證機構均利用自驗證公鑰時,所述步驟2中客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,包括 步驟21,客戶端或接入點計算密秘信息,產生一個客戶端或接入點隨機數,并將秘密信息、身份、隨機數發送給認證機構; 步驟22,認證機構收到客戶端或接入點發送的秘密信息、身份、隨機數后,計算客戶端或接入點的消息認證碼,并將認證機構的身份、公鑰、認證機構隨機數和消息認證碼發送給客戶端或接入點; 步驟23,客戶端或接入點給認證機構發送應答消息; 步驟24,認證機構給客戶端或接入點發送應答響應消息。
根據該方法,所述步驟22包括 認證機構計算客戶端或接入點的公鑰; 認證機構根據客戶端或接入點的公鑰、身份和所述認證機構的私鑰,計算共享密鑰; 認證機構產生一個認證機構隨機數,開利用共亭密鑰計算出消息認證碼密鑰; 認證機構用該消息認證碼密鑰對認證機構以及客戶端或接入點的身份、字符數據“1”進行計算,得到客戶端或接入點的消息認證碼; 然后,將認證機構身份、公鑰、認證機構隨機數和消息認證碼發送給客戶端或接入點。
根據該法發,所述步驟23包括 客戶端或接入點根據接收到的認證機構的公鑰、身份和所述客戶端或接入點的私鑰,計算共享密鑰; 客戶端或接入點利用共享密鑰計算出消息認證碼密鑰; 客戶端或接入點驗證認證機構發送過來的消息認證碼是否正確; 若驗證結果為正確,則確定認證機構的身份是真實可信的; 客戶端或接入點用消息認證碼密鑰對客戶端或接入點以及認證機構的身份、字符數據“0”進行計算,得到認證機構的消息認證碼; 將所述消息認證碼發送給認證機構。
根據該方法,若驗證的結果不正確,則發送出錯消息。
根據該方法,所述步驟24包括 認證機構驗證客戶端或接入點發來的消息認證碼的真偽; 若驗證結果為真,則確定客戶端或接入點的身份是真實可信的,并且確信對方擁有對應的私鑰。
根據該方法,只有客戶端或接入點利用自驗證公鑰時,所述步驟2中客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,包括 步驟21,客戶端或接入點產生一個客戶端或接入點隨機數NA∈
,利用該隨機數計算客戶端或接入點秘密數據;利用認證機構的公鑰加密客戶端或接入點身份和秘密數據的級聯,得到級聯加密數據;然后,將級聯加密數據發送給認證機構; 步驟22,認證機構利用其私鑰解密級聯加密數據,獲得客戶端或接入點秘密數據和身份值;認證機構計算客戶端或接入點的公鑰;認證機構產生一個認證機構隨機數NV∈
,計算級聯秘密數據;然后,將級聯秘密數據發送給客戶端或接入點; 步驟23,客戶端或接入點給認證機構發送應答消息; 步驟24,認證機構給客戶端或接入點發送應答響應消息。
根據該方法,所述步驟23包括 客戶端或接入點利用客戶端或接入點秘密數據還原出認證機構隨機數和客戶端或接入點身份; 判斷所述客戶端或接入點身份是否與該客戶端或接入點發送的一致; 若判斷結果為一致,則確定認證機構的身份是真實可信的; 客戶端或接入點計算驗證數據,發送級聯驗證數據給認證機構。
根據該方法,若判斷結果不一致,則發送出錯消息。
根據該方法,所述步驟24包括 認證機構利用其隨機數還原出驗證數據; 判斷是否滿足一定的條件; 若判斷結果為滿足條件,則認證機構確定客戶端或接入點的身份是真實可信的,并且確信對方擁有對應的私鑰。
根據該方法,所述滿足一定的條件是指下面兩個條件是否均成立 其中,N公開模數;A、B、S安全的參數范圍;y驗證數據;x秘密數據;Nv認證機構隨機數;IA客戶端或接入點身份;PA客戶端或接入點公鑰;g公開元素;e公開指數。
根據該方法,若判斷結果為不滿足條件,則停止協議,發送出錯消息。
根據該方法,所述私鑰為客戶端或接入點隨機選擇的長度為160比特的整數。
根據該方法,當客戶端和接入點均向認證機構申請自驗證公鑰證書時,所述客戶端向接入點發送認證和密鑰協商請求消息,包括步驟 客戶端產生一客戶端隨機數; 將客戶端身份、公鑰和所述客戶端隨機數置于所述認證和密鑰協商請求消息的“密鑰協商數據”字段,并發給接入點。
根據該方法,所述接入點向客戶端發送認證和密鑰協商應答響應消息,包括步驟 接入點接收所述認證和密鑰協商請求消息,按照該請求進行會話算法的協商; 接入點產生一接入點隨機數; 將接入點身份、公鑰和接入點隨機數置于認證和密鑰協商應答響應消息的“密鑰協商數據”字段,并發送給客戶端。
根據該方法,所述客戶端給接入點發送應答消息,包括步驟 客戶端根據接入點的公鑰和客戶端的私鑰計算共享密鑰; 客戶端利用所述共享密鑰計算會話密鑰和消息認證碼密鑰; 客戶端根據該消息認證碼密鑰得到接入點的消息認證碼,并發送給接入點。
根據該方法,接入點給客戶端發送應答響應消息,包括步驟 接入點根據客戶端的公鑰和接入點的私鑰計算共享密鑰; 接入點利用所述共享密鑰計算會話密鑰和消息認證碼密鑰; 接入點驗證客戶端發來的消息認證碼的真偽; 若接入點驗證客戶端發來的消息認證碼為真,則利用所述消息認證碼密鑰得到客戶端的消息認證碼,并發送給客戶端。
根據該方法,還包括步驟若所述接入點驗證客戶端發來的消息認證碼為假,則發送出錯消息。
根據該方法,所述客戶端驗證應答響應消息,包括步驟 客戶端收到接入點發送來的應答響應消息后,對該消息中的消息認證碼進行驗證; 若驗證的結果為真,則客戶端準備接入網絡。
根據該方法,還包括步驟若驗證的結果為假,則客戶端發送出錯消息。
根據該方法,當只有客戶端申請自驗證公鑰證書時,該客戶端申請自驗證公鑰證書之前還包括步驟接入點向WAPI中的認證服務單元申請公鑰證書; 所述接入點將該WAPI中的認證服務單元對其證書的鑒定結果和簽名值預先發送給客戶端; 客戶端通過驗證簽名以確定該接入點證書的真實有效。
根據該方法,所述客戶端向接入點發送認證和密鑰協商請求消息,包括步驟 客戶端產生客戶端隨機數NA∈
并利用該客戶端隨機數計算出客戶端秘密數據;其中,A是一個安全的參數范圍; 客戶端利用接入點的公鑰加密客戶端身份和客戶端秘密數據的級聯,得到級聯加密數據; 客戶端將客戶端的公鑰和級聯加密數據置于所述認證和密鑰協商請求消息的“密鑰協商數據”字段,并發送給接入點。
根據該方法,所述接入點向客戶端發送認證和密鑰協商應答響應消息,包括步驟 接入點在接收到客戶端發送來的認證和密鑰協商請求消息后,進行會話算法的協商; 接入點利用其私鑰解密所述認證和密鑰協商請求消息中包括的級聯加密數據; 接入點產生接入點隨機數NC∈
,并計算級聯秘密數據;其中,B是一個安全的參數范圍; 將級聯秘密數據置于認證和密鑰協商應答響應消息的“密鑰協商數據”字段,并發送給客戶端。
根據該方法,所述客戶端給接入點發送應答消息,包括步驟 客戶端利用客戶端秘密數據還原出接入點隨機數和客戶端身份,并判斷還原出的客戶端身份與客戶端發送的身份是否一致; 若判斷結果為一致,則確定所述接入點身份為真,計算驗證數據,并發送級聯驗證數據給接入點。
根據該方法,所述接入點給客戶端發送應答響應消息,包括步驟 接入點利用接入點隨機數還原出驗證數據,判斷是否滿足一定的條件; 若滿足,則接入點利用驗證數據得到共享密鑰; 接入點利用所述共享密鑰得到會話密鑰和消息認證碼密鑰; 接入點利用所述消息認證碼密鑰得到客戶端的消息認證碼,并發送給客戶端。
根據該方法,所述判斷是否滿足一定的條件是指判斷是否同時滿足兩個條件,所述兩個條件用公式表示為和其中, g公開元素;y驗證數據;e公開指數;IA客戶端身份;PA客戶端公鑰;N公開模數;NC接入點隨機數;x客戶端秘密數據;A、B、S是安全的參數范圍。
根據該方法,還包括步驟若不滿足條件,則發送出錯消息。
根據該方法,所述客戶端驗證應答響應消息,包括步驟 客戶端利用驗證數據y得到共享密鑰; 客戶端利用所述共享密鑰得到會話密鑰和消息認證碼密鑰; 客戶端驗證接入點發來的消息認證碼的真偽; 若驗證結果為真,則客戶端準備接入網絡。
根據該方法,還包括步驟若所述客戶端驗證接入點發來的消息認證碼為假,則發送出錯消息。
根據該方法,所述認證機構為認證服務單元。
本發明還提供一種WAPI中的認證和密鑰協商系統,包括客戶端、接入點和認證機構;其中, 認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰; 客戶端和接入點,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書進行身份驗證和密鑰協商。
根據該系統,所述自驗證公鑰證書包括身份和公鑰數據。
根據該系統,客戶端或接入點利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,是指客戶端或接入點隨機選擇一整數作為私鑰;客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構;認證機構發送公鑰至所述客戶端或接入點。
根據該系統,客戶端或接入點向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指 客戶端或接入點發送消息至認證機構,其中該消息中包括秘密信息、身份、隨機數; 認證機構收到消息后,發送響應消息至客戶端或接入點,所述響應消息包括該認證機構的身份、公鑰、認證機構隨機數和認證機構消息認證碼; 客戶端或接入點給認證機構發送應答消息,該應答消息包括認證機構消息認證碼; 認證機構給客戶端或接入點發送應答響應消息。
根據該系統,客戶端或接入點向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指 客戶端或接入點發送消息至認證機構,其中該消息中包括利用認證機構的公鑰加密客戶端或接入點身份和秘密數據的級聯而得到的級聯加密數據; 認證機構收到消息后,發送響應消息至客戶端或接入點,所述響應消息包括該級聯秘密數據; 客戶端或接入點給認證機構發送應答消息,該應答消息包括級聯驗證數據; 認證機構給客戶端或接入點發送應答響應消息。
根據該系統,所述客戶端和接入點利用自驗證公鑰證書進行身份驗證和密鑰協商,是指 客戶端向接入點發送認證和密鑰協商請求消息,該密鑰協商請求消息包括客戶端隨機數、身份、公鑰; 接入點向客戶端發送認證和密鑰協商應答響應消息,該應答響應消息包括接入點隨機數、身份、公鑰; 客戶端給接入點發送應答消息,該應答消息包括接入點消息認證碼; 接入點給客戶端發送應答響應消息,該應答響應消息包括客戶端的消息認證碼; 客戶端驗證應答響應消息。
本發明還提供一種WAPI中的認證和密鑰協商系統,包括認證服務單元,還包括客戶端、認證機構、接入點;其中, 認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰; 客戶端,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書與接入點之間進行身份驗證和密鑰協商; 接入點,用于向認證服務單元申請公鑰證書,并利用該公鑰證書與客戶端之間進行身份驗證和密鑰協商。
根據該系統,所述自驗證公鑰證書包括身份和公鑰數據。
根據該系統,所述認證機構為認證服務單元。
根據該系統,客戶端利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,是指 客戶端隨機選擇一整數作為私鑰;客戶端向認證機構證明所述客戶端知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構;認證機構發送公鑰至所述客戶端。
根據該系統,客戶端向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指 客戶端發送消息至認證機構,其中該消息中包括秘密信息、身份、隨機數; 認證機構收到消息后,發送響應消息至客戶端,所述響應消息包括該認證機構的身份、公鑰、認證機構隨機數和認證機構消息認證碼; 客戶端給認證機構發送應答消息,該應答消息包括認證機構消息認證碼; 認證機構給客戶端發送應答響應消息。
根據該系統,客戶端向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指 客戶端發送消息至認證機構,其中該消息中包括利用認證機構的公鑰加密客戶端身份和秘密數據的級聯而得到的級聯加密數據; 認證機構收到消息后,發送響應消息至客戶端,所述響應消息包括該級聯秘密數據; 客戶端給認證機構發送應答消息,該應答消息包括級聯驗證數據; 認證機構給客戶端發送應答響應消息。
根據該系統,所述客戶端利用自驗證公鑰證書進行身份驗證和密鑰協商,是指 客戶端向接入點發送認證和密鑰協商請求消息,該密鑰協商請求消息包括客戶端公鑰和客戶端秘密數據的級聯; 接入點向客戶端發送認證和密鑰協商應答響應消息,該應答響應消息包括級聯秘密數據; 客戶端給接入點發送應答消息,該應答消息包括級聯驗證數據; 接入點給客戶端發送應答響應消息,該應答響應消息包括客戶端的消息認證碼; 客戶端驗證應答響應消息。
本發明的有益效果在于 1.保持了國標中WAI的框架。
雖然本發明采用了自驗證的公鑰證書進行身份認證及密鑰協商,但依然保持了WAI的體系結構,即客戶端STA和接入點AP雙方直接進行身份認證和密鑰協商,因此不需要對原方案做大的改動就可以達到安全的目的。
2.本發明提供了兩個認證實施方式,增加了認證的靈活性。
為了與現有的公鑰基礎設施PKI系統相兼容,本發明提供了兩個認證和密鑰協商實施方式,即雙方都采用自驗證公鑰證書和僅客戶端采用自驗證公鑰證書(AP采用傳統的公鑰證書)的認證和密鑰協商方式,因此可以適用多種場景,更具靈活性。
3.身份認證和密鑰協商實現了有機的結合,達到了客戶端STA和接入點AP雙向認證和密鑰協商的目的。
原國家標準中,身份認證和密鑰協商是作為兩部分獨立實現的,因此存在一些安全缺陷。本發明采用的身份認證和密鑰協商過程安全地實現了客戶端STA和接入點AP雙向顯式的密鑰認證,只有擁有與聲明的身份和公鑰相對應私鑰的實體(STA或AP)才能夠計算出對應的消息認證碼;對于采用傳統公鑰證書的接入點AP而言,只有擁有與經過合法檢驗過的證書相對應私鑰的接入點AP才能夠計算出對應的消息認證碼,因而防止了國家標準中WAI方案中可能出現的攻擊一個合法的實體通過了證書鑒別,但攻擊者卻在密鑰協商過程中取代該合法實體來完成密鑰協商的問題,安全地實現了客戶端STA和接入點AP在密鑰協商過程中的身份認證目的。
4.客戶端STA只有通過了身份認證和密鑰協商之后才能夠被允許接入網絡。
由于本發明采用只有通過了身份認證和密鑰協商之后才允許客戶端STA接入網絡的方法,因此避免了國家標準中WAI中一些攻擊者利用合法用戶的證書來通過證書鑒別接入網絡,而導致誤收費以及對網絡造成安全威脅的弊端。
5.改進的方案相對于國標及實施方案中的WAI具有更高的效率。
由于本發明采用了自驗證的公鑰證書,因此在身份認證時,不需要在無線信道上傳送公鑰證書,也不需要認證服務單元ASU驗證證書的合法性和有效性,從而省略了簽名及簽名驗證等公鑰算法,減少了網絡負載、計算負擔和傳輸時延,相對于國標及實施方案中WAI的密鑰協商協議而言,具有更高的效率。



圖1為國家標準GB15629.11中WAI的協議交互流程圖; 圖2為國家標準GB15629.11中WAI的密鑰協商協議流程圖; 圖3為本發明客戶端或接入點向認證機構證明其知道私鑰并不泄漏私鑰的驗證過程流程圖; 圖4為本發明客戶端或接入點向認證機構證明其知道私鑰并不泄漏私鑰的另一驗證過程流程圖; 圖5為本發明實施例一身份認證和密鑰協商流程圖; 圖6為本發明實施例二身份認證和密鑰協商流程圖。

具體實施例方式 本發明提供一種WAPI中的認證和密鑰協商方法,在該WAPI中包括一認證機構(CACertificate Authority),該方法包括步驟客戶端STA和/或接入點AP向所述認證機構CA申請自驗證公鑰證書;所述客戶端STA和接入點AP之間利用自驗證公鑰證書進行身份驗證和密鑰協商。
該方法基于自驗證公鑰,使得在不改變原WAI基本框架的基礎上,客戶端STA和接入點AP無須在空中接口傳送自己的公鑰證書及驗證對方證書的合法性,并且雙方可以利用自驗證公鑰證書進行密鑰協商。因此,減少了數據傳輸量和在線計算量,提高了認證體系的安全性;解決了WAPI中身份認證和密鑰協商過程中存在的問題,進一步提高WAPI認證機制的安全強度。
所述客戶端STA和接入點AP之間利用自驗證公鑰證書進行身份驗證和密鑰協商,其中,該客戶端STA和接入點AP均向認證機構CA申請自驗證公鑰證書;另外,只有客戶端向認證機構CA申請自驗證公鑰證書,而接入點AP還采用傳統的X.509公鑰證書。
本實施例中,認證機構CA為認證服務單元ASU。另外所述認證機構CA和認證服務單元ASU也可分別設置。
實施例一 本實施例中,客戶端STA和接入點AP均采用自驗證公鑰證書的身份認證及密鑰協商協議。
此時對應的WAPI中的認證和密鑰協商系統,包括客戶端、接入點和認證機構;其中,認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰;客戶端和接入點,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書進行身份驗證和密鑰協商。以下結合附圖對該系統中的認證和密鑰協商方法進行詳細說明。
客戶端STA和接入點AP分別向認證服務單元ASU申請自驗證公鑰證書;然后,客戶端STA和接入點AP均采用自驗證證書的身份認證及密鑰協商。
本實施例中,客戶端STA和接入點AP分別向認證服務單元ASU申請自驗證證書,由該認證服務單元ASU分別向客戶端STA和接入點AP頒發自驗證證書,該自驗證證書的內容包括公鑰和身份。本實施例中,設客戶端STA的公鑰數據為(sA,PA,IA),接入點AP的公鑰數據為(sC,PC,IC)。
其中,建立客戶端STA和接入點AP的自驗證證書的過程相同,以客戶端為例對認證服務單元ASU頒發自驗證公鑰證書的過程進行說明。
在執行無線局域網鑒別與保密基礎結構WAPI時,首先,由認證服務單元ASU生成系統密鑰數據,即RSA密鑰數據,其中RSA的命名取自Rivest、Shamir和Adelman;包括 一個公開模數N=PQ,其中P、Q是長度相等的大素數,如|P|=|Q|=512; 一個公開指數e,與φ(N)互素,其中φ(N)=(P-1)(Q-1); 一個秘密指數d,滿足ed≡1(mod φ(N)),該至少作為系統私鑰; 一個公開元素g屬于乘法群ZN*,即具有最大的乘法階;為了計算g,認證服務單元ASU找gP戶作為模P的生成元,并找gQ作為模Q的生成元,然后認證服務單元ASU可以運用中國剩余定理來構造g。
然后,認證服務單元ASU公開系統參數(N,e,g),并秘密保存系統私鑰d。
客戶端STA隨機選擇一個長度為160比特的整數sA作為私鑰,然后,運用下述的的兩種認證協議之一向ASU證明其知道sA,且不泄漏sA,并將其身份IA發給認證服務單元ASU。
如圖3所示為第一種認證情況。
認證服務單元ASU也采用自驗證公鑰證書,假設其自驗證公鑰證書為IB、PB。
步驟1,客戶端STA計算秘密信息產生一個隨機數RA,并將秘密信息v、身份IA、隨機數RA發送給認證服務單元ASU; 步驟2,認證服務單元ASU計算客戶端STA的公鑰,為v-IA的RSA簽名PA←(v-IA)d(mod N),下面的等式成立, 認證服務單元ASU根據計算出來的客戶端STA的公鑰數據和自己的私鑰sB,計算共享密鑰 認證服務單元ASU產生一個隨機數RB,并利用共享密鑰KAB計算出消息認證碼密鑰ka,計算方法為其中,f為偽隨機函數; 認證服務單元ASU用該消息認證碼密鑰ka對認證服務單元ASU以及客戶端STA的身份、字符數據“1”進行計算,得到客戶端STA的消息認證碼MICka(″1″,IB,IA),將身份IB,公鑰PB,、隨機數RB和消息認證碼MICka(″1″,IB,IA)發送給客戶端STA。
步驟3,客戶端STA給認證服務單元ASU發送應答消息。其中,包括步驟 客戶端STA根據接收到的認證服務單元ASU的公鑰數據和自己的私鑰sA,計算共享密鑰 客戶端STA利用共享密鑰KAB計算出消息認證碼密鑰ka,計算方法為其中,f為偽隨機函數; 客戶端STA驗證認證服務單元ASU發送過來的消息認證碼MICka(″1″,IB,IA),如果正確,則確定對方的身份是真實可信的; 客戶端STA用消息認證碼密鑰ka對客戶端STA以及認證服務單元ASU的身份、字符數據“0”進行計算,得到認證服務單元ASU的消息認證碼,將該消息認證碼MICka(″0″,IB,IA)發送給認證服務單元ASU。
步驟4,認證服務單元ASU給客戶端STA發送的應答響應消息。包括步驟 認證服務單元ASU驗證客戶端STA發來的消息認證碼MICka(″0″,IB,IA)的真偽,如果通過驗證,則可以確定對方的身份是真實可信的,并且確信對方擁有對應的私鑰。
認證服務單元ASU發送PA給客戶端STA作為其公鑰的一部分。
如圖4所示,為第二種認證情況。
認證服務單元ASU采用傳統的X.509公鑰證書,假設其對應公、私鑰為PKASU、skASU。
步驟1,客戶端STA產生一個隨機數NA∈
,計算客戶端秘密數據x,其中利用認證服務單元ASU的公鑰加密其身份IA和秘密數據x的級聯,得到級聯加密數據,即{x||IA}PKASU;其中,A是一個安全的參數范圍,本實施例中為|A|≥272; 然后,將級聯加密數據{x||IA}PKASU發送給認證服務單元ASU。
步驟2,認證服務單元ASU利用其私鑰skASU解密級聯加密數據{x||IA}PKASU,獲得客戶端秘密數據x和IA值; 認證服務單元ASU計算客戶端STA的公鑰為v-IA的RSA簽名PA←(v-IA)d(mod N),下面的等式成立, 認證服務單元ASU也產生一個隨機數NV∈
,計算級聯秘密數據(NV‖IA)x′,其中,x′為x的低128bits;B是一個安全參數范圍,本實施例中|B|≥32; 然后,將級聯秘密數據(NV‖IA)x′發送給客戶端STA。
步驟3,客戶端STA給認證服務單元ASU發送應答消息。包括步驟 客戶端STA利用客戶端秘密數據x還原出認證服務單元隨機數NV和客戶端身份IA,判斷身份IA是否與自己發送的一致,如果一致的話,則可以確定認證服務單元ASU的身份是真實可信的; 客戶端STA計算驗證數據y,y=NA+NV×sA,發送級聯驗證數據yNV給認證服務單元ASU。
步驟4,認證服務單元ASU給客戶端STA發送應答響應消息。包括步驟 認證服務單元ASU利用隨機數NV還原出驗證數據y,判斷是否滿足一定的條件,本實施例中,滿足一定的條件是指下面兩個條件是否都成立 上式中,N是公開模數,A、B、S是安全的參數范圍,本實施例中分別為|N|≥1024、|B|≥32、|S|≥160、|A|≥|S|+|B|+80; 如果上述任意一條條件不成立,則中止協議,并發送出錯消息;否則認證服務單元ASU可以確定對方的身份是真實可信的,并且確信對方擁有對應的私鑰。當然,并不限于上述條件,還可采用其它條件判斷。
最后,認證服務單元ASU發送PA給客戶端STA作為其公鑰的一部分。
因此,客戶端STA獲得自驗證公鑰證書,該自驗證公鑰證書中包括兩部份內容,一是用戶的身份IA,二是公鑰數據,即PA。
接入點AP自驗證公鑰證書建立過程和客戶端STA的建立過程一樣,此處不再贅述。另外,接入點AP也可以采用無線局域網國家標準GB15629.11中規定的公鑰證書格式,即X.509格式的公鑰證書,AP需要通過密鑰生成算法得到公私鑰對,再從ASU申請它的公鑰證書。
以下,參照附圖5詳細說明客戶端STA和接入點AP雙方均采用自驗證公鑰證書的身份認證及密鑰協商過程。
步驟1,客戶端STA向接入點AP發送認證和密鑰協商請求消息。該請求消息中包括客戶端STA身份IA、公鑰PA和客戶端STA選取的隨機數RA。其中,產生該請求內容的過程包括 客戶端STA采用國家密碼管理委員會辦公室批準的WLAN隨機數產生算法產生一個隨機數RA; 然后,將數據IA,PA,RA置于密鑰協商請求分組中的“密鑰協商數據”字段。
步驟2,接入點AP向客戶端STA發送認證和密鑰協商應答響應消息。該響應內容包括接入點AP身份IC,公鑰PC和AP選取的隨機數RC。產生該響應內容的具體過程包括 接入點AP在收到客戶端STA發送過來的密鑰協商請求后,首先按照該請求進行會話算法的協商,在客戶端STA提供的備選算法中選擇一種自己支持的算法; 然后,接入點AP也利用隨機數產生算法來產生一個隨機數RC,然后,將數據IC,PC,RC置于密鑰協商響應分組中的“密鑰協商數據”字段。
步驟3,客戶端STA給接入點AP發送應答消息。其中,包括步驟 客戶端STA根據接收到的接入點AP的公鑰數據和自己的私鑰sA,計算共享密鑰 客戶端STA利用共享密鑰KAC計算出會話密鑰kd′和消息認證碼密鑰ka′,計算方法為其中,f為偽隨機函數。
客戶端STA用消息認證碼密鑰ka′對客戶端STA以及接入點AP的身份、字符數據“0”進行計算,得到接入點AP的消息認證碼,將該消息認證碼MICka′(″0″,IC,IA)發送給接入點AP。
步驟4,接入點AP給客戶端STA發送的應答響應消息。包括步驟 接入點AP根據接收到的客戶端STA的公鑰數據和自己的私鑰sC,計算共享密鑰 接入點AP利用共享密鑰KAC計算出會話密鑰kd′和消息認證碼密鑰ka′,計算方法為其中,f為偽隨機函數。
接入點AP驗證客戶端STA發來的消息認證碼MICka′(″0″,IC,IA)的真偽,如果通過驗證,則可以確定對方的身份是真實可信的,接入點AP用該消息認證碼密鑰ka′對接入點AP以及客戶端STA的身份等數據進行計算,得到客戶端STA的消息認證碼,將該消息認證碼MICka′(″1″,IC,IA)發送給STA,否則發送出錯消息。
步驟5,客戶端STA驗證應答響應消息。包括步驟 客戶端STA在收到接入點AP發送過來的應答響應消息后,對該消息中的消息認證碼MICka′(″1″,IC,IA)進行驗證,如果正確,則確定對方的身份是真實可信的,且對方已經與自己協商好了一致的會話密鑰kd′,客戶端STA準備接入網絡;否則發送出錯消息。
實施例二 對于僅客戶端STA采用自驗證公鑰證書的身份認證及密鑰協商協議,而接入點AP擁有傳統的X.509公鑰證書。
此時對應的WAPI中的認證和密鑰協商系統,包括認證服務單元,還包括客戶端、認證機構、接入點;其中,認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰;客戶端,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書與接入點之間進行身份驗證和密鑰協商;接入點,用于向認證服務單元申請公鑰證書,并利用該公鑰證書與客戶端之間進行身份驗證和密鑰協商。以下結合附圖對該系統的認證和密鑰協商進行詳細說明。其中,所述認證機構和認證服務單元集成。
在客戶端STA申請自驗證公鑰證書之前,接入點AP需要向認證服務單元ASU申請公鑰證書;然后,將認證服務單元ASU對其證書的鑒定結果和簽名值預先發送給客戶端STA,客戶端STA通過驗證簽名,確定接入點AP證書的真實有效。
客戶端STA申請自驗證公鑰證書,該過程在實施例一中已經說明,此處不再贅述。
以下,參照附圖6詳細說明客戶端STA采用自驗證公鑰證書和接入點AP采用傳統的公鑰證書的身份認證及密鑰協商過程。
步驟1,客戶端STA向接入點AP發送認證和密鑰協商請求。包括步驟 客戶端STA采用國家密碼管理委員會辦公室批準的WLAN隨機數產生算法產生一個隨機數NA∈
,計算客戶端秘密數據x,其中利用接入點AP的公鑰加密其身份IA和x的級聯,得到級聯加密數據,即{x||IA}PKAP;其中,A是一個安全的參數范圍,本實施例中為|A|≥272; 然后,將其公鑰PA和級聯加密數據{x||IA}PKAP置于密鑰協商請求分組中的“密鑰協商數據”字段。
步驟2,接入點AP向客戶端STA發送認證和密鑰協商應答響應。包括步驟 接入點AP在收到客戶端STA發送過來的密鑰協商請求后,首先按照該請求進行會話算法的協商,在客戶端STA提供的備選算法中選擇一種自己支持的算法; 然后,接入點AP利用其私鑰skAP戶解密級聯加密數據{x||IA}PKAP,獲得客戶端秘密數據x和IA值,接入點AP也利用隨機數產生算法來產生一個隨機數NC∈
,計算級聯秘密數據(NC||IA)x′,其中,x′為x的低128bits;B是一個安全參數范圍,本實施例中|B|≥32; 然后,將級聯秘密數據(NC||IA)x′置于密鑰協商響應分組中的“密鑰協商數據”字段,并發送給客戶端。
步驟3,客戶端STA給接入點AP發送應答消息。包括步驟 客戶端STA利用客戶端秘密數據還原出NC和IA,判斷身份IA是否與自己發送的一致,如果一致的話,則可以確定認證器AP的身份是真實可信的,STA計算驗證數據y’,y′=NA+NC×sA,發送級聯驗證數據y′NC給認證器AP。
步驟4,接入點AP給客戶端STA發送的應答響應消息。包括步驟 接入點AP利用NC還原出驗證數據y′,判斷是否滿足一定的條件,本實施例中,滿足一定的條件是指下面兩個條件是否都成立 上式中,N是公開模數,A、B、S是安全的參數范圍,本實施例中分別為|N|≥1024、|B|≥32、|S|≥160、|A|≥|S|+|B|+80; 如果上述任意一條條件不成立,則中止協議,并發送出錯消息;當然,并不限于上述條件,還可采用其它條件判斷。
否則客戶端STA通過身份認證,接入點AP將共享密鑰KAC取為y′的低128bits,接入點AP利用共享密鑰KAC計算出會話密鑰kd′和消息認證碼密鑰ka′,計算方法為其中,f為偽隨機函數。
接入點AP用該消息認證碼密鑰ka′對客戶端STA以及接入點AP的身份、字符數據“1”進行計算,得到客戶端STA的消息認證碼,將消息認證碼MICka′(″1″,IC,IA)發送給客戶端STA; 步驟5,客戶端STA驗證應答響應消息。包括步驟客戶端STA將共享密鑰KAC取為y′的低128bits,利用KAC計算出會話密鑰kd′和消息認證碼密鑰ka′,計算方法為其中,f為偽隨機函數; 客戶端STA驗證應答響應消息,即驗證接入點AP發來的消息認證碼的真偽,如果通過驗證,則可以確定對方的身份是真實可信的,且對方已經與自己協商好了一致的會話密鑰,STA準備接入網絡;否則STA發送出錯消息。
通過本發明,減少了數據傳輸量和在線計算量,提高了認證體系的安全性;解決了WAPI中身份認證和密鑰協商過程中存在的問題,進一步提高WAPI認證機制的安全強度。
下面對本發明的安全性進行分析。
本發明的安全性是基于GPS(是指Girault-Poupard-Stern)識別方案。該方案由Girault提出,并由Poupard和Stern證明了其安全性。GPS方案是群的階和基的階均被證明者秘密擁有的離散對數問題,且在一次運行后攻擊者假冒成功的概率是1/(2|B|),安全的參數范圍為|N|≥1024、|B|≥32、|S|≥160、|A|≥|S|+|B|+80。本文提出的方案具有GPS的安全性,且可實現單純GPS方案所不能完成的雙向認證及密鑰協商功能。對提出方案的安全性分析如下 1.雙向認證 對于雙方都采用自驗證公鑰的認證方式,如果能夠證明自己知道以g為底模N的離散對數,即值-sA,這就保證了公鑰PA是由認證機構CA發行的。
而當雙方能夠確定協商了一致的會話密鑰時,那么他們就知道另一方已經證明了自己的身份。對于只有客戶端STA采用自驗證公鑰的認證方式(接入點AP仍采用傳統的公鑰證書),鑒于公鑰加密算法的安全性,只有擁有正確私鑰的接入點AP才可解密消息{x‖IA}PKAP并獲得客戶端身份IA和x,因此,若客戶端STA收到消息(NC||IA)x′中隱含的IA與自己的IA一致,則可確認接入點AP的身份。而接入點AP可根據上述條件式(1)和(2)是否成立來判別STA身份的合法性。
2.抵御重放攻擊 對于雙方都采用自驗證公鑰的認證方式,由于協議中各條消息分別包含了隨機數RA和RC,以及由此構造的密鑰ka′和kd′,保證消息具有新鮮性和不可預測性,客戶端STA和接入點AP可以通過驗證消息認證碼來檢測重放攻擊的發生。對于只有客戶端采用自驗證公鑰的認證方式(接入點AP仍采用傳統的公鑰證書),協議中各條消息分別包含了隨機數NA和NC,以及由此構造的x和y′,因此所有消息均具有新鮮性和不可預測性。重放攻擊可在協議執行至步驟4由客戶端STA檢測出來,或在協議執行至步驟5因條件式(2)不成立而被接入點AP察覺。
3.不可抵賴性 對于雙方都采用自驗證公鑰的認證方式,如果隨機選取PA并根據式用PAe和IA計算v,則不能知道它以g為底模N的離散對數,因此自驗證證書無法偽造。
密鑰交換協議是一個DH(Diffue-Hellman)交換協議,只有擁有對應私鑰的用戶才可以計算出正確的共享密鑰KAC,因此只要雙方協商了一致的會話密鑰,就不能否認自己的注冊過程。
對于只有客戶端采用自驗證公鑰的認證方式(接入點AP仍采用傳統的公鑰證書),基于計算|S|≥160bit的短指數離散對數問題的困難性,現有算法無法在有效時間內依據等式從x推出NA,而AP也無法根據等式y′=NA+NC×sA由y′算出sA,因此,整個系統中只有擁有正確sA的STA才可構造出合法的y′。所以,一旦STA通過了認證,則不能否認自己的注冊過程。
4.密鑰協商 對于雙方都采用自驗證公鑰的認證方式,由于消息認證碼密鑰ka′和會話密鑰kd′是通過雙方協商的共享密鑰KAC和各自產生的隨機數RA和RC計算出來的,因此客戶端STA和接入點AP都相信ka′和kd′是新鮮、隨機的、且由客戶端STA和接入點AP共同產生,符合密鑰協商的公平性。
對于只有客戶端采用自驗證公鑰的認證方式(接入點AP仍采用傳統的公鑰證書),由于y′同時包含了客戶端STA產生的隨機數NA和AP生成的隨機數NC,因此客戶端STA和接入點AP都相信由y′生成的共享密鑰KAC是新鮮、隨機的、且由STA和AP共同產生,符合密鑰協商的公平性,并可防止因任何一方提供弱密鑰而帶來的安全隱患。
以下對本發明的性能進行分析。
由于計算資源的限制,客戶端STA是協議效率的瓶頸,因此,以下從客戶端STA的角度出發來分析認證協議性能,并與現有國家標準進行比較。如表1所示,為本發明與WAPI國家標準效率的定性比較。第2列表示協議是否傳遞了證書;第3、4列分別表示可預計算和必須在線完成的指數運算的次數。第5、6列表明了協議需要進行的公鑰加密和解密運算次數。協議需要的簽名和驗證運算次數分別在第7、8列中表示。9、10兩列為協議需要做的Hash和異或運算次數。
表1 從表1可以看到,在本方案所提的兩種認證方式中,客戶端STA均不需要傳遞證書,并且指數運算和公鑰運算次數非常少,分別為2次和3次,對于只有客戶端采用自驗證公鑰的認證方式,客戶端STA可以通過離線方式預計算x,并存儲(NU,x),進一步減少計算量。相比之下,WAPI國家標準在不傳遞證書的前提下根本無法完成對STA的認證,指數運算和公鑰運算次數多達5次,因此效率非常低。
為進一步提高協議效率,在實際應用中可選擇g=2(并不減弱安全性),其優點在于使用“平方乘”算法做模指數運算時,開始的那些平方運算無須做模約簡,而且乘g的運算就是移位操作。同時,可選用小常數PKAP作為接入點AP的加密公鑰,如PKAP=3,使得協議的效率得到進一步提高。
上述實施例僅用于說明本發明,而非用于限定本發明。
權利要求
1.一種WAPI中的認證和密鑰協商方法,其特征在于,所述WAPI中包括一認證機構,該方法包括步驟
客戶端和/或接入點向所述認證機構申請自驗證公鑰證書;
所述客戶端和接入點之間利用自驗證公鑰證書進行身份驗證和密鑰協商。
2.根據權利要求1所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端和接入點之間利用自驗證公鑰證書進行身份驗證和密鑰協商,包括步驟
客戶端向接入點發送認證和密鑰協商請求消息;
接入點向客戶端發送認證和密鑰協商應答響應消息;
客戶端給接入點發送應答消息;
接入點給客戶端發送應答響應消息;
客戶端驗證應答響應消息。
3.根據權利要求1所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端或接入點申請自驗證公鑰證書,包括步驟
所述客戶端或接入點向認證機構提出申請;
認證機構為客戶端或接入點頒發自驗證公鑰證書。
4.根據權利要求3所述的WAPI中的認證和密鑰協商方法,其特征在于,所述認證機構為客戶端或接入點頒發自驗證公鑰證書,包括步驟
認證機構產生系統密鑰數據,該系統密鑰數據包括系統參數和系統私鑰;
認證機構公開所述系統參數,并秘密保存系統私鑰;
所述客戶端或接入點根據所述系統密鑰數據建立自驗證公鑰證書。
5.根據權利要求4所述的WAPI中的認證和密鑰協商方法,其特征在于,所述系統參數至少包括公開模數、公開指數和公開元素。
6.根據權利要求5所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端或接入點根據系統密鑰數據建立自驗證公鑰證書,包括步驟
步驟1,客戶端或接入點隨機選擇一整數作為私鑰;
步驟2,客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構;
步驟3,認證機構發送公鑰至所述客戶端或接入點。
7.根據權利要求6所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端或接入點以及認證機構均利用自驗證公鑰時,所述步驟2中客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,包括
步驟21,客戶端或接入點計算密秘信息,產生一個客戶端或接入點隨機數,并將秘密信息、身份、隨機數發送給認證機構;
步驟22,認證機構收到客戶端或接入點發送的秘密信息、身份、隨機數后,計算客戶端或接入點的消息認證碼,并將認證機構的身份、公鑰、認證機構隨機數和消息認證碼發送給客戶端或接入點;
步驟23,客戶端或接入點給認證機構發送應答消息;
步驟24,認證機構給客戶端或接入點發送應答響應消息。
8.根據權利要求7所述的WAPI中的認證和密鑰協商方法,其特征在于,所述步驟22包括
認證機構計算客戶端或接入點的公鑰;
認證機構根據客戶端或接入點的公鑰、身份和所述認證機構的私鑰,計算共享密鑰;
認證機構產生一個認證機構隨機數,并利用共享密鑰計算出消息認證碼密鑰;
認證機構用該消息認證碼密鑰對認證機構以及客戶端或接入點的身份、字符數據“1”進行計算,得到客戶端或接入點的消息認證碼;
然后,將認證機構身份、公鑰、認證機構隨機數和消息認證碼發送給客戶端或接入點。
9.根據權利要求7所述的WAPI中的認證和密鑰協商方法,其特征在于,所述步驟23包括
客戶端或接入點根據接收到的認證機構的公鑰、身份和所述客戶端或接入點的私鑰,計算共享密鑰;
客戶端或接入點利用共享密鑰計算出消息認證碼密鑰;
客戶端或接入點驗證認證機構發送過來的消息認證碼是否正確;
若驗證結果為正確,則確定認證機構的身份是真實可信的;
客戶端或接入點用消息認證碼密鑰對客戶端或接入點以及認證機構的身份、字符數據“0”進行計算,得到認證機構的消息認證碼;
將所述消息認證碼發送給認證機構。
10.根據權利要求7所述的WAPI中的認證和密鑰協商方法,其特征在于,所述步驟24包括
認證機構驗證客戶端或接入點發來的消息認證碼的真偽;
若驗證結果為真,則確定客戶端或接入點的身份是真實可信的,并且確信對方擁有對應的私鑰。
11.根據權利要求6所述的WAPI中的認證和密鑰協商方法,其特征在于,只有客戶端或接入點利用自驗證公鑰時,所述步驟2中客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,包括
步驟21,客戶端或接入點產生一個客戶端或接入點隨機數NA∈[O,A],利用該隨機數計算客戶端或接入點秘密數據;利用認證機構的公鑰加密客戶端或接入點身份和秘密數據的級聯,得到級聯加密數據;然后,將級聯加密數據發送給認證機構;
步驟22,認證機構利用其私鑰解密級聯加密數據,獲得客戶端或接入點秘密數據和身份值;認證機構計算客戶端或接入點的公鑰;認證機構產生一個認證機構隨機數NV∈[O,B],計算級聯秘密數據;然后,將級聯秘密數據發送給客戶端或接入點;
步驟23,客戶端或接入點給認證機構發送應答消息;
步驟24,認證機構給客戶端或接入點發送應答響應消息。
12.根據權利要求11所述的WAPI中的認證和密鑰協商方法,其特征在于,所述步驟23包括
客戶端或接入點利用客戶端或接入點秘密數據還原出認證機構隨機數和客戶端或接入點身份;
判斷所述客戶端或接入點身份是否與該客戶端或接入點發送的一致;
若判斷結果為一致,則確定認證機構的身份是真實可信的;
客戶端或接入點計算驗證數據,發送級聯驗證數據給認證機構。
13.根據權利要求11所述的WAPI中的認證和密鑰協商方法,其特征在于,所述步驟24包括
認證機構利用其隨機數還原出驗證數據;
判斷是否滿足一定的條件;
若判斷結果為滿足條件,則認證機構確定客戶端或接入點的身份是真實可信的,并且確信對方擁有對應的私鑰。
14.根據權利要求13所述的WAPI中的認證和密鑰協商方法,其特征在于,所述滿足一定的條件是指下面兩個條件是否均成立
其中,N公開模數;A、B、S安全的參數范圍;y驗證數據;x秘密數據;NV認證機構隨機數;IA客戶端或接入點身份;PA客戶端或接入點公鑰;g公開元素;e公開指數。
15.根據權利要求2所述的WAPI中的認證和密鑰協商方法,其特征在于,當客戶端和接入點均向認證機構申請自驗證公鑰證書時,所述客戶端向接入點發送認證和密鑰協商請求消息,包括步驟
客戶端產生一客戶端隨機數;
將客戶端身份、公鑰和所述客戶端隨機數置于所述認證和密鑰協商請求消息的“密鑰協商數據”字段,并發給接入點。
16.根據權利要求15所述的WAPI中的認證和密鑰協商方法,其特征在于,所述接入點向客戶端發送認證和密鑰協商應答響應消息,包括步驟
接入點接收所述認證和密鑰協商請求消息,按照該請求進行會話算法的協商;
接入點產生一接入點隨機數;
將接入點身份、公鑰和接入點隨機數置于認證和密鑰協商應答響應消息的“密鑰協商數據”字段,并發送給客戶端。
17.根據權利要求16所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端給接入點發送應答消息,包括步驟
客戶端根據接入點的公鑰和客戶端的私鑰計算共享密鑰;
客戶端利用所述共享密鑰計算會話密鑰和消息認證碼密鑰;
客戶端根據該消息認證碼密鑰得到接入點的消息認證碼,并發送給接入點。
18.根據權利要求17所述的WAPI中的認證和密鑰協商方法,其特征在于,接入點給客戶端發送應答響應消息,包括步驟
接入點根據客戶端的公鑰和接入點的私鑰計算共享密鑰;
接入點利用所述共享密鑰計算會話密鑰和消息認證碼密鑰;
接入點驗證客戶端發來的消息認證碼的真偽;
若接入點驗證客戶端發來的消息認證碼為真,則利用所述消息認證碼密鑰得到客戶端的消息認證碼,并發送給客戶端。
19.根據權利要求18所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端驗證應答響應消息,包括步驟
客戶端收到接入點發送來的應答響應消息后,對該消息中的消息認證碼進行驗證;
若驗證的結果為真,則客戶端準備接入網絡。
20.根據權利要求2所述的WAPI中的認證和密鑰協商方法,其特征在于,
當只有客戶端申請自驗證公鑰證書時,該客戶端申請自驗證公鑰證書之前還包括步驟接入點向WAPI中的認證服務單元申請公鑰證書;
所述接入點將該WAPI中的認證服務單元對其證書的鑒定結果和簽名值預先發送給客戶端;
客戶端通過驗證簽名以確定該接入點證書的真實有效。
21.根據權利要求20所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端向接入點發送認證和密鑰協商請求消息,包括步驟
客戶端產生客戶端隨機 NA∈[O,A]并利用該客戶端隨機數計算出客戶端秘密數據;其中,A是一個安全的參數范圍;
客戶端利用接入點的公鑰加密客戶端身份和客戶端秘密數據的級聯,得到級聯加密數據;
客戶端將客戶端的公鑰和級聯加密數據置于所述認證和密鑰協商請求消息的“密鑰協商數據”字段,并發送給接入點。
22.根據權利要求21所述的WAPI中的認證和密鑰協商方法,其特征在于,所述接入點向客戶端發送認證和密鑰協商應答響應消息,包括步驟
接入點在接收到客戶端發送來的認證和密鑰協商請求消息后,進行會話算法的協商;
接入點利用其私鑰解密所述認證和密鑰協商請求消息中包括的級聯加密數據;
接入點產生接入點隨機數NC∈[O,B],并計算級聯秘密數據;其中,B是一個安全的參數范圍;
將級聯秘密數據置于認證和密鑰協商應答響應消息的“密鑰協商數據”字段,并發送給客戶端。
23.根據權利要求22所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端給接入點發送應答消息,包括步驟
客戶端利用客戶端秘密數據還原出接入點隨機數和客戶端身份,并判斷還原出的客戶端身份與客戶端發送的身份是否一致;
若判斷結果為一致,則確定所述接入點身份為真,計算驗證數據,并發送級聯驗證數據給接入點。
24.根據權利要求23所述的WAPI中的認證和密鑰協商方法,其特征在于,所述接入點給客戶端發送應答響應消息,包括步驟
接入點利用接入點隨機數還原出驗證數據,判斷是否滿足一定的條件;
若滿足,則接入點利用驗證數據得到共享密鑰;
接入點利用所述共享密鑰得到會話密鑰和消息認證碼密鑰;
接入點利用所述消息認證碼密鑰得到客戶端的消息認證碼,并發送給客戶端。
25.根據權利要求24所述的WAPI中的認證和密鑰協商方法,其特征在于,所述判斷是否滿足一定的條件是指判斷是否同時滿足兩個條件,所述兩個條件用公式表示為和其中,
g公開元素;y驗證數據;e公開指數;IA客戶端身份;PA客戶端公鑰;N公開模數;NC接入點隨機數;x客戶端秘密數據;A、B、S是安全的參數范圍。
26.根據權利要求24所述的WAPI中的認證和密鑰協商方法,其特征在于,所述客戶端驗證應答響應消息,包括步驟
客戶端利用驗證數據y得到共享密鑰;
客戶端利用所述共享密鑰得到會話密鑰和消息認證碼密鑰;
客戶端驗證接入點發來的消息認證碼的真偽;
若驗證結果為真,則客戶端準備接入網絡。
27.一種WAPI中的認證和密鑰協商系統,其特征在于,包括客戶端、接入點和認證機構;其中,
認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰;
客戶端和接入點,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書進行身份驗證和密鑰協商。
28.根據權利要求27所述的WAPI中的認證和密鑰協商系統,其特征在于,所述自驗證公鑰證書包括身份和公鑰數據。
29.根據權利要求27所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端或接入點利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,是指客戶端或接入點隨機選擇一整數作為私鑰;客戶端或接入點向認證機構證明所述客戶端或接入點知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構;認證機構發送公鑰至所述客戶端或接入點。
30.根據權利要求29所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端或接入點向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指
客戶端或接入點發送消息至認證機構,其中該消息中包括秘密信息、身份、隨機數;
認證機構收到消息后,發送響應消息至客戶端或接入點,所述響應消息包括該認證機構的身份、公鑰、認證機構隨機數和認證機構消息認證碼;
客戶端或接入點給認證機構發送應答消息,該應答消息包括認證機構消息認證碼;
認證機構給客戶端或接入點發送應答響應消息。
31.根據權利要求29所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端或接入點向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指
客戶端或接入點發送消息至認證機構,其中該消息中包括利用認證機構的公鑰加密客戶端或接入點身份和秘密數據的級聯而得到的級聯加密數據;
認證機構收到消息后,發送響應消息至客戶端或接入點,所述響應消息包括該級聯秘密數據;
客戶端或接入點給認證機構發送應答消息,該應答消息包括級聯驗證數據;
認證機構給客戶端或接入點發送應答響應消息。
32.根據權利要求27所述的WAPI中的認證和密鑰協商系統,其特征在于,所述客戶端和接入點利用自驗證公鑰證書進行身份驗證和密鑰協商,是指
客戶端向接入點發送認證和密鑰協商請求消息,該密鑰協商請求消息包括客戶端隨機數、身份、公鑰;
接入點向客戶端發送認證和密鑰協商應答響應消息,該應答響應消息包括接入點隨機數、身份、公鑰;
客戶端給接入點發送應答消息,該應答消息包括接入點消息認證碼;
接入點給客戶端發送應答響應消息,該應答響應消息包括客戶端的消息認證碼;
客戶端驗證應答響應消息。
33.一種WAPI中的認證和密鑰協商系統,包括認證服務單元,其特征在于,包括客戶端、認證機構、接入點;其中,
認證機構,用于產生系統密鑰數據,其中所述系統密鑰數據包括系統參數和系統私鑰;并公開所述系統參數,秘密保存系統私鑰;
客戶端,用于向認證機構申請自驗證公鑰證書,利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,并利用該自驗證公鑰證書與接入點之間進行身份驗證和密鑰協商;
接入點,用于向認證服務單元申請公鑰證書,并利用該公鑰證書與客戶端之間進行身份驗證和密鑰協商。
34.根據權利要求33所述的WAPI中的認證和密鑰協商系統,其特征在于,所述自驗證公鑰證書包括身份和公鑰數據。
35.根據權利要求33所述的WAPI中的認證和密鑰協商系統,其特征在于,所述認證機構為認證服務單元。
36.根據權利要求33所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端利用認證機構產生的系統密鑰數據建立自驗證公鑰證書,是指
客戶端隨機選擇一整數作為私鑰;客戶端向認證機構證明所述客戶端知道該私鑰,并且不泄漏該私鑰,并且發送身份給認證機構;認證機構發送公鑰至所述客戶端。
37.根據權利要求36所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指
客戶端發送消息至認證機構,其中該消息中包括秘密信息、身份、隨機數;
認證機構收到消息后,發送響應消息至客戶端,所述響應消息包括該認證機構的身份、公鑰、認證機構隨機數和認證機構消息認證碼;
客戶端給認證機構發送應答消息,該應答消息包括認證機構消息認證碼;
認證機構給客戶端發送應答響應消息。
38.根據權利要求36所述的WAPI中的認證和密鑰協商系統,其特征在于,客戶端向認證機構證明其知道該私鑰,并且不泄漏該私鑰,是指
客戶端發送消息至認證機構,其中該消息中包括利用認證機構的公鑰加密客戶端身份和秘密數據的級聯而得到的級聯加密數據;
認證機構收到消息后,發送響應消息至客戶端,所述響應消息包括該級聯秘密數據;
客戶端給認證機構發送應答消息,該應答消息包括級聯驗證數據;
認證機構給客戶端發送應答響應消息。
39.根據權利要求33所述的WAPI中的認證和密鑰協商系統,其特征在于,所述客戶端利用自驗證公鑰證書進行身份驗證和密鑰協商,是指
客戶端向接入點發送認證和密鑰協商請求消息,該密鑰協商請求消息包括客戶端公鑰和客戶端秘密數據的級聯;
接入點向客戶端發送認證和密鑰協商應答響應消息,該應答響應消息包括級聯秘密數據;
客戶端給接入點發送應答消息,該應答消息包括級聯驗證數據;
接入點給客戶端發送應答響應消息,該應答響應消息包括客戶端的消息認證碼;
客戶端驗證應答響應消息。
全文摘要
本發明提供一種WAPI中的認證和密鑰協商方法和系統。所述WAPI中包括一認證機構,該方法包括步驟客戶端和/或接入點向所述認證機構申請自驗證公鑰證書;所述客戶端和接入點之間利用自驗證公鑰證書進行身份驗證和密鑰協商。通過本發明,減少了數據傳輸量和在線計算量,提高了認證體系的安全性;解決了WAPI中身份認證和密鑰協商過程中存在的問題,進一步提高WAPI認證機制的安全強度。
文檔編號H04L29/06GK101123501SQ20061011541
公開日2008年2月13日 申請日期2006年8月8日 優先權日2006年8月8日
發明者帆 張, 馬建峰, 姚忠輝, 裴慶祺, 楊衛東, 璇 孫 申請人:西安電子科技大學, 華為技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1