假设用户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}
参考文献:可搜索加密技术研究综述 李经纬等人