[發明專利]基于區塊鏈的跨域匿名認證方法及系統有效
| 申請號: | 202010882623.1 | 申請日: | 2020-08-28 |
| 公開(公告)號: | CN112039872B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 毛賽;王婧;何德彪;姚明;何浩;王灣灣 | 申請(專利權)人: | 武漢見邦融智科技有限公司;深圳市洞見智慧科技有限公司 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L9/08;H04L9/32;H04L67/10 |
| 代理公司: | 武漢科皓知識產權代理事務所(特殊普通合伙) 42222 | 代理人: | 嚴彥 |
| 地址: | 430064 湖北省武漢市*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 區塊 匿名 認證 方法 系統 | ||
1.一種基于區塊鏈的跨域匿名認證方法,其特征在于:設置可信密鑰生成中心為注冊中心頒發公私鑰對,并部署區塊鏈智能合約管理通信方的密鑰信息;注冊中心為普通用戶提供注冊服務,生成簽名實現證書認證服務,并將業務系統相關的通信方標識信息與公鑰信息以隱私保護的方式存入區塊鏈智能合約中;通信雙方進行相互認證時,通過匿名的方式發送認證信息,并且調用區塊鏈智能合約查詢接口查驗用戶的標識信息,檢驗認證用戶公鑰是否注冊;同時,智能合約管理身份標識信息與密鑰信息;提供用戶標識信息與密鑰信息的動態更新和撤銷;
跨域匿名認證實現包括以下過程,
系統初始化過程,用于生成系統的公開參數和系統主私鑰;
智能合約部署過程,用于安全管理系統內各成員的身份標識信息、公鑰證書和密鑰信息,為跨域認證提供注冊驗證服務;
注冊過程,用于為系統內各成員提供對應的注冊服務,并調用智能合約管理其身份標識信息、公鑰證書和密鑰信息;
相互認證過程中,用于為系統內需要進行相互認證的成員提供身份認證與密鑰協商服務,調用智能合約查詢接口驗證認證成員的可靠性;
密鑰更新過程,用于為系統成員身份信息提供密鑰更新服務,并調用智能合約對更新的信息進行管理,防止系統成員的身份可鏈接攻擊,支持安全高效的系統成員動態加入;
密鑰撤銷過程,用于為系統成員身份信息提供用戶服務,調用智能合約刪除撤銷用戶的注冊信息,防止密鑰泄露,支持安全高效的系統成員動態撤銷;
在系統初始化過程中,針對匿名認證與密鑰協商的參與方,生成系統公私鑰和其他參數并部署區塊鏈平臺,實現方式為由可信密鑰生成中心KGC完成相關操作如下,
1)KGC選擇系統安全參數κ,定義初始化基點為P和階為q的橢圓曲線加法群并選定一個密碼雜湊函數;
2)KGC選擇一個隨機種子,生成系統主私鑰skroot和鏈碼chaincoderoot,隨后計算系統主公鑰PKroot=skroot·P;
3)KGC創建一個包含相關配置參數的創世塊文件File以搭建一個健壯的聯盟區塊鏈,選定若干半誠實的聯盟節點共同維護區塊鏈運行;
4)KGC秘密保存主私鑰skroot,File,發布公開參數 ;
在智能合約部署過程中,部署一個隱私保護的智能合約以實現系統參與方的公私鑰和身份的管理,實現方式包括進行以下操作,
1)KGC初始化兩個智能合約,分別為管理注冊中心注冊信息的智能合約RCA和管理用戶注冊信息的智能合約UCA,每個智能合約均提供四個接口,分別為支持智能合約初始化接口init(·)、智能合約更新接口update(·)、智能合約查詢接口query(·)和智能合約撤銷接口revoke(·);
2)KGC為各個注冊中心URj分配智能合約UCA的更新接口、智能合約查詢接口的調用權限以及智能合約RCA的查詢接口;
所述注冊過程在KGC和URj、URj和Ui之間交互完成,并通過智能合約對注冊信息進行記錄;KGC和URj的注冊流程如下,
1)URj將其身份標識IDj發送給KGC作為注冊請求;
2)KGC收到注冊請求后,調用BIP32.SKD(skroot,chaincoderoot,IDj)生成私鑰skj,計算公鑰為PKj=skj·P,并用主私鑰skroot對公鑰PKj生成數字簽名Sigj;其中,BIP32.SKD(·)為私鑰衍生子算法;
3)KGC調用智能合約RCA的更新接口update(·),將URj的信息(IDj,PKj,Sigj)添加到區塊鏈智能合約RCA上;
4)KGC將公私鑰(dj,PKj,chaincoderoot)安全秘密地發送給RUj,RUj先調用RCA的查詢接口query(PKj)查詢智能合約是否登記了與其身份相關的注冊信息,然后驗證公鑰PKj=BIP32.PKD(PKroot,chaincode,IDj)是否成立,如果是則完成注冊過程,否則重新發起注冊請求;
URj和Ui的注冊流程如下:
1)Ui向URj發送一個注冊請求信息,URj返回信息(IDj,PKj,Sigj)的智能合約查詢接口;
2)Ui調用接口驗證簽名Sigj的正確性后,先選擇一個隨機種子,生成私鑰di、鏈碼和公鑰Di=di·P,然后將其真實身份信息IDi和鏈碼公鑰Di通過安全信道發送給URj;
3)URj收到后,先選擇隨機數計算密文和對公鑰Di的數字簽名Sigi,然后調用智能合約UCA的update()接口將信息(Di,Ci,Sigi,PKj)添加到合約UCA中;其中,Ci1、Ci2、Ci3均為部分密文信息;
4)URj返回注冊成功的響應信息;
5)Ui調用智能合約UCA的查詢接口query(Di)查詢智能合約UCA是否登記了與其身份相關的注冊信息,并驗證簽名Sigi的合法性,若合法則注冊完成,否則重新發起注冊請求;
在相互認證過程中,
由兩個用戶交互完成認證,設有用戶U1和U2,相應公鑰為D1和D2,并且認證通信的發起方已知認證接收方的公鑰信息,相應操作如下,
1)U1選擇一個隨機數計算隨機因子KK1=k1·P,簽名信息S=K1-d1h(D1||t1||KK1)和認證因子然后將消息M1={KK1||X||t1}發送給U2,其中t1為U1當前的時間戳;
2)U2收到信息后檢查時間戳t1是否新鮮,若不是則拒絕認證通信,否則計算并依次進行步驟:
①調用智能合約UCA的查詢接口query(D1)查詢是否存在D1的注冊信息(Di,Ci,Sigi,PKj),
②調用RCA的查詢接口query(PKj)查詢是否存在URj的注冊信息并驗證簽名Sigi的正確性,③驗證等式KK1=s·P+h(D1||t1||KK)·Di是否成立,
若步驟①②③中有一個不成立,則拒絕通信,否則選擇一個隨機數計算隨機因子KK2=k2·P,進而計算會話密鑰sk21=h(KK1||KK2||k2·KK1||D1||D2),以及認證因子然后將消息M2={KK2||Y||t2}發送給U1,其中t2為U2當前的時間戳;
3)U1收到信息后檢查時間戳t2是否新鮮,若不是則拒絕認證通信,否則計算會話密鑰sk12=h(KK1||KK2||k1·KK2||D1||D2),和驗證信息驗證Y′=Y是否成立,若不成立,則認證失敗,否則完成認證及會話密鑰協商,為后續通信保證信息機密性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢見邦融智科技有限公司;深圳市洞見智慧科技有限公司,未經武漢見邦融智科技有限公司;深圳市洞見智慧科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010882623.1/1.html,轉載請聲明來源鉆瓜專利網。





