当前位置: 首页 > 专利查询>SAP欧洲公司专利>正文

安全子字符串搜索以过滤加密数据制造技术

技术编号:21832963 阅读:21 留言:0更新日期:2019-08-10 18:07
对加密数据的安全子字符串搜索可以涉及第一预处理,第一预处理包括在多个重叠明文子字符串中对指定用于远程安全储存的明文字符串进行分段。第二预处理将这些子字符串加密成密文(例如,利用频率隐藏保序加密),其还包括子字符串的位置信息。搜索索引和秘密状态由第一和第二预处理产生。密文和搜索索引被外包到不安全服务器内的数据库。服务器内的引擎确定与从安全客户端接收的查询请求匹配的候选密文。引擎将密文返回给客户端根据秘密状态进行解密。可以将预处理委托给第三方用于将搜索索引/密文外包给服务器,并将秘密状态委托给客户端。在服务器侧上过滤候选密文能够消除误报并减少与远程客户端的通信的量。

Secure Substring Search to Filter Encrypted Data

【技术实现步骤摘要】
安全子字符串搜索以过滤加密数据
本专利技术涉及一种安全子字符串搜索以过滤加密数据。
技术介绍
除非本文另有指示,否则本部分中描述的方法不是对于本申请中权利要求的现有技术,并且不因为包括在本节中而被承认为现有技术。随着典范转移从本地部署软件(on-premisesoftware)到云计算和云存储,出于安全性目的需要考虑新的潜在攻击者。因此,不仅外部攻击者,而且诸如恶意云管理员的内部攻击者也可能代表恶意行为者。加密数据库可以利用最小的计算开销和对现有数据库系统的小集成工作来解决这些信任问题。虽然诸如AES的标准随机加密方案提供了语义安全性,但是对这种加密的数据的任何计算都很难或不可能。然而,由于移动客户端设备(例如,电话、平板电脑)的有限计算能力和存储量(storage),因此直接在云环境内过滤外包的加密数据的能力仍然是非常期望的。大数据应用的紧急情况只会加剧对以加密形式直接过滤外包的数据的能力的需求。
技术实现思路
实施例对加密数据执行安全子字符串搜索。在第一预处理中,将指定用于远程安全存储的明文字符串分段为多个重叠的明文子字符串。在第二预处理中,这些子字符串被加密成密文(例如,利用频率隐藏保序加密(Frequency-HidingOrderPreservingEncryption,FHOPE)),密文还包括子字符串的位置信息。搜索索引和秘密状态由第一和第二预处理产生。然后将密文和搜索索引外包给不安全服务器内的数据库。服务器内的引擎确定与从安全客户端接收的查询请求匹配的那些候选密文。引擎将密文返回给客户端根据秘密状态进行解密。根据一些实施例,预处理可以由客户端直接执行。然而,可替换地,可以将预处理委托给负责将搜索索引/密文外包给服务器的第三方服务,并将秘密状态委托给客户端。引擎可以被配置为对服务器侧上的候选密文进行过滤,以便消除误报(falsepositives)并减少与远程客户端的通信。这些方法可以涉及对位置信息的确定性加密。计算机实施的方法的实施例包括服务器的引擎从客户端接收搜索查询。引擎参考存储在服务器的数据库中的搜索索引连同多个密文,以产生满足搜索查询的候选密文。引擎向客户端通信至少一个候选密文,其中多个密文中的每一个包括根据加密方案加密的字符串的片段、以及字符串内片段的位置。非暂时性计算机可读存储介质体现了用于执行包括服务器的引擎从客户端接收搜索查询的方法的计算机程序。引擎参考存储在服务器的数据库中的搜索索引连同根据频率隐藏保序加密(FHOPE)方案加密的多个密文,以产生满足搜索查询的候选密文。引擎向客户端通信至少一个候选密文,其中多个密文中的每一个包括根据加密方案加密的字符串的片段以及字符串内片段的位置。计算机系统的实施例包括一个或多个处理器和可在所述计算机系统上执行的软件程序。软件程序被配置为使得内存储器(in-memory)数据库引擎从客户端接收搜索查询,并且参考存储在服务器的内存储器数据库中的搜索索引连同多个密文,以产生满足搜索查询的候选密文。软件程序还被配置为使得内存储器数据库引擎向客户端通信至少一个候选密文,其中多个密文中的每一个包括根据加密方案加密的字符串的片段以及字符串内片段的位置。在某些实施例中,加密方案包括保序加密方案。在一些实施例中,加密方案包括频率隐藏保序加密(FHOPE)方案。具体实施例还包括引擎对候选密文进行过滤,以产生至少一个候选密文。根据各种实施例,过滤包括执行范围查询。在一些实施例中,根据确定性加密方案加密位置。根据具体实施例,数据库包括内存储器数据库,并且引擎包括内存储器数据库引擎。某些实施例还包括,在接收搜索查询之前,引擎存储从客户端外包的搜索索引。一些实施例还包括,在接收搜索查询之前,引擎存储从除客户端之外的可信第三方接收的搜索索引。下面的详细描述和附图提供对实施例的性质和优点的更好理解。附图说明图1示出根据实施例的系统的简化图;图2示出根据实施例的方法的简化流程图;图3示出根据示例的用于一个字符串的加密的协议;图4示出根据示例的用于客户端侧位置集缩减(positionsetreduction)的协议;图5示出根据示例的用于分区的搜索(partitionedsearch)的协议;图6示出根据示例的用于在服务器侧评估的协议;图7:攻击者利用部分已知明文的优势;图8A至图8B分别针对200个和2000个目标文件绘制关于针对特殊字符和不同辅助数据集大小过滤的数据集的区分大小写攻击(casesensitiveattacks);图9A至图9B分别针对200个和2000个目标文件绘制关于未过滤数据集和不同辅助数据集大小的区分大小写攻击;图10A至图10B分别针对200个和2000个目标文件绘制关于针对特殊字符和不同辅助数据集大小过滤的数据集的小写攻击;图11A至图11B分别针对200个和2000个目标文件绘制关于未过滤数据集和不同辅助数据集大小的小写攻击;图12A至图12B分别针对不同k-gram大小和索引文件绘制无预处理和有预处理的压缩比;图13A至图13B分别针对k-gram大小3和5,使用位置集缩减过滤策略绘制对于不同k-gram大小的搜索时间;图14A至图14B分别针对k-gram大小3和5,使用片段搜索过滤策略绘制对于不同k-gram大小的搜索时间;图15A至图15B分别针对k-gram大小3和5,使用服务器侧的过滤来绘制对于不同k-gram大小的搜索时间;图16示出根据被配置为执行安全子字符串搜索的实施例的专用计算机器的硬件;图17示出示例计算机系统。具体实施方式本文描述根据实施例的执行安全子字符串搜索的方法和装置。在以下描述中,出于解释的目的,阐述许多示例和具体细节以便提供对根据本专利技术的实施例的全面理解。然而,对于本领域技术人员显而易见的是,由权利要求限定的实施例可以单独包括这些示例中的一些或全部特征,或者与下面描述的其他特征相组合,并且还可以包括本文描述的特征和概念的修改和等同物。因此,实施例对加密数据执行安全子字符串搜索。在第一预处理中,将指定用于远程安全存储的明文字符串分段为多个重叠的明文子字符串。在第二预处理中,这些子字符串被加密成密文(例如,利用频率隐藏保序加密-FHOPE),其还包括子字符串的位置信息。搜索索引和秘密状态由第一和第二预处理产生。然后将密文和搜索索引外包给不安全服务器内的数据库。服务器内的引擎确定与从安全客户端接收的查询请求匹配的候选密文。引擎将密文返回给客户端根据秘密状态进行解密。预处理可以由客户端直接执行。可替换地,可以将预处理委托给负责将搜索索引/密文外包给服务器的第三方服务,并将秘密状态委托给客户端。引擎可以被配置为对服务器侧上的候选密文进行过滤,以便消除误报并减少与远程客户端的通信。图1示出根据实施例的被配置为实施子字符串搜索的系统的简化视图。具体地,系统100包括提供可信环境的安全客户端102,安全客户端102经由通信网络106与不安全服务器104通信。服务器104包括数据库108和引擎110。数据库的作用是以加密形式存储外包的数据,以便通过云(例如,作为数据库即服务(DatabaseasaService,DBaaS)产品的一部分)进行安全访问。因此,作为预处理112的一部分,客户端获取要远程存储的明文字符串本文档来自技高网...

【技术保护点】
1.一种计算机实施的方法,包括:服务器的引擎从客户端接收搜索查询;引擎参考存储在所述服务器的数据库中的搜索索引连同多个密文,以产生满足所述搜索查询的候选密文;以及引擎向客户端通信至少一个候选密文,其中,多个密文中的每一个密文包括根据加密方案加密的字符串的片段以及字符串内片段的位置。

【技术特征摘要】
2018.01.18 US 15/874,7541.一种计算机实施的方法,包括:服务器的引擎从客户端接收搜索查询;引擎参考存储在所述服务器的数据库中的搜索索引连同多个密文,以产生满足所述搜索查询的候选密文;以及引擎向客户端通信至少一个候选密文,其中,多个密文中的每一个密文包括根据加密方案加密的字符串的片段以及字符串内片段的位置。2.如权利要求1所述的方法,其中,加密方案包括保序加密方案。3.如权利要求2所述的方法,其中,加密方案包括频率隐藏保序加密FHOPE方案。4.如权利要求1所述的方法,还包括:引擎过滤候选密文以产生至少一个候选密文。5.如权利要求4所述的方法,其中,所述过滤包括执行范围查询。6.如权利要求4所述的方法,其中,根据确定性加密方案加密所述位置。7.如权利要求1所述的方法,其中,所述数据库包括内存储器数据库,并且所述引擎包括内存储器数据库引擎。8.如权利要求1所述的方法,还包括:在接收所述搜索查询之前,所述引擎存储从所述客户端外包的搜索索引。9.如权利要求1所述的方法,还包括:在接收所述搜索查询之前,所述引擎存储从除所述客户端之外的可信第三方接收的搜索索引。10.一种非暂时性计算机可读存储介质,体现用于执行方法的计算机程序,所述方法包括:服务器的引擎从客户端接收搜索查询;引擎参考存储在所述服务器的数据库中的搜索索引连同根据频率隐藏保序加密FHOPE方案加密的多个密文,以产生满足所述搜索查询的候选密文;以及所述引擎向所述客户端通信至少一个候选密文,其中,多个密文中的每一个密文包括根据加密方案加密的字符串的片段以及字符串内片段的位置。11.如权利要求1...

【专利技术属性】
技术研发人员:F哈恩N洛扎F克施鲍姆
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:德国,DE

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

1