Multi-User Private Queries over Encrypted Databases,IJACT,2009

一、摘要

將數據庫存儲在服務器上可以節省很多的維護成本,但是大多數的服務器都是不可信的,因此存儲在其上的數據庫需要進行加密。本文通過bilinear pairing實現了加密數據庫的多用戶上傳和讀取,適合數據庫需要經常動態變化的情況。另外,該方案還實現了用戶的新增和刪除都對其他用戶透明,減少了開銷。

二、主要工作 (核心場景、框架或者算法)

該加密方案主要涉及兩個對稱密鑰e和k,其中密鑰e用于加密和解密數據庫記錄,密鑰k用于加密和解密index。密鑰e通過可信密鑰服務器直接分發給用戶,每個用戶的e都相同;而密鑰k則與關鍵字一一對應,即不同的用戶,只要關鍵字相同,就會得到相同的加密密鑰k,而密鑰k的計算需要通過bilinear pairing和BLS Short Signature實現,如下圖所示。


(一)首先是用戶新增的過程,該過程中,由offline的線下服務器完成密鑰的計算,生成密鑰對(xu,ComKu),其中私鑰xu以及用戶加密數據庫記錄的對稱密鑰e發送給用戶,ComKu發送給服務器存儲,s是哈希列表的種子。
<center>



</center>


(二)用戶上傳數據的過程,主要為雙線性映射的過程。首先用戶通過哈希列表以及隨機數rw計算g1=hs(w)^rw∈G1發送給服務器(rw保證了安全性),服務器根據公鑰ComKu返回映射到G2空間的值,用戶再根據私鑰解密得到生成Index的對稱密鑰K,使用k加密Index=<r,[r]k>,使用e加密record,上傳給服務器。
<center>



</center>


(三)用戶查詢及下載數據的過程。首先用戶根據私鑰xu生成查詢,上傳給服務器,服務器根據該用戶的公鑰ComKu以及哈希映射計算用于加密該關鍵字的對稱密鑰k',并且對Index列表中的每一個條目<r,[r]k>進行匹配,若r=[[r]k]k',表示匹配成功,則該index對應的記錄加入到返回給用戶的隊列中。
<center>



</center>


(四)用戶的撤銷過程。只需要可信密鑰服務器通知server刪除相應的公鑰comku,則該用戶就無法進行讀寫。


三、優點(動機、算法、寫作)

  • 實現了多用戶的上傳和下載,適用于數據庫經常需要修改的情況
  • 支持多關鍵字(作者提了一句說實現方法很簡單,但并沒有說明細節)
  • 用戶的新增和刪除并不影響其他用戶

四、缺點 (算法缺陷、寫作邏輯漏洞、攻擊場景漏洞、工作完成度)

  • 搜索效率為O(m),m為record的數目,不適合大型的數據庫。
  • 優化方案中提到了性能的優化,但僅限于特定的可以進行binary search的數據庫
  • 可信密鑰服務器只維護了一個主密鑰Kum以及對稱密鑰e,整個數據庫只分為可訪問與不可訪問兩類用戶。在該場景中是合理的,但在我們的場景中,每一個用戶的文件都相當于一個小型數據庫,每一個用戶甚至每一個文件都需要區分可訪問與不可訪問。
  • 沒有區分搜索權限和下載權限

五、可改進點(改進方法、啟發)

  • order preserving?(由下一篇論文得到啟發 )

六、對比

CCS06 MuPQ
功能性分析 多關鍵字 不支持 支持
用戶組細分 不支持 整個database只分為可訪問與不可訪問兩類用戶
多用戶上傳 不支持 支持
多用戶下載 支持 支持
搜索/下載權限區分 不區分 不區分
效率分析 用戶的新增和刪除是否對其他用戶透明 透明 不透明
搜索效率 O(1) O(M)
服務器開銷
安全性分析 search pattern adaptive方案可以隱藏 可以隱藏
access pattern 不支持 不支持
結果驗證 不支持 不支持
方案基礎 BE-based Bilinear pairing

七、鏈接

Paper

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,183評論 6 13
  • 1, read 《Practical Common Lisp》[http://www.gigamonkeys.co...
    ross_zhao閱讀 308評論 0 0
  • 醒了,習慣性地伸手從枕頭底下拿起手表,睜開眼,看了一下,一點,合眼又睡去。 醒了,習慣性地伸手從枕頭底下拿起手表,...
    空格兒閱讀 474評論 1 2
  • 我可愛的寶貝,媽媽愛你!
    恩恩媽閱讀 297評論 0 0