论文部分内容阅读
随着互联网技术的飞速发展,人们越来越多的通过网络获取信息。在享受各种网络服务带来的便利的同时,个人的隐私安全也受到了极大的挑战。用户在网络上进行信息检索的同时,检索的内容也会暴露给网络服务提供商。这些网络服务提供商会利用用户的检索记录来获取利益。在很多情况下,用户在查询敏感信息时希望能保护自己的查询隐私,私有信息检索的提出就是为了解决这个问题。私有信息检索分为信息论私有信息检索和计算性私有信息检索。其中信息论私有信息检索能够提供信息论的安全性,需要多个存储相同数据库的服务器。计算性的私有信息检索提供弱一些的安全性,建立在计算难解问题。信息论的私有信息检索要求服务器之间不能共谋,一旦服务器共谋则无法保证用户的隐私。计算性的私有信息检索则由于计算复杂度太高而缺乏实用性。如何能解决信息论私有信息检索面临的共谋问题一直以来困扰着很多学者。目前解决共谋问题的主要方案是在全部服务器共谋时将协议转变为计算性的私有信息检索。除此之外,私有信息检索还面临着许多其他问题,例如在不同步的数据库上如何进行私有信息检索。本文创新的将区块链与私有信息检索相结合,利用区块链的一些优良特性来解决私有信息检索中存在的问题,具体的研究内容和成果如下:1.提出基于比特币的私有信息检索支付协议从经济利益的角度考虑,如果让参与共谋的服务方受到利益损失,那么可以抑制服务方的共谋行为。本文从这个角度出发,提出了一种基于比特币的私有信息检索支付协议。该协议中,用户通过比特币交易支付私有信息检索的服务费用。服务方按照正常的流程可以拿到自己应得的服务费用,但是如果服务方选择共谋,则多数服务方会失去相应的服务费用,因此不会选择进行共谋。本文对协议的安全性以及可行性进行了分析,并对协议中的交易进行了模拟。根据分析可以得出该支付协议可以在一定程度上阻碍服务方的共谋行为。2.分析基于区块链的私有信息检索私有信息检索需要多个服务器存储相同的数据库副本,这与区块链的分布式账本非常的契合。区块链的数据来自区块链网络中的各个节点,不同的数据提供方更难形成共谋行为。此外,区块链账本具有很多优良特性,如账本不可篡改、内容可追溯等等,可以保证数据的可靠性和权威性。这些优点使得区块链非常适合作为私有信息检索的平台。本文分析了在公有链以及联盟链上进行私有信息检索的可行性,并提出合理的方案。最终得出,基于联盟链的多服务器私有信息检索最具可行性。此外,本文还提出了在区块链节点数据不同步情况下进行私有信息检索的方法。3.实现基于联盟链的私有信息检索根据前文的分析,基于联盟链的多服务器私有信息检索可行性最高。本文设计了基于联盟链的私有信息检索,并且给出了一个简单的实现。多个服务方共同维护一个联盟链,将自己的数据添加到链上,并且对外提供私有信息检索的服务。用户在本地生成请求字符串,服务器端的计算过程通过智能合约来实现。本文基于Hyperledger Fabric框架来构建联盟链,实现服务方数据的上传、更新以及访问控制等功能。用户通过客户端节点可以访问联盟链的数据以及进行私有信息检索。