CN101512525B - 加密的数据搜索 - Google Patents
加密的数据搜索 Download PDFInfo
- Publication number
- CN101512525B CN101512525B CN2007800328508A CN200780032850A CN101512525B CN 101512525 B CN101512525 B CN 101512525B CN 2007800328508 A CN2007800328508 A CN 2007800328508A CN 200780032850 A CN200780032850 A CN 200780032850A CN 101512525 B CN101512525 B CN 101512525B
- Authority
- CN
- China
- Prior art keywords
- data
- item
- index
- plaintext
- index value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
可基于所需明文数据项和密钥,对于请求者透明地确定索引值。可使用该索引值来访问索引结构中的条目以获得包括非确定性地加密的密文项的对应的数据库条目。在另一实施例中,可访问数据库的索引结构。索引结构的项的位置可基于对应的明文项。有关索引结构中的对应的明文项的引用可被加密,而该索引结构中的其他信息可不被加密。索引结构的一部分可被加载到存储器中并且可对有关明文项之一的加密引用中的至少一个进行解密。可使用解密的引用来访问来自数据库的对应的非确定性地加密的数据项。
Description
背景
公司使用数据库系统来存储和搜索其业务的各方面中所使用的数据。这些数据可包括几百万条记录之多,这些记录中的至少某些是公司希望保密的,诸如,例如顾客信息等。这些信息对于可能具有恶意目的的其他人而言可能是有价值的。如果一个公司的对手能够获得这些私人信息,则该对手可能对该公司、其顾客或两者造成问题。
用于保护数据库中的有价值的信息并且符合隐私规章或政策的一种常见方法是加密。然而,对数据库中的加密数据的使用引发了其他问题,诸如,例如如何准许现有应用程序对该数据的授权访问以及如何在不对所有数据进行解密和执行线性搜索的情况下找到该数据的特定项。
现有数据库系统通过使用可被称为确定性加密的技术解决了上述问题。在这些数据库系统中,明文项在使用相同的加密密钥时始终会被加密成相同的密文。确定性加密的示例包括以电子码本(ECB)模式使用分组密码或使用常数初始化向量(IV)。因为确定性加密在使用给定密钥时始终将相同的明文加密成相同的密文,所以数据模式可能是可识别的,从而导致信息泄漏。这在要加密的数据太大以至于无法适合可能是8个或16个字节长度的单个块(取决于使用哪一分组密码算法)时尤其成问题。
概述
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
以下所讨论的实施例涉及其中对非确定性地加密的数据执行搜索的数据库系统。
在一个实施例中,对与数据库的加密列中的非确定性地加密的密文项相对应的数据项的搜索可通过使用对应于该数据库的加密列的索引结构来执行。可基于数据项和密钥,对于请求者透明地计算码。该码可被用作对该索引结构的索引,该索引结构可具有根据基于对应数据项和密钥的相应的码来组织的条目。在某些实施例中,索引结构的每一条目都可包括相应的码和用于访问数据库的行的数据,该数据库的行包括该数据库的加密列中的对应的非确定性地加密的密文项。
在另一实施例中,对与数据库的加密列中的非确定性地加密的密文项相对应的所需数据项的搜索可通过访问对应于该数据库的加密列的索引结构来执行。索引结构的条目可根据对应于该数据库的加密列中的非确定性地加密的密文项的明文数据项来组织。在该索引结构中,有关对应的明文数据项的引用可被加密,而该索引结构中的其他信息可以不被加密。该搜索可通过将该索引结构的至少一部分加载到存储器中,访问该索引结构的条目并且对该索引结构的条目的引用中的至少一个进行解密来执行。可使用该至少一个解密的引用来访问数据库的行,其包括该数据库的加密列中的相应的非确定性地加密的密文项。
附图
为了描述能够获得上述和其它优点和特征的方式,以下将描述更为具体的描述并通过参考附图中示出的各具体实施例来呈现。可以理解,这些附图仅描述各典型实施例,从而不被认为是对其范围的限制,将通过使用附图用附加特征和细节来描述和说明各个实现。
图1示出了根据本发明的主题的示例性操作环境。
图2是可用于实现图1的处理设备102、图1的处理设备104或这两个处理设备的示例性处理设备的功能框图。
图3A-3C示出了可在根据本发明的主题的各实施例中采用的示例性索引结构。
图4是示出可根据图3A-3C的示例性索引结构来执行的方法的流程图。
图5示出了可在根据本发明的主题的另一实施例中采用的示例性索引结构。
图6是示出可根据图5的示例性索引结构来执行的方法的流程图。
图7是示出可在根据本发明的主题的第三实施例中执行的方法的流程图。
详细描述
以下详细描述各实施例。尽管讨论各个具体实现,但应当理解,这仅是出于说明的目的。相关领域技术人员将认识到,可以使用其它组件和配置而不背离本发明的主题的精神和范围。
示例性操作环境
图1示出了用于根据本发明的主题的实施例的示例性操作环境100。操作环境100可包括处理设备102、处理设备104和网络106。
处理设备102可以是,例如服务器或能够执行数据库系统的其他处理设备。处理设备104可以是个人计算机(PC)或能够执行应用程序并经由网络106与处理设备102进行通信的其他处理设备。
网络106可以是有线或无线网络,并可包括经由有线或无线手段连接的多个设备。网络104可包括仅一个网络或多个不同的网络,其中某些可以是不同类型的网络。
在操作环境100中,处理设备104可执行一应用程序,其经由网络106来访问处理设备102的数据库中的信息。该应用程序可创建、删除、读取或修改处理设备102的数据库中的数据。
图1示出了一示例性操作环境。其他操作环境或操作环境100的变型可以与根据本发明的主题的其他实施例一起使用。例如,图1将处理设备102和处理设备104示为单独的设备。然而,处理设备102和104在一个实施例中可被组合在单个处理设备中。在这一实施例中,操作环境可能不包括网络106。在另一实施例中,由处理设备102执行的功能或服务可以分布在可经由诸如,例如网络106等网络来连接的多个处理设备上。
示例性处理设备
图2是示出可用于实现处理设备102、处理设备104或这两个设备的示例性处理设备200的功能框图。处理设备200可以包括总线210、处理器220、存储器230、只读存储器(ROM)240、存储设备250、输入设备260、输出设备270和通信接口280。总线210可以准许处理设备200的各组件之间的通信。在其中处理设备200用于在单个处理设备中实现处理设备102和处理设备104两者的实施例中,通信接口280可能不作为处理设备200的组件中的一个来包括。
处理器220可以包括解释和执行指令的至少一个常规处理器或微处理器。存储器230可以是随机存取存储器(RAM)或存储供处理器220执行的信息和指令的另一种类型的动态存储设备。存储器230还可以存储在处理器220执行指令期间使用的临时变量或其它中间信息。ROM 240可以包括常规ROM设备或为处理器220存储静态信息和指令的另一种类型的静态存储设备。存储设备250可以包括用于存储数据和/或指令的任何类型的介质。当处理设备200用于实现处理设备102时,存储设备250可包括数据库系统的一个或多个数据库。
输入设备260可以包括准许用户向处理设备200输入信息的一个或多个常规机制,诸如例如,键盘、鼠标、或其它输入设备。输出设备270可以包括向用户输出信息的一个或多个常规机制,包括显示器、打印机、或其它输出设备。通信接口280可以包括使处理设备200能够与其它设备或网络进行通信的任何收发器类机制。在一实施例中,通信接口280可以包括到网络106的接口。
处理设备200可以响应于处理器220执行诸如,例如存储器230或其它介质等计算机可读介质中所包含的指令序列来执行这些功能。这些指令可从诸如存储设备250等另一计算机可读介质或经由通信接口280从单独的设备读入存储器230中。
概览
在一典型的数据库系统中,数据可被视作存储在表中。表的行可对应于文件中的记录。某些数据库系统可准许加密存储在表的列中的数据。这些数据库系统可准许搜索加密列中的数据,只要该数据是确定性地加密的。即,可执行对表中具有对应于该数据库的加密列中的确定性地加密的密文的特定明文值的行的搜索。然而,如上所述,确定性加密始终将明文项加密成相同的相应密文项。因此,数据模式可能是可识别的,从而导致信息泄漏。
诸如,例如以具有随机初始化向量的密码块链接(CBC)模式使用分组密码等非确定性加密方法,或其他非确定性加密方法可将相同的明文数据项加密成不同的密文数据项。例如,根据以具有随机初始化向量的CBC模式的对分组密码的使用的非确定性加密可通过在加密当前块之前将当前明文块与前一个密文块进行异或(XOR)来加密每一明文块。由此,密文数据项的值可不仅基于相应的明文数据项和密钥,而且还基于其他数据,诸如,例如先前加密的数据块或随机初始化向量。
根据本发明的主题的各实施例涉及其中可对数据库的加密列中的非确定性地加密的数据执行搜索的数据库系统。在一个实施例中,码可基于所需明文数据项和密钥来计算。该码可以是消息认证码(MAC)、散列消息认证码(HMAC)或其他码。该码可被用作对于索引结构的索引,该索引结构可具有根据基于对应的数据项和密钥的相应的码来组织的条目。
在一个实现中,索引结构可以是B树或其他索引结构,其可用于搜索数据库中具有对应于该数据库的加密列中的加密数据的特定明文数据项的一个或多个行。该索引结构的每一条目都可包括一索引值,其对应于基于对应的明文数据项和密钥来计算的码,以及用于访问数据库中包括该数据库的加密列中的对应的非确定性地加密的密文项的行的数据。
在另一实现中,索引结构可包括根据对应的散列值来分配给各个项的散列桶。散列消息认证码可基于相应的明文数据项和密钥来计算。散列值可通过对所计算的散列消息认证码求散列来产生。散列桶中的每一个项都可包括用于获得包括对应于相应的明文数据项的非确定性地加密的数据项的数据库条目的信息。
在其他实施例中,可访问数据库的非确定性地加密的列的索引结构。索引结构的每一条目都可根据对应于数据库的加密列中的非确定性地加密的密文项的明文数据项来组织。索引结构的每一条目都可包括关于对应的明文数据项的一个或多个引用。关于对应的明文数据项的一个或多个引用可被加密,而该索引结构中的其他信息可以不被加密。当执行搜索时,索引结构中的至少一部分可被加载到存储器中并且可访问对应的索引结构的条目中的一个。索引结构的条目之一的一个或多个加密的引用可被解密并用于访问包括该数据库的加密列中的对应的非确定性地加密的密文项的行。
在某些实施例中,非确定性加密和解密可使用对称密钥来执行。即,可使用密钥来非确定性地加密数据项并且可使用相同的密钥来解密所加密的数据项。
在其他实施例中,非确定性加密和解密可使用非对称密钥来执行。即,可使用公钥来非确定性地加密数据项并且可使用私钥来解密该数据。
示例性方法
数据库系统通常使用某种类型的索引方案以便快速搜索存储在数据库的列中的数据以访问特定记录或行。一种公知的索引方案包括使用B树,但在其他实施例中也可使用其他索引方案。在一个实施例中,被称为二元组(duplet)的新数据类型可以与数据库系统的索引方案一起使用。二元组可包括成对的数据项。例如,二元组可包括基于对应于存储在数据库的加密列中的非确定性地加密的密文项的明文项的码,以及非确定性地加密的密文,其可等价于存储在该数据库的加密列中的非确定性地加密的密文项。非确定性地加密的密文被称为E值。
当数据库系统在该数据库中插入或更新数据时,该数据库系统可保持二元组的两个部分在单个原子操作中同步。即,在某些实施例中,数据库系统可能无法写入二元组的一部分而不写入该二元组的另一部分。
在根据本发明的主题的各实施例中,基于明文项的码可以是消息认证码(MAC)或其他码。在一个实现中,MAC可以是散列消息认证码(HMAC),其是使用明文项和密钥来计算的单向散列。密钥可等价于用于形成E值的密钥、可由用于形成E值的密钥保护的第二密钥、或完全独立的密钥。
图3A示出了一示例性B树,其可在根据本发明的主题的各实施例中用作索引结构。该示例性B树可包括索引节点302、312、320、326、328、330、332、334、336、338、340和342。每一个索引节点都可包括一个或多个条目。不是叶节点的索引节点可包括到其他索引节点的一个或多个链接。例如,索引节点302可包括多个条目并且还可包括到诸如索引节点312、320、326和328等其他索引节点的链接。索引节点312可包括多个条目并且还可包括到诸如索引节点330、332和334等在该示例中可能是叶节点的其他索引节点的链接。索引节点320可包括至少一个条目以及到在该示例中可能是叶节点的索引节点336和338的链接。索引节点326可包括至少一个条目以及到在该示例中可能是叶节点的索引节点340的链接。索引节点328可包括至少一个条目以及到在该示例中可能是叶节点的索引节点342的链接。
图3B示出了根据本发明的主题的图3A的示例性索引节点302、312和320的更详细的视图。在该示例性B树索引结构中,索引节点中的每一条目都可包括一个二元组。然而,二元组在其他实施例中可与其他索引结构一起使用。如图3B所示,每一个索引节点都可包括一个或多个项并且该一个或多个项中的每一个都可包括一个二元组。例如,索引节点302可包括第一项,其具有包括索引值和E值hdfyjd的二元组,其中该索引值可以是诸如,例如33567等码,该码可以是基于第一明文项的MAC或HMAC,而该E值对应于由密钥k1加密的第一明文项;第二项,其具有包括索引值和E值olhdrs的二元组,其中该索引值可以是诸如,例如58957等码,该码可以是基于第二明文项的MAC或HMAC,而该E值对应于由密钥k1加密的第二明文项;以及第三项,其具有包括索引值和E值thdksim的二元组,其中该索引值可以是诸如,例如97460等码,该码可以是基于第三明文项的MAC或HMAC,而该E值对应于由密钥k1加密的第三明文项。如从图3B可以看出,索引节点312可包括两个条目。索引节点312的第一条目可包括具有基于第四明文项的索引值16485和对应于由密钥k1加密的第四明文项的E值ifjtrslkm的二元组。索引节点312的第二条目可包括具有基于第五明文项的索引值20945和对应于由密钥k1加密的第五明文项的E值eswgh的二元组。索引节点320可包括一个条目,其包括一个二元组。该二元组可包括基于第六明文项的索引值46789和对应于由密钥k1加密的第六明文项的E值dfthvc。
索引节点302可包括链接304,其可以是到索引节点312的链接,其中索引节点312具有带有小于索引节点302的索引值33567的对应索引值的条目;链接306,其可以是到索引节点320的链接,其中索引节点320具有带有大于索引节点302的索引值33567且小于索引值58957的对应索引值的条目;链接308,其可将索引节点302链接到索引节点326,其中索引节点326具有带有大于索引节点302的索引值58957且小于索引值97460的相应索引值的一个或多个条目;以及链接310,其可将索引节点302链接到索引节点328,其中索引节点328包括具有大于索引节点302的索引值97460的相应索引值的一个或多个条目。
此外,索引节点312可包括到索引节点330的链接314,其中索引节点330可包括具有小于索引节点312的索引值16485的索引值的一个或多个条目;到索引节点332的链接316,其中索引节点332可包括具有大于索引节点312的索引值16485且小于索引值20945的索引值的一个或多个条目;以及到索引节点334的链接318,其中索引节点334可包括具有大于索引节点312的索引值20945的索引值的一个或多个条目。索引节点320可包括到索引节点336的链接322,其中索引节点336可包括具有小于索引节点320的索引值46789的索引值的一个或多个条目;以及到索引节点338的链接324,其中索引节点338可包括具有大于索引节点320的索引值46789的索引值的一个或多个条目。
每一个索引节点条目都可包括指示对应的明文数据项的数据类型的信息(未示出),并且可包括对数据库的加密列中的对应的非确定性地加密的密文的引用或指针(未示出)。此外,每一个索引节点都可包括与图3B的示例性索引结构所示的不同数量的项。例如,索引节点302、312或320可具有被包括在各自索引节点中的与图3B所示的不同数量的项。
图3A和3B的索引结构是示例性索引结构。虽然图3B示出了包括索引值和E值的示例性索引结构的每一项,但在其他实施例中,索引结构的每一项都可包括索引值,而对应的E值驻留在单独的数据结构中。例如,图3C的示例性索引节点302′类似于图3B的索引节点302。然而,索引节点302′的每一个项都可包括二元组的第一条目,其在该示例中是索引值;以及对数据结构360中所包括的对应的E值的引用或指针,其中数据结构360可以是表、数组或其他数据结构。尽管数据结构360示出对应于索引节点302′的E值在数据结构360中的连续位置中,但这些E值可被安排在数据结构360中不连续或不相连的位置中。
在根据本发明的主题的各实施例中,诸如,例如图3A-3C的索引结构等索引结构可由处理设备102通过将一个项添加到索引节点或通过添加包括新项的新索引节点来更新,以使得对应于该索引结构中的新项的链接能够以图3A-3C所示的方式来执行。即,添加到索引结构中的节点的每一个新项(不是叶节点)都可具有指向包括具有小于所添加的项的索引值的相应索引值的一个或多个项的索引节点的链接,以及指向包括具有大于所添加的项的索引值的相应索引值的一个或多个项的索引节点的第二链接。此外,当一新索引节点被添加到索引结构时,处理设备102可将该索引结构的现有链接中的至少一个更新为指向该新索引节点。处理设备102可添加到索引结构的每一个新项都可包括一相应的索引值以及或者对应的E值或者对对应E值的引用。当对对应E值的引用被存储在索引结构的项中时,该对应E值可被存储在单独的数据结构中,诸如,例如表、数组或其他数据结构。
图4是示出在根据本发明的主题的各实施例中用于使用诸如,例如图3A-3C的示例性索引结构等索引结构来搜索数据库中的非确定性地加密的数据的示例性过程的流程图。首先,处理设备102可接收对可能被包括在处理设备102的数据库中的所需数据项的请求(动作402)。该请求可来自诸如,例如处理设备102的用户或应用程序等请求者,或者来自诸如,例如另一处理设备的用户或应用程序等请求者,该另一处理设备可以是诸如,例如可经由诸如,例如网络106等网络来与处理设备102进行通信的处理设备104。该请求可以是搜索请求或包括找出所需数据项的其他请求并且可包括所需数据项的明文形式。给定所需明文数据项,处理设备102就可对于请求者透明地计算索引值,其可以是诸如,例如MAC或HMAC等基于所需明文数据项和密钥的码(动作404)。处理设备102然后可访问并搜索数据库的索引结构以试图定位对应于所需明文数据项的数据(动作406)。如果索引结构例如是B树,则处理设备102可检查该B树的索引节点中的二元组的索引值以遍历该B树来试图定位所需数据。
接着,处理设备102可确定是否找到所需项(动作408)。如果没有找到所需项,则处理设备102可返回在该数据库中未找到所需数据的指示(动作422)。否则,处理设备102可获得对应于在动作404期间计算的索引值的二元组的E值(动作410)。处理设备102然后可解密该E值以提供相应的明文(动作412)。然后可将该相应的明文与在动作402期间提供的所需数据项的明文形式进行比较(动作414)。如果处理设备102确定所比较的明文是相等的,则可从数据库中获得对应于索引结构中的所找到的项的数据并可将其返回给请求者(动作416)。即,索引结构中的所找到的项可包括对存储在数据库中的对应数据的引用。处理设备102然后可确定所找到的数据项是否是唯一的(动作418)。在一个实现中,处理设备102可基于所找到的数据项是否是数据库中的主键,基于可被包括在数据库中或索引结构的条目中的唯一性指示符,或者基于其他准则来确定所找到的数据项是否是唯一的。如果处理设备102确定所找到的数据项是数据库中唯一的,则该过程完成。否则,处理设备102可搜索索引结构以查找对应于索引值的下一个项(动作420)。处理设备102然后可重复动作408-424。
如果在动作414期间执行的比较指示明文不相等,则处理设备102可确定发生了散列冲突。即,两个不同的明文项在使用相同的密钥时生成了相同的索引值。这一事件的可能性很小,但是可能的。当处理设备102确定发生散列冲突时,处理设备102可采用多个公知方法中的任一种来解决散列冲突(动作424)。例如,在一个实施例中,具有相同的码或索引值(指示散列冲突)的项可被存储在索引结构的节点的连续位置中。当确定发生散列冲突时,处理设备102可搜索节点中的连续的项以确定该节点中的连续项中的任一个是否与在解密后匹配所需项的明文的E值相关联。一旦解决了散列冲突,处理设备102就可重复动作408-424。
图5示出了可以在根据本发明的主题的另一实施例中使用的另一示例性索引结构。图5示出了示例性B树索引结构,但在其他实施例中可以使用其他索引结构。在图5右侧的索引结构502的一部分示出当驻留在存储器中时的索引结构502的索引节点。存储器中的索引结构502可包括使用明文项作为索引值来构建的节点。每一个节点都可包括索引值或明文项,以及关于该明文项的其他数据和其他未加密数据。例如,存储器中的节点502可包括两个项,第一项可包括作为索引值的相应的明文项,即明文-1,和关于该明文项的其他数据,以及可以是该第一项的其他未加密信息的未加密数据-1。节点502的第二项可包括作为索引值的另一相应的明文项,即明文-2,和关于该明文项的其他数据,以及可以是该第二项的其他未加密信息的未加密数据-2。例如,如果该索引结构是为在数据库中搜索雇员名字而构建的,则索引值可以是雇员名字。对这一索引结构的搜索可通过遍历该索引结构直到在该索引结构的节点中找到所需名字或者直到在未找到所需名字时可确定所需名字未被包括在该数据库中来执行。
图5的左侧示出了当被保存在数据库系统内的存储中时的索引结构502。索引结构502的保存的版本可包括所有明文引用的加密版本,例如,节点502的第一项的加密文本-1以及节点502的第二项的加密文本-2。即,包括索引值在内的所有明文引用都可以按加密形式保存,同时索引结构的组织保持不变。换言之,索引节点中的项的次序以及节点之间的链接可根据明文索引值来排列,尽管包括索引值在内的左右明文引用都可以按加密形式保存。此外,还可加密可由索引使用的关于明文项的任何其他信息,诸如,例如明文统计数据。由索引结构使用的、包括关于明文项的信息的明文引用可通过使用用于加密数据库中的对应数据的相同密钥或另一密钥来在保存的索引结构中加密。
图5示出了具有两个项的索引结构的示例性节点。在其他实施例中,可在索引结构的节点中存储更多或更少的项。
图6是示出在根据本发明的主题的各实施例中用于使用诸如,例如图5的示例性索引结构等索引结构来搜索数据库中的非确定性地加密的数据的示例性过程的流程图。首先,处理设备102可接收对可能被包括在处理设备102的数据库中的所需数据项的请求(动作602)。该请求可直接由诸如,例如用户或应用程序等请求者经由处理设备102或经由诸如处理设备104等另一处理设备经由诸如网络106等网络来做出。该请求可以是搜索请求并且可包括所需数据项的明文形式。接着,处理设备102可访问数据库的索引结构以执行对该数据库中对应于所需数据项的数据的搜索(动作604)。处理设备102然后可将索引结构的至少一部分加载到诸如存储器230等动态存储中(动作606)。处理设备102然后可解密索引结构的所加载部分中的加密引用(动作608)并且可使用该索引结构的所加载部分来找出和访问该数据库中的一个或多个非确定性地加密的数据项(动作610)。
在一个实施例中,处理设备102可以在索引页或索引结构的一部分被加载到存储器230中时解密该索引结构的加密引用。在这一实施例中,搜索然后可使用对应的明文引用和来自该索引结构的其他信息来执行。在另一实施例中,可以在诸如,例如在需要来自索引的明文引用时的执行搜索时解密来自索引结构的明文引用。
以上参考图6描述的示例性方法可用于搜索关于特定数据项的数据,诸如,例如等式搜索,可用于搜索关于一定范围的数据值的数据,诸如,例如范围搜索,或者可用于执行对类似于特定数据项的信息的搜索,诸如,例如模糊搜索。
可以在根据本发明的主题的各实施例中使用的另一示例性方法参考图7解释。该方法可以与支持基于散列的索引的数据库系统一起使用。根据图7的示例性方法,处理设备102可接收搜索请求或找出关于明文项的数据库数据的其他请求(动作702)。该请求可直接由诸如,例如用户或应用程序等请求者经由处理设备102或经由诸如处理设备104等另一处理设备经由诸如网络106等网络来做出。处理设备102然后使用密钥对明文项计算HMAC(动作704)。处理设备102然后可对所计算的HMAC求散列以产生散列值(动作706)。处理设备102可将该散列值用作对基于散列的索引结构710中的散列桶的索引值以便根据基于散列的索引结构710的索引条目来获得关于所请求的明文数据项的信息(动作708)。因为散列值是从基于明文项的HMAC计算出的,所以可根据对应的明文数据项的相应HMAC来将基于散列的索引的散列桶分配给对应于明文数据项的项。在至少某些实施例中,基于散列的索引结构710可包括到数据库中具有关于所请求的明文数据项的加密信息的项的链接。该加密信息可包括非确定性地加密的数据。
图7所示的示例性基于散列的索引结构方法避免了可能由于根据索引散列函数来排列散列桶而发生的可能的信息泄漏。
结论
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
虽然以上描述可能包含具体细节,但决不应将其解释为是对权利要求的限制。所述各实施例的其它配置也是本发明的范围的一部分。此外,根据本发明主题的各个实现可以具有比所描述的更多或更少动作,或可以按与所示出的顺序不同的顺序来实现各个动作。因此,只有所附权利要求书及其合法的等效技术方案才应定义本发明,而非任何给出的具体示例。
Claims (4)
1.一种用于执行对数据库系统中的非确定性地加密的数据的搜索的方法,所述方法包括:
对于用户透明地确定所述用户提供的所需明文数据项的索引值,所述确定包括:基于所述所需明文数据项和密钥计算消息认证码,以及对所计算的消息认证码求散列以确定所述索引值;
使用所述索引值来访问索引结构中的对应条目以获得包括对应于所述所需明文数据项的非确定性地加密的密文的数据库条目,所述索引结构包括多个成对数据项中的每一对的第一项,以及所述多个成对数据项中的每一对的第二项或者对该第二项的引用,所述多个成对数据项中的每一对的第一项是相应的明文数据项的索引值,而所述多个成对数据项中的每一对的第二项是对应于所述相应的明文数据项的密文;
使用所述索引值来获得所述多个成对数据项中对应的一对数据项的第二项;
解密所述多个成对数据项中的所述对应的一对数据项的第二项;以及
将所述多个成对数据项中的所述对应的一对数据项的解密的第二项与所述所需明文数据项进行比较以确定是否发生散列冲突。
2.如权利要求1所述的方法,其特征在于,所述索引结构包括根据相应的明文数据项的散列消息认证码来分配给各个项的多个散列桶,其中所述散列消息认证码是通过对所计算的消息认证码求散列而产生的。
3.一种用于提供远程数据库以便执行对数据库系统中的非确定性地加密的数据的搜索的方法,所述方法包括:
经由网络从请求者接收搜索所述数据库系统中的非确定性地加密的数据以查找对应于所需明文数据项的数据库条目的请求;
基于所述所需明文数据项和密钥,对于所述请求者透明地计算消息认证码;
对所计算的消息认证码求散列以生成散列消息认证码作为索引值;
在索引结构中使用所述索引值以获得对应于所述所需明文数据项的数据库条目,所述索引结构包括二元组的第一项,以及所述二元组的第二项或对该第二项的引用,所述二元组的第一项是相应的明文数据项的索引值,所述二元组的第二项是对应于所述相应的明文数据项的密文;
使用所述索引值来获得对应的二元组的第二项;
解密所述对应的二元组的第二项;以及
将所述对应的二元组的解密的第二项与所述所需明文数据项进行比较以确定是否发生散列冲突;以及
将数据返回给所述请求者,所返回的数据包括从所述数据库系统获得的对应于所述所需明文数据项的数据库条目。
4.如权利要求3所述的方法,其特征在于,所述索引结构包括B树。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/516,267 US7689547B2 (en) | 2006-09-06 | 2006-09-06 | Encrypted data search |
US11/516,267 | 2006-09-06 | ||
PCT/US2007/076758 WO2008030717A1 (en) | 2006-09-06 | 2007-08-24 | Encrypted data search |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101512525A CN101512525A (zh) | 2009-08-19 |
CN101512525B true CN101512525B (zh) | 2012-10-03 |
Family
ID=39153188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800328508A Active CN101512525B (zh) | 2006-09-06 | 2007-08-24 | 加密的数据搜索 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7689547B2 (zh) |
EP (1) | EP2064638B1 (zh) |
JP (1) | JP4810611B2 (zh) |
KR (1) | KR101403745B1 (zh) |
CN (1) | CN101512525B (zh) |
TW (1) | TWI372345B (zh) |
WO (1) | WO2008030717A1 (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082837A1 (en) * | 2006-09-29 | 2008-04-03 | Protegrity Corporation | Apparatus and method for continuous data protection in a distributed computing network |
US7809142B2 (en) * | 2007-06-19 | 2010-10-05 | International Business Machines Corporation | Data scrambling and encryption of database tables |
US10262136B1 (en) * | 2008-08-04 | 2019-04-16 | Zscaler, Inc. | Cloud-based malware detection |
CN101770462A (zh) * | 2008-12-30 | 2010-07-07 | 日电(中国)有限公司 | 用于密文索引和检索的装置和方法 |
CN101788985B (zh) * | 2009-01-23 | 2013-01-23 | 日电(中国)有限公司 | 对加密倒排索引表进行k匿名更新的方法和装置 |
US9684710B2 (en) * | 2009-05-28 | 2017-06-20 | Microsoft Technology Licensing, Llc | Extending random number summation as an order-preserving encryption scheme |
JP5411034B2 (ja) * | 2010-03-19 | 2014-02-12 | 株式会社日立ソリューションズ | データベース暗号化システム及び方法 |
US8533489B2 (en) * | 2010-09-29 | 2013-09-10 | Microsoft Corporation | Searchable symmetric encryption with dynamic updating |
JP5348337B2 (ja) * | 2010-12-13 | 2013-11-20 | 日本電気株式会社 | 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム |
JP5942991B2 (ja) | 2011-07-29 | 2016-06-29 | 日本電気株式会社 | 情報漏えいに耐性を持つインデックス生成システム及びインデックス生成装置並びにその方法 |
US8832427B2 (en) | 2012-03-30 | 2014-09-09 | Microsoft Corporation | Range-based queries for searchable symmetric encryption |
EP2885732B1 (en) * | 2012-08-15 | 2018-04-04 | Visa International Service Association | Searchable encrypted data |
US8943331B2 (en) * | 2012-12-28 | 2015-01-27 | Alcatel Lucent | Privacy-preserving database system |
US20140330836A1 (en) * | 2013-05-06 | 2014-11-06 | Thomson Reuters (Markets) Llc | Offline searching of encrypted content |
US9553867B2 (en) | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
US10122714B2 (en) | 2013-08-01 | 2018-11-06 | Bitglass, Inc. | Secure user credential access system |
US9552492B2 (en) * | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
US9852306B2 (en) | 2013-08-05 | 2017-12-26 | International Business Machines Corporation | Conjunctive search in encrypted data |
US9646166B2 (en) * | 2013-08-05 | 2017-05-09 | International Business Machines Corporation | Masking query data access pattern in encrypted data |
CN104462990B (zh) * | 2013-09-13 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 字符串加解密方法和装置 |
WO2016018298A1 (en) * | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Key search token for encrypted data |
EP3195106B1 (en) | 2014-09-15 | 2020-10-21 | Demandware, Inc. | Secure storage and access to sensitive data |
US10013440B1 (en) * | 2014-10-31 | 2018-07-03 | Amazon Technologies, Inc. | Incremental out-of-place updates for index structures |
CN104572827B (zh) * | 2014-12-08 | 2017-12-15 | 北京工业大学 | 一种基于跨明文与密文的混合搜索系统 |
JP6441160B2 (ja) | 2015-04-27 | 2018-12-19 | 株式会社東芝 | 秘匿化装置、復号装置、秘匿化方法および復号方法 |
US9519798B2 (en) | 2015-05-07 | 2016-12-13 | ZeroDB, Inc. | Zero-knowledge databases |
KR101703828B1 (ko) * | 2015-10-15 | 2017-02-08 | 한국전자통신연구원 | 암호화된 데이터에 대한 색인 태그 생성 방법, 색인 태그를 이용한 암호화된 데이터 검색 방법 및 이를 위한 데이터베이스 장치 |
US10691817B2 (en) | 2016-05-06 | 2020-06-23 | ZeroDB, Inc. | Encryption for distributed storage and processing |
US11392600B2 (en) * | 2016-09-22 | 2022-07-19 | Visa International Service Association | Techniques for in memory key range searches |
US10482279B2 (en) * | 2016-11-08 | 2019-11-19 | Microsoft Technology Licensing, Llc | Pattern-less private data detection on data sets |
US10360390B2 (en) * | 2016-12-14 | 2019-07-23 | Sap Se | Oblivious order-preserving encryption |
DK3388969T3 (da) | 2017-04-13 | 2020-01-20 | Dswiss Ag | Søgesystem |
JP6632780B2 (ja) * | 2017-09-12 | 2020-01-22 | 三菱電機株式会社 | データ処理装置、データ処理方法及びデータ処理プログラム |
CN110858251B (zh) * | 2018-08-22 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据查询方法和装置 |
US10783270B2 (en) | 2018-08-30 | 2020-09-22 | Netskope, Inc. | Methods and systems for securing and retrieving sensitive data using indexable databases |
US11003783B1 (en) * | 2018-09-21 | 2021-05-11 | Amazon Technologies, Inc. | Searchable encrypted data stores |
US10977315B2 (en) | 2019-03-01 | 2021-04-13 | Cyborg Inc. | System and method for statistics-based pattern searching of compressed data and encrypted data |
EP4154147A1 (en) * | 2020-06-29 | 2023-03-29 | Huawei Technologies Co., Ltd. | Data storage server and client devices for securely storing data |
CN112182616B (zh) * | 2020-09-29 | 2024-05-17 | 江苏大周基业智能科技有限公司 | 核心表数据的密码技术安全控制方法及系统 |
TWI835039B (zh) * | 2021-06-16 | 2024-03-11 | 威聯通科技股份有限公司 | 索引節點配置方法、資料處理裝置與電腦可讀媒介 |
US20240195610A1 (en) * | 2022-12-09 | 2024-06-13 | Yuen Ping Lee | Systems and Methods for Programmable Corporate Policies and Management Intervention |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692124A (en) * | 1996-08-30 | 1997-11-25 | Itt Industries, Inc. | Support of limited write downs through trustworthy predictions in multilevel security of computer network communications |
US6052686A (en) * | 1997-07-11 | 2000-04-18 | At&T Corporation | Database processing using schemas |
US6233658B1 (en) * | 1997-06-03 | 2001-05-15 | Nec Corporation | Memory write and read control |
US6601026B2 (en) * | 1999-09-17 | 2003-07-29 | Discern Communications, Inc. | Information retrieval by natural language querying |
US7065579B2 (en) * | 2001-01-22 | 2006-06-20 | Sun Microsystems, Inc. | System using peer discovery and peer membership protocols for accessing peer-to-peer platform resources on a network |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827508A (en) * | 1986-10-14 | 1989-05-02 | Personal Library Software, Inc. | Database usage metering and protection system and method |
CA2000006C (en) * | 1989-01-23 | 1994-07-12 | Walter W. Chang | Combinatorial signatures for data encoding and searching |
US5293576A (en) * | 1991-11-21 | 1994-03-08 | Motorola, Inc. | Command authentication process |
US5475826A (en) | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
NZ329808A (en) * | 1993-12-01 | 1999-08-30 | Rpk New Zealand Ltd | Public key encryption system and mixture generator |
US5495533A (en) | 1994-04-29 | 1996-02-27 | International Business Machines Corporation | Personal key archive |
WO1996025801A1 (en) * | 1995-02-17 | 1996-08-22 | Trustus Pty. Ltd. | Method for partitioning a block of data into subblocks and for storing and communicating such subblocks |
US5742807A (en) * | 1995-05-31 | 1998-04-21 | Xerox Corporation | Indexing system using one-way hash for document service |
US5701469A (en) * | 1995-06-07 | 1997-12-23 | Microsoft Corporation | Method and system for generating accurate search results using a content-index |
JP3647940B2 (ja) * | 1995-09-22 | 2005-05-18 | 富士通株式会社 | データ管理装置 |
US5854916A (en) * | 1995-09-28 | 1998-12-29 | Symantec Corporation | State-based cache for antivirus software |
US5864852A (en) * | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US6012057A (en) * | 1997-07-30 | 2000-01-04 | Quarterdeck Corporation | High speed data searching for information in a computer system |
JP3056704B2 (ja) * | 1997-08-25 | 2000-06-26 | 三菱電機株式会社 | データ管理装置 |
US6233685B1 (en) | 1997-08-29 | 2001-05-15 | Sean William Smith | Establishing and employing the provable untampered state of a device |
JPH11143780A (ja) * | 1997-11-05 | 1999-05-28 | Hitachi Ltd | データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置 |
WO1999026207A1 (en) * | 1997-11-19 | 1999-05-27 | Rsa Security Inc. | Digital coin tracing using trustee tokens |
JP3849279B2 (ja) * | 1998-01-23 | 2006-11-22 | 富士ゼロックス株式会社 | インデクス作成方法および検索方法 |
JP3457184B2 (ja) * | 1998-06-25 | 2003-10-14 | シャープ株式会社 | 検索装置及びその制御プログラムを記憶した媒体 |
US7152165B1 (en) | 1999-07-16 | 2006-12-19 | Intertrust Technologies Corp. | Trusted storage systems and methods |
US6928467B2 (en) * | 2000-02-02 | 2005-08-09 | Inno Path Software, Inc. | Apparatus and methods for providing data synchronization by facilitating data synchronization system design |
US7412462B2 (en) * | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
US7043641B1 (en) * | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
US6968456B1 (en) | 2000-08-08 | 2005-11-22 | Novell, Inc. | Method and system for providing a tamper-proof storage of an audit trail in a database |
US7362868B2 (en) | 2000-10-20 | 2008-04-22 | Eruces, Inc. | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US6928428B1 (en) * | 2000-11-27 | 2005-08-09 | Microsoft Corporation | Distributed confidential contextual querying |
WO2002056181A2 (en) * | 2001-01-11 | 2002-07-18 | Force Communications Inc Z | File switch and switched file system |
US7360075B2 (en) * | 2001-02-12 | 2008-04-15 | Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
GB2377514B (en) * | 2001-07-05 | 2005-04-27 | Hewlett Packard Co | Document encryption |
US7266699B2 (en) | 2001-08-30 | 2007-09-04 | Application Security, Inc. | Cryptographic infrastructure for encrypting a database |
US7269729B2 (en) | 2001-12-28 | 2007-09-11 | International Business Machines Corporation | Relational database management encryption system |
US20030159054A1 (en) * | 2002-02-19 | 2003-08-21 | Minebea Co. | Reconfigurable secure input device |
US7287033B2 (en) * | 2002-03-06 | 2007-10-23 | Ori Software Development, Ltd. | Efficient traversals over hierarchical data and indexing semistructured data |
JP4077329B2 (ja) * | 2003-01-31 | 2008-04-16 | 株式会社東芝 | トランザクション処理システム、並行制御方法及びプログラム |
US20030177115A1 (en) * | 2003-02-21 | 2003-09-18 | Stern Yonatan P. | System and method for automatic preparation and searching of scanned documents |
US20050004924A1 (en) * | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Control of access to databases |
US10339336B2 (en) | 2003-06-11 | 2019-07-02 | Oracle International Corporation | Method and apparatus for encrypting database columns |
US7743069B2 (en) | 2004-09-03 | 2010-06-22 | Sybase, Inc. | Database system providing SQL extensions for automated encryption and decryption of column data |
US7571490B2 (en) | 2004-11-01 | 2009-08-04 | Oracle International Corporation | Method and apparatus for protecting data from unauthorized modification |
-
2006
- 2006-09-06 US US11/516,267 patent/US7689547B2/en active Active
-
2007
- 2007-08-23 TW TW096131311A patent/TWI372345B/zh active
- 2007-08-24 WO PCT/US2007/076758 patent/WO2008030717A1/en active Application Filing
- 2007-08-24 JP JP2009527488A patent/JP4810611B2/ja not_active Expired - Fee Related
- 2007-08-24 CN CN2007800328508A patent/CN101512525B/zh active Active
- 2007-08-24 KR KR1020097004699A patent/KR101403745B1/ko active IP Right Grant
- 2007-08-24 EP EP07841329.1A patent/EP2064638B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692124A (en) * | 1996-08-30 | 1997-11-25 | Itt Industries, Inc. | Support of limited write downs through trustworthy predictions in multilevel security of computer network communications |
US6233658B1 (en) * | 1997-06-03 | 2001-05-15 | Nec Corporation | Memory write and read control |
US6052686A (en) * | 1997-07-11 | 2000-04-18 | At&T Corporation | Database processing using schemas |
US6601026B2 (en) * | 1999-09-17 | 2003-07-29 | Discern Communications, Inc. | Information retrieval by natural language querying |
US7065579B2 (en) * | 2001-01-22 | 2006-06-20 | Sun Microsystems, Inc. | System using peer discovery and peer membership protocols for accessing peer-to-peer platform resources on a network |
Also Published As
Publication number | Publication date |
---|---|
CN101512525A (zh) | 2009-08-19 |
JP4810611B2 (ja) | 2011-11-09 |
EP2064638B1 (en) | 2019-03-27 |
KR101403745B1 (ko) | 2014-06-03 |
US20080059414A1 (en) | 2008-03-06 |
TW200817949A (en) | 2008-04-16 |
EP2064638A1 (en) | 2009-06-03 |
JP2010503118A (ja) | 2010-01-28 |
US7689547B2 (en) | 2010-03-30 |
WO2008030717A1 (en) | 2008-03-13 |
EP2064638A4 (en) | 2016-05-04 |
TWI372345B (en) | 2012-09-11 |
KR20090048623A (ko) | 2009-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101512525B (zh) | 加密的数据搜索 | |
CN101529423B (zh) | 有范围查找 | |
CN106127075B (zh) | 一种云存储环境下基于隐私保护的可搜索加密方法 | |
US20170053135A1 (en) | Columnar Table Data Protection | |
US7783899B2 (en) | System and method for performing a conjunctive keyword search over encrypted data | |
US20060041533A1 (en) | Encrypted table indexes and searching encrypted tables | |
JP5997851B2 (ja) | プライバシー保護データベースシステム | |
Yuan et al. | Building an encrypted, distributed, and searchable key-value store | |
US20090022321A1 (en) | Personal information management system, personal information management program, and personal information protecting method | |
CN108170753B (zh) | 一种共有云中Key-Value数据库加密与安全查询的方法 | |
CN114969406A (zh) | 一种隐私保护的子图匹配方法及系统 | |
JP2006189925A (ja) | 個人情報管理システム、個人情報管理プログラムおよび個人情報保護方法 | |
Arora et al. | Mechanism for securing cloud based data warehouse schema | |
US20200210595A1 (en) | CryptoJSON Indexed Search Systems and Methods | |
Wang et al. | Fine‐Grained Task Access Control System for Mobile Crowdsensing | |
CN115757497A (zh) | 一种基于可信键值对内存数据库的数据隐匿查询方法和装置 | |
Bu et al. | SEF: a secure, efficient, and flexible range query scheme in two-tiered sensor networks | |
Liu et al. | Efficient query processing with mutual privacy protection for location-based services | |
Gupta et al. | Concealer: Sgx-based secure, volume hiding, and verifiable processing of spatial time-series datasets | |
Liu et al. | K-nearest neighbor queries over encrypted data | |
CN107995298A (zh) | 并行云计算的数据重用方法 | |
Liang et al. | Shape-unconstrained privacy-preserving range query for fog computing supported vehicular networks using image | |
Wang et al. | Secure dynamic SSE via access indistinguishable storage | |
Mohan et al. | Multi-Keyword Similarity Search Using Asymmetric Encryption | |
CN118296617A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150507 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150507 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |