论文部分内容阅读
随着云计算的兴起,DAS (Database as a Service)模型由于其高可用性和便捷性的特点受到广泛青睐,目前已有众多J2EE应用使用云端数据库。在DAS模型下,服务器端是完全不可信任的,因此数据持有者必须对敏感数据加密才能保证其安全性。但是数据加密后,在检索时需要将密文数据全部传输至客户端,客户端对密文数据解密后再进行查询,造成检索效率的极大降低。因此,目前主要研究集中于如何提高密文数据库的检索效率,由于数据类型的不同,针对于数值型数据和字符型数据分别有不同的策略。本文主要研究成果如下:(1)基于传统对偶编码映射的字符型数据密文检索策略,针对于特征索引值的安全性问题,提出一种引入Hash Key和数字扰乱的改进策略,该策略在建立密文特征索引值时,为每个敏感字段分配独立的Hash Key,只有持有正确的Hash Key才能得到正确的映射值,同时将映射值与记录ID异或扰乱后得到最终特征索引值。该策略使得相同明文得到不同的特征索引值,破坏其频率统计特征,能有效抵抗已知明文攻击和统计攻击。(2)充分考虑实际应用中敏感字段和查询词的语义特征,设计了一个针对于有语义敏感字段的密文数据库检索系统,引入目前发展非常成熟的分词技术,提出一种基于B+树的安全密文索引结构,重点分析了密文索引引擎和密文检索引擎。同时,对系统的安全性和效率进行了评判,在此基础上,与无语义的密文检索策略进行了对比。(3)提出了DAS模型下采用安全中间件实现加密和密文检索的整体解决方案,安全中间件基于JDBC技术,综合了无语义子系统和有语义子系统,详细描述了驱动管理、SQL语句解析、加解密模块、索引构建和密文检索的实现。通过实验在检索准确度、检索效率和数据冗余度三个方面对原对偶编码映射检索方案、无语义子系统和有语义子系统进行对比,证明了有语义子系统在检索性能上的优势。