假設用戶Alice試圖將個人文件存放在一個誠實但具有好奇心的外部服務器,以降低本地資源開銷.為保護文件隱私,須采用某種加密方式將文件加密后存儲.使用傳統分組密碼,只有密鑰擁有者才具備解密能力,意味着Alice在執行基於關鍵詞的查詢操作時,需要下載所有已上傳的文件,完全解密后再檢索,會帶來兩個問題:①如果Alice在服務器上已存有大量文件,一一下載會占用大量網絡帶寬,可能造成服務器堵塞;②對已下載的所有文件完全解密會占用大量本地計算資源,效率極低.
解決此類問題的加密技術稱為可搜索加密(searchable encryption,簡稱SE),該技術要求只有合法用戶才具 備基於關鍵詞檢索的能力.
可搜索加密過程
研究歷史
可搜索加密問題的提出,源於解決兩類可搜索加密的基本問題:①不可信賴服務器的存儲問題;②不可信賴服務器的路由問題.
不可信賴服務器的存儲問題最早提出於2000年,Song等人提出了基於密文掃描思想的SWP方案,將明 文文件划分為“單詞”並對其分別加密,通過對整個密文文件掃描和密文單詞進行比對,就可確認關鍵詞是否存在。
Chang和Mitzenmacher考慮了該可搜索加密基本問題的一個應用場景:用戶通過個 人電腦以密文形式存儲文件至服務器,然后使用移動設備(例如手機等)檢索服務器上的密文文件,並針對此應用提出PPSED(privacy preserving keyword searches on remoted encrypted data)方案.Curtmola[6]規范化了對稱可搜索加密(symmetric searchable encryption,簡稱SSE)及其安全目標,提出能夠在非自適應和自適應攻擊模型下達到不可區分性安全的SSE-1和SSE-2方案.
不可信賴服務器的路由問題:Bob通過不可信賴郵件服務器向Alice發送包含某些關鍵詞的郵件,要求服務器不能獲取郵件內容和相關關鍵詞信息,但需根據關鍵詞將郵件路由至Alice的某個終端設備.例如,如果郵件的關鍵詞為“urgent",則服務器將郵件分配至Alice的手機,如果郵件的關鍵詞為“lunch,則服務器將郵件分配至Alice的電腦.
Boneh等人最早提出PEKS(public key encryption with keyword search)概念,並基 於BF-IBE構造了第一個PEKS方案BDOP-PEKS,安全性可歸結為BDH(bilinear Diffie-Hellman)數學假設.
Khader基於K—resilient IBE構造KR-PEKS方案,在標准模型下達到IND-CKA安全.Crescenzo等人提出基 於二次剩余中二次不可區分性問題(quadratic indistinguishability problem,簡稱QIP)的PEKS方案.Abdalla等人針對PEKS算法一致性定義缺陷,提出統計一致性(statistically consistency)和計算一致性(computationally consistency),並描述了從基於身份加密(identity-based encryption,簡稱IBE)到PEKS的一般變換算法IBE2PEKS.
算法
以非對稱可搜索加密為例
PEKS(public key encryption with keyword search)
1)(pk,sk)= KeyGen:輸入安全參數,輸出pk,sk
2)Cw=Encrypt(pk,W):輸入pk和關鍵詞W,輸出關鍵詞密文Cw
3)Tw=Trapdoor(sk,W):輸入sk和W,輸出陷門Tw
4)b=Test(pk,Cw,Tw):輸入pk,Tw,Cw,根據W與W'的匹配結果,輸出判定值b∈{0,1}
參考文獻:可搜索加密技術研究綜述 李經緯等人