1.一種仲裁可搜索加密方法,其特征在于,所述方法包括:
S1:系統(tǒng)初始化,可信屬性權(quán)威AA生成系統(tǒng)公共參數(shù),所述系統(tǒng)公共參數(shù)包括每個屬性的公/私鑰對和仲裁方Mediator的公/私鑰對;
S2:關(guān)鍵詞加密,數(shù)據(jù)擁有者加密關(guān)鍵詞,并把加密后的關(guān)鍵詞以安全索引的形式存儲到云服務器上;
S3:數(shù)據(jù)加密,數(shù)據(jù)擁有者加密文件,并把加密后的數(shù)據(jù)以密文的形式存儲到云服務器上;
S4:用戶密鑰生成,AA給合法用戶分配一個全局私鑰,并基于用戶的權(quán)限給其生成屬性私鑰,其中屬性私鑰包含兩個部分,分別發(fā)送給用戶和對應的Mediator;
S5:搜索陷門Trapdoor生成,用戶向Mediator發(fā)送搜索請求,并在其協(xié)助下生成有效的搜索陷門;
S6:搜索數(shù)據(jù),Mediator將Trapdoor發(fā)送給云服務器,當且僅當用戶的屬性集滿足安全索引中的訪問結(jié)構(gòu),且搜索陷門中的關(guān)鍵詞與安全索引中的關(guān)鍵詞相同時,Mediator才能從云服務器得到返回的數(shù)據(jù)密文;
S7:數(shù)據(jù)解密,Mediator對得到的密文進行預解密,得到解密令牌,并將其發(fā)送給對應的用戶,然后用戶用其私密值對解密令牌進行解密,得到數(shù)據(jù)明文;
S8:用戶撤銷,當用戶的權(quán)限發(fā)生變化時,仲裁不協(xié)助用戶生成有效的搜索陷門,使其不能檢索相關(guān)數(shù)據(jù)集。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S1包括如下步驟:
S11:AA初始化,輸入安全參數(shù),生成系統(tǒng)公共參數(shù),包括每個屬性的公/私鑰對;
S12:Mediator初始化,輸入公共參數(shù),AA生成Mediator的公/私鑰對。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S2包括如下步驟:
S21:離線關(guān)鍵詞加密,數(shù)據(jù)擁有者從AA處接收到系統(tǒng)公共參數(shù),生成中間安全索引II;
其中,步驟S21包括如下步驟:
S211:從數(shù)字集Zp中選取隨機數(shù)s作為加密指數(shù);
S212:選擇隨機數(shù)vk∈Zp,其中k∈{1,...,3n};
S213:計算
S214:輸出中間安全索引II;
S22:在線關(guān)鍵詞加密,輸入公共參數(shù)、關(guān)鍵詞、訪問結(jié)構(gòu)以及中間安全索引,數(shù)據(jù)擁有者生成完整的安全索引;
其中步驟S22包括如下步驟:
S221:數(shù)據(jù)擁有者從步驟S21中得到中間安全索引II;
S222:數(shù)據(jù)擁有者基于全局屬性集N,給數(shù)據(jù)定義一個訪問結(jié)構(gòu)GT=∧i∈Ni,GT由閾門“AND”來表示;
S223:計算Di,1和Di,2;
S224:輸出安全索引CTw;
S225:數(shù)據(jù)擁有者把安全索引CTw上傳到云服務器上;
S23:基于允許訪問該數(shù)據(jù)集的用戶,計算
S24:輸出用戶列表UL;
S25:基于與數(shù)據(jù)擁有者對應的Mediator,計算
S26:數(shù)據(jù)擁有者將用戶列表UL和上傳至相關(guān)Mediator。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S3包括如下步驟:
S31:離線數(shù)據(jù)加密,數(shù)據(jù)擁有者從AA處接收到系統(tǒng)公共參數(shù)和每個屬性的公鑰,生成中間數(shù)據(jù)密文IC;
其中,步驟S31包括如下步驟:
S311:從數(shù)字集Zp中選取隨機數(shù)sm作為加密指數(shù);
S312:選擇隨機數(shù)hk∈Zp,其中k∈{1,...,3n};
S313:計算
S314:輸出中間數(shù)據(jù)密文IC;
S32:在線文件加密,輸入公共參數(shù)、關(guān)鍵詞、訪問結(jié)構(gòu)、數(shù)據(jù)明文以及中間數(shù)據(jù)密文,數(shù)據(jù)擁有者生成完整的數(shù)據(jù)密文;
其中,步驟S32包括如下步驟:
S321:數(shù)據(jù)擁有者從步驟S31中得到中間數(shù)據(jù)密文IC;
S322:數(shù)據(jù)擁有者從步驟S222中得到的訪問結(jié)構(gòu)GT;
S323:計算Ci,1和Ci,2;
S324:輸出數(shù)據(jù)密文CTm;
S325:數(shù)據(jù)擁有者把數(shù)據(jù)密文CTm上傳到云服務器上。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S4包括如下步驟:
S41:用戶加入系統(tǒng),向AA提交身份信息GID及其擁有的屬性集S進行注冊;
S42:AA認證用戶的合法性;
S43:若用戶合法,則為該用戶生成屬性私鑰和全局私鑰;若該用戶不合法,則拒絕加入系統(tǒng);
S44:AA對用戶的屬性私鑰進行密鑰分離,并分發(fā)給用戶和對應的Mediator。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S5包括如下步驟:
S51:用戶向Mediator發(fā)送數(shù)據(jù)搜索請求;
S52:Mediator驗證用戶GID是否屬于用戶撤銷列表UL;
S53:若用戶不屬于UL,則繼續(xù)以下操作;若用戶屬于UL,Mediator終止操作;
S54:Mediator檢索用戶的屬性私鑰,生成Mediator端的中間陷門Tmed,并將其發(fā)送給用戶;
其中S54包括如下步驟:
S541:選取隨機數(shù)β∈Zp;
S542:計算Q1,對i∈N,計算Qi,1,QFi,1;
S543:輸出Tmed;
S55:接著用戶基于中間陷門Tmed,生成用戶端的中間陷門Tu,并將其返回給Mediator;
其中S55包括如下步驟:
S551:計算Q1,T1,對i∈N,計算Ti,1,TFi,1,Qi,2,QFi,2;
S552:輸出Tu;
S56:Mediator基于用戶端的中間陷門Tu,生成完整的搜索陷門T,將其發(fā)送給云服務器;
其中S56包括如下步驟:
S561:基于S541選取的隨機數(shù)β∈Zp,計算T0,對i∈N,計算Ti,2,TFi,2;
S562:輸出T;
S57:然后Mediator把T發(fā)送給云服務器。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S6包括如下步驟:
S61:云服務器收到來自Mediator的搜索陷門,開始檢索相應的數(shù)據(jù)集;
S62:云服務器使用搜索陷門與安全索引進行匹配,若用戶的屬性集合滿足安全索引中的訪問結(jié)構(gòu),且搜索陷門中的關(guān)鍵詞與安全索引中的關(guān)鍵詞相同,那么返回該索引對應的數(shù)據(jù)密文CTdata給Mediator;若不滿足,則返回為空;
其中步驟S62包括如下步驟:
S621:令訪問結(jié)構(gòu)GT中的屬性集合I={i:i∈N},且若根據(jù)訪問結(jié)構(gòu)GT,對i∈I,進行配對運算e(Di,Ti,1)和e(Di,Ti,2);對i∈N/I,進行配對運算e(Di,TFi,1)和e(Di,TFi,2);
S622:接著服務器分別計算和并驗證等式是否成立
S623:若成立,則返回對應的數(shù)據(jù)密文CTdata;若不成立,則返回為空。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S7包括如下步驟:
S71:Mediator接收到云服務器返回的密文CTdata;
S72:Mediator利用與用戶交互的信息預解密生成解密令牌;
其中,S72包括如下步驟:
S721:計算Q1';
S722:計算Qi,1',QFi,1';
S723:計算和
S724:計算
S725:輸出CTtoken,并將其返回給用戶;
S74:用戶接收到CTtoken,并解密得到m。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟S8包括如下步驟:
S81:當用戶的權(quán)限發(fā)生變化時,數(shù)據(jù)擁有者更新用戶列表UL,并重新發(fā)送給對應的Mediator;
S82:用戶GID向Mediator請求搜索陷門;
S83:若則Mediator拒絕與其協(xié)作生成有效的搜索陷門,同時刪除用戶UID的屬性私鑰。