CN104995632B - 隐私保护数据库系统 - Google Patents

隐私保护数据库系统 Download PDF

Info

Publication number
CN104995632B
CN104995632B CN201380073289.3A CN201380073289A CN104995632B CN 104995632 B CN104995632 B CN 104995632B CN 201380073289 A CN201380073289 A CN 201380073289A CN 104995632 B CN104995632 B CN 104995632B
Authority
CN
China
Prior art keywords
server
mask
encrypted
key
array
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.)
Expired - Fee Related
Application number
CN201380073289.3A
Other languages
English (en)
Other versions
CN104995632A (zh
Inventor
V·柯勒斯尼科夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Asset Group Co., Ltd.
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN104995632A publication Critical patent/CN104995632A/zh
Application granted granted Critical
Publication of CN104995632B publication Critical patent/CN104995632B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

一种数据库系统,包括服务器、索引服务器和客户端。在一个实施例中,所述服务器随机地排列数据库记录的顺序。所述服务器通过生成与每个已排列的数据库记录相对应的随机的加密密钥,向所述索引服务器提供加密密钥数组。所述服务器用与每个已排列的数据库记录对应的加密密钥加密每个已排列的数据库记录。所述索引服务器计算和加密每个加密密钥和对应的随机掩码的和,并且发送已排列的被掩码的密钥数组至所述服务器。所述索引服务器向所述客户端提供加密的数据库记录和对应于所述加密的记录的掩码和密钥。所述客户端发送所述掩码和密钥的加密的和至所述服务器。所述服务器用公共密钥解密所述被掩码的密钥并发送所述解密的密钥至所述客户端。然后所述客户端恢复所述记录密钥并解密所述记录。

Description

隐私保护数据库系统
在由情报先进研究计划署(IARPA)给予的合同编号D11PC20194下由政府支持做出本发明。政府对该专利具有特定的权力。
技术领域
本公开一般涉及安全存储和信息检索领域。
背景技术
有时当客户端从数据库检索数据时,有必要使得被检索的数据和查询本身对于中间的实体——例如,服务器和,如果有的话,任何辅助的服务设备来说——是不可见的(即被隐藏)。已经设计出多个方法以从服务器屏蔽数据,然而需忍受,例如巨大的计算开销。此外,现有的方案不能充分地保护客户查询免于被检查(inspection),因而给恶意的实体提供了确定提供给客户端的信息的机会。
因此,需要能够解决上述的缺陷的方案以提供从数据库的改进的数据安全检索。
发明内容
在一个实施例中,本公开提供一种数据库服务器。该服务器包括处理器和存储器。存储器能够由处理器访问并且包括多个数据库记录。处理器被配置以在网络上与索引服务器通信,所述索引服务器例如辅助的非协作(noncolluding)服务器。处理器被配置以至少伪随机地排列数据库记录的顺序,从而生成已排列的数据库。处理器可生成与每个已排列的数据库记录相对应的至少伪随机的加密密钥,从而产生加密的密钥数组。可使用与每个已排列的数据库记录相对应的加密密钥对其加密。处理器被配置以将已排列的数据库记录和至少伪随机的加密密钥存储在存储器中。
在数据库服务器的任意实施例中,处理器被进一步配置以生成公私密钥对,并且使用该密钥对——例如,公共密钥——同态地加密每个伪随机加密密钥。在任意实施例中,处理器可被进一步配置以接收可能被掩码的加密密钥数组,并且解密和存储已解密的加密密钥。在任意实施例中,处理器可被配置以解密从索引服务器接收的已加密的密钥并且发送生成的已解密的密钥,例如至客户端。在任意实施例中,处理器可被配置以发送已排列的数据库和已解密的密钥数组至辅助的非协作服务器。
在另一实施例中,本公开提供数据库索引服务器。该索引服务器包括处理器和能够由处理器访问的存储器。存储器包括由处理器执行以在处理器和客户端以及数据库服务器之间的网络上提供通信的程序指令。处理器被配置以接收加密密钥数组,其可能是加密的。处理器可生成与所述数组中的每一个密钥相对应的至少伪随机的掩码。处理器可计算和加密每个加密密钥和与该密钥对应的掩码的和。
在索引服务器的任意实施例中,处理器可被进一步配置以至少伪随机地排列所述已加密的和的序列以生成已排列的被掩码的密钥数组。在一些实施例中,所述和被同态地加密。在任意实施例中,处理器被进一步配置以从数据库服务器接收数据记录的数组。在此类实施例中,处理器被进一步配置以从客户端接收记录编号,并且返回与数据编号对应的数据记录和掩码至客户端。在索引服务器的任意实施例中,数据记录数组的每个记录都可能是加密的。
另一实施例提供数据库客户端。客户端包括处理器和存储器。存储器可被处理器访问并且包括能够由处理器执行以从索引服务器接收数据库记录、掩码和对应的密钥的程序指令。处理器被配置以计算和加密所述密钥与所述掩码的和,并且发送所述已加密的和至数据库服务器。
在数据库客户端的任意实施例中,密钥可以使被掩码的密钥,并且处理器可被进一步配置以从服务器接收与被掩码的密钥对应的已解密的密钥。在任何此类实施例中,处理器可被进一步配置以从接收到的已解密的密钥中减去掩码。在任何此类实施例中,处理器被进一步配置以使用已解密的密钥解密接收到的数据库记录。
另一实施例提供了操作数据库服务器的方法。所述方法包括至少伪随机地排列由服务器存储的数据库记录的顺序。生成对应于每一个已排列的数据库记录的至少伪随机的加密密钥。使用与每一个已排列的数据库记录对应的加密密钥加密所述每个已排列的数据库记录。
另一实施例提供了操作数据库索引服务器的方法。所述方法包括接收加密密钥数组,其可能是被加密的。生成对应于数组中的每个密钥的至少伪随机的掩码。计算每个加密密钥与对应于该密钥的掩码的已加密的和。
而另一实施例提供了操作数据库客户端的方法。所述方法包括向索引服务器查询对应于记录编号的数据库记录、掩码和密钥。计算和加密所述密钥和所述掩码的和。所述加密的和被提供至数据库服务器。
本发明的附加方面部分将部分地在具体实施方式、图表和后续的任意权利要求中陈述,并且部分地从具体实施方式中推出,或通过本发明的实践中得知。应理解上述的一般描述和随后的具体实施方式都仅仅是示例性和解释性的,并且并非公开作为对本发明的限制。
附图说明
本发明更完整的理解可通过参考随后的详细描述并结合附图获得,其中:
图1示出了包括经由通信网络耦合通信的服务器(S)、索引服务器(IS)和客户端(C);
图2-4分别示出了例如如图1所示的服务器、索引服务器和客户端的功能块。
具体实施方式
本公开针对,例如,通过服务器的数据库记录安全检索。在一些传统安全数据库系统中,数据库服务器被实现为两个非协作实体,服务器S和索引服务器IS。在此类实施例中,服务器为数据库的所有者。索引服务器可被认为是,例如,辅助的非协作服务器。在设置阶段期间,服务器将数据库的每一行加密并且将所述加密发送至索引服务器。当客户端C查询索引服务器持有的已加密的数据库时,索引服务器回复正确的(已加密的)行,并且要求服务器发送解密密钥至客户端。然而,因为服务器知道被发送至服务器的密钥,客户端查询不是严格私密的,有可能向恶意实体提供了拦截查询数据的机会。
改进此类传统的系统的安全性的一些尝试需要计算资源,其可能昂贵或者甚至是过高的。例如一个已提出的方案使用大小为n2的同态加密矩阵,其中n为数据库记录的数目。在此类实现中,索引服务器使用新的密钥再加密(re-encrypt)所述n个记录中以每一个,所述实现需要n2个加密操作。对于多于中等数目(modest number)的数据库记录,这样的解决方案可超过数据库系统的实际计算限制。因此需要替代的解决方案。
发明者发现在安全数据库系统中的查询的安全性可通过例如在本文中描述的实施例中公开的设置阶段中的分配和操纵解密密钥来加以改进。简单地但非限制性的来说,在一个实施例中,服务器向非协作索引服务器提供已排列并且已加密的数据库以及对应的加密/解密密钥数组。此处非协作服务器被定义为辅助服务器,其存储和搜索所述已加密的数据库。客户端向索引服务器查询数据库记录。索引服务器以已加密的形式返回被请求的记录,连同对应的解密密钥和对应的掩码值至客户端。然后客户端将所述掩码值加至所述密钥,加密所述和并且将其发送至服务器。然后服务器返回未加密的被掩码的密钥,客户端使用其解密先前从索引服务器接收的已加密的记录。仅客户端有足够的信息来确定被请求的数据库记录的值。因为索引服务器拥有的是已加密的数据库的已排列副本,所以查询对于索引服务器是隐藏的。因此索引服务器不知道未被排列的数据库中的哪个记录被返回。因为服务器返回的密钥是被掩码的,所以服务器也不知道未被排列的数据库中的哪个记录被返回。因此服务器不能够将被掩码的密钥与服务器用来加密数据库的特定行的密钥相关联。因此安全数据库系统可提供记录的安全检索。此外,描述的实施例以与n成比例服务数据库查询。在包括1E8个记录的数据库中,本发明的实施例因此可提供n2/n的效率提高,或在该示例中1E8的效率提高。
图1示出了依据无限制实施例的系统100,其可操作以例如提供数据的安全存储和检索。系统100包括第一系统,其依次包括服务器(S)200和索引服务器(IS)300。客户端(C)400可与第一系统通信以检索数据库条目。客户端400、服务器200和索引服务器300可经由网络来通信。网络可以是有线的、无线的或光纤连接的任意组合,例如因特网。服务器200和索引服务器300可为物理并列的或彼此远离的。在一些实施例中,服务器200、索引服务器300和客户端400经由因特网通信。
图2示出了服务器200的一个示例性实施例。服务器200包括处理器(CPU)210、存储器220和网络接口230。存储器220可包括例如RAM、ROM和磁盘储存器的任意组合以支持此处所描述的功能。存储器220可包括处理器210可访问和执行的指令。存储器220还可包括数据库记录,例如数据条目的数组,其可根据请求提供给客户端400。存储器220还包括例如100GB或更多的RAM以支持数据库功能。网络接口230可包括与索引服务器300和客户端400通信的功能。例如网络接口230可被配置以通过TCP/IP或类似的标准经由网络通信。
图3示出了索引服务器的一个示例性实施例。索引服务器300可包括类似于就服务器200所描述的功能模块。例如,索引服务器300可包括处理器310、存储器320和网络接口330。存储器320能够由处理器310访问和执行的指令以及容纳下述多种数据结构和由客户端400请求的数据访问的存储空间。
图4示出了客户端400的实施例。客户端400可再次包括类似于服务器200和索引服务器300的功能模块的模块,例如处理器410、存储器420和网络接口430。存储器220包括能够由处理器400访问和执行的指令。客户端400可以是例如,个人计算机、移动计算设备(例如)、智能手机、工作站或大型计算机系统。
在此描述了第一实施例中初始化服务器200和索引服务器300以向客户端400提供安全数据检索的方面。初始化数据库的方法500开始于步骤S05,其中服务器200生成公私密钥对kpp并且发送公共密钥至客户端400。假定服务器200已经包括记录R[i]=R[1],R[2],R[3],…的数据库,在步骤S10中,服务器200至少伪随机地排列数据库记录的顺序以产生已排列的数据库R[πi]。换句话说,数据库数组的记录R[i]被映射至新的数据库数组,其中用从{i}的集合中至少伪随机地选择出的已排列的索引πi替换记录索引i。此处,术语“至少伪随机地”反映了生成“随机”值的计算方法内在地包括一定的确定程度,但是可有效地与随机生成的值不易区分。在下文中,计算和数值集合可能被描述为“随机”且未加限制,然而应认识到这些计算或集合可能仅仅是伪随机的。
在步骤S15中,服务器200生成随机的密钥数组kri]。该数组包括与已排列的数据库R[πi]的每个记录相关联的随机密钥值kr。在步骤S20中,服务器200通过使用与R[πi]的每个值相关联的密钥值kri]加密R[πi]的每个值来生成加密的数据库数组E[πi]。在步骤S25中,服务器200使用密钥对kpp的公共密钥加密kri]的每个成员以生成已加密的密钥数组。在优选的实施例中,所述加密是同态的。同态加密(HE)的示例为Paillier密码系统。HE在多个实施例中的使用详情如下。已加密的密钥数组是指kr,HEi]未加限制的反映该实施例。在步骤S30中,服务器200传输已加密的数据库数组E[πi]和已加密的密钥数组kr,HEi]至索引服务器300。在步骤IS05中,索引服务器300存储数组E[πi]和kr,HEi]。
一旦完成步骤IS05,系统100的设置阶段就完成了。由于使用了已描述的操作生成E[πi],服务器200没有足够的信息来确定E[πi]数组的内容。更详细地说,由服务器200存储的R[i]数据库数组以不同于由索引服务器300存储的E[πi]数组被索引,使得这些数组之间的关系对服务器200和索引服务器300中的每一个是隐藏的。但是,如下列描述,客户端400可仅使用其自身已知的信息来确定已加密的数据库记录的值,从而提供相对于传统的安全数据库系统来说更安全的系统100。
以下描述了由客户端400从系统100安全检索数据的第一实施例。所述第一实施例提供了客户端400和服务器200之间的信息交换以及客户端400和索引服务器300之间的信息交换的高层描述。在此呈现了方法700,其提供了由服务器200、索引服务器300和客户端执行以响应当前实施例中的数据库查询的操作的更详细的描述。
在步骤C05中,客户端400发送查询至索引服务器300以用于特定的记录n。该步骤对应于从客户端400至索引服务器300的第一通信。响应于该查询,在步骤IS10中,索引服务器发送E[n]和kr,HE[n]至客户端400。该步骤对应于从索引服务器300至客户单400的第二通信。
在步骤C10中客户端400为已排列的数据库的每个条目生成随机的掩码值。在步骤C15中客户端400形成至服务器200的请求以解密密钥kr[n]。但为了阻止服务器200确定密钥值,客户端400首先通过添加在步骤C10中生成的对应的掩码值来掩码密钥的值。由于在步骤S10中的密钥的同态加密,这是可行的。因此,在第一子步骤C20中,客户端400使用先前从服务器200接收的公共密钥执行kr,HE[n]和掩码[n]的和的同态加密。如相关领域的技术人员所知的,同态加密的属性使得能够添加例如掩码[n]的偏移至已加密的kr,HE[n]值并加密该结果以使得随后可通过减去掩码[n]来恢复kr[n]值而无需第一解密已加密的和,例如在下列描述的步骤C30中。在子步骤C25中,客户端400传输km,HE[n]至服务器200。该步骤对应于从客户端400至服务器200的第三通信。
km,HE[n]值的传输服务于发起至服务器200的请求以解密km,HE[n]来生成被掩码的密钥km[n]。在步骤S35中服务器200使用kpp——例如kpp的私有密钥——来解密km,HE[n]以恢复km[n]。由于该值仍被掩码,服务器200不知道对应的kr[n]的值。在步骤S40中服务器200发送km[n]至客户端200。该步骤作为从服务器200至客户端400的第四通信。
在步骤C30中客户端400从km[n]减去掩码[n]从而恢复kr[n]。在步骤C35中客户端400使用kr[n]解密E[n]来获取R[n]。
在前述的实施例中,因为仅客户端400拥有已加密的数据E[n]和掩码[n]值,仅客户端能够恢复需要的值kr[n]以解密E[n]。此外,来自R[i]数组的R[πi]数组的排列保证了服务器200不能够确定客户端400试图恢复的数据库记录。用这样的方式,客户端400能够安全地恢复R[n]的值,例如服务器200或索引服务器300不能够确定客户端400所检索的数据。
在此描述了系统100的操作的第二实施例。所述第二实施例提供了方法800,其描述了数据库设置方法500的实施例的替代选择。在此提供了方法1000的高层的和详细的描述。在该实施例中,索引服务器300执行先前在方法700中由客户端400执行的同态操作。此类操作可减小客户端400与服务器200以及索引服务器300在线所需要的时间,但是有时以额外的离线处理为代价。
方法800在步骤IS05之前提供步骤IS15,其中索引服务器300生成对应于每个数据库记录的随机掩码值掩码[πi],例如如先前参考步骤C10所描述的。在步骤IS05中,索引服务器300如先前所描述地存储数组E[πi]和kr,HEi]。在步骤IS20中,索引服务器300使用kpp的公共密钥为每个数据库记录计算kr,HEi](例如使用kpp的公共密钥的kr,HEi])和掩码[πi]的和的同态加密,所述和为指定的km,HEi]。在步骤IS25中,索引服务器300随机地排列km,HEi]的顺序并且发送值的已排列的数组至服务器200。在步骤S45中,服务器200使用kpp的私有密钥解密已排列的掩码数组并且存储结果值。
方法1000包括先前描述的步骤C05,其中客户端400向索引服务器300查询已加密的记录n。该查询作为从客户端400至索引服务器300的第一通信。步骤IS30中的索引服务器300发送E[n]和掩码[n]至客户端400。该步骤对应于客户端400和索引服务器300之间的第二通信。在步骤IS35中,索引服务器300发送已排列的索引πi至服务器200。该步骤对应于从索引服务器300至服务器200的第三通信。在步骤S50中服务器200将已排列的索引与对应的已排列的掩码数组的值相关联,并且在步骤S55中发送所述对应的值kmi]至客户端400。该传输作为从服务器200至客户端400的第四通信。如先前在步骤C30中描述的,客户端400从km[n]中减去掩码[n]从而恢复kr[n],并且在步骤C35中客户端400使用kr[n]解密E[n]以获取R[n]。
注意在已描述的实施例中,服务器200、索引服务器300和客户端400的操作未被限制为所描述的顺序。在其他实施例中所描述的操作的步骤可以是另一种顺序或可以被组合或被分开。在一些实施例中,在不离开本公开范围的情况下,一些示出的步骤可被移除或添加。
虽然本发明的多个实施例已在附图中示出并在上述具体实施方式中被描述,应理解本发明并非受限制为所述已公开的实施例,而是在不背离本发明的情况下能够被各种重组、修改和替换,本发明如由下列权利要求陈述和限定。

Claims (15)

1.一种数据库服务器(200),包括:
处理器;
能够由所述处理器访问并且包括多个数据库记录的存储器,
其中所述处理器被配置以:
至少伪随机地排列(S10)所述数据库记录的顺序,从而产生已排列的数据库;
生成(S15)与每个已排列的数据库记录相对应的至少伪随机的加密密钥,从而产生加密密钥数组;
使用所述加密密钥数组的对应加密密钥加密(S20)每个已排列的数据库记录,从而产生已加密的数据库数组;
加密(S25)所述加密密钥数组中的每一个加密密钥,从而产生已加密的加密密钥数组;
将所述已加密的数据数组和所述已加密的加密密钥数组导向(S30)索引服务器;
解密和存储(S45)从所述索引服务器接收到的被掩码的加密密钥数组,所述被掩码的加密密钥数组是从所述已加密的加密密钥数组中推导得出的;以及
使用(S35)公私密钥对来解密从客户端服务器(400)接收到的已加密的被掩码的密钥,并且将生成的已解密的被掩码的密钥导向所述客户端服务器。
2.如权利要求1所述的服务器,进一步包括网络接口,其被配置以在所述处理器、索引服务器和客户端服务器之间的网络上提供通信。
3.如权利要求1所述的服务器,其中所述处理器被进一步配置以生成(S05)公私密钥对,并且使用所述公私密钥对对所述加密密钥数组中的伪随机的加密密钥中的每一个进行同态地加密(S25)。
4.一种数据库索引服务器(300),包括:
处理器;
能够由所述处理器访问的存储器,所述存储器包括能够由所述处理器执行的程序指令以:
接收(S30)已加密的加密密钥的密钥数组;
生成(IS15)包括至少伪随机的掩码的掩码数组,每个伪随机的掩码与所述密钥数组的一成员相对应;以及
为所述密钥数组的每个加密密钥计算(IS20)该加密密钥和相对应的掩码的总和;
加密(IS20)每个总和,从而产生已加密的被掩码的密钥数组;以及
至少伪随机地排列(IS25)所述已加密的总和的顺序以产生已排列的被掩码的已加密的密钥数组,并且将所述已排列的被掩码的已加密的密钥数组导向所述数据库服务器。
5.如权利要求4所述的索引服务器,其中所述总和被同态地加密。
6.如权利要求4所述的索引服务器,其中所述处理器被进一步配置以从数据库服务器(200)接收(S30)数据记录数组并且从客户端服务器(400)接收(C05)记录编号,并且作为响应返回(IS30)与所述记录编号对应的掩码和数据记录至所述客户端服务器。
7.如权利要求6所述的索引服务器,其中所述处理器被进一步配置以将已排列的数据库索引导向所述数据库服务器以访问所述已排列的被掩码的已加密的密钥数组的对应成员。
8.如权利要求6所述的索引服务器,其中所述数据记录数组的每个记录均被加密。
9.一种操作数据库服务器(200)的方法,包括:
至少伪随机地排列(S10)由所述服务器存储的数据库记录的顺序,从而产生已排列的数据库;
生成(S15)与每个已排列的数据库记录相对应的至少伪随机的加密密钥,从而产生加密密钥数组;
使用所述加密密钥数组的对应加密密钥加密(S20)每个已排列的数据库记录,从而产生已加密的数据库数组;
加密(S25)所述加密密钥数组中的每个加密密钥,从而产生已加密的加密密钥数组;
将所述已加密的数据库数组和所述已加密的加密密钥数组导向(S30)索引服务器;
解密和存储(S45)从所述索引服务器接收的被掩码的加密密钥数组,所述被掩码的加密密钥数组是从所述已加密的加密密钥数组推导得出的;
使用(S35)公私密钥对来解密从客户端服务器(400)接收到的被掩码的密钥并且将生成的已解密的被掩码的密钥导向所述客户端服务器;以及
响应于从所述客户端服务器接收到特定已加密的被掩码的加密密钥,解密所述被掩码的加密密钥数组的特定已加密的被掩码的加密密钥。
10.如权利要求9所述的方法,进一步包括生成(S05)公私密钥对并且使用所述公私密钥对同态地加密(S25)每个所述伪随机的加密密钥。
11.一种操作数据库索引服务器(300)的方法,包括:
接收(S30)加密密钥数组;
生成(IS15)包括多个至少伪随机的掩码的掩码数组,每个至少伪随机的掩码与所述密钥数组的一成员相对应;
计算(IS20)和加密每个加密密钥和与该密钥相对应的所述至少伪随机的掩码的总和;
加密(IS20)每个总和,从而产生已加密的被掩码的密钥数组;以及
至少伪随机地排列(IS25)所述已加密的总和的顺序以产生被掩码的已加密的密钥的已排列的数组,并且将所述被掩码的已加密的密钥的已排列的数组导向所述数据库服务器。
12.如权利要求11所述的方法,其中所述总和被同态地加密。
13.如权利要求11所述的方法,进一步包括从数据库服务器(200)接收(S30)数据记录数组并且从客户端服务器(400)接收(C05)记录编号,并且作为响应返回(IS30)与所述记录编号相对应的掩码和数据记录至所述客户端服务器。
14.如权利要求11所述的方法,进一步包括将已排列的数据库索引导向(IS35)所述服务器以访问所述被掩码的已加密的密钥的已排列的数组的对应成员。
15.如权利要求13所述的方法,其中所述数据记录数组中的每个记录均被加密。
CN201380073289.3A 2012-12-28 2013-12-18 隐私保护数据库系统 Expired - Fee Related CN104995632B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/729,619 US8943331B2 (en) 2012-12-28 2012-12-28 Privacy-preserving database system
US13/729,619 2012-12-28
PCT/US2013/076255 WO2014105580A1 (en) 2012-12-28 2013-12-18 A privacy-preserving database system

Publications (2)

Publication Number Publication Date
CN104995632A CN104995632A (zh) 2015-10-21
CN104995632B true CN104995632B (zh) 2017-11-03

Family

ID=49956402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073289.3A Expired - Fee Related CN104995632B (zh) 2012-12-28 2013-12-18 隐私保护数据库系统

Country Status (6)

Country Link
US (1) US8943331B2 (zh)
EP (1) EP2939175A1 (zh)
JP (1) JP5997851B2 (zh)
KR (1) KR101699192B1 (zh)
CN (1) CN104995632B (zh)
WO (1) WO2014105580A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943331B2 (en) 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system
US10325329B2 (en) * 2014-12-12 2019-06-18 Mcafee, Inc. Smart home security of metered data using a mask
WO2018050911A1 (en) 2016-09-19 2018-03-22 Koninklijke Philips N.V. Oblivious outsourcing of file storage
US10291592B2 (en) 2016-10-17 2019-05-14 Microsoft Technology Licensing, Llc Secure electronic communication
US10395060B2 (en) 2016-10-17 2019-08-27 Microsoft Technology Licensing, Llc Multiple message retrieval for secure electronic communication
BR112019013130A8 (pt) * 2016-12-30 2023-02-14 Bosch Gmbh Robert Método e sistema de criptografia pesquisável simétrica dinâmica alheia a padrões de busca
US10360397B2 (en) * 2017-02-22 2019-07-23 Sap Se Secure retrieval of cloud-based sensitive data by obfuscating data access patterns
KR101945885B1 (ko) * 2017-07-07 2019-06-11 서울대학교산학협력단 동형 암호화된 데이터의 연산의 위변조를 판단하는 방법
KR102602119B1 (ko) 2018-04-06 2023-11-15 주식회사 크립토랩 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
US11334547B2 (en) * 2018-08-20 2022-05-17 Koninklijke Philips N.V. Data-oblivious copying from a first array to a second array
US10778410B2 (en) * 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN111008236B (zh) * 2019-12-06 2023-05-02 支付宝(杭州)信息技术有限公司 一种数据查询的方法和系统
CN112016932B (zh) * 2020-09-04 2024-05-17 中国银联股份有限公司 测试方法、装置、服务器及介质
CN115640601A (zh) * 2022-09-30 2023-01-24 蚂蚁区块链科技(上海)有限公司 一种实现隐私信息检索的方法、系统、服务端和客户端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661957A (zh) * 2004-02-27 2005-08-31 国际商业机器公司 用于使用密钥密码术实现消息的匿名通信的系统
CN101512525A (zh) * 2006-09-06 2009-08-19 微软公司 加密的数据搜索

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG103257A1 (en) 2000-04-13 2004-04-29 Kent Ridge Digital Labs Private retrieval of digital objects
JP2005080131A (ja) * 2003-09-02 2005-03-24 Apuriko System:Kk 秘密データ通信システム
JP4837362B2 (ja) * 2005-10-31 2011-12-14 株式会社エヌ・ティ・ティ・データ データ検索システム、情報処理装置、データ検索方法、及び、プログラム。
JP4256897B2 (ja) * 2006-06-16 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マッチング・サービスを提供するための装置、方法及びプログラム
KR20100003380A (ko) * 2008-07-01 2010-01-11 주식회사 사람인 암호화된 데이터베이스 정보의 조회 방법
KR101041568B1 (ko) * 2008-12-16 2011-06-15 한국전자통신연구원 다수의 데이터베이스에 저장된 보호가 필요한 정보들의 평균값 산출 방법
KR101003131B1 (ko) * 2009-04-09 2010-12-22 소프트포럼 주식회사 데이터베이스 패턴별 암호화에 따른 인덱스 검색 시스템
JP5506704B2 (ja) * 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
US9176822B2 (en) * 2012-08-31 2015-11-03 Cleversafe, Inc. Adjusting dispersed storage error encoding parameters
US8943331B2 (en) 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661957A (zh) * 2004-02-27 2005-08-31 国际商业机器公司 用于使用密钥密码术实现消息的匿名通信的系统
CN101512525A (zh) * 2006-09-06 2009-08-19 微软公司 加密的数据搜索

Also Published As

Publication number Publication date
US8943331B2 (en) 2015-01-27
CN104995632A (zh) 2015-10-21
JP2016502153A (ja) 2016-01-21
JP5997851B2 (ja) 2016-09-28
KR101699192B1 (ko) 2017-01-23
KR20150090204A (ko) 2015-08-05
EP2939175A1 (en) 2015-11-04
WO2014105580A1 (en) 2014-07-03
US20140189364A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
CN104995632B (zh) 隐私保护数据库系统
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
US11108753B2 (en) Securing files using per-file key encryption
CN105051750B (zh) 用于加密文件系统层的系统和方法
CN103229450B (zh) 用于安全多租户数据存储的系统和方法
CN100380274C (zh) 用于对上下文加密密钥进行备份和恢复的方法和系统
CN103270516B (zh) 用于安全保护虚拟机计算环境的系统和方法
CN102687133B (zh) 用于可信计算和数据服务的无容器数据
KR101371608B1 (ko) Dbms 및 데이터베이스에서 암호화 방법
CA3066678A1 (en) Processing data queries in a logically sharded data store
CN107959567A (zh) 数据存储方法、数据获取方法、装置及系统
CN102687132A (zh) 用于可信计算和数据服务的可信的可扩展标记语言
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN111274599A (zh) 一种基于区块链的数据共享方法及相关装置
CN111104691A (zh) 敏感信息的处理方法、装置、存储介质及设备
CN113489710B (zh) 一种文件共享方法、装置、设备和存储介质
CN109165526A (zh) 一种大数据安全与隐私保护方法、装置及存储介质
CN106326666A (zh) 一种健康档案信息管理服务系统
CN111837372A (zh) 用于连接的电动工具的隐私保持数据检索的系统和方法
CN112583590B (zh) 基于群组共享密钥的信息发布方法及系统
CN109145557A (zh) 一种计算机数据保护系统
CN113346999B (zh) 一种基于拆分加密的大脑中枢系统
Ganorkar et al. An information security scheme for cloud based environment using 3DES encryption algorithm
CN113032802A (zh) 一种数据安全存储方法及系统
CN109672522A (zh) 一种密钥查询方法及云平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190822

Address after: American New York

Patentee after: Origin Asset Group Co., Ltd.

Address before: French Boulogne Billancourt

Patentee before: Alcatel Lucent Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171103

Termination date: 20181218