密文数据库检索技术综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密文数据库检索技术综述
摘要
关键词
1 引言
2 相关技术
3 研究分类
3.1 数值型数据
2002年,Hakan等人首次提出了在数据库即服务(Database as a service, DaaS)1模型下,针对加密数据执行SQL查询的方法2。其核心思想是:提出了一种过滤技术(桶划分技术)缩小解密范围,从而快速查询加密数据。并基于桶划分技术提出了一种对关系数据库进行加密和存储的模型,在此模型上存储数据时,除了对关系表中的记录采用常规加密外,还给每个属性值增加一个桶号,桶号表示明文数据值位于某段区间内。在该模型中,数据拥有者(即用户)对数据库进行加密后将数据库密文保存在服务提供商处,只有数据拥有者能够解密。用户提交查询指令后,服务器端无需对密文解密即可进行粗粒度的查询,得到包含查询结果的一个候选结果集合,然后将该候选结果集合返回给用户,用户解密该候选结果集合并对明文进行计算即可得到最终的查询结果。
该方法返回一个比正确结果集合更大一些的集合,其中可能包含一些并不匹配查询条件的密文元组,因此需要再对这个结果集合进行解密和过滤处理,才能得到最终的查询结果。此外,该方法仅通过值域分区的方式建立数据库值索引,容易造成数据库信息泄漏。数据库通常采用哈希技术分区的方式,这种方式的分区数量越多,检索性能越好,但同时会造成更多的数据冗余。当每个分区中的数据记录较多时,检索效率会受到较大影响。
2003年,Damiani等人提出基于索引的密文检索方法3。与桶划分方法不同,该方法将数据进行元组级的加密,因此能够进行元组级的检索。该方法不按数值的顺序分类,增加了安全性。其缺点是不能实现范围搜索。Damiani又使用B-tree 编码方式,这种方法可以实现范围检索,但是每次进行检索时需要检索的次数等
于B-tree的高度。
2004年,Hakan等人深入研究了采用桶划分技术以实现对加密数据执行聚集查询操作4。
2004年,Hore等人研究了依据数据分布实现最优化桶划分以减小通信代价5。Hore等人提出了一种改进的数据库分区策略,利用数据库分区的最优算法,在数据库检索过程中最小化传输和解密的工作量,进一步提高了数据库密文检索效率。同时提出一种可控扩散算法,根据数据所有者的需要自适应地调整数据安全等级,采取牺牲一定密文检索性能的方式,定制更为灵活的数据库密文安全策略。
2010年,Chase等人提出了结构加密算法来解决加密大矩阵和图的查询问题6。这种算法是基于SSE的。其不足之处为:只能进行简单的查询例如数值访问和“邻居查询”。
2011年,Cao首次提出并解决了在云中查询加密图结构数据的隐私保护查询(PPGQ)7。并建立了严格的安全需求来实现云数据利用系统。并使用了“过滤-验证”的原则。重新建立了基于特征的索引来提供加密数据图的特征相关信息。选择了高效的内积作为修剪工具来过滤数据。为了保证图查询不造成隐私泄漏,提出了内积计算技术,并将其改进后能够在未知背景维系模型下保证安全。
3.2 单关键词检索
3.2.1 单关键词密文排序查询
加利福利亚大学的Song等人采取了序列加密(stream cipher)方法对文本数据进行加密处理,这样无需解密就可以直接对加密文本搜索关键词8。其优点是:使用者和数据库需要很少的通信,只需要一轮交互。(对称密钥)
但是其方法有一些问题:第一,它与当前已有的一些文件加密方案不兼容;第二,它在针对加密数据的统计分析攻击下并不安全,尽管提出了一些有启发性的补救方法,但是其安全性证据在理论上是不够健壮的;第三,不能进行连接词检索,且很难扩展。
2003年,Goh等人9基于布隆过滤器对Song的效率进行改进,每个文件都有对应的一些独立的哈希函数和Bloom Filter 数据结构。在文件加密之前,需要
对文件中的关键字使用私钥加密,再使用哈希函数映射到filter之上并记录,最后,将映射后的filter和文件的密文上传到服务器中。当用户需要进行密文搜索时,需要将关键字的密文发送给云端服务器,再由云端服务器使用每个文件的哈希函数进行关键字到filter的映射。如果映射到的位置之前都有记录的痕迹,则说明这个关键字有很大的概率是在该文件中。最后,云端服务器将得到的匹配文件发给用户。
结果:能够利用哈希函数计算快速的特点,快速地查找关键字所在的密文文件。
不足:它也继承了Bloom Filter存在错误率的特点,有可能导致一些文件本来并不包含关键字,最后却能够通过哈希函数的检测,而被云端作为结果返回给用户,给用户带来一些额外的带宽开销和计算开销。
2004年,D.Boneh等人提出了真正意义上的可搜索公钥加密方案10(简称:PEKS方案),为此业界把2004年定义为可搜索公钥加密的元年。在论文中他们提出了一种基于双线性对函数的单关键可搜索公钥加密方案,该方案指出,第三方服务器根据单关键字的密文信息在整个服务器数据库中检索相关的文章,保证对检索的信息一无所知。这项新技术的提出开启了可搜索公钥加密技术的新时代。
优点:支持数据接收者对多个发送者所加密的密文中进行搜索的应用场景,而且由于随机数的作用,系统的加密效果为非确定性加密,导致了服务器端无法通过密文是否相同来判断索引表(或搜索凭证)中是否具有相同的关键字。
缺点:计算开销因为双线性对的引进而加大,特别是对操作(pairing operation)的计算开销较大,使得该方法在海量数据处理场景中的应用性受到一定的限制;另外,PEKS的安全性是在随机语言机模型(random oracle model)下成立,并不适合现实应用。
2005年,Abdalla等人提出一种使用临时性关键字可检索的公钥加密方案(简称:PETKS方案)11。在该方案的验证阶段,用户一旦需要验证就要进行必须的、相关的解密操作,这样无形中就增大了服务器的开销。
2005年,J.Baek等人提出了一种不需要使用安全信道来传输数据的基于关键字的公钥加密可搜索方案(简称:SCF-PEKS方案)12,这种方案保证信息在客户端和服务器端的传送过程中,不会受到攻击或发生泄漏等问题,保证了搜索信息、加密数据的安全性。