專利背景
截至2007年12月,採用
非對稱密碼技術的實體鑑別方法可分為兩種類型,即
單向鑑別和雙向鑑別。鑑別的唯一性或時效性由時變參數進行標識,常被用作時變參數的有時間標記、順序號和隨機數等。若採用時間標記或順序號作為時變參數,則單向鑑別只需要採用一次訊息傳遞,雙向鑑別需要採用兩次訊息傳遞;若採用隨機數作為時變參數,則單向鑑別需要採用兩次訊息傳遞,雙向鑑別需要採用三次訊息傳遞或四次訊息傳遞(即兩次訊息傳遞的並行鑑別)。不論上述哪種鑑別機制,在運行之前或運行當中,驗證者必須具有聲稱者的有效公開密鑰,否則鑑別過程會受到損害或不能成功完成。
在此,以雙向鑑別的三次傳遞方法為例進行說明:
參見圖1,權標TokenAB=RA‖RB‖B‖Text3‖sSA(RA‖RB‖B‖Text2),TokenBA=RB‖RA‖A‖Text5‖sSB(RB‖RA‖A‖Text4)。其中,X為實體區分符,該鑑別系統有A和B兩個鑑別實體;CertX表示實體X的證書;sSX表示實體X的簽名;RX表示實體X產生的隨機數;Text為可選文本欄位。
三次傳遞鑑別機制運行過程詳述如下:
(1)實體B傳送隨機數RB、可選項文本Text1給實體A;
(2)實體A傳送權標TokenAB、可選項證書CertA給實體B;
(3)實體B收到實體A傳送的訊息後,執行以下步驟:
(3.1)通過檢驗實體A的證書或通過別的方式確保擁有實體A的有效公開密鑰。
(3.2)獲取實體A的公鑰後,驗證步驟(2)中的TokenAB的簽名,校驗區分符B的正確性,並檢查步驟(1)中傳送的隨機數RB和TokenAB中的隨機數RB是否相符,實體B完成對實體A的驗證;
(4)實體B傳送權標TokenBA、可選項證書CertB給實體A;
(5)實體A收到實體B傳送的包括TokenBA的訊息後,執行以下步驟:
(5.1)通過檢驗實體B的證書或通過別的方式確保擁有實體B的有效公開密鑰;
(5.2)獲取實體B的公鑰後,驗證(4)中的TokenBA的簽名,校驗區分符A的正確性,並檢查步驟(2)中傳送的隨機數RA和TokenBA中的隨機數RA是否相符及(1)中收到的隨機數RB和TokenBA中的隨機數RB是否相符;實體A完成對實體B的驗證。
可見,三次傳遞鑑別機制欲運行成功必須確保實體A和B分別擁有對方的有效公開密鑰,而如何獲得對方公開密鑰及其有效性,協定本身並沒有涉及。這一保障需求條件在已有很多套用環境下都不能滿足,比如通信網路通常採用實體鑑別機制實現用戶接入控制功能,在鑑別機製成功完成前,禁止用戶訪問網路,因而在鑑別之前用戶無法或難以訪問證書機構獲得對端實體——網路接入點公開密鑰的有效性。
截至2007年12月,
通信網路通常需要在用戶和
網路接入點之間完成雙向鑑別,以確保合法用戶接入合法網路,因此對於網路實體而言,在鑑別之前若不需知曉通信對端實體的有效公開密鑰,而是在鑑別過程中完成對端實體公開密鑰的驗證,則不僅完善了傳統的
實體鑑別機制,而且使其在實際套用中具有良好的可行性和易用性。
發明內容
專利目的
《一種實體雙向鑑別方法》為解決背景技術中存在的上述技術問題,而提出一種實體雙向鑑別方法。
技術方案
《一種實體雙向鑑別方法》的技術解決方案是:該發明為一種實體雙向鑑別方法,其特殊之處在於:
該方法包括以下步驟:
(1)實體A傳送訊息1給實體B,訊息1包括時變參數RA、身份標識IDA、權標TokenAB、可選項文本Text1;
(2)實體B收到訊息1後,向可信第三方TP傳送訊息2,訊息2包括時變參數RA和RB、身份標識IDA和IDB以及可選項文本Text2;
(3)可信第三方TP收到訊息2後,檢查實體A和實體B是否合法。檢查實體A和實體B是否合法的具體步驟:若訊息2中實體A和實體B的身份標識為區分符,則搜尋並檢查實體A和實體B相應的公鑰及其有效性;若公鑰未搜尋到或無效,則直接丟棄訊息2或返回訊息3;若公鑰搜尋到且有效,返回訊息3,執行步驟(4)。
(4)可信第三方TP檢查完實體A和實體B的合法性後,向實體B返回訊息3,訊息3包括權標TokenTB和可選項文本Text3或者包括權標TokenTB1和TokenTB2;
(5)實體B收到訊息3後,進行驗證;實體B中的具體驗證步驟如下:
(5.1)驗證TokenTB或TokenTB1的可信第三方TP的簽名,並檢查訊息2中的時變參數RB與TokenTB或TokenTB1中的時變參數RB是否相符,相符則執行步驟(5.2);
(5.2)得到實體A的驗證結果PubA;若實體A合法有效,則執行步驟(5.3),否則結束或執行步驟(6);
(5.3)獲取實體A的公鑰,驗證訊息1中的TokenAB的實體A的簽名,驗證成功則執行步驟(6)。
(6)實體B完成對訊息3的驗證後,向實體A傳送訊息4,訊息4包括權標TokenTB、TokenBA1、可選項文本Text3和Text4或者包括權標TokenTB2、TokenBA2和可選項文本Text4;
(7)實體A收到訊息4後,進行驗證,完成鑑別。實體A中的具體驗證步驟如下:
(7.1)驗證TokenTB或TokenTB2的可信第三方TP的簽名,並檢查訊息1中的時變參數RA與TokenTB或TokenTB2中的時變參數RA是否相符,相符則執行步驟(7.2);
(7.2)得到實體B的驗證結果PubB,若實體B合法有效,則執行步驟(7.3),否則結束;
(7.3)獲取實體B的公鑰,驗證TokenBA1或TokenBA2的實體B的簽名,驗證通過則完成鑑別。
上述時變參數可為隨機數、時間標記或順序號。
有益效果
《一種實體雙向鑑別方法》採用三實體構架,鑑別實體在鑑別之前需獲得可信第三方的的公鑰或證書,並獲得可信第三方頒發給自己的用戶證書或將自己的公鑰交給可信第三方保管,而無需事先知曉對端鑑別實體的有效公開密鑰。在協定運行中,鑑別實體的
公開密鑰及其有效性通過可信第三方的搜尋和驗證,自動傳遞給所需的對端。該發明相比傳統鑑別機制,定義了公開密鑰的線上檢索和鑑別機制,實現了對它的集中管理,簡化了協定的運行條件,便於其套用實施。
附圖說明
圖1為截至2007年12月採用技術中三次傳遞鑑別機制的鑑別示意圖;
圖2為《一種實體雙向鑑別方法》的鑑別示意圖。
技術領域
《一種實體雙向鑑別方法》涉及一種實體雙向鑑別方法。
權利要求
1.《一種實體雙向鑑別方法》其特徵在於:該方法包括以下步驟:
(1)實體A傳送訊息1給實體B,訊息1包括時變參數RA、身份標識IDA、權標TokenAB以及可選項文本Text1;
(2)實體B收到訊息1後,向可信第三方TP傳送訊息2,訊息2包括時變參數RA和RB、身份標識IDA和IDB以及可選項文本Text2;
(3)可信第三方TP收到訊息2後,檢查實體A和實體B是否合法;
(4)可信第三方TP檢查完實體A和實體B的合法性後,向實體B返回訊息3,訊息3包括權標TokenTB和可選項文本Text3或者包括權標TokenTB1和TokenTB2;
(5)實體B收到訊息3後,進行驗證,其具體驗證步驟是:(5.1)驗證TokenTB或TokenTB1的可信第三方TP的簽名,並檢查訊息2中的時變參數RB與TokenTB或TokenTB1中的時變參數RB是否相符,相符則執行步驟(5.2);
(5.2)得到實體A的驗證結果PubA;若實體A合法有效,則執行步驟(5.3),否則結束或執行步驟(6);
(5.3)獲取實體A的公鑰,驗證訊息1中的TokenAB的實體A的簽名,驗證成功則執行步驟(6);
(6)實體B完成對訊息3的驗證後,向實體A傳送訊息4,訊息4包括權標TokenTB、TokenBA1、可選項文本Text3和Text4或者包括權標TokenTB2、TokenBA2和可選項文本Text4;
(7)實體A收到訊息4後,進行驗證,完成鑑別,其具體驗證過程是:
(7.1)驗證TokenTB或TokenTB2的可信第三方TP的簽名,並檢查訊息1中的時變參數RA與TokenTB或TokenTB2中的時變參數RA是否相符,相符則執行步驟(7.2);
(7.2)得到實體B的驗證結果PubB,若實體B合法有效,則執行步驟(7.3),否則結束;
(7.3)獲取實體B的公鑰,驗證TokenBA1或TokenBA2的實體B的簽名,驗證通過則完成鑑別。
2.根據權利要求1所述的實體雙向鑑別方法,其特徵在於:所述步驟(3)中檢查實體A和實體B是否合法的具體步驟如下:若訊息2中實體A和實體B的身份標識為證書,則檢查實體A和實體B證書的有效性;若無效,則直接丟棄訊息2或返回訊息3;若有效,返回訊息3,執行步驟(4)。
3.根據權利要求1所述的實體雙向鑑別方法,其特徵在於:所述步驟(3)中檢查實體A和實體B是否合法的具體步驟如下:若訊息2中實體A和實體B的身份標識為區分符,則搜尋並檢查實體A和實體B相應的公鑰及其有效性;若公鑰未搜尋到或無效,則直接丟棄訊息2或返回訊息3;若公鑰搜尋到且有效,返回訊息3,執行步驟(4)。
4.根據權利要求1或2或3所述的實體雙向鑑別方法,其特徵在於:所述時變參數為隨機數、時間標記或順序號。
實施方式
參見圖2,《一種實體雙向鑑別方法》的方法涉及三個實體,兩個鑑別實體A和B,一個可信第三方TP(Trustedthird Party),可信第三方TP為鑑別實體A和B的可信第三方。將這種通過可信第三方TP實現兩實體A、B之間對等鑑別的系統,稱之為三元對等鑑別TePA(Tri-element Peer Authentication)系統。ValidX表示證書CertX的有效性;PublicKeyX為實體X(X代表A或B)的公鑰;IDX為實體X的身份標識,由證書CertX或者實體的區分符X表示;PubX表示實體X的驗證結果,由證書CertX及其有效性ValidX組成或者由實體X及其公鑰PublicKeyX組成,Token為權標欄位,定義如下:
TokenAB=sSA(RA‖IDA‖Text1)
TokenTB=RA‖RB‖PubA‖PubB‖sSTP(RA‖RB‖PubA‖PubB‖Text3)
TokenTB1=RB‖PubA‖Text5‖sSTP(RB‖PubA‖Text5)
TokenTB2=RA‖PubB‖Text6‖sSTP(RA‖PubB‖Text6)
TokenBA1=sSB(Text3‖TokenTB‖Text4‖)
TokenBA2=sSB(TokenTB2‖Text4)
其具體流程如下:
(1)實體A傳送訊息1給實體B,訊息1包括時變參數RA、身份標識IDA、權標TokenAB、可選項文本Text1;
(2)實體B收到訊息1後,向可信第三方TP傳送訊息2,訊息2包括時變參數RA和RB、身份標識IDA和IDB以及可選項文本Text2;
(3)可信第三方TP收到訊息2後,檢查實體A和實體B是否合法;其中:若訊息2中實體A和實體B的身份標識為證書,則檢查實體A和實體B證書的有效性;若無效,則直接丟棄訊息2或返回訊息3;若有效,返回訊息3,執行步驟(4);若訊息2中實體A和實體B的身份標識為區分符,則搜尋並檢查實體A和實體B相應的公鑰及其有效性;若公鑰未搜尋到或無效,則直接丟棄訊息2或返回訊息3;若公鑰搜尋到且有效,返回訊息3,執行步驟(4);
(4)可信第三方TP檢查完實體A和實體B的合法性後,向實體B返回訊息3,訊息3包括權標TokenTB和可選項文本Text3或者包括權標TokenTB1和TokenTB2;
(5)實體B收到訊息3後,進行驗證;
(5.1)驗證TokenTB或TokenTB1的可信第三方TP的簽名,並檢查訊息2中的時變參數RB與TokenTB或TokenTB1中的時變參數RB是否相符,相符則執行步驟(5.2);
(5.2)得到實體A的驗證結果PubA;若實體A合法有效,則執行步驟(5.3),否則結束或執行步驟(6);
(5.3)獲取實體A的公鑰,驗證訊息1中的TokenAB的實體A的簽名,驗證通過則執行步驟(6);
( 6)實體B完成對訊息3的驗證後,向實體A傳送訊息4,訊息4包括權標TokenTB、TokenBA1、可選項文本Text3和Text4或者包括權標TokenTB2、TokenBA2和可選項文本Text4;
(7)實體A收到訊息4後,進行驗證;
(7.1)驗證TokenTB或TokenTB2的可信第三方TP的簽名,並檢查訊息1中的時變參數RA與TokenTB或TokenTB2中的時變參數RA是否相符,相符則執行步驟(7.2);
(7.2)得到實體B的驗證結果PubB,若實體B合法有效,則執行步驟(7.3),否則結束;
(7.3)獲取實體B的公鑰,驗證TokenBA1或TokenBA2的實體B的簽名,驗證通過則完成鑑別。
該發明中時變參數可為隨機數、時間標記或順序號。
榮譽表彰
2017年12月,《一種實體雙向鑑別方法》獲得第十九屆中國專利優秀獎。