[發明專利]多網關認證方法、系統、存儲介質、計算機設備、終端有效
| 申請號: | 202110228227.1 | 申請日: | 2021-03-02 |
| 公開(公告)號: | CN112954675B | 公開(公告)日: | 2023-03-24 |
| 發明(設計)人: | 趙興文;付溪;李暉;曹進;關鍵 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | H04W12/041 | 分類號: | H04W12/041;H04W12/06;H04L9/40 |
| 代理公司: | 西安長和專利代理有限公司 61227 | 代理人: | 何畏 |
| 地址: | 710071 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 網關 認證 方法 系統 存儲 介質 計算機 設備 終端 | ||
1.一種多網關認證方法,其特征在于,所述多網關認證方法包括:
離線初始化:系統管理員SA通過配置服務器對系統進行初始化;
用戶注冊:用戶與網關交互執行實體注冊流程,為用戶分發智能卡,預置秘密消息,用戶通過安全信道與網關節點交互完成注冊;
傳感器節點注冊:傳感器設備與網關交互執行實體注冊流程,通過預置秘密消息,傳感器設備通過安全信道在網關側完成注冊;
用戶登錄:在用戶和傳感器設備完成注冊后,用戶通過輸入身份標識、密碼和生物指紋進行登陸驗證;
認證與密鑰協商:用戶和傳感器設備借助網關節點進行交互,完成用戶和傳感器設備的相互認證并協商后續通信的對稱會話密鑰;
所述系統的離線初始化,包括:
(1)SA首先為每個傳感器選擇身份標識SIDj,并與所有網關共享此全局設備列表,然后SA選擇參數對系統進行初始化;SA為域內網關HGWN選擇身份標識IDhg及兩個不同的大素數ph,qh作為其私鑰,ph≡qh≡3 mod 4,并且計算公鑰Nh=ph·qh;域外網關FGWN得到身份標識IDfg和由兩個不同的大素數pf,qf構成的私鑰,pf≡qf≡3mod4,并且計算公鑰Nf=pf·qf;
(2)選擇使用的哈希函數h(.):{0,1}*→{0.1}l;其中,l是哈希函數的輸出長度;選擇串聯操作||,異或操作
(3)選擇模糊提取器對原始指紋進行處理;模糊提取器主要包括概率生成過程Gen和概率再現過程Rep;概率生成過程Gen首先輸入原始生物指紋BIOi,然后Gen過程將BIOi作為輸入,并輸出生物特征識別密鑰數據σi和公共參數θi,即Gen(BIO)=(σi,θi);概率再現過程Rep過程主要從相應的公共參數θi和用戶輸入的生物指紋BIOi*恢復生物特征識別密鑰數據σi,即σi*=Ren(BIOi*,θi);其中BIOi*和BIOi的漢明距離需要小于容錯閾值t;
所述用戶注冊,包括:
(1)用戶Ui輸入自己選擇的身份IDi、密碼PWi、指紋BIOi信息,通過模糊提取器計算得到生物特征識別密鑰數據σi和公共參數θi,即Gen(BIOi)=(σi,θi);將公共參數θi存儲在智能卡SC之中;用戶計算HIDi=h(IDi||σi)和HPWi=h(PWi||σi),并將HIDi,HPWi發送給域內網關節點HGWN;
(2)在HGWN收到用戶節點發送的消息HIDi,HPWi后,HGWN生成隨機數rh,執行計算Bi=h(HIDi||rh||HPWi),并將{HIDi,rh}存儲到自己的內存中;HGWN將消息Ai,Bi,Ci發送給用戶節點;
(3)用戶節點在接收到消息Ai,Bi,Ci后,與公共參數θi一起存儲在自己的智能卡SC中;
所述傳感器設備注冊,包括:
(1)傳感器節點將自己的身份SIDj通過安全信道發送給距離自己最近的HGWN;
(2)在HGWN收到傳感器節點發送的消息SIDj后,HGWN計算Ags=h(SIDj||ph||qh),并將{SIDj,Ags}存儲到自己的內存中;HGWN將消息Ags發送給傳感器節點;
(3)傳感器節點收到HGWN發送的消息Ags后,將{SIDj,Ags}存儲到自己的內存中;
所述用戶登錄,包括:
(1)用戶Ui首先輸入自己的身份IDi*、密碼PWi*、指紋BIOi*信息,并通過模糊提取器恢復生物特征識別密鑰數據σi,即σi*=Ren(BIOi*,θi);
(2)用戶執行計算HIDi*=h(IDi*||σi*)和HPW*i=h(PWi*||σi*),并讀取智能卡中存儲的秘密參數計算Bi*=h(HIDi*||rh*||HPWi*);用戶對計算得到的Bi*和智能卡中存儲的Bi進行對比,如果兩者相等,則表示用戶登陸成功,否則,用戶登陸失敗;
所述認證和密鑰協商包括:域內認證和區域外認證;其中,所述域內認證,包括:
(1)如果用戶登陸成功,則生成隨機數ru、時間戳T1和兩個大素數pu,qu作為自己的私鑰,并計算公鑰Nu=pu·qu;用戶計算認證請求信息M1=(HIDi*||IDhg||SIDj||Nu||ru||rh*)2mod Nh,M2=h(HIDi*||ru||Ah||Nu||M1||T1),并通過不安全的無線信道發送認證請求消息M1,M2,T1給距離最近的HGWN;
(2)HGWN接收到用戶節點發送的認證請求消息后,獲取當前時間T1*,計算|T1*-T1|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則HGWN用自己的私鑰對密文消息M1進行解密,得到被加密參數HIDi*,IDhg,SIDj,Nu,ru,rh*,此時SIDj在HGWN的注冊設備列表中;HGWN檢查rh*是否與自己內存中的rh相等,如果rh*=rh則執行后續計算,否則中斷當前會話;HGWN執行計算Ah*=h(HIDi*||ph||qh||rh*),M2*=h(HIDi*||ru||Ah*||Nu||M1||T1),檢查M2*是否與接收到的消息M2相等,如果兩者不相等,則中斷當前會話,否則,HGWN生成隨機數rhg和新的時間戳T2,并計算Ags=h(SIDj||ph||qh),M4=h(HIDi||SIDj||rhg||Nu||Ags||T2);最后,HGWN將消息M3,M4,T2發送給傳感器節點;
(3)接收到HGWN發送的消息后,獲取當前時間T2*,傳感器節點首先計算|T2*-T2|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則傳感器節點執行計算得到(HIDi||ru||rhg||Nu||M1),計算M4*=h(HIDi||SIDj||rhg||Nu||Ags||T2),并檢查M4*是否與接收到的M4,如果兩者不相等則結束當前會話;否則傳感器生成隨機數rs和時間戳T3,計算M5=(HIDi||SIDj||rs)2modNu,SK=h(HIDi||SIDj||ru||rs||M1||M5),M6=h(HIDi||SIDj||rhg||Ags||M5||T3),M7=h(HIDi||SIDj||SK||ru||rs||M5);最后,傳感器節點將消息M5,M6,M7,T3發送給HGWN;
(4)接收到傳感器節點發送的消息后,獲取當前時間T3*,HGWN首先計算|T3*-T3|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則HGWN計算M6*=h(HIDi||SIDj||rhg||Ags||M5||T3)并檢查M6*是否與接收到的M6,如果兩者不相等則結束當前會話;否則HGWN生時間戳T4,并執行計算M8=h(M5||M7||ru||Ah||T4);最后,HGWN將消息M5,M7,M8,T4發送給用戶節點;
(5)接收到HGWN發送的消息后,獲取當前時間T4*,用戶節點首先計算|T4*-T4|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則用戶節點執行計算M8*=h(M5||M7||ru||Ah||T4),并檢查M8*是否與接收到的M8,如果兩者不相等則結束當前會話;否則用戶節點用自己的私鑰解密密文消息M5,此時可以得到被加密參數HIDi,SIDj,rs;用戶節點可以計算對稱會話密鑰SK*=h(HIDi||SIDj||ru||rs||M1||M5),M7*=h(HIDi||SIDj||SK*||ru||rs||M5),并檢查M7*是否與接收到的M7,如果兩者不相等則結束當前會話;否則認證成功;
所述區域外認證,包括:
(1)如果用戶登陸成功,則生成隨機數ru、時間戳T1和兩個大素數pu,qu作為自己的私鑰,并計算公鑰Nu=pu·qu;用戶計算認證請求信息M1=(HIDi*||IDhg||SIDj||Nu||ru||rh*)2mod Nh,M2=h(HIDi*||ru||Ah||Nu||M1||T1),并通過不安全的無線信道發送認證請求消息M1,M2,T1給距離最近的HGWN;
(2)HGWN接收到用戶節點發送的認證請求消息后,獲取當前時間T1*,首先計算|T1*-T1|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則HGWN用自己的私鑰對密文消息M1進行解密,得到被加密參數HIDi*,IDhg,SIDj,Nu,ru,rh*,此時SIDj不在HGWN的注冊設備列表中;HGWN檢查rh*是否與自己內存中的rh相等,如果rh*=rh則執行后續計算,否則中斷當前會話;HGWN執行計算Ah*=h(HIDi*||ph||qh||rh*),M2*=h(HIDi*||ru||Ah*||Nu||M1||T1),檢查M2*是否與接收到的消息M2相等,如果兩者不相等,則中斷當前會話,否則,HGWN向網絡中的FGWN廣播目標傳感器身份標識SIDj,從而找到目標傳感器所在區域的FGWN身份標識IDfg;HGWN計算消息M3=(HIDi||SIDj||IDfg)2mod Nf,并生成時間戳T2;最后,HGWN將消息M3,T2發送給傳感器節點;
(3)接收到HGWN發送的消息后,獲取當前時間T2*,FGWN首先計算|T2*-T2|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則FGWN用自己的私鑰對密文消息M3進行解密,得到被加密參數HIDi,SIDj,IDfg;FGWN生成隨機數rf時間戳T3,并執行計算Af=h(HIDi||pf||qf||rf),最后,FGWN將消息M4,R1,T3發送給HGWN;
(4)接收到FGWN發送的消息后,獲取當前時間T3*,HGWN首先計算|T3*-T3|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則HGWN計算生成生時間戳T4,執行計算M6=h(HIDi||SIDj||M5||Af||T4),最后HGWN將消息M5,T4,R2,IDfg發送給用戶節點;
(5)接收到HGWN發送的消息后,獲取當前時間T4*,用戶節點首先計算|T4*-T4|是否小于最大傳輸延遲時間ΔT,即檢查消息是否在有效時間內;如果消息不在有效時間內則中斷當前會話;否則用戶節點執行計算M6*=h(HIDi||SIDj||M5||Af*||T4),并檢查M6*是否與接收到的M6,如果兩者不相等則結束當前會話;否則用戶節點生成新的隨機數ru和時間戳T5,并執行計算M7=(HIDi*||IDfg||SIDj||Nu||ru||rf*)2modNf,M8=h(HIDi*||ru||Af*||Nu||M7||T5),后續步驟與域內認證方案一致。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110228227.1/1.html,轉載請聲明來源鉆瓜專利網。





