摘要
排序搜索允许云服务器根据查询关键字与文档之间的相关性分数查找前 k 个最相关的文档,这被认为是在密文数据库上实现关键字检索的最有前景的方法之一。然而,最新研究表明,一些在排序搜索中常用的隐私保护方法(例如:保序加密)存在一些安全问题,其会泄露相关排名隐私信息。此外,考虑到数据作为重要的生产要素,推动有偿查询也成为现在的研究热点,而现有的排序可搜索加密方案大多应用在云环境场景中,并没有考虑外包服务中的支付公平问题,即恶意的服务器可能会在得到服务费后返回给用户错误的检索结果,而恶意的用户也可能在得到正确结果后故意诽谤服务方。 针对以上问题,本文提出了两个方案: (1)我们提出了一个差分隐私保护下的排序可搜索加密方案。具体来说,我们将服从拉普拉斯分布的噪声添加至关键词与文档的相关性分数中,以此来扰动真实的相关性分数。通过这种方式,即使敌手拥有相关的背景知识,也不能推断出真实的分数值及排名顺序。另外,实验证明,该方案不仅可以实现亚线性的搜索效率,而且还可使搜索结果准确率达到94%以上。 (2)针对云环境中支付不公平的现象,我们在(1)中所提方案的基础上,提出了一个基于区块链的、可实现公平支付及可验证的排序可搜索加密方案。我们首先设计了一个验证索引,然后将其存储在智能合约,以实现对云服务器返回结果正确性的验证。利用智能合约自动执行特性,保证只要服务方与用户诚实地按照协议执行,就能得到应得的结果,同时所有操作及操作结果都可在区块链中实现公开验证及追溯。