论文部分内容阅读
随着云计算的快速发展,越来越多的用户选择将他们的本地数据文件存储在云端服务器中。为了保护数据安全和用户隐私,用户通常首先对敏感的数据进行前端加密,再将密文存储在云服务器中。这一过程使得数据的有效利用即用户如何在加密数据上检索出他们所需要的内容成为一个非常具有挑战性的难题。现有云环境下的密文检索技术通常首先为每个关键字建立索引,再将加密的索引和数据文件存储到云端服务器,用户可以通过输入加密关键字的形式进行检索。但是这些方案既不允许用户出现少量的拼写错误和格式错误,也没有考虑数据文件之间的相关性等信息。换言之,这些技术既不支持模糊关键字检索也不支持排序关键字检索,而且只支持单个关键字检索。虽然近几年出现了许多加密云数据上隐私保护的模糊关键字检索技术和排序关键字检索技术,但是这些技术的功能比较单一,没有综合考虑检索过程中可能会遇到的各种问题。此外,现有的模糊关键字检索技术所建立的索引规模都比较大,需占用大量的存储空间,大大降低了检索的效率和系统的利用率。因此,如何降低索引规模和如何将模糊与排序检索等技术相结合成为当前云环境下的密文检索技术研究的难点和热点。本文首先对云环境下密文检索的理论基础以及一些相关的主流技术进行描述,然后分别从模糊关键字检索和排序关键字检索两方面介绍一些已有的检索算法,并在此基础上分别实现在加密云数据上隐私保护的同时支持排序关键字检索和模糊关键字检索的算法,和基于k-gram的同时支持排序检索、模糊检索和多关键字检索的算法,使得索引规模更小。本文具体工作如下:1.分析当前云环境下隐私保护的密文检索技术。针对传统密文检索技术的不足之处,结合当前加密云环境下经典的模糊关键字检索算法和排序关键字检索算法的优点,设计了一种新的索引结构,并实现了能同时支持模糊关键字检索和排序关键字检索的算法。实验结果表明,该算法能够安全而有效地支持两类主流密文检索技术。2.基于明文信息检索技术中的k-gram索引算法和上述第一步工作,采用杰卡德系数衡量关键字之间的相似度并生成模糊关键字集合,设计了新的密文检索算法,它除支持模糊检索、排序检索外,还能支持多关键字检索,以提高检索的可靠性。实验结果和复杂性分析表明,该算法具有更小的索引规模,能安全、有效、快速地在加密云数据上进行检索。