[發明專利]基于口令和匿簽密的雙重認證對稱可搜索加密方法有效
| 申請號: | 202010097171.6 | 申請日: | 2020-02-17 |
| 公開(公告)號: | CN111310210B | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 王會歌;趙運磊;隋光燁 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/62;G06F21/31 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;陸尤 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 口令 匿簽密 雙重 認證 對稱 搜索 加密 方法 | ||
1.一種基于口令和匿簽密的雙重認證對稱可搜索加密方法,簡稱icSSE,包含八種概率多項式時間PPT算法,具體分別說明如下:
(1)Setup(1λ):該算法由數據所有者運行,該所有者以安全參數1λ作為輸入,并輸出長期密鑰生成公共參數parL和加密的數據庫標識符生成公共參數parE,其中,parL用于生成長期公共和私有密鑰,parE用于生成加密的數據庫標識符;
(2)LKeyGen(parL,idU):該算法由長期密鑰生成中心LK-KGC運行,該中心將長期密鑰生成公共參數parL和用戶身份idU∈{0,1}*作為輸入,并輸出用戶的長期公鑰、私鑰對(pkU,skU);
(3)DWKeyGen(1λ,idDW):該算法由數據所有者密鑰生成中心DWK-KGC運行,該中心將安全參數1λ和數據所有者身份idDW作為輸入;它為數據所有者idDW輸出一個加密的數據庫公鑰、私鑰對(EPKDW,ESKDW);
(4)EDBGen(parE;EPKDW;ESKDW;DB;A):該算法由數據所有者idDW運行,該idDW將加密的數據庫標識符生成公共參數parE,數據所有者的加密的數據庫公共密鑰EPKDW和加密的數據庫秘密密鑰ESKDW,明文數據庫DB,訪問控制結構A作為輸入;該算法將數據庫DB加密為密文數據庫EDBDW,并將EDBDW發送到服務器;
(5)SKeyGen(EPKDW,ESKDW;S;w;idU):該算法由數據所有者DW運行,該所有者D將數據所有者的加密數據庫公共密鑰EPKDW和加密數據庫秘密密鑰ESKDW,屬性集S,授權關鍵字集合w和數據用戶身份idU∈{0,1}*作為輸入.它為數據用戶idU生成搜索私鑰SKU=(SKMS,U;SKS,U),其中SKU由主搜索私鑰SKMS,U和部分搜索私鑰SKS,U組成;
(6)該算法由數據用戶idU運行,該用戶idU將數據用戶的搜索私鑰SKU,長期私鑰skU,公共身份信息pidU=(idU,pkU=U=gu,certU),服務器公共身份信息pidv=(idv,pkv=V=gv,certV),查詢Q和加密數據庫EDBDW的標識符作為輸入,并輸出加密搜索令牌est;這里,令牌est不包含公共身份信息pidU和pidv,其中pidv表示服務器的公共身份信息;
(7)Search(skV;pidv;pidU;est;EDB):該算法由服務器運行,該算法將服務器的長期私鑰skV和公共身份信息pidv,數據用戶idU的公共身份信息pidU,加密的搜索令牌est和當前完全加密數據庫EDB作為輸入;這里,加密數據庫EDB包含由某些數據所有者DW生成的所有部分加密數據庫EDBDW;最終將匹配結果R輸出到數據用戶idU;
(8)Retrieve(SKU;R):該算法由數據用戶idU運行,該用戶idU將搜索私鑰SKU和搜索結果集R作為輸入,并輸出與idU給出的搜索關鍵字w相匹配的文檔索引;
具體流程如下:
首先,所有算法參與方都調用Setup(1λ):算法,該算法以安全參數1λ為輸入,生成一個長期密鑰生成公共參數parL=(G′1,N,G1,g′,q′)←g′(1λ),算法各個參與方將這一組參數保存并應用其參與以后的運算;
然后,建立長期密鑰生成中心LK-KGC,LK-KGC調用LKeyGen(parL,idU)算法,調用時LK-KGC將長期密鑰生成公共參數parL和用戶身份idU∈{0,1}*作為輸入,并輸出用戶的長期公鑰、私鑰對(pkU,skU);該算法設置并輸出密鑰對(pkU,skU);用戶身份idU及其公鑰U之間的綁定由CA頒發的證書certA進行身份驗證,證書對所有人公開;LK-KGC將每個公鑰,私鑰對發送給其對應的用戶;用戶保存自己的這些公私鑰對用于以后的運算;
然后,建立數據所有者密鑰生成中心DWK-KGC,DWK-KGC調用DWKeyGen(1λ,idDW)該算法;DWK-KG中心將安全參數1λ和數據所有者身份idDW作為算法輸入;該算法生成加密數據庫秘密密鑰和公共密鑰;數據所有者DW的加密數據庫秘密密鑰和公共密鑰分別設置為ESKDW(KX,KI,KZ,KE,p,q,g1,g2,g3,msk)和EPKDW=(n,mpk);
然后,當數據所有者idDW想分享自己的數據時,idDW調用EDBGen(parE;EPKDW;ESKDW;DB;A)算法;該idDW將數據庫標識符生成參數parE=H,加密的數據庫公共密鑰EPKDW=(n;mpk)和秘密密鑰ESKDW(KX,KI,KZ,KE,p,q,g1,g2,g3,msk),數據庫DB和訪問控制結構A作為輸入;它輸出加密的數據庫其中表示加密數據庫EDBDW的標識符;EDBDW存儲于服務器中并公開給所有人用于訪問;
然后,如果數據所有者idDW想允許數據用戶idU對授權關鍵字w={w1,...,wn}進行搜索;idDW就調用算法;接下來,數據所有者idDW將搜索私鑰SKU=(SKMSU,SKSU)發送給數據用戶idU,其中和SKSU=skS分別表示數據用戶idU的主搜索和部分搜索私鑰,并且這里,加密數據庫EDBDW的標識符也包含在主搜索私鑰SKMSU中,以便數據用戶idU借助容易地找到要加密的數據庫;
然后,當數據用戶idU想訪問數據時,需要生成搜索令牌,并將其傳遞給服務器;數據用戶idU調用算法來生成搜索令牌;
然后,當服務器idV收到數據用戶idU的搜索令牌時,調用Search(skV;pidv;pidU;est;EDB)算法;該服務器將服務器idV的長期私鑰skV和公共身份信息pidV,服務器的公共身份信息pidU作為輸入;一個數據用戶加密的搜索令牌時,當前完整的加密數據庫其中表示在云服務器上注冊的數據所有者的集合;該算法首先使用長期私鑰skV以及公共身份信息pidV和pidU執行身份驗證過程,然后從加密的搜索令牌est中恢復搜索令牌st和數據庫標識符接著,使用標識符篩選加密的數據庫EDBDW;然后,服務器使用搜索令牌進行單個關鍵字搜索,并獲得與搜索條件匹配的加密文檔索引集R;文檔索引集R被返還給數據用戶idU;
最后,當數據用戶idU收到服務器服務器idV返回給他的文檔索引集R之后,數據用戶idU調用Retrieve(SKU;R)算法,獲得搜索結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010097171.6/1.html,轉載請聲明來源鉆瓜專利網。





