CN104704493B - 可搜索的经加密的数据 - Google Patents
可搜索的经加密的数据 Download PDFInfo
- Publication number
- CN104704493B CN104704493B CN201380053158.9A CN201380053158A CN104704493B CN 104704493 B CN104704493 B CN 104704493B CN 201380053158 A CN201380053158 A CN 201380053158A CN 104704493 B CN104704493 B CN 104704493B
- Authority
- CN
- China
- Prior art keywords
- search
- field
- computer
- index
- user
- 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
Classifications
-
- 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
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search 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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
广泛描述的本发明的各实施例介绍了用于使得经加密的数据的搜索成为可能的***和方法。本发明的一个实施例公开了用于生成可搜索的经加密的数据库的方法。该方法包括:接收包括不同用户的个人信息的多个敏感数据记录;标识敏感数据记录的一个或多个可搜索的字段,其中每一个可搜索的字段与用户的个人信息的子集相关联;生成所述一个或多个可搜索的字段中的每一个的可搜索的字段索引;以及利用数据库加密密钥加密敏感数据记录。
Description
相关申请的交叉引用
本申请是2012年8月15日提交的美国临时申请No.61/683,659(代理案号:79900-847131(035100USP1))的非临时申请且要求其优先权,其全部内容出于所有目的通过引用整体结合于此。
背景技术
随着因特网日趋普及,将敏感的个人信息存储在不受信任的服务器计算机上的需要正在增长。例如,为了给用户提供快速响应时间,很多组织正卸载数据存储并处理至在地理上靠近用户的第三方数据中心。此外,出于成本和可扩展性原因,作为服务和其它“云”服务的存储在各组织中获得普及。典型地,这些服务由第三方组织利用不确定的安全标准进行操作。因此,确保静态数据的安全性继续成为必要。
为了解决此问题,一些***可将经加密的数据上传到不受信任的服务器计算机。尽管数据加密是用于保护敏感的个人信息的众所周知的技术,然而加密通常阻止搜索。因此,为了用户向经加密的数据库搜索期望的行,用户必须首先下载并解密整个数据库。这需要过大的带宽和处理量,尤其对于大的数据库。
本发明的各实施例解决这些及其他问题。
发明内容
广泛描述的本发明的各实施例介绍了用于使得经加密的数据的搜索成为可能的***和方法。
本发明的一个实施例公开了数据加密计算机。数据加密计算机包括处理器和非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质包括由处理器执行以用于实现一种方法的代码,所述方法包括:接收包括不同用户的个人信息的多个敏感数据记录;标识敏感数据记录的一个或多个可搜索的字段,其中每一可搜索的字段与用户的个人信息的子集相关联;生成所述一个或多个可搜索的字段中的每一个的可搜索的字段索引;以及利用数据库加密密钥加密敏感数据记录。
本发明的一个实施例公开了用于搜索经加密的数据库的计算机实现的方法。该方法包括:接收用户的个人信息;利用个人信息生成一个或多个索引值,每一索引值与可搜索的字段索引相关联;发送所述一个或多个索引值;接收匹配所述索引值的一个或多个经加密的数据记录;以及利用数据库解密密钥解密所述经加密的数据记录。
本发明的一个实施例公开了用于搜索经加密的数据库的计算机实现的方法。该方法包括:接收可搜索的字段索引的一个或多个索引值,其中所述索引值是利用用户的个人信息生成的;利用所述索引值检索一个或多个经加密的数据记录;以及发送所述一个或多个经加密的数据记录。
关于本发明的各实施例的进一步细节可在详细描述和附图中发现。
附图简述
图1示出了使用可搜索的经加密的数据库的***。
图2示出了数据加密计算机的一个潜在实施例。
图3示出了可搜索的经加密的数据库的示例性实施例的更详细的图示。
图4示出了数据加密计算机生成包括经加密的数据记录和可搜索的字段索引的经加密的可搜索的数据库的方法。
图5示出了生成用于可搜索的字段的可搜索的字段索引的方法。
图6示出了用于搜索和解密经加密的数据记录的方法。
图7示出了根据本发明的实施例的使用可搜索的经加密的数据库的示例性***。
图8描述了服务中心计算机从可搜索的经加密的数据库中检索用户的账户信息的方法。
图9示出了卡片的形式的支付设备的示例。
图10是可被用于实现针对本发明的各实施例所描述的实体或部件中的任何一个的计算机***的高级别框图。
详细描述
在讨论本发明的各实施例之前,一些术语的描述可以有助于理解本发明的各实施例。
术语“服务器计算机”可包括功能强大的计算机或计算机群。例如,服务器计算机可以是大型机,小型计算机群,或起单元作用的服务器组。在一个示例中,服务器计算机可以是耦合到Web服务器的数据库服务器。服务器计算机可被耦合到数据库,并且可包括用于为来自一个或多个客户端计算机的请求服务的任何硬件、软件、其他逻辑、或者前述项的组合。服务器计算机可包括一个或多个计算装置,并且可使用用于为来自一个或多个客户端计算机的请求服务的各种计算结构、布局,以及编译中的任何一种。
术语“敏感数据记录”可包括包含一个或多个“敏感数据字段”(诸如个人信息、财务信息、受保护信息、对于多个用户的私有或敏感数据)的任何数据记录。例如,敏感数据记录可包括用户的全名、信用***码、健康档案、驾照号码和密码。
术语“可搜索的字段”可包括可被用于搜索或检索敏感数据记录的任何字段。在某些情况下,可搜索的字段可包括敏感数据记录中的字段或敏感数据记录中的字段的一部分,诸如用户的个人信息的子集。可搜索的字段的示例可包括用户的首字母和姓、用户的信用***码的最后四位数字或用户的邮政编码。
术语“可搜索的字段值”可包括敏感数据记录的可搜索的字段的值。例如,对于包括用户的姓名“John Smith”和用户的社会保险号“001-23-4567”的敏感数据记录,可搜索的字段可以是用户的社会保险号的最后四位数字。因此,对于该用户的可搜索的字段值将是“4567”。
“可搜索的字段的敏感性”可包括对于字段的可搜索的字段值应当被保护到的程度的指示。例如,用户的最后四位数字的可搜索的字段可被视为“非敏感的”,因为该信息通常被视为公开地可用的且非个人可标识的。然而,用户的名和姓的可搜索的字段可被视为“敏感的”,因为其可指示用户的身份,如果知道的话。进一步,用户的完整社会保险号的可搜索的字段可被视为“高度敏感的”,因为通常期望社会保险号被保密。
术语“可搜索的字段索引”可包括索引、数据库列、映射或用于将可搜索的字段值与数据记录相关联的其它数据结构。可搜索的字段索引可包括一个或多个“可搜索的字段索引值”,其可包括任何经转换的或未经转换的可搜索的字段值。例如,对于用户的姓名的可搜索的字段,可搜索的字段值可以是“John Smith”,并且用户的可搜索的字段索引值可以是SHA-2格式中的散列的姓名(例如,“5078093fdf75a673”)。可搜索的字段索引可将每一可搜索的字段索引值映射到相关联的数据记录。因此,用户的姓名的散列随后可被用于检索该用户的数据记录。
在本发明的某些实施例中,多个可搜索的字段索引可与数据记录相关联。例如,在某些实施例中,此一个或多个可搜索的字段索引可被存储在数据库表的相同行中作为数据记录。在这样的实施例中,可执行SQL查询或其它搜索以检索具有可搜索的字段索引的特定可搜索的字段索引值的行。
术语“可搜索的经加密的数据库”可包括包含经加密的数据记录和一个或多个可搜索的字段索引的任何数据库、表或其它数据集合。“经加密的数据记录”可包括已被加密的敏感数据记录。经加密的数据记录可包括一个或多个经加密的数据字段。在某些实施例中,所有敏感数据记录可利用“数据库加密密钥”进行加密,该数据库加密密钥可包括任何加密密钥或其它秘密数据。在其它实施例中,敏感数据记录可单独地或成组地进行加密。可搜索的经加密的数据库可以是可操作的以通过匹配与数据记录相关联的可搜索的字段索引值来检索一个或多个经加密的数据记录。
术语“搜索参数”可包括用于确定经加密的数据记录以从可搜索的经加密的数据库检索的一个或多个可搜索的字段索引值或其它参数的集合。例如,用户“John Smith”的记录可通过提供对应于他的姓名的第一可搜索的字段索引值“5078093fdf75a673”以及对应于他的信用***码的最后4位数字的第二可搜索的字段索引值“4567”来进行检索。所提供的索引值可对照姓名和信用***码的可搜索的字段索引进行匹配以确定与用户相关联的经加密的数据记录。
本发明的各实施例提供很多技术优势。例如,本发明的各实施例使得由服务器所存储的经加密的数据的搜索成为可能而不需要该服务器解密该数据。经常需要将敏感数据存储在不受信任的服务器上。例如,各组织可将数据上传至更靠近他们的用户的第三方缓存服务器,或出于备份或可扩展性原因,可将数据存储在云服务器中。在某些情况下,这些服务器可能不由该组织进行操作,并且可能易受安全性破解的攻击。在某些实施例中,这些问题可通过利用数据库加密密钥加密敏感数据记录并在数据加密计算机处生成可搜索的字段索引,随后将经加密的数据记录和可搜索的字段索引发送至第三方服务来解决。由于数据库加密密钥不与第三方服务共享,因而敏感数据的内容被模糊化。然而,该数据仍可利用可搜索的字段索引进行搜索。
本发明的各实施例提供使得对经加密数据的可搜索访问成为可能的进一步的技术优势。在本发明的各实施例中,通过给客户提供数据库解密密钥,多个客户或客户端可被给予对可搜索的经加密的数据库的访问。随后,可搜索的经加密的数据库可被客户并行地搜索并且没有执行附加的客户认证。这提供了允许在变化最少甚至没有变化的情况下使用商业现成(COTS)数据库软件来支持搜索经加密的数据的额外的好处。因此,本发明的各实施例降低了复杂性并且提高了可搜索的经加密的数据库的效率。
本发明的各实施例提供使得针对该数据库的各种用户的不同访问控制级别成为可能的进一步的技术优势。例如,可能期望限制该数据库的某些用户利用某些可搜索的字段检索记录(例如,通过利用可搜索的字段密钥加密索引值)。在一个情况中,呼叫中心的较低级别员工可能未被提供字段密钥,该字段密钥允许仅利用消费者的姓名搜索消费者的个人信息。这可阻止较低级别员工偷窃具有公知或先前所知姓名的消费者的消费者信息。相反,该消费者姓名必须与一些其他信息(例如,消费者的信用***码的最后4位数字)一起被提供。因此,可防止可能的欺诈。之后,一旦该员工已经被审查或被证明可信,则可提供字段密钥。因此,通过控制对某些可搜索的字段的访问,本发明的各实施例可提高敏感数据记录的安全性。
以上的示例仅突出强调了根据本发明的各实施例的可搜索的经加密的数据库的几个优势。
I.示例性可搜索的经加密的数据库***
在图1中可见使用可搜索的经加密的数据库的***100。***100包括客户端计算机A 101、客户端计算机B 102、客户端计算机C 103、客户端计算机D 104、通信网络105、数据加密计算机200、数据库访问服务器106和可搜索的经加密的数据库300。如所示,数据加密计算机200可与客户端计算机101、102、103、104中的每一个通信并且可将一个或多个加密密钥分配给客户端计算机101-104。通信网络105可促进客户端计算机101-104和数据库访问服务器106之间的数据传输。客户端计算机101-104可运行一个或多个应用,该一个或多个应用可连接至数据库访问服务器106以搜索存储在可搜索的经加密的数据库300中的经加密的数据。
适当的通信网络105可以是下列项的任何一个和/或组合:直接互连;因特网;局域网(LAN);城域网(MAN);作为因特网上节点的操作任务(OMNI);有担保的自定义连接;广域网(WAN);无线网络(例如,采用诸如但不限于无线应用协议(WAP)、I-mode和/或类似协议之类的协议);和/或类似的。
图2示出了数据加密计算机200的一个潜在实施例。如图2中所描绘的,数据加密计算机200可包括服务器计算机210,该服务器计算机210包括若干模块,诸如客户认证模块211、个人信息分析器模块212、数据加密模块213、加密密钥传输模块214、数据散列模块215和索引生成模块216。数据加密计算机200还可包括个人信息数据库220。各种模块可由位于计算机可读介质上的计算机代码来体现。
客户认证模块211可被配置成执行客户认证和授权确定。例如,客户认证模块211可被用于确定经授权以接收与可搜索的经加密的数据库相关联的数据库解密密钥或接收与可搜索的字段索引相关联的字段密钥的一个或多个客户或客户端计算机。客户认证模块211可利用用于授权的任何适当的技术,诸如用户名和密码登录、双因素认证或基于证书的认证。
个人信息分析器模块212可被配置成分析个人信息(诸如存储在个人信息数据库220中的信息)以确定可搜索的字段的敏感性和所需的相应级别的数据保护。例如,个人信息分析器模块212可被用于确定包括客户的社会保险号的最后四位数字的可搜索的字段的敏感性或完整的信用***码(例如,主账号或PAN)的敏感性。在某些实施例中,个人信息分析器模块212可利用用于确定可搜索的字段的敏感性和相关联的数据保护要求的规则、标准或协议进行编程。例如,在涉及医疗保健相关的个人信息的一个实施例中,个人信息分析器模块212可被编程为符合健康保险携带和责任法案(HIPPA)数据保护标准。因此,从敏感数据生成的任何可搜索的字段可按照HIPPA标准进行保护。
数据加密模块213可被配置成生成加密密钥并利用所生成的密钥加密数据。加密可包括信息的任何编码从而使得未被授权的用户不能读取它,而经授权的用户可以,或如本领域已知的其它方式那样。在本发明的各实施例中,加密可利用对称密钥或公钥/私钥对来执行。例如,用户的出生日期(例如,“1/2/1934”)可利用加密密钥进行加密以产生经加密的数据(例如,0x34A69F)从而使得经加密的数据可能是不可读的。经授权的用户可接着解密该数据从而使得出生日期是可读的。
在某些实施例中,数据加密模块213可生成数据库加密密钥、数据加密密钥、可搜索的字段密钥、用于与客户端计算机101-104通信的加密密钥或任何其它适当的加密密钥。数据加密模块213还可加密敏感数据记录以生成经加密的数据记录,并且加密可搜索的字段值。在某些实施例中,数据加密模块213可利用一个或多个硬件部件,诸如加密处理器或可信平台模块(TPM)。
加密密钥传输模块214可被配置成将一个或多个经加密的密钥传送至客户端计算机101-104。例如,加密密钥传输模块214可被用于发送数据库解密密钥或可搜索的字段密钥。在某些实施例中,加密密钥传输模块214可与客户认证模块211通信以确定经授权以接收数据库解密密钥或可搜索的字段密钥的一个或多个客户或客户端计算机。
数据散列模块215可被配置成散列诸如可搜索的字段值之类的数据。散列可指代取数据作为输入并返回固定大小的位串(即,散列)的任何算法或函数,或如本领域已知的其它方式那样。在各实施例中,散列可利用SHA-2、MD5、bcrypt、Blowfish或任何其它适当的方法来执行。例如,可散列用户的出生日期(例如,“12/3/45”)以生成可信的散列(例如,“a3b8919fcb9d2”)。随后,由用户所生成的散列可与可信的散列进行比较以检索与该出生日期相关联的数据记录。
索引生成模块216可被配置成生成索引,诸如可搜索的字段的索引。例如,索引生成模块216可被配置成利用个人信息分析器模块212来确定可搜索的字段的敏感性、分别地利用数据加密模块213或数据散列模块215来加密或散列可搜索的字段值以生成可搜索的字段索引值以及利用加密密钥传输模块214来传输可搜索的字段加密密钥。在某些实施例中,索引生成模块216可利用个人信息数据库220来生成索引。
个人信息数据库220可包括一个或多个客户的个人信息。在某些实施例中,个人信息数据库220可以是明文可见的从而使得服务器计算机210可从数据库220读取数据。
参见图3,示出了可搜索的经加密的数据库300的示例性实施例的更详细的图示。可搜索的经加密的数据库300可被配置成存储经加密的数据记录以及与经加密的数据记录相关联的可搜索的字段索引。描述了可被包括在敏感数据记录和可搜索的字段索引中的一些可能的数据字段。可搜索的经加密的数据库300可包括多于一个数据库,并且这些数据库可处于相同的位置或可被远程地定位。在某些实施例中,存储在可搜索的经加密的数据库300中的数据可包括个人信息。例如,可搜索的经加密的数据库300可包括多个经加密的数据字段,诸如姓名字段302、出生日期字段303、主账号(PAN)字段304、社会保险号(SSN)字段305和地址字段306。可搜索的经加密的数据库300还可包括一个或多个可搜索的字段索引,诸如姓名索引307、出生的日和月索引308、PAN(最后4位)索引309、SSN(最后4位)索引310和邮政编码索引311。
用户标识符字段301可包括用户的任何适当的标识符。例如,用户标识符可包括分配给每一用户的唯一的号码(例如,GUID)、与用户相关联的用户名或任何其它适当的标识符。例如,如果对于用户“John Smith”的用户名是jsmith45,则“jsmith45”可被存储在用户标识符字段301中。
姓名字段302可包括用户的全名或依法登记的姓名。例如,对于用户jsmith45,“John Smith”可被存储在用户的经加密数据记录中的姓名字段302中。
出生日期字段303可包括用户完整的出生日期。出生日期可以任何适当的格式进行存储,并且可指示用户出生的日、月和年。例如,对于用户jsmith45,出生日期字段303可包括“12/3/1945”。
主账号(PAN)字段304可包括用户的信用***码、银行账号或任何其它适当的账号。例如,对于用户jsmith45,PAN字段304可包括用户的16位数字信用***码“4567-8901-2345-6789”。
社会保险号(SSN)字段305可包括用户的社会保险号或与用户相关联的任何其它适当的政府标识号码。例如,对于用户jsmith45,SSN字段305可包括社会保险号“001-23-4567”。
地址字段306可包括用户的地址。地址可以是邮寄地址、账单地址、居住地址或与用户相关联的任何其它适当的地址。地址可利用街道名和街道号码、地理坐标或任何其它适当的方式来表示。例如,对于用户jsmith45,地址字段306可包括“123 Main St,SanFrancisco,CA,94111”。
在本发明的各实施例中,包括经加密的数据记录的经加密的数据字段301-306可诸如利用数据库加密密钥单独地或共同地进行加密。经加密的数据记录可与一个或多个可搜索的字段索引307-311相关联,如以下所描述的。
姓名索引307可包括包含用户的全名或依法登记的姓名的索引。因此,在本发明的某些实施例中,与姓名索引307相关联的可搜索的字段值可类似于存储在姓名字段320中的那些。然而,在本发明的某些实施例中,姓名索引307可被确定为敏感的,并因此其可被散列以使字段值模糊(obfuscate)。例如,对于具有姓名“John Smith”的用户jsmith45,相应的可搜索的字段索引值可以是“ef61a579c907bbed674c0”(利用姓名“John Smith”的SHA-2散列所生成)。因此,包括“John Smith”的SHA-2散列的搜索参数可被用于从姓名索引307检索用户jsmith45的经加密的数据记录。
出生的日和月索引308可包括包含用户的出生的日和月的索引。由于用户的出生的日和月通常不被视为敏感数据,因而其可以明文被存储在索引308中。例如,对于其出生日期为“12/3/1945”的用户jsmith45,字符串“12/3”可被存储在用户的出生的日和月索引308中。因此,包括出生的日和月“12/3”的搜索参数可被用于从索引308检索用户jsmith45的经加密的数据记录。
PAN(最后4位)索引309可包括包含用户的主账号(PAN)的最后四位数字的索引。由于PAN的最后四位数字通常不被视为敏感数据(因为其可被印刷在收据上或被显示在网页上),因而其可同样以明文被存储在索引309中。例如,对于其PAN为“4567-8901-2345-6789”的用户jsmith45,索引309的相应的可搜索的字段索引值可以是“6789”。因此,包括PAN的最后4位数字“6789”的搜索参数可被用于从索引309检索用户jsmith45的经加密的数据记录。
SSN(最后4位)索引310可包括包含用户的社会保险号(SSN)的最后四位数字的索引。由于SSN的最后四位数字通常被视为高度敏感数据(因为其可被用于冒充一个人),因而其可在索引310中被存储为基于散列的消息认证码(HMAC)。因此,可搜索的字段密钥可针对索引310而生成并且被用于生成HMAC索引值。例如,对于其SSN为“001-23-4567”的用户jsmith45,索引309的相应的可搜索的字段索引值可以是“bee0b8cfdac4a”。因此,包括利用可搜索的字段密钥所生成的“4567”的HMAC的搜索参数可被用于从索引310检索用户jsmith45的经加密的数据记录。
邮政编码索引311可包括包含与用户相关联的邮政编码的索引。由于用户的邮政编码通常不被视为敏感数据,因而其可以明文被存储在索引311中。例如,对于其地址为“123Main St,San Francisco,CA,94111”的用户jsmith45,字符串“94111”可被存储在用户的邮政编码索引311中。因此,包括邮政编码“94111”的搜索参数可被用于从索引311检索用户jsmith45的经加密的数据记录。
II.示例性可搜索的经加密的数据库生成方法
图4示出了数据加密计算机200生成包括经加密的数据记录和可搜索的字段索引的经加密可搜索数据库的方法。
在步骤401处,数据加密计算机200接收多个敏感数据记录。敏感数据记录可从任何适当的来源接收。例如,在某些实施例中,敏感数据记录可从个人信息数据库220或从可信的数据库中检索。
表1示出了三个敏感数据记录的示例性表示。如所示,敏感数据记录可包括多个敏感数据字段,诸如用户的ID、姓名、出生日期、主账号(PAN)和社会保险号(SSN)。
用户ID | 姓名 | DOB | PAN | SSN |
jsmith45 | John Smith | 12/3/1945 | 4567-8901-2345-6789 | 001-23-4567 |
mpower | Max Power | 4/15/1997 | 4285-9487-2345-6754 | 010-77-1143 |
jt2235 | Jill Turner | 1/1/1930 | 4673-2126-5623-7596 | 489-21-3532 |
表1
在步骤402处,数据加密计算机200标识敏感数据记录的可搜索的字段。在某些实施例中,可从用户输入标识可搜索的字段。在某些情况中,生成可搜索的经加密的数据库300的用户可指定一个或多个期望的可搜索的字段。例如,对于表1中所示的数据记录,用户可指定这些记录可利用用户的姓名、他们的PAN的最后四位数字和他们的SSN的最后四位数字进行搜索。
表2示出了三个敏感数据记录和相关联的可搜索的字段的示例性表示。如所示,可搜索的字段包括用户的姓名、用户的PAN的最后四位数字和用户的SSN的最后四位数字。
表2
在步骤403处,数据加密计算机200生成每一可搜索的字段的可搜索的字段索引。可搜索的字段索引可包括多个可搜索的字段索引值。每一可搜索的字段索引值可利用敏感数据记录中的敏感数据字段值来生成,并且可与该数据记录相关联。在一个示例中,可针对包括用户的社会保险号的最后四位数字的可搜索的字段生成可搜索的字段索引。因此,如果与用户相关联的数据记录具有社会保险号“001-23-4567”,则可搜索的字段值可以是“4567”,并且可搜索的字段索引值可以是“6bfe6d73n834fhj”,其可表示利用可搜索的字段值和字段密钥所生成的HMAC。可搜索的字段索引可包括一个或多个敏感数据记录的可搜索的字段索引值。
在本发明的某些实施例中,可搜索的字段索引的格式可取决于该字段的敏感性。例如,具有高敏感性的可搜索的字段(例如,用户的社会保险号的一部分)可被保护或模糊至比具有低敏感性的可搜索的字段(例如,用户的邮政编码的一部分)更高的程度。在某些实施例中,图5的方法可被用于生成可搜索的字段索引。
图5示出了用于生成可搜索的字段的可搜索的字段索引的方法500。在本发明的某些实施例中,方法500可作为方法400的步骤403的一部分来执行。
在步骤501处,数据加密计算机200确定可搜索的字段的敏感性。在某些实施例中,可搜索的字段的敏感性可由数据加密计算机200的用户进行限定,或被包括在个人信息数据库200中。可搜索的字段的敏感性可包括对于字段的可搜索的字段值应当被保护到的程度的指示。例如,用户的最后四位数字的可搜索的字段可被视为“非敏感的”,因为该信息通常被视为公开地可用的且非个人可标识的。然而,用户的名和姓的可搜索的字段可被视为“敏感的”,因为其可指示用户的身份,如果知道的话。进一步,用户的完整社会保险号的可搜索的字段可被视为“高度敏感的”,因为通常期望社会保险号被保密。
在本发明的某些实施例中,可搜索的字段的敏感性可利用预定义的规则、标准或协议来确定。例如,个人信息分析器模块212可用与个人信息的保护有关的官方(governmental)标准来配置。因此,个人信息分析器模块可以是可操作的以确定可搜索的字段的敏感性。如果可搜索的字段是高度敏感的,则执行步骤502。否则,如果可搜索的字段是敏感的,则执行步骤506。如果可搜索的字段是非敏感的,则执行步骤509。
当可搜索的字段被确定为高度敏感的时候,在步骤502处,数据加密计算机200生成可搜索的字段密钥以用于可搜索的字段。可搜索的字段密钥可以是任何加密密钥或其它秘密数据。例如,可搜索的字段密钥可以是对称密钥,诸如AES、DES或Blowfish。
在步骤503处,数据加密计算机200利用可搜索的字段密钥生成每一可搜索的字段值的HMAC。在某些实施例中,HMAC函数可利用公式HMAC(k,m)=v进行表示,其中k指的是可搜索的字段密钥,m指的是敏感数据记录的可搜索的字段值,并且v指的是经计算的HMAC。例如,密钥k=”123”可被用于生成表2中的SSN(最后4位)可搜索的字段的HMAC索引值。在一个示例中,如果k=”123”并且m=“4567”,则HMAC v可以是“6bfe6d73n834fhj”。在另一示例中,如果k=”123”并且m=“1143”,则HMACv可以是“bd2b3j47x4po53t”。因此,可针对每一可搜索的字段值计算HMAC可搜索的字段索引值。
在步骤504处,数据加密计算机200将每一HMAC可搜索的字段索引值存储在可搜索的字段索引中。表3中的SSN(最后4位)索引示出了包括HMAC索引值的可搜索的字段索引的一个示例。
在步骤505处,数据加密计算机200将可搜索的字段密钥发送至被授权使用可搜索的字段的客户。例如,对于SSN(最后4位)可搜索的字段,被授权利用用户的SSN的最后四位数字搜索的客户可被提供相应的可搜索的字段密钥。
当可搜索的字段被确定为敏感的时候,在步骤506处,数据加密计算机200确定可搜索的字段的混淆值(salt value)。该混淆值可以是任何适当的数据。例如,在某些实施例中,该混淆值可以是与用户相关联的另一数据字段,诸如用户的用户名。在其它实施例中,该混淆值可以是随机数或伪随机数或预定义的字符串。
在步骤507处,数据加密计算机利用该混淆值生成每一可搜索的字段值的散列。可利用任何适当的方式生成经混淆的(salted)散列。例如,在某些实施例中,混淆的和可搜索的字段值可被附加,然后利用散列算法(诸如MD5、SHA-2或bcrypt)进行散列。
在步骤508处,数据加密计算机200将每一散列可搜索的字段索引值存储在可搜索的字段索引中。表3中的姓名索引示出了包括散列的索引值的可搜索的字段索引的一个示例。
当可搜索的字段被确定为非敏感的时候,在步骤509处,数据加密计算机200在可搜索的字段索引中将可搜索的字段值存储为明文或明码。表3中的PAN(最后4位)索引示出了包括散列的索引值的可搜索的字段索引的一个示例。
表3示出了三个敏感数据记录和相关联的可搜索的字段索引的示例性表示。如所示,可搜索的字段索引可根据可搜索的字段的敏感性各自进行格式化。例如,用户的姓名通常被视为敏感信息,因而利用SHA-2算法散列姓名可搜索的字段索引值。然而,PAN的最后4位数字通常不被视为敏感的,并因此以明文形式留下。另外,SSN的最后4位数字被视为高度敏感的,并因此被计算为HMAC。示例性可搜索的字段索引值在表3中示出。应当注意,散列和HMAC值被缩短以便于标识,并且在本发明的某些实施例中可以更长。
表3
返回至图4,在步骤404处,数据加密计算机200利用数据库加密密钥加密敏感数据记录。数据库加密密钥可与“数据库解密密钥”相关联,该数据库解密密钥可使数据的加密过程逆反。在某些实施例中,数据加密计算机200可生成数据库加密密钥。替代地,数据加密计算机200可从另一计算设备接收数据库加密密钥。在某些实施例中,数据库可利用单个数据库加密密钥进行加密。在其它实施例中,多个数据库加密密钥可被用于加密数据库。例如,每一数据库加密密钥可与数据库行或列的子集相关联。例如,第一数据库加密密钥可被用于加密具有以字母A-M开始的用户标识符的敏感数据记录,而第二数据库加密密钥可被用于加密具有以字母O-Z开始的用户标识符的敏感数据记录。在另一示例中,不同的数据库加密密钥可被用于加密各种敏感数据字段。例如,包括用户的电话号码的敏感数据字段可利用第一加密密钥进行加密,并且包括用户的社会保险号的敏感数据字段可利用第二加密密钥进行加密。在某些实施例中,某些客户端计算机可能未被提供有某些数据库解密密钥以限制对特定敏感数据字段的访问。例如,通过给客户端计算机提供第一解密密钥而非第二解密密钥,该客户端计算机可被给予对用户的电话号码的访问,而非对用户的社会保险号的访问。
表4示出了三个经加密的数据记录和可搜索的字段索引的示例性表示。如所示,每一记录中的所有敏感数据字段被组合且被加密。因此,没有获得解密密钥的情况下,该敏感数据是不可读的。
表4
在步骤405处,数据加密计算机200将经加密的数据记录和可搜索的字段索引发送至可搜索的经加密的数据库300。在某些实施例中,在不受信任的网络之上发送经加密的数据记录和可搜索的字段索引是可接受的,因为所有敏感信息已经被加密或被模糊化。在某些实施例中,经加密的数据记录和可搜索的字段索引可经由数据库访问服务器106进行发送。
在步骤406处,数据加密计算机200将数据库解密密钥分配至被授权解密该数据库的客户端计算机101-104。数据库解密密钥可以是与数据库加密密钥相同的密钥(例如,在对称加密的情况下)或不同的密钥(例如,在非对称加密的情况下)。被授权解密该数据库的客户端计算机的确定可利用用户认证模块211或任何其它适当的方式来作出。在使用多个数据库加密密钥的实施例中,数据加密计算机200可仅将每一相应的解密密钥分配至被授权使用该密钥的客户端计算机。
III.示例性可搜索的经加密的数据库使用方法
图6示出了用于搜索和解密经加密的数据记录的方法600。典型地,可在已生成可搜索的经加密的数据库300并且密钥已经被传送至经授权的客户之后执行方法600。
在步骤601处,客户端计算机101确定对可搜索的经加密的数据库300的搜索的搜索参数。搜索参数可包括包含用于从可搜索的经加密的数据库300检索经加密数据记录的一个或多个可搜索的字段值或其它参数的逻辑表达。例如,用户“John Smith”的记录可通过提供对应于他的姓名的第一可搜索的字段值“John Smith”以及对应于他的信用***码的最后4位数字的第二可搜索的字段值“4567”来进行检索。搜索参数可包括任意数量的可搜索的字段值和/或其逻辑组合。在某些实施例中,搜索参数可包括布尔表达式(例如,具有与、或和非逻辑运算符)。在一个示例中,搜索参数可被用于检索其中航运邮政编码是94111且账单邮政编码不是94111的记录。
在步骤602处,客户端计算机101确定搜索参数的可搜索的字段索引值。在本发明的某些实施例中,这些索引值可通过确定可搜索的字段的格式来生成。在某些实施例中,可由客户端计算机101执行方法500以确定适当的格式。在其它实施例中,该格式可被预定义,诸如在对象关系模型(ORM)中进行预定义。
例如,对于搜索参数“John Smith”和“4567”,相应的可搜索的字段索引值可分别是“ef61a579c907bbed674c0”(利用姓名的SHA-2散列生成)和“4567”(最后四位数字的明文)。
在步骤603处,客户端计算机101将可搜索的字段索引值发送至可搜索的经加密的数据库300。这些索引值可在不安全的连接之上被发送,因为它们不可被数据库或任何第三方译码。在本发明的某些实施例中,这些索引值可作为SQL查询的一部分进行发送。因此,该搜索可由支持SQL查询的任何标准的数据库来提供服务。
在步骤604处,可搜素经加密数据库300利用所接收的索引值检索经加密的数据记录。在某些实施例中,经加密的数据记录可被检索其是否匹配所有指定索引值。例如,对于表4的可搜索的经加密的数据库,对应于用户的姓名的索引值“ef61a579c907bbed674c0”和对应于用户的PAN的最后4位数字的索引值“6789”可匹配经加密的数据记录“b0a922f14604703134cba8f3dfa1903c738d9c1ee7…”。
在步骤605处,可搜索的经加密的数据库300将经加密的数据记录发送至客户端计算机101。由于同样保护经加密的数据记录免于破解(compromise),因而它们可在不安全的连接上被传输。
在步骤606处,客户端计算机101利用数据库解密密钥解密经加密的数据记录以确定敏感数据记录。典型地,客户端计算机101先前可能已经接收数据库解密密钥,诸如在方法400的步骤406期间。例如,可解密经加密的数据记录“b0a922f14604703134cba8f3dfa1903c738d9c1ee7…”以确定如表1中所示的jsmith45的敏感数据记录。
IV.示例性支付处理***和方法
图7示出了根据本发明的实施例的使用可搜索的经加密的数据库300的示例性***。该***包括可操作便携式用户设备701的用户(未示出)。用户可在连接至商家计算机702的访问设备(未示出)处利用便携式设备701来进行购买交易。商家计算机702可被连接至收单方计算机703。收单方计算机703可经由支付处理网络704被连接至发行方计算机705。支付处理网络704还可被连接至可搜索的经加密的数据库300。可搜索的经加密的数据库300还可被连接至服务中心计算机706。
如本文中所使用的,“服务中心计算机”通常可指代客户端计算机或提供对用户信息的可搜索的经加密的数据库300的访问的其它计算设备。在本发明的某些实施例中,服务中心计算机706可被用于为用户账户、交易或与用户有关的其它活动提供服务。例如,在一个实施例中,服务中心计算机可由维持用户的账户的发行方来操作。
如本文中所使用的,“发行方”通常可指代维持用户的金融账户并且经常向用户发行诸如***或借记卡之类的便携式用户设备701的商业实体(例如,银行)。“商家”通常是从事交易并可出售商品或服务的实体。“收单方”通常是与特定商家或其它实体具有商业关系的商业实体(例如,商业银行)。一些实体可执行发行方和收单方两者功能。某些实施例可涵盖这种单实体发行方-收单方。这些实体(例如,商家计算机702、收单方计算机703、支付处理网络704和发行方计算机705)中的每一个可包括使得通信成为可能或执行本文中所描述的功能中的一个或多个的一个或多个计算机装置。
支付处理网络704可包括用于支持和递送证书授权服务、授权服务、异常文件服务以及清算与结算服务的数据处理子***、网络和操作。示例性支付处理网络可包括VisaNetTM。诸如VisaNetTM之类的支付处理网络能够处理***交易、借记卡交易、以及其它类型的商业交易。具体而言,VisaNetTM包括处理授权请求的VIP***(Visa集成的支付***)以及执行清算与结算服务的Base II***。
支付处理网络704可包括一个或多个服务器计算机。服务器计算机通常是功能强大的计算机或计算机群。例如,服务器计算机可以是大型机,小型计算机群,或起单元作用的服务器组。在一个示例中,服务器计算机可以是耦合至Web服务器的数据库服务器。支付处理网络704可使用任何适当的有线或无线网络,包括因特网。
在典型的支付交易中,用户利用便携式用户设备701在商家702处购买商品或服务。用户的便携式用户设备701可以和与商家计算机702相关联的商家处的访问设备交互。例如,用户可对着访问设备702中的NFC读取器来分接(tap)便携式用户设备701。替代地,诸如在在线交易中,用户可电子地向商家指示支付细节。
授权请求消息是由访问设备生成并且随后被转发至收单方计算机703。在接收到授权请求消息之后,该授权请求消息随后被发送至支付处理网络704。支付处理网络704随后将授权请求消息转发至与便携式用户设备701的发行方相关联的相应的发行方计算机705。
“授权请求消息”可以是被发送至支付处理网络和/或支付卡的发行方以请求针对一交易的授权的电子消息。根据某些实施例的授权请求消息可符合ISO 8583,该ISO 8583是交换与一支付相关联的电子交易信息的***的标准,该支付由利用支付设备或支付账户的用户作出。授权请求消息可包括可与支付设备或支付账户相关联的发行方账户标识符。授权请求消息还可包括对应于“标识信息”的附加数据元素,该标识信息包括,仅以示例的方式:服务代码、CVV(卡验证值)、dCVV(动态卡验证值)、有效期等。授权请求消息还可包括“交易消息”,诸如与当前交易相关联的任何信息,诸如交易金额、商家标识符、商家位置等,以及可被用在确定是否标识和/或授权一交易中的任何其它信息。授权请求消息还可包括其它信息,诸如标识生成授权请求消息的访问设备的信息、关于访问设备的位置的信息等。
在发行方计算机705接收到授权请求消息之后,发行方计算机705将授权响应消息发送回支付处理网络704以指示当前交易是否被授权(或不被授权)。在某些实施例中,发行方计算机705可检查测试交易分以确定当前交易是否应被授权。支付处理网络704随后将授权响应消息转发回收单方703。在某些实施例中,例如取决于欺诈风险分或测试交易分的值,即使发行方计算机705已授权了交易,支付处理网络704仍可拒绝该交易。收单方703随后将响应消息发送回商家计算机702。
“授权响应消息”可以是由发行金融机构或支付处理网络生成的对授权请求消息的电子消息回复。通过示例的方式,授权响应消息可包括下列状态指示器中的一个或多个:“批准”—指示交易得到批准;“拒绝”—指示交易未被批准;或“呼叫中心”—指示响应因需更多信息而待决且商家必须呼叫免费授权电话号码。授权响应消息还可包括授权代码,该授权代码可以是***发行银行响应于授权请求消息以电子消息向商家的访问设备(例如,POS设备)返回的(直接地或通过支付处理网络)指示交易的批准的代码。该代码可用作授权的证据。如前面提到的,在某些实施例中,支付处理网络可生成授权响应消息或将该授权响应消息转发至商家。
在商家计算机702接收到授权响应消息之后,耦合至商家计算机702的访问设备随后可向用户提供授权响应消息。响应消息可被显示在非接触式访问设备上或可在收据上被打印出来。替代地,如果该交易是在线交易,则商家可提供授权响应消息的网页或其它指示。
在一天结束时,正常的清算与结算过程可由支付处理网络704进行。清算过程是在收单方和发行方之间交换金融明细以便于对消费者的支付账户的交易的过账和用户的结算位置的对账的过程。
在本发明的某些实施例中,便携式用户设备701、商家计算机702、收单方计算机703、支付处理网络704和发行方计算机705可将数据保存至可搜索的经加密的数据库300。
例如,本发明的某些实施例可被用于将用户的支付数据和其它账户数据保存至可搜索的经加密的数据库300。随着支付交易正被收单方计算机703、支付处理网络704和/或发行方计算机705处理,其可被保存至可搜索的经加密的数据库300。因此,可搜索的经加密的数据库可包括由用户进行的交易和其它账户信息。在一个示例中,发行方可将消费者服务外包给第三方服务中心。发行方可将经加密的账户记录保存至可搜索的经加密的数据库300并且给服务中心计算机提供访问该数据库所需的任何数据库解密密钥和可搜索的字段密钥。服务中心处的代表可针对各种账户管理问题(诸如将交易报告为欺诈性的、改变账户信息等)联系用户和被用户联系。因此,一代表可利用服务中心计算机706来连接至可搜索的经加密的数据库300以检索各种用户信息并服务用户。
图8描述了服务中心计算机706从可搜索的经加密的数据库300检索用户的账户信息的方法800。在某些情况下,用户可与操作服务中心计算机706的代表打电话或进行语音聊天。替代地,在某些情况下,用户可与服务中心计算机706交互作用,诸如如果用户连接至利用服务中心计算机706托管的网站的话。
在步骤801处,用户给服务中心计算机706提供标识信息。标识信息可包括适用于从可搜索的经加密的数据库检索用户的经加密账户记录的任何信息。例如,用户可给服务中心计算机提供姓名、地址、社会保险号或任何其它适当的信息。
在步骤802处,服务中心计算机706确定与标识信息相关联的索引值。索引值可由任何适当的方式(诸如针对方法600的步骤602所描述的那些)来生成。在某些实施例中,发行方计算机705可发送给服务中心计算机706可搜索的经加密的数据库300的模式(schema)或格式的其它规范。例如,发行方计算机705可发送描述可搜索的经加密的数据库300的结构的数据库模式。
在步骤803处,服务中心计算机将经确定的索引值发送至可搜索的经加密的数据库300。
在步骤804处,可搜索的经加密的数据库300检索匹配所接收的索引值的经加密的账户记录。在本发明的某些实施例中,如果检索到多个经加密的账户记录,则可搜索的经加密的数据库300可提示服务中心计算机706传送附加标识信息。因此,可重复步骤801-804直到接收到足够的索引值来标识单个经加密的账户记录。如果没有账户记录匹配所提供的索引值,则可搜索的经加密的数据库300可向服务中心计算机706指示故障。
在步骤805处,可搜索的经加密的数据库300将经加密的账户记录发送至服务中心计算机706。在步骤806处,服务中心计算机706利用数据库解密密钥解密经加密的账户记录以确定用户的账户信息。一旦确定了用户的账户信息,则可服务用户。
V.示例性计算机装置
图9示出了卡片的形式的支付设备901”的示例。如所示,支付设备901”包括塑料衬底901(m)。在某些实施例中,用于与访问设备相接的非接触式元件901(o)可存在于塑料衬底901(m)上或嵌入于其中。诸如账号、有效期和/或用户姓名之类的用户信息901(p)可被印刷或压印在卡上。磁条901(n)也可在塑料衬底901(m)上。在某些实施例中,支付设备901″可包括其中存储有用户数据的微处理器和/或存储器芯片。
如前面提到的和图9中所示,支付设备901”可包括磁条901(n)和非接触式元件901(o)两者。在某些实施例中,磁条901(n)和非接触式元件901(o)两者均可在支付设备901”中。在某些实施例中,磁条901(n)或非接触式元件901(o)可存在于支付设备901”中。
图10是可被用于实现以上所描述的实体或部件中的任何一个的计算机***的高级别框图。图10中所示的子***经由***总线1075进行互连。附加子***包括打印机1003、键盘1006、固定的盘片1007和监视器1009,该监视器1009耦合至显示适配器1004。耦合到I/O控制器1000的***设备和输入/输出(I/O)设备可通过诸如串行端口之类的本领域已知的任意数量的装置连接到计算机***。例如,串行端口1005或外部接口1008可被用于将计算机装置连接到诸如因特网之类的广域网、鼠标输入设备、或者扫描仪。经由***总线1075的互连允许中央处理器1002与每一子***通信,并控制来自***存储器1001或固定的盘片1007的指令的执行以及各子***之间的信息交换。***存储器1001和/或固定的盘片可以包含计算机可读介质。
VI.附加实施例
本发明的一个实施例公开了包括客户端计算机和数据库访问服务器的***。数据库访问服务器包括处理器和非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质包括可由处理器执行以用于实现一种方法的代码,所述方法包括:接收可搜索的字段索引的一个或多个索引值,其中索引值是利用用户的个人信息生成的;利用索引值检索一个或多个经加密的数据记录;以及发送所述一个或多个经加密的数据记录。数据加密计算机包括处理器和非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质包括由处理器执行以用于实现一种方法的代码,所述方法包括:发送一个或多个索引值;接收一个或多个经加密的数据记录;以及解密一个或多个经加密的数据记录。
如所描述的,创造***可涉及实现一个或多个功能、过程、操作或方法步骤。在某些实施例中,可作为通过适当编程的计算设备、微处理器、数据处理器等等执行一组指令或软件代码的结果而实现功能、过程、操作或方法步骤。此组指令或软件代码可被存储在存储器或由计算设备、微处理器等访问的其它形式的数据存储元件中。在其它实施例中,功能、过程、操作或方法步骤可由固件或专用处理器、集成电路等来实现。
应该理解,如上文所描述的本发明可以使用计算机软件以模块化或集成的方式以控制逻辑的形式来实现。基于本发明以及此处所提供的原理,那些精通本技术的普通人员将知道和理解使用硬件以及硬件和软件的组合来实现本发明的其他方式和/或方法。
在本申请中描述的任何软件组件或功能可被实现为将由处理器执行的使用例如常规或面向对象技术、使用例如Java、C++、或Perl的任何适当计算机语言的软件代码。软件代码可作为一系列指令或命令存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、磁介质(诸如硬盘驱动器或软盘)或光学介质(诸如CD-ROM)之类的计算机可读介质上。任何这样的计算机可读介质都可以驻留在单一计算设备内,并可以在***或网络内的不同的计算设备上存在。
尽管已详细描述并在附图中示出了某些示例性实施例,但是可以理解,此类实施例仅仅是对宽泛的本发明的说明而不旨在对其进行限制,并且本发明不限于所示及所述的具体安排和构造,因为对本领域的普通技术人员而言可发生各种其它的修改。
如本文所使用的,对“一”、“一个”或“该”的使用旨在表示“至少一个”,除非具体指明为相反情况。
Claims (14)
1.一种数据加密计算机,包括:
处理器;以及
非瞬态计算机可读存储介质,包括可由所述处理器执行以用于实现一种方法的代码,所述方法包括:
接收包括与不同用户相关联的信息的多个数据记录;
标识各所述数据记录的具有不同敏感性级别的多个可搜索的字段,其中,每一个可搜索的字段与用户的信息的子集相关联;
生成所述可搜索的字段中的每一个的可搜索的字段索引,所述可搜索的字段索引基于所述可搜索的字段的对应的敏感性级别来生成,
其中:
当所述可搜索的字段对应于非敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的纯文本;
当所述可搜索的字段对应于敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的散列值;且
当所述可搜索的字段对应于高敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的加密的散列值;且
利用数据库加密密钥来加密所述数据记录。
2.如权利要求1所述的数据加密计算机,其特征在于,所述方法进一步包括:
通过所述处理器将经加密的数据记录和所生成的索引发送至可搜索的经加密的数据库。
3.如权利要求1所述的数据加密计算机,其特征在于,所述加密的散列值是基于散列的消息认证码;以及
利用可搜索的字段密钥来生成所述基于散列的消息认证码。
4.如权利要求3所述的数据加密计算机,其特征在于,生成一个或多个索引进一步包括:
将所述可搜索的字段密钥发送至被授权利用所述可搜索的字段进行搜索的一个或多个客户。
5.如权利要求1所述的数据加密计算机,其特征在于,所述方法进一步包括:
将所述数据库加密密钥传送至被授权解密经加密的数据记录的一个或多个客户。
6.一种计算机实现的方法,包括:
通过处理器接收与用户相关联的信息;
通过所述处理器利用所述信息生成一个或多个索引值,所述一个或多个索引值的每一个与可搜索的字段索引相关联,所述一个或多个索引值的每一个基于对应的所述可搜索的字段的敏感性级别来生成,其中:
当所述可搜索的字段对应于非敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的纯文本;
当所述可搜索的字段对应于敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的散列值;且
当所述可搜索的字段对应于高敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的加密的散列值;且
通过所述处理器发送所述一个或多个索引值;
通过所述处理器接收匹配所述一个或多个索引值的一个或多个经加密的数据记录,其中各经加密的数据记录与具有不同敏感性级别的多个可搜索的字段相关联;以及
通过所述处理器利用数据库解密密钥来解密所述一个或多个经加密的数据记录。
7.如权利要求6所述的计算机实现的方法,其特征在于,进一步包括:
从数据加密计算机接收所述数据库解密密钥。
8.如权利要求6所述的计算机实现的方法,其特征在于,所述加密的散列值是基于散列的消息认证码。
9.一种计算机实现的方法,包括:
通过处理器接收可搜索的字段索引的一个或多个索引值,其中所述一个或多个索引值是利用与用户相关联的信息生成的,且所述一个或多个索引值的每一个基于对应的所述可搜索的字段索引的敏感性级别来生成,其中:
当所述可搜索的字段对应于非敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的纯文本;
当所述可搜索的字段对应于敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的散列值;且
当所述可搜索的字段对应于高敏感性级别时,所述可搜索的字段索引是所述可搜索的字段的加密的散列值;
通过所述处理器利用所述一个或多个索引值来检索一个或多个经加密的数据记录,其中各经加密的数据记录与具有不同敏感性级别的多个可搜索的字段相关联;以及
通过所述处理器发送所述一个或多个经加密的数据记录。
10.如权利要求9所述的计算机实现的方法,其特征在于,所述经加密的数据记录是利用数据库加密密钥来加密的,经加密的数据记录是可利用与所述数据库加密密钥相关联的数据库解密密钥来解密的。
11.如权利要求9所述的计算机实现的方法,其特征在于,所述加密的散列值是基于散列的消息认证码。
12.如权利要求9所述的计算机实现的方法,其特征在于,所述一个或多个索引值是从服务中心计算机接收的,其中,所述一个或多个索引值是利用标识信息而生成的。
13.如权利要求12所述的计算机实现的方法,其特征在于,所述方法进一步包括:
当多个经加密的数据记录匹配所述索引值时,提示所述服务中心计算机发送附加标识信息。
14.一种包括配置成执行如权利要求9所述的方法的服务器计算机以及与所述服务器计算机通信的客户端计算机的***,所述客户端计算机配置成:
发送所述一个或多个索引值;
接收所述一个或多个经加密的数据记录;以及
解密所述一个或多个经加密的数据记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910424339.7A CN110086830B (zh) | 2012-08-15 | 2013-08-13 | 可搜索的经加密的数据 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261683659P | 2012-08-15 | 2012-08-15 | |
US61/683,659 | 2012-08-15 | ||
PCT/US2013/054779 WO2014028524A1 (en) | 2012-08-15 | 2013-08-13 | Searchable encrypted data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910424339.7A Division CN110086830B (zh) | 2012-08-15 | 2013-08-13 | 可搜索的经加密的数据 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104704493A CN104704493A (zh) | 2015-06-10 |
CN104704493B true CN104704493B (zh) | 2019-06-07 |
Family
ID=50100957
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053158.9A Active CN104704493B (zh) | 2012-08-15 | 2013-08-13 | 可搜索的经加密的数据 |
CN201910424339.7A Active CN110086830B (zh) | 2012-08-15 | 2013-08-13 | 可搜索的经加密的数据 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910424339.7A Active CN110086830B (zh) | 2012-08-15 | 2013-08-13 | 可搜索的经加密的数据 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9256764B2 (zh) |
EP (2) | EP2885732B1 (zh) |
CN (2) | CN104704493B (zh) |
AU (1) | AU2013302743B2 (zh) |
WO (1) | WO2014028524A1 (zh) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2885732B1 (en) * | 2012-08-15 | 2018-04-04 | Visa International Service Association | Searchable encrypted data |
US9087209B2 (en) * | 2012-09-26 | 2015-07-21 | Protegrity Corporation | Database access control |
US10122714B2 (en) | 2013-08-01 | 2018-11-06 | Bitglass, Inc. | Secure user credential access system |
US9553867B2 (en) | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
US9552492B2 (en) * | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
US20180210911A1 (en) * | 2017-01-23 | 2018-07-26 | Oliver Wendel Gamble | Method and System for Interactive Notation, Text Data Storage and Management on a Mobile Device. |
US9280678B2 (en) * | 2013-12-02 | 2016-03-08 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9363243B2 (en) * | 2014-03-26 | 2016-06-07 | Cisco Technology, Inc. | External indexing and search for a secure cloud collaboration system |
US10311434B2 (en) * | 2014-05-29 | 2019-06-04 | Paypal, Inc. | Systems and methods for reporting compromised card accounts |
US20170322977A1 (en) * | 2014-11-07 | 2017-11-09 | Hitachi, Ltd. | Method for retrieving encrypted graph, system for retrieving encrypted graph, and computer |
CN104579632B (zh) * | 2014-12-19 | 2016-05-18 | 上海天旦网络科技发展有限公司 | 运维***中敏感数据安全存储和检索的方法及装置 |
KR102361400B1 (ko) * | 2014-12-29 | 2022-02-10 | 삼성전자주식회사 | 사용자 단말장치, 서비스제공장치, 사용자 단말장치의 구동방법, 서비스제공장치의 구동방법 및 암호화 색인기반 검색 시스템 |
EP3040898A1 (en) * | 2014-12-31 | 2016-07-06 | Gemalto Sa | System and method for obfuscating an identifier to protect the identifier from impermissible appropriation |
EP3256967B1 (en) * | 2015-02-11 | 2023-09-27 | Visa International Service Association | Increasing search ability of private, encrypted data |
US10037433B2 (en) | 2015-04-03 | 2018-07-31 | Ntt Docomo Inc. | Secure text retrieval |
CN104809409A (zh) * | 2015-05-13 | 2015-07-29 | 上海凭安企业信用征信有限公司 | 一种保护个人隐私的征信数据分散采集方法 |
CN104809410A (zh) * | 2015-05-13 | 2015-07-29 | 上海凭安企业信用征信有限公司 | 一种保护个人隐私的征信数据脱敏采集方法 |
US10394761B1 (en) * | 2015-05-29 | 2019-08-27 | Skroot LLC | Systems and methods for analyzing and storing network relationships |
CN106610995B (zh) * | 2015-10-23 | 2020-07-07 | 华为技术有限公司 | 一种创建密文索引的方法、装置及*** |
AU2016356736B2 (en) * | 2015-11-20 | 2021-01-21 | Ixup Ip Pty Ltd | "System of shared secure data storage and management" |
CN106874781A (zh) * | 2015-12-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种数据表加密方法及服务器 |
CN106203139A (zh) * | 2016-07-13 | 2016-12-07 | 成都知道创宇信息技术有限公司 | 一种数据局部脱敏方法 |
US10277561B2 (en) * | 2016-07-22 | 2019-04-30 | International Business Machines Corporation | Database management system shared ledger support |
US11455642B1 (en) * | 2016-09-19 | 2022-09-27 | United Services Automobile Association (Usaa) | Distributed ledger based interchange |
GB2561176A (en) * | 2017-04-03 | 2018-10-10 | Edinburgh Napier Univ | System and method for management of confidential data |
CN107707346A (zh) * | 2017-04-10 | 2018-02-16 | 浙江九州量子信息技术股份有限公司 | 一种基于数据库的密钥存储、获取方法 |
US10410015B2 (en) * | 2017-05-18 | 2019-09-10 | Linden Research, Inc. | Systems and methods to secure personally identifiable information |
US10476674B2 (en) | 2017-05-18 | 2019-11-12 | Linden Research, Inc. | Systems and methods to secure searchable data having personally identifiable information |
US10956519B2 (en) * | 2017-06-29 | 2021-03-23 | Cisco Technology, Inc. | Fine-grained encrypted access to encrypted information |
US10586057B2 (en) | 2017-11-16 | 2020-03-10 | Intuit Inc. | Processing data queries in a logically sharded data store |
US10873450B2 (en) | 2017-11-16 | 2020-12-22 | Intuit Inc. | Cryptographic key generation for logically sharded data stores |
US10699023B1 (en) * | 2017-11-20 | 2020-06-30 | Amazon Technologies, Inc. | Encryption profiles for encrypting user-submitted data |
US10601580B2 (en) | 2017-11-20 | 2020-03-24 | International Business Machines Corporation | Secure order preserving string compression |
US10453447B2 (en) | 2017-11-28 | 2019-10-22 | International Business Machines Corporation | Filtering data in an audio stream |
US10742401B2 (en) | 2017-12-19 | 2020-08-11 | International Business Machines Corporation | Half-pyramid data encryption |
US10528557B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
US10528556B1 (en) | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
CN108334577B (zh) * | 2018-01-24 | 2020-02-07 | 东北大学 | 一种安全多方数值型记录匹配方法 |
JP6840692B2 (ja) * | 2018-02-22 | 2021-03-10 | 株式会社日立製作所 | 計算機システム、接続装置、及びデータ処理方法 |
CA3094835A1 (en) | 2018-03-23 | 2019-09-26 | Equifax Inc. | Facilitating queries of encrypted sensitive data via encrypted variant data objects |
US11128605B2 (en) * | 2018-04-10 | 2021-09-21 | American Express Travel Related Services Company, Inc. | Distributed encryption of mainframe data |
US10846431B2 (en) * | 2018-04-16 | 2020-11-24 | First Data Corporation | System and method for storing data used by breach detection systems |
US10942906B2 (en) * | 2018-05-31 | 2021-03-09 | Salesforce.Com, Inc. | Detect duplicates with exact and fuzzy matching on encrypted match indexes |
JP2020004199A (ja) * | 2018-06-29 | 2020-01-09 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US10783270B2 (en) * | 2018-08-30 | 2020-09-22 | Netskope, Inc. | Methods and systems for securing and retrieving sensitive data using indexable databases |
US10614232B2 (en) * | 2018-09-10 | 2020-04-07 | John Almeida | Storing and using multipurpose secret data |
US10892895B2 (en) * | 2018-09-10 | 2021-01-12 | Atense, Inc. | Storing and using multipurpose secret data |
CN109308286A (zh) * | 2018-09-11 | 2019-02-05 | 李宗平 | 一种基于文件存储的sql检索方法 |
CN110598463B (zh) * | 2019-04-19 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 基于区块链的信息处理方法、装置和计算机可读存储介质 |
US11151280B2 (en) * | 2019-06-04 | 2021-10-19 | EMC IP Holding Company, LLC | Simplified deletion of personal private data in cloud backup storage for GDPR compliance |
US11475020B2 (en) | 2019-06-06 | 2022-10-18 | International Business Machines Corporation | Encryption scheme recommendation |
US11334905B2 (en) | 2019-10-10 | 2022-05-17 | SheerID, Inc. | Systems and methods for gated offer eligibility verification |
US11711203B2 (en) | 2019-10-10 | 2023-07-25 | SheerID, Inc. | Systems and methods for gated offer eligibility verification |
US11409912B2 (en) * | 2019-10-25 | 2022-08-09 | At&T Intellectual Property I, L.P. | System and method for securing identity identifiers for data engineering processing |
CN111191282A (zh) * | 2019-12-25 | 2020-05-22 | 苏宁云计算有限公司 | 一种敏感数据的管理方法和*** |
US11238168B2 (en) * | 2020-04-20 | 2022-02-01 | Cyberark Software Ltd. | Secure, efficient, and flexible searchable-encryption techniques |
CN111614638A (zh) * | 2020-05-08 | 2020-09-01 | 快猪侠信息技术(杭州)有限公司 | 一种基于大数据平台的人脸识别数据分发***和分发方法 |
TWI729812B (zh) * | 2020-05-15 | 2021-06-01 | 昕力資訊股份有限公司 | 加密和驗證敏感參數的電腦程式產品和裝置 |
CN111680062B (zh) * | 2020-05-15 | 2021-05-25 | 江西师范大学 | 一种安全多目标数据对象查询方法及存储介质 |
CN111783140A (zh) * | 2020-07-02 | 2020-10-16 | 奇安信科技集团股份有限公司 | 请求响应方法及装置、电子设备及计算机可读存储介质 |
CN111737720B (zh) * | 2020-07-21 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及电子设备 |
DE102020121984A1 (de) * | 2020-08-21 | 2022-02-24 | Bundesdruckerei Gmbh | Verschlüsselte Suche in einer Datenbank |
US11522918B1 (en) * | 2020-08-27 | 2022-12-06 | Sze Yuen Wong | Securely communicating organizational security policies between mobile devices |
US11418231B2 (en) * | 2020-10-19 | 2022-08-16 | Hyundai Mobis Co., Ltd. | UWB system |
US12014365B2 (en) | 2020-10-30 | 2024-06-18 | National Automated Clearing House Association | System and method for business payment information directory services |
US11893128B2 (en) * | 2021-06-14 | 2024-02-06 | International Business Machines Corporation | Data query against an encrypted database |
CN113672613B (zh) * | 2021-06-25 | 2024-05-07 | 深圳市威尔电器有限公司 | 一种基于5gdvr集成***的设备管理方法、***、终端及介质 |
US20230086508A1 (en) * | 2021-09-22 | 2023-03-23 | Capital One Services, Llc | Methods and systems for similarity searching encrypted data strings |
GB2613592A (en) * | 2021-12-07 | 2023-06-14 | Mastercard International Inc | A method of storing data |
CN114567465B (zh) * | 2022-02-17 | 2024-05-24 | 安徽师范大学 | 基于区块链的分类医疗数据可搜索加密方法 |
CN115859375A (zh) * | 2022-12-01 | 2023-03-28 | 北京火山引擎科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
US11797508B1 (en) * | 2023-06-02 | 2023-10-24 | Black Cape Inc. | Systems and methods for geospatial correlation |
CN116756760B (zh) * | 2023-08-21 | 2023-12-12 | 合肥安永信息科技有限公司 | 一种可搜索的数据库加密***及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512525A (zh) * | 2006-09-06 | 2009-08-19 | 微软公司 | 加密的数据搜索 |
CN102144371A (zh) * | 2008-09-10 | 2011-08-03 | Lg电子株式会社 | 选择性地加密控制信号的方法 |
KR20110127791A (ko) * | 2010-05-20 | 2011-11-28 | 소프트포럼 주식회사 | 데이터베이스 암호화 시스템 및 방법 |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212606B1 (en) * | 1998-10-13 | 2001-04-03 | Compaq Computer Corporation | Computer system and method for establishing a standardized shared level for each storage unit |
JP2001056810A (ja) * | 1999-06-07 | 2001-02-27 | Kawasaki Steel Systems R & D Corp | データベースアクセスシステム |
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 |
US6963980B1 (en) * | 2000-11-16 | 2005-11-08 | Protegrity Corporation | Combined hardware and software based encryption of databases |
US7484092B2 (en) * | 2001-03-12 | 2009-01-27 | Arcot Systems, Inc. | Techniques for searching encrypted files |
EP1742422B1 (en) * | 2001-12-26 | 2014-01-22 | Kabushiki Kaisha Toshiba | Wireless communication apparatus |
US20040083395A1 (en) * | 2002-08-01 | 2004-04-29 | Elain Blechman | Client-centric e-health system and method with applications to long-term health and community care consumers, insurers, and regulators |
CA2498023C (en) * | 2002-09-06 | 2012-08-07 | United States Postal Service | Method and system for efficiently retrieving secured data by securely pre-processing provided access information |
US8041719B2 (en) * | 2003-05-06 | 2011-10-18 | Symantec Corporation | Personal computing device-based mechanism to detect preselected data |
US20050004924A1 (en) * | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Control of access to databases |
US20060149962A1 (en) * | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US7626977B2 (en) * | 2003-09-15 | 2009-12-01 | Telecommunication Systems, Inc. | Standard telephone equipment (STE) based deployable secure communication system |
US7502934B2 (en) * | 2003-12-16 | 2009-03-10 | Sap Aktiengesellschaft | Electronic signatures |
US7519835B2 (en) * | 2004-05-20 | 2009-04-14 | Safenet, Inc. | Encrypted table indexes and searching encrypted tables |
EP1757006A2 (en) * | 2004-06-01 | 2007-02-28 | Ben-Gurion University of the Negev Research and Development Authority | Structure preserving database encryption method and system |
US7783899B2 (en) * | 2004-12-09 | 2010-08-24 | Palo Alto Research Center Incorporated | System and method for performing a conjunctive keyword search over encrypted data |
US8972743B2 (en) * | 2005-05-16 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | Computer security system and method |
JP2007066206A (ja) * | 2005-09-01 | 2007-03-15 | Ricoh Co Ltd | 文書参照者検索装置及び文書参照者検索方法 |
US7603344B2 (en) * | 2005-10-19 | 2009-10-13 | Advanced Digital Forensic Solutions, Inc. | Methods for searching forensic data |
US7647630B2 (en) * | 2005-12-15 | 2010-01-12 | International Business Machines Corporation | Associating security information with information objects in a data processing system |
US7873577B1 (en) | 2006-01-27 | 2011-01-18 | Aspect Loss Prevention, LLC | Sensitive data aliasing for transaction-card and other applications |
US7874013B2 (en) * | 2006-04-10 | 2011-01-18 | Sawteeth, Inc. | Secure and granular index for information retrieval |
US8086842B2 (en) * | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
US7904732B2 (en) * | 2006-09-27 | 2011-03-08 | Rocket Software, Inc. | Encrypting and decrypting database records |
KR100903601B1 (ko) * | 2007-10-24 | 2009-06-18 | 한국전자통신연구원 | 암호화된 수치 데이터 검색 시스템 및 그 방법 |
US8266430B1 (en) * | 2007-11-29 | 2012-09-11 | Emc Corporation | Selective shredding in a deduplication system |
US8726042B2 (en) * | 2008-02-29 | 2014-05-13 | Microsoft Corporation | Tamper resistant memory protection |
CN101593196B (zh) * | 2008-05-30 | 2013-09-25 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和*** |
US8346532B2 (en) * | 2008-07-11 | 2013-01-01 | International Business Machines Corporation | Managing the creation, detection, and maintenance of sensitive information |
EP2329391A1 (en) * | 2008-08-13 | 2011-06-08 | Secure Exchange Solutions, Llc | Trusted card system using secure exchange |
AU2009288767B2 (en) * | 2008-09-08 | 2015-08-06 | Salesforce.Com, Inc. | An appliance, system, method and corresponding software components for encrypting and processing data |
US8582771B2 (en) * | 2008-09-10 | 2013-11-12 | Lg Electronics Inc. | Method for selectively encrypting control signal |
KR101033511B1 (ko) * | 2008-09-12 | 2011-05-09 | (주)소만사 | 개인정보 보호 방법 및 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 |
KR101190059B1 (ko) * | 2008-12-12 | 2012-10-16 | 한국전자통신연구원 | 데이터 암호화 방법 및 암호화된 데이터의 결합 키워드 검색방법 |
US8131738B2 (en) * | 2008-12-30 | 2012-03-06 | International Business Machines Corporation | Search engine service utilizing hash algorithms |
US8837718B2 (en) * | 2009-03-27 | 2014-09-16 | Microsoft Corporation | User-specified sharing of data via policy and/or inference from a hierarchical cryptographic store |
US8819451B2 (en) * | 2009-05-28 | 2014-08-26 | Microsoft Corporation | Techniques for representing keywords in an encrypted search index to prevent histogram-based attacks |
US8321688B2 (en) * | 2009-06-12 | 2012-11-27 | Microsoft Corporation | Secure and private backup storage and processing for trusted computing and data services |
WO2011013463A1 (ja) * | 2009-07-29 | 2011-02-03 | 日本電気株式会社 | 範囲検索システム、範囲検索方法、及び範囲検索用プログラム |
US20110040753A1 (en) * | 2009-08-11 | 2011-02-17 | Steve Knight | Personalized search engine |
US9537650B2 (en) * | 2009-12-15 | 2017-01-03 | Microsoft Technology Licensing, Llc | Verifiable trust for data through wrapper composition |
US10348693B2 (en) * | 2009-12-15 | 2019-07-09 | Microsoft Technology Licensing, Llc | Trustworthy extensible markup language for trustworthy computing and data services |
KR101302137B1 (ko) * | 2009-12-16 | 2013-09-16 | 한국전자통신연구원 | 대칭 키 기반 검색 가능 암호 방법 |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
AU2011207602B2 (en) * | 2010-01-19 | 2015-01-22 | Visa International Service Association | Verification mechanism |
WO2011104663A1 (en) * | 2010-02-23 | 2011-09-01 | Confidato Security Solutions Ltd | Method and computer program product for order preserving symbol based encryption |
GB2483648A (en) * | 2010-09-14 | 2012-03-21 | Mastek Uk Ltd | Obfuscation of data elements in a message associated with a detected event of a defined type |
US8533489B2 (en) * | 2010-09-29 | 2013-09-10 | Microsoft Corporation | Searchable symmetric encryption with dynamic updating |
JP2014507841A (ja) * | 2011-01-07 | 2014-03-27 | トムソン ライセンシング | オンラインストレージのための装置及び方法、送信装置及び方法並びに受信装置及び方法 |
CN103329478B (zh) * | 2011-01-18 | 2015-11-25 | 三菱电机株式会社 | 密码***以及密码***的密码处理方法 |
US8510335B2 (en) * | 2011-02-14 | 2013-08-13 | Protegrity Corporation | Database and method for controlling access to a database |
US8694646B1 (en) * | 2011-03-08 | 2014-04-08 | Ciphercloud, Inc. | System and method to anonymize data transmitted to a destination computing device |
US8572379B2 (en) * | 2011-08-08 | 2013-10-29 | Xerox Corporation | Private access to hash tables |
CN104081390B (zh) * | 2012-01-25 | 2017-11-03 | 三菱电机株式会社 | 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置 |
US20130238646A1 (en) * | 2012-03-06 | 2013-09-12 | Evrichart, Inc. | Partial-Match Searches of Encrypted Data Sets |
WO2014008403A1 (en) * | 2012-07-03 | 2014-01-09 | Visa International Service Association | Data protection hub |
US10728231B2 (en) * | 2012-07-09 | 2020-07-28 | Massachusetts Institute Of Technology | Data security using inter-zone gate circuits |
EP2885732B1 (en) * | 2012-08-15 | 2018-04-04 | Visa International Service Association | Searchable encrypted data |
US9355271B2 (en) * | 2013-10-18 | 2016-05-31 | Robert Bosch Gmbh | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption |
-
2013
- 2013-08-13 EP EP13829772.6A patent/EP2885732B1/en active Active
- 2013-08-13 US US13/965,472 patent/US9256764B2/en active Active
- 2013-08-13 WO PCT/US2013/054779 patent/WO2014028524A1/en active Application Filing
- 2013-08-13 EP EP18159902.8A patent/EP3364316B1/en active Active
- 2013-08-13 CN CN201380053158.9A patent/CN104704493B/zh active Active
- 2013-08-13 CN CN201910424339.7A patent/CN110086830B/zh active Active
- 2013-08-13 AU AU2013302743A patent/AU2013302743B2/en active Active
-
2015
- 2015-12-28 US US14/980,686 patent/US9544134B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512525A (zh) * | 2006-09-06 | 2009-08-19 | 微软公司 | 加密的数据搜索 |
CN102144371A (zh) * | 2008-09-10 | 2011-08-03 | Lg电子株式会社 | 选择性地加密控制信号的方法 |
KR20110127791A (ko) * | 2010-05-20 | 2011-11-28 | 소프트포럼 주식회사 | 데이터베이스 암호화 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US9544134B2 (en) | 2017-01-10 |
AU2013302743A1 (en) | 2015-03-05 |
EP3364316A1 (en) | 2018-08-22 |
EP2885732A4 (en) | 2016-03-09 |
US20160112190A1 (en) | 2016-04-21 |
EP2885732B1 (en) | 2018-04-04 |
US9256764B2 (en) | 2016-02-09 |
WO2014028524A1 (en) | 2014-02-20 |
CN110086830B (zh) | 2022-03-04 |
CN104704493A (zh) | 2015-06-10 |
AU2013302743B2 (en) | 2018-07-05 |
EP3364316B1 (en) | 2019-10-02 |
CN110086830A (zh) | 2019-08-02 |
EP2885732A1 (en) | 2015-06-24 |
US20140052999A1 (en) | 2014-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104704493B (zh) | 可搜索的经加密的数据 | |
US20210351931A1 (en) | System and method for securely processing an electronic identity | |
US9547769B2 (en) | Data protection hub | |
US8495384B1 (en) | Data comparison system | |
US10318932B2 (en) | Payment card processing system with structure preserving encryption | |
CN105453483B (zh) | 用于基于图像的密钥导出的方法和装置 | |
US7870614B1 (en) | Sensitive data aliasing | |
US20180204191A1 (en) | Secure Digital Data Operations | |
WO2017006135A1 (en) | Data validation and storage | |
WO2020036660A1 (en) | Secure data transfer system and method | |
KR20200124121A (ko) | 간편하고 안전한 마이데이터이동 인증방법 | |
US11663590B2 (en) | Privacy-preserving assertion system and method | |
US20230418979A1 (en) | Data resolution using user domain names | |
US11880446B2 (en) | Systems and methods for decryption as a service | |
Ouaguid et al. | Analysis of Blockchain Integration in the e-Healthcare Ecosystem | |
CN110914821A (zh) | 用于身份原子化的***和方法以及用途 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |