一、摘要
將數(shù)據(jù)庫(kù)存儲(chǔ)在服務(wù)器上可以節(jié)省很多的維護(hù)成本,但是大多數(shù)的服務(wù)器都是不可信的,因此存儲(chǔ)在其上的數(shù)據(jù)庫(kù)需要進(jìn)行加密。本文通過(guò)bilinear pairing實(shí)現(xiàn)了加密數(shù)據(jù)庫(kù)的多用戶上傳和讀取,適合數(shù)據(jù)庫(kù)需要經(jīng)常動(dòng)態(tài)變化的情況。另外,該方案還實(shí)現(xiàn)了用戶的新增和刪除都對(duì)其他用戶透明,減少了開銷。
二、主要工作 (核心場(chǎng)景、框架或者算法)
該加密方案主要涉及兩個(gè)對(duì)稱密鑰e和k,其中密鑰e用于加密和解密數(shù)據(jù)庫(kù)記錄,密鑰k用于加密和解密index。密鑰e通過(guò)可信密鑰服務(wù)器直接分發(fā)給用戶,每個(gè)用戶的e都相同;而密鑰k則與關(guān)鍵字一一對(duì)應(yīng),即不同的用戶,只要關(guān)鍵字相同,就會(huì)得到相同的加密密鑰k,而密鑰k的計(jì)算需要通過(guò)bilinear pairing和BLS Short Signature實(shí)現(xiàn),如下圖所示。
(一)首先是用戶新增的過(guò)程,該過(guò)程中,由offline的線下服務(wù)器完成密鑰的計(jì)算,生成密鑰對(duì)(xu,ComKu),其中私鑰xu以及用戶加密數(shù)據(jù)庫(kù)記錄的對(duì)稱密鑰e發(fā)送給用戶,ComKu發(fā)送給服務(wù)器存儲(chǔ),s是哈希列表的種子。
<center>
</center>
(二)用戶上傳數(shù)據(jù)的過(guò)程,主要為雙線性映射的過(guò)程。首先用戶通過(guò)哈希列表以及隨機(jī)數(shù)rw計(jì)算g1=hs(w)^rw∈G1發(fā)送給服務(wù)器(rw保證了安全性),服務(wù)器根據(jù)公鑰ComKu返回映射到G2空間的值,用戶再根據(jù)私鑰解密得到生成Index的對(duì)稱密鑰K,使用k加密Index=<r,[r]k>,使用e加密record,上傳給服務(wù)器。
<center>
</center>
(三)用戶查詢及下載數(shù)據(jù)的過(guò)程。首先用戶根據(jù)私鑰xu生成查詢,上傳給服務(wù)器,服務(wù)器根據(jù)該用戶的公鑰ComKu以及哈希映射計(jì)算用于加密該關(guān)鍵字的對(duì)稱密鑰k',并且對(duì)Index列表中的每一個(gè)條目<r,[r]k>進(jìn)行匹配,若r=[[r]k]k',表示匹配成功,則該index對(duì)應(yīng)的記錄加入到返回給用戶的隊(duì)列中。
<center>
</center>
(四)用戶的撤銷過(guò)程。只需要可信密鑰服務(wù)器通知server刪除相應(yīng)的公鑰comku,則該用戶就無(wú)法進(jìn)行讀寫。
三、優(yōu)點(diǎn)(動(dòng)機(jī)、算法、寫作)
- 實(shí)現(xiàn)了多用戶的上傳和下載,適用于數(shù)據(jù)庫(kù)經(jīng)常需要修改的情況
- 支持多關(guān)鍵字(作者提了一句說(shuō)實(shí)現(xiàn)方法很簡(jiǎn)單,但并沒有說(shuō)明細(xì)節(jié))
- 用戶的新增和刪除并不影響其他用戶
四、缺點(diǎn) (算法缺陷、寫作邏輯漏洞、攻擊場(chǎng)景漏洞、工作完成度)
- 搜索效率為O(m),m為record的數(shù)目,不適合大型的數(shù)據(jù)庫(kù)。
- 優(yōu)化方案中提到了性能的優(yōu)化,但僅限于特定的可以進(jìn)行binary search的數(shù)據(jù)庫(kù)
- 可信密鑰服務(wù)器只維護(hù)了一個(gè)主密鑰Kum以及對(duì)稱密鑰e,整個(gè)數(shù)據(jù)庫(kù)只分為可訪問(wèn)與不可訪問(wèn)兩類用戶。在該場(chǎng)景中是合理的,但在我們的場(chǎng)景中,每一個(gè)用戶的文件都相當(dāng)于一個(gè)小型數(shù)據(jù)庫(kù),每一個(gè)用戶甚至每一個(gè)文件都需要區(qū)分可訪問(wèn)與不可訪問(wèn)。
- 沒有區(qū)分搜索權(quán)限和下載權(quán)限
五、可改進(jìn)點(diǎn)(改進(jìn)方法、啟發(fā))
- order preserving?(由下一篇論文得到啟發(fā) )
六、對(duì)比
| CCS06 | MuPQ | ||
|---|---|---|---|
| 功能性分析 | 多關(guān)鍵字 | 不支持 | 支持 |
| 用戶組細(xì)分 | 不支持 | 整個(gè)database只分為可訪問(wèn)與不可訪問(wèn)兩類用戶 | |
| 多用戶上傳 | 不支持 | 支持 | |
| 多用戶下載 | 支持 | 支持 | |
| 搜索/下載權(quán)限區(qū)分 | 不區(qū)分 | 不區(qū)分 | |
| 效率分析 | 用戶的新增和刪除是否對(duì)其他用戶透明 | 透明 | 不透明 |
| 搜索效率 | O(1) | O(M) | |
| 服務(wù)器開銷 | |||
| 安全性分析 | search pattern | adaptive方案可以隱藏 | 可以隱藏 |
| access pattern | 不支持 | 不支持 | |
| 結(jié)果驗(yàn)證 | 不支持 | 不支持 | |
| 方案基礎(chǔ) | BE-based | Bilinear pairing |