论文部分内容阅读
云计算提供了优质的服务和便捷的管理,于是越来越多的敏感数据被存储于云服务器中。但是云服务器会揣测所存储的信息并泄露给未授权用户,从而引发存储数据的安全问题和隐私问题。因此,敏感数据在上传至云服务器之前必须先进行加密,但是密态的存储形式给数据的检索带来了困难。可搜索加密的出现使得用户可以直接通过加密关键字检索云端的密文数据。现存的方案或者只支持精确搜索,或者需要建立一个庞大的索引来支持模糊搜索,索引包含所有可能误拼的关键字,相当耗费存储空间。为了节省网络带宽和返回更准确的结果,对关键字和文件之间的相关分数进行排序是一个有效的方法。针对用户关键字拼写错误、系统搜索效率不够高、返回结果不够准确等问题,本文提出了两种不同的密文检索方案。我们首先给出一种支持多关键字模糊搜索和排序的方案(简称MKFSR)。本方案采用n-gram技术结合可指定字符位置的布隆过滤器来构建索引。为了返回更准确的检索结果,MKFSR给出了一种新的综合匹配度计算方法,根据文件与搜索词的综合匹配度对匹配文件进行排序,返回前L个文件给用户。比起传统的多关键字搜索方案,本方案所构建的索引更加节省存储空间,具有更高的搜索效率。而且本方案基于一种新的综合匹配度进行排序,使返回文件的结果更为准确。经过安全证明及仿真分析,表明我们的方案是正确的、安全的和有效的。为了获得更好的用户体验和高效搜索,我们又提出了一种基于多机构密文策略属性基加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)的自动校正的高效密文检索方案。为了减少系统开销和实现可搜索加密系统的访问控制,本方案使用CP-ABE来加密体量较小的对称密钥。该系统引入多代理服务器实现了去中心化的多机构系统,避免了系统的单点效应问题。为了防止代理服务器之间的共谋,本方案采取了数据拥有者的秘密属性与访问策略共同加密对称密钥的方法。针对密文模糊搜索的不准确问题,本方案使用准确率更高的拼写检查系统对搜索关键字进行校正,力求从根本上校正拼写错误,避免了索引关键字集的扩展,节省了存储开销。通过语法分析和计算搜索关键字的关键字权重,本方案可以区分不同关键字的重要程度,提升了用户的搜索体验。此外,本方案结合了R树和Bloom过滤器作为索引结构,将一个加密的Bloom过滤器和对应的密文文件ID集存储在R树的叶子节点中。云服务器根据搜索陷门对R树进行矩阵定位,然后对叶子节点中加密的Bloom过滤器匹配。整个搜索过程不需要遍历所有的文件,提高了检索效率。通过随机数的引入,即使相同的关键字也会生成不同的陷门,避免了服务器的频率猜测攻击。经过正确性、安全性证明和性能分析,表明我们的方案是准确的、高效的和安全的。