数据库查询的方法和系统技术方案

技术编号:18180381 阅读:139 留言:0更新日期:2018-06-09 22:58
一种在网络中的方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;在客户端处接收来自代理的第一响应;在客户端,向代理发送第二请求;响应于所述第二请求从所述代理向所述客户端发送加密的经计算的函数;以及在客户端处解密经计算的函数。

【技术实现步骤摘要】
【国外来华专利技术】数据库查询的方法和系统
本公开一般涉及数据库查询领域,并且更具体地涉及利用同态加密(以其各种形式,包括乱码电路)、布隆过滤器(以各种形式,包括密码、多维以及它们的组合)以及私有信息获取。
技术介绍
近年来,在电信网络和其他信息系统的发展中,隐私已成为更大的工程问题。具体而言,安全的双方通信(“STC”)是其中双方传送并计算函数以使得值(即,输入值、输出值和中间值,包括临时值)保持私密的情景,其已经成为诸如电信网络的智能系统设计中考虑的重要因素。存在若干支持STC和PIR(私有信息获取)的现有数据库,包括例如CryptDB、和由开发,并且包括存储在不可信服务器中的加密数据库、可信代理以及通过客户端计算机可用的应用。的目标是在不向不可信服务器泄露数据内容的情况下执行SQL查询(即更新、选择、加入、搜索)。在中,代理充当客户端和服务器之间的翻译(translator)。通过使用可信硬件来提供隐私保护SQL数据库。然而,在某些情况下,可信硬件的使用可能是昂贵并且性能受限的。与类似,但不独自使用可信硬件,而是使用可信硬件和软件技术的组合来模拟支持SQL查询的完全同态数据库。敏感信息存储在网络内的服务器侧。现有的STC方法具有若干缺点,例如取决于操作、框架和输入大小的不同结果。此外,完成计算所需的时间、所消耗的存储器量以及操作成本可能会过高(prohibitive)。此外,在许多情况下采用这种现有方法需要改变和/或提供用于现有系统的新架构。
技术实现思路
一种在网络中的方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,代理包括存储器和处理器;在客户端处,接收来自代理的第一响应;在客户端处,向代理发送第二请求;响应于第二请求,从代理向客户端发送加密的经计算的函数;以及在客户端处解密经计算的函数。一种系统,包括:至少一个网络组件,网络组件包括存储器和处理器;与网络组件通信的客户端,客户端包括存储器和处理器;与客户通信的代理;以及与代理通信的数据库。系统被配置为:在客户端处,向代理发送第一请求;在客户端处,接收来自代理的第一响应;在客户端处向代理发送第二请求;从代理向客户端发送加密的经计算的函数;并在客户端处解密经计算的函数。一种方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,代理包括存储器和处理器;在客户端处接收来自代理的第一响应;在客户端处,向代理发送加密的客户端值;在代理处从与代理通信的数据库中获取组件值,该组件值基于网络中的组件。该方法还包括,在代理处,基于所加密的客户端值和所获取的组件值来确定经计算的函数;在客户端处,向代理发送第二请求;响应于第二请求,从代理向客户端发送所加密的经计算的函数;并在客户端处解密经计算的函数。附图说明为了辅助本公开的适当理解,应当参考附图,其中:图1是根据本公开的实施例的系统架构的概览;图2是图示了根据本公开的实施例的方法的流程图;图3是图示了根据本公开的实施例的布隆过滤器填充(population)方法的流程图;图4是图示了根据本公开的实施例的函数计算方法的流程图;图5是图示了根据本公开的实施例的系统的图;图6是根据图5所示的系统图示客户端、代理和数据库之间的通信的概览;图7是图示了根据本公开的另一实施例的方法的流程图。图8是图示了根据图7中所描绘的方法的客户端、代理和数据库之间的通信的信号图。图9是根据图7中描绘的方法说明代理中的布隆过滤器填充的流程图;图10是根据图7中描绘的方法说明数据库中布隆过滤器填充的流程图;图11是根据图7中描绘的方法说明客户端与代理之间的布隆过滤器查询的流程图。图12是图示了根据图7中描绘的方法在函数评估期间客户端、代理和数据库之间的通信的流程图;以及图13是根据图7中描绘的方法被计算的示例距离计算。具体实施方式本公开提供了网络中的方法和系统,该方法和系统以数据库上的客户端查询和计算都可以从隐私角度被保护的方式组合了布隆过滤器、同态(homomorphic)加密和可信代理。本领域的普通技术人员都知道加密布隆过滤器(单维和多维,以下称为“CBF”)和同态加密(“HE”)两者。简言之,布隆过滤器是基于散列编码的概率数据结构,并主要用于电信网络中的成员查询。布隆过滤器的目标是减少所需的存储器量,并通过使用比特阵列和散列函数的组合来为成员测试提供更快的方法。典型的布隆过滤器包括初始设置为全“0”的长度为m的比特阵列,以及k个散列函数。开发CBF是为了允许客户端查询布隆过滤器,而不会将查询内容揭露给布隆过滤器。更具体地说,CBF可以利用盲签名,这使得客户端可以从服务器获取签名而不会向服务器透露已签名的内容。在CBF中,具有输入x的正常散列函数被具有输入(x,签名(x))的新散列函数替换,使得布隆过滤器被加密并且需要签名来查询布隆过滤器。例如,同态加密或HE允许对加密数据执行计算,从而防止云计算中的数据泄漏。因为HE本身不能够实现私有信息获取,所以本公开提出了CBF和HE与可信代理的组合,以将客户的请求和计算与对应的数据库隔离。现在参考图1,根据本公开的系统架构100包括与可信代理104(在本文中也被称为代理)通信的客户端102,其中可信代理与数据库或服务器106通信。如图1所示,可信代理104促进客户端102和数据库106之间的通信,使得客户端和数据库不直接相互通信。这允许客户端102的身份保持私有并且对于数据库106是未知的。可信代理104被配置为执行两个主要功能:1)生成CBF108并且响应由客户端102发出的CBF查询;以及2)基于客户端的输入从数据库106中获取记录,并且使用HE函数块110以使用所获取的记录和客户端的数据来执行函数评估。数据库106具有两个主要函数:索引和函数评估。根据本公开,使用CBF108,数据库的索引已经被提取并且在可信代理104内执行。类似地,通常由数据库106执行的函数评估已经被提取并且通过应用HE(使用HE函数110)来在可信代理内执行104。在图1所示的架构中,客户端102发送私有数据并希望接收公共数据作为返回。因此,如以下将进一步详细描述的,客户端102传送/查询代理104,代理104从客户端接收任意必要的私有数据。进而,并且使用HE110和CBF108的组合,代理104与数据库106进行通信,数据库106可以包括加密的数据,但是为了本公开的目的,就其本身而言并未被加密。数据库106将加密的数据返回给代理104,然后代理104向客户端102发送该加密的数据。然后,如果需要,客户端102可以解密所接收的数据。该架构的目标是确保数据库106不知道在客户端102和代理104之间传送的私有信息。下面将参照图2-13进一步详细描述用于实现该目标的方法和系统。现在转到图2,提供了电信网络中的方法200,并且包括在客户端102处向代理104发送第一请求(202)。第一请求可以包括例如对与代理104通信的数据库106进行索引的请求,这将在下面进一步详细描述。在204处,客户端102从代理104接收第一响应。接下来,在206处,客户端102向代理104发送第二请求,并且响应于第二请求,代理向客户端发送经加密的计算的函数(208)。在210处,客户端102对经计算的函数进行解密。如上面关于步骤20本文档来自技高网...
数据库查询的方法和系统

【技术保护点】
一种在网络中的方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;在所述客户端处,接收来自所述代理的第一响应;在所述客户端处,向所述代理发送第二请求;响应于所述第二请求,从所述代理向所述客户端发送加密的经计算的函数;以及在所述客户端处解密所述经计算的函数。

【技术特征摘要】
【国外来华专利技术】2015.08.18 US 62/206,4141.一种在网络中的方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;在所述客户端处,接收来自所述代理的第一响应;在所述客户端处,向所述代理发送第二请求;响应于所述第二请求,从所述代理向所述客户端发送加密的经计算的函数;以及在所述客户端处解密所述经计算的函数。2.根据权利要求1所述的方法,其中所述第一请求包括请求与所述代理进行通信的数据库的索引。3.根据权利要求2所述的方法,其中数据库的所述索引在所述代理中的加密布隆过滤器处被执行。4.根据权利要求3所述的方法,其中所述第一请求还包括:在所述代理处,基于所述数据库中的数据集合来生成优化的加密布隆过滤器;以及在所述代理处,基于所述数据库中的数据集合变化来更新所述加密布隆过滤器中的数据元素,其中更新所述加密布隆过滤器包括以下中的一项:删除所述布隆过滤器中的数据元素和在所述布隆过滤器插入数据元素。5.根据权利要求3所述的方法,其中所述第一请求还包括:在所述数据库处,基于所述数据库中的数据集合来生成优化的加密布隆过滤器;在所述数据库处,基于所述数据库中的数据集合变化来计算加密布隆过滤器数据元素;以及向所述代理发送经计算的所述加密布隆过滤器数据元素。6.根据权利要求1所述的方法,其中所述第二请求包括请求由所述代理对函数的计算。7.根据权利要求6所述的方法,其中函数的所述计算由所述代理使用同态加密来执行。8.根据权利要求1所述的方法,其中还包括在向所述客户端发送加密的经计算的函数之前:在所述客户端,向所述代理发送加密的客户端值;在所述代理处,从与所述代理通信的数据库中获取组件值,所述组件值基于所述网络中的组件;以及在所述代理处,基于所述加密的客户端值和已获取的组件值来确定所述经计算的函数。9.根据权利要求8所述的方法,其中从所述数据库获取的所述组件值是距离、时间、位置和文本数据串中的一个。10.一种系统,包括:网络组件,所述网络组件包括存...

【专利技术属性】
技术研发人员:I·J·奥利弗M·L·埃科布洛姆Y·J·C·米琪
申请(专利权)人:诺基亚通信公司
类型:发明
国别省市:芬兰,FI

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1