CN108141462A - 数据库查询的方法和系统 - Google Patents
数据库查询的方法和系统 Download PDFInfo
- Publication number
- CN108141462A CN108141462A CN201680060601.9A CN201680060601A CN108141462A CN 108141462 A CN108141462 A CN 108141462A CN 201680060601 A CN201680060601 A CN 201680060601A CN 108141462 A CN108141462 A CN 108141462A
- Authority
- CN
- China
- Prior art keywords
- client
- agency
- database
- request
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种在网络中的方法,包括:在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;在客户端处接收来自代理的第一响应;在客户端,向代理发送第二请求;响应于所述第二请求从所述代理向所述客户端发送加密的经计算的函数;以及在客户端处解密经计算的函数。
Description
技术领域
本公开一般涉及数据库查询领域,并且更具体地涉及利用同态加密(以其各种形式,包括乱码电路)、布隆过滤器(以各种形式,包括密码、多维以及它们的组合)以及私有信息获取。
背景技术
近年来,在电信网络和其他信息系统的发展中,隐私已成为更大的工程问题。具体而言,安全的双方通信(“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)生成CBF 108并且响应由客户端102发出的CBF查询;以及2)基于客户端的输入从数据库106中获取记录,并且使用HE函数块110以使用所获取的记录和客户端的数据来执行函数评估。数据库106具有两个主要函数:索引和函数评估。根据本公开,使用CBF 108,数据库的索引已经被提取并且在可信代理104内执行。类似地,通常由数据库106执行的函数评估已经被提取并且通过应用HE(使用HE函数110)来在可信代理内执行104。
在图1所示的架构中,客户端102发送私有数据并希望接收公共数据作为返回。因此,如以下将进一步详细描述的,客户端102传送/查询代理104,代理104从客户端接收任意必要的私有数据。进而,并且使用HE 110和CBF 108的组合,代理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对经计算的函数进行解密。
如上面关于步骤202所述,客户端102向代理104发送第一请求,该第一请求根据本公开包括索引数据库106的请求。数据库的索引可以在代理104中的加密布隆过滤器108处执行。根据第一请求,客户端102查询代理104以确定诸如例如(如图4所示)基站的网络组件/元件的存在。该初始查询确定网络组件是否是数据库106的一部分,并且在代理提供否定响应的情况下避免了进一步不必要的计算的需要。换句话说,如果初始查询返回“假”或“否定”响应(即网络组件不是数据库106的一部分),则方法200可以结束或返回到步骤202(参见图中的虚线2)直到接收到肯定或“真”的响应(即网络组件是数据库的一部分)。
图3图示用于确定网络组件是否是数据库106的一部分的方法300。在302处,数据库106基于数据库中的数据集合来生成优化的加密布隆过滤器。在304处,数据库106基于数据库中的数据集合改变来计算加密布隆过滤器数据元素,并在306处向代理104发送经计算的加密布隆过滤器数据元素。因为代理104现在具有存储在CBF中的必要数据元素108,则客户端102然后可以在308处查询代理关于数据库106内的网络组件的存在。如果代理104返回“真”响应,则在310,方法300返回到步骤204,并且根据参照图2描述的方法200继续。然而,如果代理服务器104返回“假”响应,则在312处,方法300返回到步骤202,并且如所指示地进行。替代地,在312处,方法300可以返回到步骤302并且重复,直到从代理104接收到“真”响应。在308处的查询之前,可以实现盲签名方案(未示出),使得客户端102在向代理104发送查询之前盲闭(blind)查询的元件。这样的盲签名方案将需要客户端和代理之间的两轮通信,此时代理104可以继续向代理提供“真”或“假”的响应。盲签名是保护和认证通信的一种方法。这不是所呈现方法的要求,也不是唯一的方法。例如,可以使用其他认证方案,但是盲签名解决了多个密码密钥通信问题。因此,必要时和/或需要时,盲签名可以用任意其他传输和认证保护方案替换
尽管图3和上文公开了数据库106生成并且计算CBF 108,但代理104也可以生成并且填充CBF 108。具体地,代理104可以基于数据库106中的数据集合来生成优化的加密布隆过滤器108,并且然后可以基于数据库中的数据集合变化来更新加密布隆过滤器中的数据元素。加密布隆过滤器的更新可以包括以下中的一项:删除布隆过滤器中的数据元素和在布隆过滤器中插入数据元素。如果数据从CBF中删除,CBF中的散列值可以被更新并且计数器可以被减少;替代地,整个CBF可以被重新生成。由于CBF的这种更新通常为本领域技术人员所知,因此本文不再进一步描述。
如上文所述并且在图2中,在206处,向代理104发送第二请求。根据本公开,第二请求可以包括请求由代理对函数的计算。如将在下文进一步详细描述的并且参照图4中所示的方法400,函数的计算可以由代理104使用同态加密或HE来执行。具体地,在第二请求的接收时并且在402处,客户端102可以向代理服务器104发送加密的客户端值。在404,代理服务器从与代理服务器通信的数据库106中获取组件值,该组件值基于在网络中的组件。在406处,代理基于加密的客户端值和获取的组件值来确定经计算的函数。例如,客户端值、从数据库中获取的组件值以及对应的计算函数可以是距离、时间、位置和文本数据串之一。
现在参考图5-13,将描述本公开的具体使用情况。系统500被提供并且包括网络组件502,网络组件包括存储器502a和处理器502b。系统500还包括与网络组件通信的客户端504,客户端包括存储器504a和处理器504b。代理506被提供并且与客户端504进行通信,并且数据库508与该代理进行通信。如图5所示,并且在图6所示的架构600中,客户端504仅与代理506进行通信。换句话说,客户端504不直接与数据库508进行通信。如将在下面进一步详细描述的,系统500被配置为:在客户端504处向代理506发送第一请求;在客户端处,从代理接收第一响应;在客户端处向代理发送第二请求;从代理向客户端发送加密的经计算的函数;并且在客户端处解密经计算的函数。
在本系统500中,网络组件502是基站,并且客户端504是具有GPS连接的用户设备。在当前场景中,客户端或用户设备504想要知道他们相对于基站502的位置,但未向数据库508泄露他们的位置。现在参考图7-13,提供了用于确定客户端504相对于基站502的位置。
在702处,客户端或用户设备504向代理506发送第一请求,并且在704处从该代理接收第一响应。在706处,客户端504向代理发送加密的客户端值。加密的客户端值例如可以是用户设备504的位置。该客户端值被加密并且仅被可信代理506看到。代理506然后从与代理通信的数据库508中获取组件值(708)。在该场景中,组件值基于网络中的组件502,并且更具体地,是网络内的基站的位置,或者替代地是基站相对于客户端504的接近位置。在710,代理506基于加密的客户端值和获取的组件值来确定加密的经计算的函数,其细节将在下面相对于图13进一步描述。在712处,用户设备504向代理506发送第二请求,请求加密的经计算的函数,并且作为响应,代理向客户端发送加密的经计算的函数(714)。通常,客户端向代理中的函数发送参数,但是在本方法700中,可以发送函数作为参数,其被称为高阶函数。在716处,客户端502解密经计算的函数。
根据这种使用实例,经计算的函数是用户设备504与网络组件或基站502之间的距离。根据方法700,代理506和数据库508都不知道用户设备的位置,从而确保用户设备的位置的隐私。设备504是系统600中唯一知道其自身与网络组件或基站502之间的距离的组件。因此,本系统/方法确保客户端与代理之间的安全双向通信,而不会泄露与客户有关的机密信息。
图8-12包括图示了根据方法700的客户端504、代理506和数据库508之间的通信的信令图。具体地,图8图示了客户端504和代理506之间的信号流程800,其中客户端询问网络组件(在这种情况下是基站)是否作为网络的一部分存在。在802处,用户设备504查询代理506关于网络内的基站502的存在。代理504在804处咨询CBF 108(其根据下面的图9和10生成)以确定是否存在适当的基站ID。代理506然后向客户端504返回“真”或“假”响应(806)。
图9和图10分别图示了代理506和数据库508之间的信号流程900和1000。在信号流程900和1000中,CBF通过代理506(参见图9)或数据库508(见图10)填充。这些信号流程与上文被描述并且在图3中被图示的方法300相对应。在信号流程900中,在902处,代理506从数据库508请求数据集合,数据库508然后在904处向代理506发送数据集合。在906处,代理506基于数据库508中的数据集合来生成优化的加密布隆过滤器108,并且然后可以基于数据库中的数据集合变化来更新加密布隆过滤器(908)中的数据元素。加密布隆过滤器的更新可以包括以下中的一项:删除布隆过滤器中的数据元素和在布隆过滤器中插入数据元素。如果数据从CBF中删除,散列值可以被更新,计数器可以被减少;替代地,整个CBF可以被重新生成。由于CBF的这种更新对于本领域的技术人员而言通常是已知的,因此在此不再进一步描述。
信号流程1000图示了用于填充CBF的替代方法,其中CBF在数据库508处生成。在1002处,数据库508基于数据库中的数据集合来生成优化的加密布隆过滤器。在1004处,数据库508基于数据库中的数据集合变化来计算加密布隆过滤器数据元素,并且向代理506发送经计算的加密布隆过滤器数据元素(步骤1006)。因为代理506现在具有存储在CBF 108中的必要数据元素,所以客户504可以向代理506查询数据库内基站502的存在,如图11中的信号图1100所示。在1102处,盲签名方案被配置,以使得用户设备504可以在向代理506发送查询之前致盲查询的元素(即,在这种场景中是基站)。一旦在1104处发送查询,可以在1106处移除盲签名。如上文所指出的,由于盲签名方案在本领域中是已知的,因此本文不再进一步描述这种方案的配置。在1108处,代理506向用户设备504返回“真”或“假”响应,分别指示基站502作为数据库508的一部分存在或者该基站不作为该数据库的一部分存在。如果代理向用户设备504返回“真”响应,则方法700继续进行到步骤706-714,其也在下面描述的图12的信号图1200中描绘。
在信号图1200中的1202处,用户设备504向代理506发送加密的客户端值,在这种场景中,其是设备的位置。在1204处,代理506从数据库508中获取基站502的位置。在1206,代理506基于加密的设备位置和使用同态加密获取的基站位置来确定经计算的函数(如设备在第二请求中所请求的),其细节将在下面参照图13进一步描述。在1208处,代理506向客户端504发送加密的经计算的函数。
图13图示了利用上述方法700的示例距离计算1300。在该计算1300中,用户设备504具有位置x,其中x=(123,543)。基站502具有位置y,其中y=(3456,2219)。为了使用上述安全双方通信方法来计算x和y之间的距离,计算在设备/客户端504和代理506之间分开,使得代理不了解客户端的位置,并且客户端只了解距离d。用户设备504在向代理506发送其位置之前对其位置进行加密,并且代理获取基站的未加密位置。使用具有128位密钥的Paillier计算方法(这是用于加密计算的一种众所周知的方法),使用以下函数来计算加密距离d:
在本示例中使用128位密钥用于速度目的,但可以认识到可以使用更短的密钥。上文标识的距离函数是以同态加密方式计算距离的一个示例,并且可以理解,可以利用其他函数。此外,虽然以上利用Pailler方案,但可以理解,可以利用替代的加密方案,诸如ElGamal或本领域技术人员已知的其他同态加密方案。计算1300导致基站502和用户设备504之间的欧几里得距离为3823.71089388。通过利用上文标识的方法来计算基站502和设备504之间的距离,代理不了解关于设备位置的任意事情,并且接收计算的距离的唯一组件是设备。当代理506获取基站位置时,数据库508不了解设备查询的来源。因此,设备/客户端在整个距离计算期间维护其隐私。
本公开提供了一种用于通过使用加密布隆过滤器和同态加密的组合来提供安全双向通信的方法和系统,以将客户端的请求和得到的计算的函数与网络中的数据库隔离。本公开维护客户端的隐私,使得代理和数据库都不了解其位置。在本系统和方法中包括可信代理还提供相对于数据库的客户端保护,因为它隐藏了客户查询的来源及其内容。具体而言,我们的方法提供了一种通过将某些索引(作为布隆过滤器)和某些函数(使用同态加密技术实现)提取到可信代理中来“包装”现有的不可信数据库的机制。如上所述,“信任”意味着代理不会向数据库泄露任意信息或尽可能少的信息,并且隐藏客户端的身份。可信代理尽可能少地了解客户的计算,例如:通过上面详细描述的HE和密码BF。由于可信代理中的同态加密和加密布隆过滤器“包装”了现有数据库,从而阻止其获得关于客户端位置/查询的知识,所以本系统和方法也可以应用于现有数据库。此外,假设已经提供了预定义/优化的API,本方法可以应用于现有系统。
本公开的实施例可以用软件(由一个或多个处理器执行)、硬件(例如,专用集成电路)或软件和硬件的组合来实现。在示例实施例中,软件(例如,应用逻辑、指令集合)被维护在各种常规非暂时性计算机可读介质中的任意一种上。在本文件的上下文中,“非暂时性计算机可读介质”可以是可以包含、存储、传送、传播或传输供诸如计算机的指令执行系统、装置或设备使用或与诸如计算机的指令执行系统、装置或设备结合使用的指令的任意介质或部件。非暂时性计算机可读介质可以包括计算机可读存储介质(例如,存储器或其他设备),其可以是可以包含或存储由诸如计算机的指令执行系统、装置或设备使用或与诸如计算机的指令执行系统、装置或设备结合使用的指令的任意介质或部件。因此,本公开可以包括计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质承载体现在其中、以供与计算机一起使用的计算机程序代码,计算机程序代码包括用于执行如前所述的方法及其变型中的任意一个的代码。此外,本公开还可以包括一种装置,其包括一个或多个处理器以及包括计算机程序代码的一个或多个存储器,其中该一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使得该装置执行如前所述的方法及其变体中的任意一个。
如果需要,本文讨论的不同功能可以以不同的顺序执行和/或彼此同时执行。此外,如果需要,上述功能中的一个或多个可以是可选的或者可以被组合。
尽管在独立权利要求中阐述了本公开的各个方面,但是本发明的其它方面包括来自所描述的实施例和/或具有独立权利要求的特征的从属权利要求的特征的其他组合,而不仅仅是在权利要求中明确阐述的组合。
本文中还要注意的是,虽然以上描述了本公开的示例性实施例,但是这些描述不应被视为限制性的。相反,在不脱离所附权利要求限定的本公开的范围的情况下,可以做出若干变体和修改。
本领域的普通技术人员将容易地理解,如上所述的公开可以用不同顺序的步骤和/或用与所公开的配置不同的配置中的硬件元件来实践。因此,尽管已经基于这些优选实施例描述了本公开,但是对于本领域技术人员来说显而易见的是,在保持在本发明的精神和范围内的同时,某些修改、变体和替代构造将是明显的。因此,为了确定本公开的范围和边界,应该参考所附权利要求。
可以在说明书和/或附图中找到的以下缩写定义如下:
CBF 加密布隆过滤器
HE 同态加密
STC 安全双方通信
Claims (20)
1.一种在网络中的方法,包括:
在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;
在所述客户端处,接收来自所述代理的第一响应;
在所述客户端处,向所述代理发送第二请求;
响应于所述第二请求,从所述代理向所述客户端发送加密的经计算的函数;以及
在所述客户端处解密所述经计算的函数。
2.根据权利要求1所述的方法,其中所述第一请求包括请求与所述代理进行通信的数据库的索引。
3.根据权利要求2所述的方法,其中数据库的所述索引在所述代理中的加密布隆过滤器处被执行。
4.根据权利要求3所述的方法,其中所述第一请求还包括:
在所述代理处,基于所述数据库中的数据集合来生成优化的加密布隆过滤器;以及
在所述代理处,基于所述数据库中的数据集合变化来更新所述加密布隆过滤器中的数据元素,其中更新所述加密布隆过滤器包括以下中的一项:删除所述布隆过滤器中的数据元素和在所述布隆过滤器插入数据元素。
5.根据权利要求3所述的方法,其中所述第一请求还包括:
在所述数据库处,基于所述数据库中的数据集合来生成优化的加密布隆过滤器;
在所述数据库处,基于所述数据库中的数据集合变化来计算加密布隆过滤器数据元素;以及
向所述代理发送经计算的所述加密布隆过滤器数据元素。
6.根据权利要求1所述的方法,其中所述第二请求包括请求由所述代理对函数的计算。
7.根据权利要求6所述的方法,其中函数的所述计算由所述代理使用同态加密来执行。
8.根据权利要求1所述的方法,其中还包括在向所述客户端发送加密的经计算的函数之前:
在所述客户端,向所述代理发送加密的客户端值;
在所述代理处,从与所述代理通信的数据库中获取组件值,所述组件值基于所述网络中的组件;以及
在所述代理处,基于所述加密的客户端值和已获取的组件值来确定所述经计算的函数。
9.根据权利要求8所述的方法,其中从所述数据库获取的所述组件值是距离、时间、位置和文本数据串中的一个。
10.一种系统,包括:
网络组件,所述网络组件包括存储器和处理器;
与所述网络组件通信的客户端,所述客户端包括存储器和处理器;
与所述客户端通信的代理;以及
与所述代理通信的数据库;
其中所述系统被配置为:
在所述客户端处,向所述代理发送第一请求;
在所述客户端处,接收来自所述代理的第一响应;
在所述客户端处向所述代理发送第二请求;
从所述代理向所述客户端发送加密的经计算的函数;以及
在所述客户端处解密所述经计算的函数。
11.根据权利要求10所述的系统,其中所述网络组件是基站。
12.根据权利要求10所述的系统,其中所述客户端仅与所述代理通信。
13.根据权利要求10所述的系统,其中所述代理与所述代理和所述数据库两者通信。
14.一种方法,包括:
在具有存储器和处理器的客户端处,向代理发送第一请求,所述代理包括存储器和处理器;
在所述客户端处,接收来自所述代理的第一响应;
在所述客户端处,向所述代理发送加密的客户端值;
在所述代理处,从与所述代理通信的数据库中获取组件值,所述组件值基于所述网络中的组件;
在所述代理处,基于所述加密的客户端值和已获取的组件值来确定经计算的函数;
在所述客户端处,向所述代理发送第二请求;
响应于所述第二请求,从所述代理向所述客户端发送加密的经计算的函数;以及
在所述客户端处解密所述经计算的函数。
15.根据权利要求14所述的方法,其中向所述代理发送加密的客户端值包括向所述代理发送客户端位置值。
16.根据权利要求15所述的方法,其中所述从数据库获取组件值包括基于所述网络组件来获取接近度值,其中所述接近度值包括所述网络组件相对于所述客户端的接近度。
17.根据权利要求16所述的方法,其中所述网络组件是基站。
18.根据权利要求16所述的方法,其中确定所述经计算的函数包括确定所述客户端与所述网络组件之间的距离。
19.根据权利要求14所述的方法,其中所述第一请求包括请求与所述代理通信的数据库的索引,其中数据库的所述索引在所述代理中的加密布隆过滤器处被执行。
20.根据权利要求14所述的方法,其中所述第二请求包括请求由所述代理对函数的计算,其中函数的所述计算由所述代理使用同态加密来执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562206414P | 2015-08-18 | 2015-08-18 | |
US62/206,414 | 2015-08-18 | ||
PCT/EP2016/068387 WO2017029108A1 (en) | 2015-08-18 | 2016-08-02 | Method and system for database queries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108141462A true CN108141462A (zh) | 2018-06-08 |
CN108141462B CN108141462B (zh) | 2020-11-13 |
Family
ID=56557704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680060601.9A Active CN108141462B (zh) | 2015-08-18 | 2016-08-02 | 数据库查询的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180248684A1 (zh) |
EP (1) | EP3338426A1 (zh) |
JP (1) | JP6732887B2 (zh) |
KR (1) | KR102103135B1 (zh) |
CN (1) | CN108141462B (zh) |
WO (1) | WO2017029108A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10106696B2 (en) * | 2015-11-18 | 2018-10-23 | Cabot Corporation | Inkjet ink compositions |
US11515997B2 (en) * | 2020-06-19 | 2022-11-29 | Duality Technologies, Inc. | Privacy enhanced proximity tracker |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294311A1 (en) * | 2005-06-24 | 2006-12-28 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
US7437550B2 (en) * | 1999-12-02 | 2008-10-14 | Ponoi Corp. | System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data |
CN101848245A (zh) * | 2010-02-05 | 2010-09-29 | 南京德讯信息系统有限公司 | 基于ssl/xml的数据库访问代理方法及系统 |
CN102203773A (zh) * | 2008-09-19 | 2011-09-28 | 甲骨文国际公司 | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 |
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件系统的元数据存储系统和管理方法 |
US8763071B2 (en) * | 2008-07-24 | 2014-06-24 | Zscaler, Inc. | Systems and methods for mobile application security classification and enforcement |
CN107016296A (zh) * | 2017-01-18 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据索引构建、数据读取的方法、装置及电子设备 |
CN107534665A (zh) * | 2015-04-24 | 2018-01-02 | 思科技术公司 | 利用ssl会话票证扩展的可扩缩中间网络设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004312607A (ja) * | 2003-04-10 | 2004-11-04 | Nec Corp | 無線lanエリア検索システムおよび無線lanエリア検索方法 |
JP4888945B2 (ja) * | 2005-12-27 | 2012-02-29 | キヤノンマーケティングジャパン株式会社 | 電子帳票システム、電子帳票サーバ、クライアント端末、情報提供方法、情報利用方法、サーバプログラム、及びクライアント端末プログラム |
JP2010266952A (ja) * | 2009-05-12 | 2010-11-25 | Nec Corp | メンバ管理装置、メンバ管理システム、メンバ管理プログラム、および、メンバ管理方法 |
JP5412414B2 (ja) * | 2010-12-08 | 2014-02-12 | 株式会社日立製作所 | 検索可能暗号処理システム |
US9667713B2 (en) * | 2011-03-21 | 2017-05-30 | Apple Inc. | Apparatus and method for managing peer-to-peer connections between different service providers |
KR101311031B1 (ko) * | 2012-02-01 | 2013-09-24 | 이화여자대학교 산학협력단 | 검증 블룸 필터를 포함하는 멀티 블룸 필터 |
EP2709028A1 (en) * | 2012-09-14 | 2014-03-19 | Ecole Polytechnique Fédérale de Lausanne (EPFL) | Privacy-enhancing technologies for medical tests using genomic data |
EP2951945B1 (en) * | 2013-01-29 | 2020-09-09 | NEC Corporation | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
-
2016
- 2016-08-02 WO PCT/EP2016/068387 patent/WO2017029108A1/en active Application Filing
- 2016-08-02 CN CN201680060601.9A patent/CN108141462B/zh active Active
- 2016-08-02 KR KR1020187007647A patent/KR102103135B1/ko active IP Right Grant
- 2016-08-02 JP JP2018509506A patent/JP6732887B2/ja active Active
- 2016-08-02 EP EP16745480.0A patent/EP3338426A1/en not_active Withdrawn
- 2016-08-02 US US15/753,720 patent/US20180248684A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437550B2 (en) * | 1999-12-02 | 2008-10-14 | Ponoi Corp. | System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data |
US20060294311A1 (en) * | 2005-06-24 | 2006-12-28 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
US7548908B2 (en) * | 2005-06-24 | 2009-06-16 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
US8763071B2 (en) * | 2008-07-24 | 2014-06-24 | Zscaler, Inc. | Systems and methods for mobile application security classification and enforcement |
CN102203773A (zh) * | 2008-09-19 | 2011-09-28 | 甲骨文国际公司 | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 |
CN101848245A (zh) * | 2010-02-05 | 2010-09-29 | 南京德讯信息系统有限公司 | 基于ssl/xml的数据库访问代理方法及系统 |
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件系统的元数据存储系统和管理方法 |
CN107534665A (zh) * | 2015-04-24 | 2018-01-02 | 思科技术公司 | 利用ssl会话票证扩展的可扩缩中间网络设备 |
CN107016296A (zh) * | 2017-01-18 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据索引构建、数据读取的方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
潘景昌: "《一个分布式系统的设计与实现》", 《信息技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108141462B (zh) | 2020-11-13 |
EP3338426A1 (en) | 2018-06-27 |
KR20180042327A (ko) | 2018-04-25 |
US20180248684A1 (en) | 2018-08-30 |
JP2018525678A (ja) | 2018-09-06 |
WO2017029108A1 (en) | 2017-02-23 |
KR102103135B1 (ko) | 2020-04-23 |
JP6732887B2 (ja) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rahulamathavan et al. | Privacy-preserving blockchain based IoT ecosystem using attribute-based encryption | |
US11784801B2 (en) | Key management method and related device | |
JP6941183B2 (ja) | データのトークン化 | |
US10635824B1 (en) | Methods and apparatus for private set membership using aggregation for reduced communications | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
US8892866B2 (en) | Secure cloud storage and synchronization systems and methods | |
JP5420085B2 (ja) | データ処理装置及びデータ保管装置 | |
US9646168B2 (en) | Data access control method in cloud | |
US10229285B2 (en) | Privacy enhanced central data storage | |
WO2019080281A1 (zh) | 一种电子医疗云中的健康档案访问控制系统及方法 | |
Zhang et al. | Block-based access control for blockchain-based electronic medical records (EMRs) query in eHealth | |
CN108667605B (zh) | 一种数据加密、解密方法和装置 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN108632030A (zh) | 一种基于cp-abe高效且安全的细粒度访问控制方法 | |
US11290269B2 (en) | Self certification of devices for secure transactions | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
Murugesan et al. | Analysis on homomorphic technique for data security in fog computing | |
Sethia et al. | CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder. | |
WO2021098152A1 (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
CN113434875A (zh) | 一种基于区块链的轻量化访问方法及系统 | |
CN108141462A (zh) | 数据库查询的方法和系统 | |
JP2015018057A (ja) | 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム | |
Qi et al. | Secure data deduplication with dynamic access control for mobile cloud storage | |
CN113065146A (zh) | 一种用于区块链数据保护的同态加密方法 | |
Borgh | Attribute-based encryption in systems with resource constrained devices in an information centric networking context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |