[發明專利]一種基于側鏈的區塊鏈跨鏈身份認證方法有效
| 申請號: | 202010062108.9 | 申請日: | 2020-01-19 |
| 公開(公告)號: | CN111539718B | 公開(公告)日: | 2022-09-20 |
| 發明(設計)人: | 王堃;孫雁飛 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | G06Q20/38 | 分類號: | G06Q20/38 |
| 代理公司: | 南京蘇科專利代理有限責任公司 32102 | 代理人: | 姚姣陽 |
| 地址: | 210023 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 鏈跨鏈 身份 認證 方法 | ||
1.一種基于側鏈的區塊鏈跨鏈身份認證方法,其特征在于,包括如下步驟,
步驟S1、區塊鏈B的用戶C構造消息Q1,其中,利用私鑰KRc對Q1進行簽名得到簽名信息利用消息Q1和簽名信息構造消息M1;利用AS1(認證服務器1)的公鑰KRc對消息M1進行加密,將加密后的消息M1發送至區塊鏈A的AS1;
步驟S2、AS1用私鑰解密消息M1,獲取消息Q1和簽名信息并用公鑰KRc驗證簽名信息為用戶C發出;AS1查找本地數據庫,根據消息Q1中的IDc確認用戶C存在及合法性;當確認用戶C合法后,AS1構造訪問TGS1的票據簽名信息為AS1用私鑰對Q2的簽名信息,AS1用TGS1的公鑰對票據進行加密,AS1對票據進行簽名得簽名信息AS1根據訪問TGS1的票據地址IDtgs1、隨機數Random1+1和簽名信息構造消息M2,利用用戶C的公鑰對消息M2加密,將加密后的消息M2發送至用戶C;
步驟S3、用戶C用私鑰KRc對消息M2進行解密,確認解密獲得的參數Random1+1為消息Q1中的隨機數Random1+1,用戶C使用AS1的公鑰驗證簽名信息的正確性;用戶C利用地址IDC和隨機數Random2構造驗證碼Authentication1,并用私鑰KRc對驗證碼Authentication1進行簽名得到簽名信息用戶C再利用地址IDtgs2、訪問TGS1的票據驗證碼Authentication1和簽名信息構造消息M3;利用TGS1的公鑰對消息M3進行加密,將加密后的消息M3發送至TGS1請求跨鏈訪問票據;
步驟S4、TGS1用私鑰KRtgs1對消息M3進行解密獲取票據驗證碼Authentication1和簽名信息利用用戶C的公鑰KRc驗證簽名信息的正確性,確認驗證碼Authentication1是由用戶C發出;TGS1用私鑰KRtgs1解密訪問TGS1的票據獲取參數Q2和簽名信息TGS1用AS1的公鑰驗證簽名信息確認參數Q2由AS1發出;TGS1使用參數Q2中的參數解密驗證碼Authentication1得到的參數IDc和參數Random2,比較IDc和Q2中的IDc是一致時,確認票據為用戶C所擁有;
TGS1構造跨鏈訪問票據TGS1用私鑰KRtgs1對參數Q3進行簽名得簽名信息TGS1為跨鏈訪問票據進行簽名得簽名信息TGS1根據利用地址IDtgs2、隨機數Random2+1、跨鏈訪問票據和簽名信息構造消息M4;TGS1利用用戶C的公鑰對消息M4進行加密,將加密后的消息M4發送至用戶C;
步驟S5、用戶C用私鑰KRc對消息M4進行解密得到參數并確認隨機數Random2+1為步驟3中發出的隨機數Random2+1;用戶C用TGS1的公鑰KPtgs1驗證簽名信息確認跨鏈訪問票據Tickettgs2是由TGS1簽發的;用戶C用解密跨鏈訪問票據Tickettgs2,得到參數Q3和簽名信息并將sQ3作為秘密信息進行保存,而參數Q3和參數rQ3作為用于零知識證明數據;用戶C構造消息M5;消息M5使用區塊鏈B的TGS2的公鑰進行加密;并將消息M5發送給區塊鏈B的TGS2;
步驟S6、區塊鏈B的TGS2用私鑰KRtgs2對消息M5進行解密,得到參數IDRealm,IDs,KPc,Random3,Q3,根據TGS2中保存的關于區塊鏈A的信任值信息,計算出滿足零知識證明的參數t和參數e;區塊鏈B的TGS2得到公開參數p和參數g,并選取隨機數{n1,n2,...,ni,...,ne},i∈[1,e]且ni∈(1,p-1),計算再構造消息M6作為查詢,將消息M6發送至用戶C;
步驟S7、用戶C收到消息M6后,取得參數T1,T2,...,Te,從第三方獲取公開參數p 和參數g,并使用秘密信息計算再構造消息M7作為對消息M6的對應,將消息M7發送至區塊鏈B的TGS2;
步驟S8、區塊鏈B的TGS2收到消息M7后,取得參數C1,C2,...,Ce;再利用區塊鏈A中TGS1的公鑰KPtgs1、參數Q3和參數驗證等式是否成立,其中i∈[1,e];當驗證等式成立,則判斷是否滿足零知識證明條件,當不滿足零知識證明條件時,則繼續選擇e個隨機數{n1,n2,...,ni,...,ne},i∈[1,e],并重復步驟S6至步驟S8;當重復后滿足零知識證明條件,則區塊鏈B的TGS2基于對區塊鏈A的TGS1信任,確認用戶C為合法用戶;區塊鏈B的TGS2為用戶C構建訪問服務的票據訪問服務的票據Tickets使用服務器S的公鑰進行加密,其中還對TGS2訪問服務的票據Tickets進行簽名,得簽名信息TGS2構造消息M8,將消息M8發生至用戶C;
步驟S9、 用戶C用私鑰KRc對消息M8進行解密,得到參數驗證收到的隨機數Random3+1為在步驟5中產生的Random3隨機數+1;用戶C用TGS2的公鑰KRtgs2驗證簽名信息驗證正確,則生成驗證碼并用私鑰KRc對驗證碼Authentication2簽名得到(rAuth2,sAuth2);最后,用戶C構造消息M9;利用服務器S的公鑰對消息M9進行加密,將加密后的消息M9發送至服務器S;
步驟S10、 服務器S利用私鑰KRs解密消息M9,得到訪問服務的票據Tickets、驗證碼Authentication2、公鑰KPc、簽名信息(rAuth2,sAuth2)和簽名信息服務器S通過計算得到Kc,s,還利用公鑰KPc驗證簽名信息(rAuth2,sAuth2),確認驗證碼Authentication2由用戶C產生;服務器S利用私鑰KRs解密票據Tickets得到參數Q4和簽名信息再利用區塊鏈B中TGS2的公鑰KPtgs2驗證簽名信息確認訪問服務的票據Tickets由TGS2簽發;服務器S利用密鑰Kc,s解密驗證碼Authentication2,得到參數IDRealm,Random4,判斷隨機數Random4的值與Tickets中的參數值一致,確保該票據為初始申請票據的用戶C持有;當用戶C的身份驗證完成時,服務器S構造消息M10,利用區塊鏈A中用戶C和服務器S的會話密鑰對消息M10進行加密。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010062108.9/1.html,轉載請聲明來源鉆瓜專利網。





