[發(fā)明專利]基于區(qū)塊鏈與零知識證明的身份管理與認(rèn)證系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 202010245614.1 | 申請日: | 2020-03-31 |
| 公開(公告)號: | CN111447073B | 公開(公告)日: | 2023-04-18 |
| 發(fā)明(設(shè)計(jì))人: | 楊曉暉;李文杰 | 申請(專利權(quán))人: | 河北大學(xué) |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/40;G06F21/60;G06F21/62;G06F21/64;G06F16/27;G06F16/25 |
| 代理公司: | 石家莊國域?qū)@虡?biāo)事務(wù)所有限公司 13112 | 代理人: | 胡素梅 |
| 地址: | 071002 河北*** | 國省代碼: | 河北;13 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 區(qū)塊 知識 證明 身份 管理 認(rèn)證 系統(tǒng) 方法 | ||
1.一種基于區(qū)塊鏈與零知識證明的身份管理與認(rèn)證系統(tǒng),其特征是,包括鏈上智能合約和鏈下實(shí)體本地客戶端;
所述鏈上智能合約包括屬性倉庫合約、知識管理合約、知識驗(yàn)證合約和密鑰倉庫合約;
所述鏈下實(shí)體本地客戶端包括UI接口模塊、web3.js接口模塊、零知識證明模塊、通信模塊和數(shù)據(jù)庫模塊;
設(shè)系統(tǒng)場景中共有三種實(shí)體:身份提供商、用戶與服務(wù)提供商;一個(gè)用戶的身份是由若干屬性組成的,這些屬性由若干身份提供商頒發(fā)或撤銷,且身份提供商向用戶頒發(fā)的屬性與用戶標(biāo)識符之間的關(guān)聯(lián)通過零知識證明模塊隱藏,對任何人是不可見的;當(dāng)用戶想要訪問服務(wù)提供商所提供的某些服務(wù),該服務(wù)要求用戶擁有某些屬性時(shí),用戶向服務(wù)提供商證明自己擁有這些屬性的所有權(quán),且用戶證明自己對屬性的所有權(quán)的認(rèn)證結(jié)果只有服務(wù)提供商可見;
所述屬性倉庫合約用于存儲屬性令牌;為身份提供商提供創(chuàng)建/注銷屬性令牌的函數(shù);為實(shí)體提供查詢屬性令牌的詳情的函數(shù);
所述知識管理合約用于存儲屬性隱令牌標(biāo)識符與廢棄物標(biāo)識符;為身份提供商提供創(chuàng)建屬性隱令牌的函數(shù);為用戶提供身份信息認(rèn)證的函數(shù);
所述知識驗(yàn)證合約用于驗(yàn)證用戶與身份提供商提交的零知識證明信息;
所述密鑰倉庫合約用于存儲實(shí)體的通信公鑰與區(qū)塊鏈公鑰;為實(shí)體提供注冊公鑰信息的函數(shù);
所述UI接口模塊用于根據(jù)實(shí)體輸入的參數(shù)調(diào)用鏈下實(shí)體本地客戶端中的其他模塊,或者接收來自其他模塊傳遞的消息;
所述web3.js接口模塊是鏈下實(shí)體本地客戶端與鏈上智能合約交互的接口,用于發(fā)送事務(wù)調(diào)用鏈上智能合約中的函數(shù),以及監(jiān)聽鏈上智能合約中函數(shù)觸發(fā)的事件;
所述零知識證明模塊用于接收來自UI接口模塊的參數(shù),生成創(chuàng)建操作類型或認(rèn)證操作類型的隱令牌操作零知識證明信息;
所述通信模塊用于接收來自UI接口模塊的參數(shù),使用基于橢圓曲線加密數(shù)字簽名算法的非對稱密鑰技術(shù),該模塊旨在使實(shí)體能夠在網(wǎng)絡(luò)內(nèi)發(fā)送使用接收者公鑰加密的消息,除指定接收者之外其他人不能解密,由于消息中包含發(fā)送方的私鑰數(shù)字簽名,攻擊者無法偽造消息發(fā)送方的簽名;
所述數(shù)據(jù)庫模塊允許身份提供商將其頒發(fā)的屬性令牌的相關(guān)信息存儲到本地?cái)?shù)據(jù)庫中;同樣,用戶也會將接收到的來自身份提供商的屬性令牌的相關(guān)信息存儲到本地?cái)?shù)據(jù)庫。
2.一種基于區(qū)塊鏈與零知識證明的身份管理與認(rèn)證方法,其特征是,包括如下步驟:
a、屬性令牌創(chuàng)建;
b、屬性隱令牌創(chuàng)建;屬性隱令牌與屬性令牌一一對應(yīng),屬性隱令牌與用戶身份標(biāo)識的映射關(guān)系通過零知識證明隱藏;
c、身份信息認(rèn)證;用戶通過零知識證明向服務(wù)提供商證明自己對屬性令牌的所有權(quán);
d、屬性令牌注銷;
步驟a屬性令牌創(chuàng)建,具體如下:身份提供商按照屬性令牌元數(shù)據(jù)格式發(fā)送事務(wù)調(diào)用令牌創(chuàng)建函數(shù),創(chuàng)建該令牌的身份提供商的區(qū)塊鏈地址會記錄在屬性令牌中,令牌創(chuàng)建函數(shù)為屬性令牌生成唯一標(biāo)識;
步驟b屬性隱令牌創(chuàng)建,具體如下:身份提供商想要將步驟a中生成的屬性令牌頒發(fā)給用戶,首先為該令牌生成令牌鹽值,隨后將屬性令牌標(biāo)識符、用戶區(qū)塊鏈公鑰與令牌鹽值共同哈希得到隱令牌標(biāo)識符,接著身份提供商通過零知識證明生成創(chuàng)建隱令牌操作零知識證明信息,并發(fā)送事務(wù)調(diào)用隱令牌創(chuàng)建函數(shù),所述創(chuàng)建隱令牌操作零知識證明信息得到驗(yàn)證,即在不公開令牌鹽值與用戶區(qū)塊鏈公鑰的情況下證明該隱令牌標(biāo)識符的哈希前像中包含令牌鹽值與用戶區(qū)塊鏈公鑰,對隱令牌標(biāo)識符進(jìn)行存儲并修改屬性令牌的關(guān)聯(lián)狀態(tài)為已關(guān)聯(lián),最后身份提供商通過通信模塊將令牌鹽值發(fā)送給用戶,用戶確認(rèn)令牌鹽值的正確性并存儲到本地?cái)?shù)據(jù)庫中;
步驟c身份信息認(rèn)證,具體如下:用戶需要為服務(wù)提供商透露自己的身份信息時(shí),首先用戶向服務(wù)提供商發(fā)起斷言,聲稱自己擁有某些屬性令牌的所有權(quán)并接收服務(wù)提供商返回的質(zhì)詢內(nèi)容;用戶需要在本次身份信息認(rèn)證操作中證明對這些屬性令牌的所有權(quán),即證明自己擁有這些屬性令牌所對應(yīng)的隱令牌標(biāo)識符的哈希前像中包含的區(qū)塊鏈公鑰所對應(yīng)的區(qū)塊鏈私鑰;
用戶對每一屬性令牌的所有權(quán)的擁有證明如下:用戶生成響應(yīng)內(nèi)容、響應(yīng)鹽值與響應(yīng)廢棄物,隨后通過零知識證明生成認(rèn)證隱令牌操作零知識證明信息,用戶通過一次性匿名地址發(fā)送事務(wù)調(diào)用身份認(rèn)證函數(shù),所述認(rèn)證隱令牌操作零知識證明信息得到驗(yàn)證,身份認(rèn)證函數(shù)確認(rèn)響應(yīng)廢棄物不在廢棄物標(biāo)識符列表中,且該屬性令牌未被注銷,隨后將響應(yīng)廢棄物加入廢棄物標(biāo)識符列表中并觸發(fā)認(rèn)證事件;
若服務(wù)提供商成功監(jiān)聽到每個(gè)屬性令牌的認(rèn)證事件并成功驗(yàn)證響應(yīng)內(nèi)容,則身份信息認(rèn)證成功;
步驟d屬性令牌注銷,具體如下:身份提供商想要注銷步驟a中生成的屬性令牌,身份提供商發(fā)送事務(wù)調(diào)用令牌注銷函數(shù)并指定要注銷的屬性令牌,令牌注銷函數(shù)會檢查本次調(diào)用函數(shù)的發(fā)起者是否為該屬性令牌的創(chuàng)建者,驗(yàn)證成功后注銷令牌并觸發(fā)注銷事件,身份提供商成功監(jiān)聽到該令牌的注銷事件則令牌注銷成功。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于河北大學(xué),未經(jīng)河北大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010245614.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點(diǎn)及存儲介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點(diǎn)
- 本地區(qū)塊同步的檢驗(yàn)方法、裝置、設(shè)備及存儲介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點(diǎn)來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲介質(zhì)及電子設(shè)備





