CN114036565A - 隐私信息检索系统及隐私信息检索方法 - Google Patents
隐私信息检索系统及隐私信息检索方法 Download PDFInfo
- Publication number
- CN114036565A CN114036565A CN202111374072.9A CN202111374072A CN114036565A CN 114036565 A CN114036565 A CN 114036565A CN 202111374072 A CN202111374072 A CN 202111374072A CN 114036565 A CN114036565 A CN 114036565A
- Authority
- CN
- China
- Prior art keywords
- encryption
- unit
- data
- hash value
- vectors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 194
- 238000013500 data storage Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 12
- 238000009938 salting Methods 0.000 claims description 10
- 230000008901 benefit Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 150000003839 salts Chemical class 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- 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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种隐私信息检索系统及隐私信息检索方法,该系统包括:查询模块和数据输出服务模块;查询模块,用于获取待查询ID对应的加密向量和哈希值集合,并将加密向量和哈希值集合发送至数据输出服务模块;数据输出服务模块,用于基于哈希值集合获取多个匹配ID,以及获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至查询模块;查询模块,还用于基于待查询ID的加盐哈希值查找待查询ID对应的加密数据,并将待查询ID对应的加密数据解密后进行输出。本发明能够同时兼顾查询方、数据输出服务方的隐私,同时保证了查询效率。
Description
技术领域
本发明涉及数据交换技术领域,尤其是涉及一种隐私信息检索系统及隐私信息检索方法。
背景技术
隐私信息检索(Private Information Retrieval,PIR)技术是解决保护用户查询隐私的方案,主要目的是向服务器上的数据库提交查询请求时,保证在目标用户隐私信息不被泄漏的条件下完成查询,即服务器不能基于查询过程和结果而知道用户具体查询信息及检索出的数据项。现有的隐私信息检索大多是基于不经意传输协议实现的,但是目前的隐私信息检索技术尚不能很好地解决对数据库的隐私信息检索问题,难以同时兼顾查询方、数据输出服务方的隐私,查询效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种隐私信息检索系统及隐私信息检索方法,能够同时兼顾查询方、数据输出服务方的隐私,同时保证了查询效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种隐私信息检索系统,该系统包括:查询模块和数据输出服务模块;查询模块,用于获取待查询ID对应的加密向量和哈希值集合,并将加密向量和哈希值集合发送至数据输出服务模块;其中,加密向量是通过与待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;数据输出服务模块,用于基于哈希值集合获取多个匹配ID,以及获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至查询模块;其中,加密数据是基于解密向量进行AES对称加密得到的,解密向量是通过与匹配ID一一映射的非对称加密私钥向量对加密向量进行解密得到的;查询模块,还用于基于待查询ID的加盐哈希值查找待查询ID对应的加密数据,并将待查询ID对应的加密数据解密后进行输出。
在一种实施方式中,查询模块包括:第一加密单元和第一解密单元;第一加密单元,用于获取与待查询ID一一映射的非对称加密公钥向量,并通过非对称加密公钥向量对随机生成与非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量;第一解密单元,用于解密待查询ID对应的加密数据。
在一种实施方式中,查询模块还包括:混淆单元、第一哈希单元和验证单元;混淆单元与第一加密单元相连接,用于生成多个与待查询ID不同的混淆ID;第一哈希单元与混淆单元相连接,用于计算待查询ID和混淆ID的哈希值;验证单元与第一哈希单元和数据输出服务模块相连接,用于计算待查询ID的加盐哈希值,并基于数据输出服务模块返回的加密数据和加盐哈希值集合查找待查询ID对应的数据。
在一种实施方式中,数据输出服务模块包括:第二加密单元和第二解密单元;第二解密单元,用于获取每个匹配ID一一映射的非对称加密私钥向量,并通过非对称加密私钥向量对加密向量进行解密,得到匹配ID对应的解密向量;第二加密单元,用于通过匹配ID对应的解密向量对匹配ID携带的数据内容进行AES对称加密,得到加密数据。
在一种实施方式中,数据输出服务模块还包括:接口单元、数据储存单元、查询单元和第二哈希单元;接口单元与查询模块相连接,用于在查询模块和数据输出服务模块之间进行数据传输;数据储存单元,用于储存待查询的数据;查询单元与接口单元、数据储存单元和第二解密单元相连接,用于在数据储存单元中查询与哈希值集合匹配的匹配ID;第二哈希单元与第二解密单元和第二加密单元相连接,用于计算每个匹配ID的加盐哈希值。
在一种实施方式中,第二加密单元的加密密钥是解密向量的所有元素的异或值的SHA-256散列值。
第二方面,本发明实施例提供了一种隐私信息检索方法,方法应用于上述第一方面提供的任一项的隐私信息检索系统,包括:获取待查询ID对应的加密向量和哈希值集合;其中,加密向量是通过与待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;向数据输出服务模块发送查询请求;其中,请求参数包括加密向量和哈希值集合;在数据储存单元中获取与哈希值集合匹配的匹配ID;获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至验证单元;其中,加密数据是基于解密向量进行AES对称加密得到的,解密向量是通过与匹配ID一一映射的非对称加密私钥向量对加密向量进行解密得到的;计算待查询ID的加盐哈希值,并基于加密数据和加盐哈希值集合查找待查询ID对应的加密数据;将待查询ID对应的加密数据解密后进行输出。
在一种实施方式中,获取待查询ID对应的加密向量和哈希值集合,包括:获取与待查询ID一一映射的非对称加密公钥向量,并通过非对称加密公钥向量对随机生成与非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量;随机生成多个与待查询ID不同的混淆ID;计算待查询ID和混淆ID的哈希值,并保留预设位数的哈希值得到哈希值集合。
在一种实施方式中,获取每个匹配ID对应的加密数据和加盐哈希值集合,包括:对于每个匹配ID,获取匹配ID一一映射的非对称加密私钥向量,并通过非对称加密私钥向量对加密向量进行解密,得到匹配ID对应的解密向量;计算每个匹配ID的加盐哈希值,并保留预设位数的加盐哈希值得到加盐哈希值集合;通过匹配ID对应的解密向量对匹配ID携带的数据内容进行加密,得到加密数据。
在一种实施方式中,通过匹配ID对应的解密向量对匹配ID携带的数据内容进行加密,得到加密数据,包括:对匹配ID对应的解密向量的所有元素进行异或运算,得到异或结果;计算异或结果的SHA-256散列值作为加密密钥;基于加密密钥对匹配ID携带的数据内容进行加密,得到加密数据。
本发明实施例带来了以下有益效果:
本发明实施例提供的上述隐私信息检索系统及隐私信息检索方法,该系统包括:查询模块和数据输出服务模块;查询模块,用于获取待查询ID对应的加密向量和哈希值集合,并将加密向量和哈希值集合发送至数据输出服务模块;其中,加密向量是通过与待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;数据输出服务模块,用于基于哈希值集合获取多个匹配ID,以及获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至查询模块;其中,加密数据是基于解密向量进行AES对称加密得到的,解密向量是通过与匹配ID一一映射的非对称加密私钥向量对加密向量进行解密得到的;查询模块,还用于基于待查询ID的加盐哈希值查找待查询ID对应的加密数据,并将待查询ID对应的加密数据解密后进行输出。
上述系统查询模块只需要使用待查询ID映射的非对称加密公钥加密一组随机数即可获取待查询ID的数据,由于非对称加密的密钥几乎不可能破译,因此无法直接解密查询模块发送的随机数从而破译返回结果数据;同时,数据输出服务模块通过AES对称加密对查询到的匹配ID携带的数据进行加密,保护了数据输出服务模块除了待查询ID外,其他数据不会泄露;此外,查询模块对返回的数据结果中的用户ID的加盐哈希值进行验证,从而能够保证即使返回结果信息被截获也无法通过撞库的方式获取返回结果中的用户ID,避免了数据库中除待查询ID以外的其他信息泄露给查询方。综上所述,本发明实施例提供的隐私信息检索系统,仅需要一个来回的数据传输,即可保证查询方仅能查到想查的ID数据内容,而无法或得其它伪ID的数据内容,保障了数据输出服务方利益的同时兼顾了查询效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种隐私信息检索系统的结构示意图;
图2为本发明实施例提供的另一种隐私信息检索系统的结构示意图;
图3为本发明实施例提供的一种隐私信息检索方法的流程图;
图4为本发明实施例提供的一种隐私信息检索系统的查询任务流程图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,隐私信息检索在现实中有很强的应用需求。例如一家银行想查询其本行信用卡用户的某些数据,其不想数据输出服务方可借此获得银行的信用卡用户ID,因为这些ID有可能会被透露给该银行的竞争对手,此时,隐私信息检索技术即可满足该银行的查询需求。
隐私信息检索当前是基于不经意传输协议实现。应用该协议时,查询方将待查询ID混淆在一至多个伪ID之中,数据输出服务方无法辨别哪个ID是查询方真正想查的ID,从而保护用户查询隐私信息;数据输出服务方将检索出的数据项返回给查询方时,应用对称和非对称加密混合技术,可实现查询方仅能解密出己方想检索的数据项,而不能获得其它ID的任何数据项信息。
但是,目前的隐私信息检索技术尚不能很好地解决对数据库的隐私信息检索问题,主要表现在难以同时兼顾查询方、数据输出服务方的隐私、查询效率这几个方面,主要体现为:
(1)当前数据查询方对查询ID的隐私保护要求较为严格。首先混淆ID不能使用查询方自己数据库中的用户ID,一旦被他人察觉,就相当于一次查询暴露了自己更多的ID数据,得不偿失,因此混淆ID必须为随机生成的ID或不在自己数据库内的ID。然而,在上述的限制下生成的混淆ID很有可能实际不存在,很可能产生的结果就是待查询ID的查得率与混淆ID的查得率产生了显著的差异,从而被数据输出服务方察觉查询企图。因此,一个良好的隐私信息检索技术,应保证待查询ID和混淆ID的查得率差异不显著。
(2)现有的方法通过暴露自己数据库拥有的所有ID,使得查询方可以使用数据库的其它ID作为伪ID,实现了良好的伪ID查得率,然而当数据库ID数据更新得较为频繁,对外公开的数据很快过期时,或数据输出服务方不愿暴露自己数据库拥有的ID时,此类技术则变得难以甚至无法应用。
(3)现有技术中将查询条件设置为匹配ID哈希值的前几位,相当于模糊查询,可以在不知道数据库拥有哪些ID的情况下有效提高伪ID查得率。然而该技术未解决如何返回ID所携带数据的问题。例如该方法无法做到仅返回查询对象的学历,而又不暴露伪ID查询到的学历。在模糊查询中,如何保证数据输出服务方加密查询数据、查询方解密查询数据时使用的是一对匹配的加密、解密密钥,这一问题尚未解决。
基于此,本发明的目的在于提供一种隐私信息检索系统及隐私信息检索方法,能够同时兼顾查询方、数据输出服务方的隐私,同时保证了查询效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种隐私信息检索系统进行详细介绍,参见图1所示的一种隐私信息检索系统的结构示意图,示意出该系统包括:查询模块和数据输出服务模块,查询模块和数据输出服务模块之间以https传输协议进行数据传输。
在具体应用中,查询模块,用于获取待查询ID对应的加密向量和哈希值集合,并将加密向量和哈希值集合发送至数据输出服务模块;其中,加密向量是通过与待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;数据输出服务模块,用于基于哈希值集合获取多个匹配ID,以及获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至查询模块;其中,加密数据是基于解密向量进行AES对称加密得到的,解密向量是通过与匹配ID一一映射的非对称加密私钥向量对加密向量进行解密得到的;查询模块,还用于基于待查询ID的加盐哈希值查找待查询ID对应的加密数据,并将待查询ID对应的加密数据解密后进行输出。
本发明实施例提供的上述隐私信息检索系统中,查询模块只需要使用待查询ID映射的非对称加密公钥加密一组随机数即可获取待查询ID的数据,由于非对称加密的密钥几乎不可能破译,因此无法直接解密查询模块发送的随机数从而破译返回结果数据;同时,数据输出服务模块通过AES对称加密对查询到的匹配ID携带的数据进行加密,保护了数据输出服务模块除了待查询ID外,其他数据不会泄露;此外,查询模块对返回的数据结果中的用户ID的加盐哈希值进行验证,从而能够保证即使返回结果信息被截获也无法通过撞库的方式获取返回结果中的用户ID,避免了数据库中除待查询ID以外的其他信息泄露给查询方。综上所述,上述系统仅需要一个来回的数据传输,即可保证查询方仅能查到想查的ID数据内容,而无法或得其它伪ID的数据内容,保障了数据输出服务方利益的同时兼顾了查询效率。
为了便于理解,参见图2所示的另一种隐私信息检索系统的结构示意图,示意出该系统包括:查询模块和数据输出服务模块,查询模块以SDK(软件开发工具包)形式部署于客户端,数据输出服务模块部署于数据输出服务方的服务器中,通过API(应用程序接口)接受查询模块SDK的查询请求。
其中,查询模块包括:第一加密单元、混淆单元、第一哈希单元、验证单元和第一解密单元。各单元功能如下:
第一加密单元,用于第一加密单元获取与待查询ID一一映射的非对称加密公钥向量,并通过非对称加密公钥向量对随机生成与非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量,也即获取待查询ID的非对称加密公钥向量,此公钥向量用于加密在本次查询中生成的随机数向量。
混淆单元与第一加密单元相连接,用于生成多个与待查询ID不同的混淆ID。
第一哈希单元与混淆单元相连接,用于计算待查询ID和混淆ID的哈希值,具体可以采用MD5算法计算哈希值。
验证单元与第一哈希单元和数据输出服务模块相连接,用于计算待查询ID的加盐哈希值,并基于数据输出服务模块返回的加密数据和加盐哈希值集合查找待查询ID对应的数据,也即求待查询ID加盐后的哈希值,验证数据输出服务模块返回的ID中是否包含待查询ID。
第一解密单元与验证单元相连接,用于解密返回结果中待查询ID对应的加密数据,也即解密待查询ID对应的加密数据。
数据输出服务模块包括:数据储存单元、接口单元(即图2所示的API单元)、查询单元、第二解密单元、第二哈希单元和第二加密单元。各单元功能如下:
数据储存单元与查询单元相连接,用于储存待查询的数据。
查询单元与接口单元、数据储存单元和第二解密单元相连接,用于在数据储存单元中查询与哈希值集合匹配的匹配ID,也即在数据库中匹配满足预设查询条件的ID。
第二解密单元与查询单元、第二哈希单元相连接,用于获取每个匹配ID一一映射的非对称加密私钥向量,并通过非对称加密私钥向量对加密向量进行解密,得到匹配ID对应的解密向量,也即获取每个匹配ID对应的非对称加密私钥向量。对于每个匹配查询条件的ID,使用其对应的私钥向量去解密加密的随机数向量,获得该ID对应的解密向量。
第二哈希单元与第二解密单元和第二加密单元相连接,用于计算每个匹配ID的加盐哈希值。
第二加密单元,与接口单元、第二哈希单元相连接,用于通过匹配ID对应的解密向量对匹配ID携带的数据内容进行AES对称加密,得到加密数据,也即对于每个匹配的ID,使用该ID对应的解密向量作为加密密钥,加密该ID携带的数据,具体的,加密密钥是解密向量的所有元素的异或值的SHA-256散列值。
接口单元与查询模块相连接,用于在查询模块和数据输出服务模块之间进行数据传输。
基于前述隐私信息检索系统,本发明实施例还提供了一种隐私信息检索方法,该方法应用于上述隐私信息检索系统,参见图3所示的一种隐私信息检索方法的流程图,示意出该方法主要包括一下步骤S301至步骤S306:
步骤S301:获取待查询ID对应的加密向量和哈希值集合;其中,加密向量是通过与待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的。
具体的,在获取待查询ID对应的加密向量和哈希值集合时,可以采用但不限于以下的方式:
首先,获取与待查询ID一一映射的非对称加密公钥向量,并通过非对称加密公钥向量对随机生成与非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量。
在具体应用中,可以在第一加密单元进行以下操作(1)至(3):
(1)基于待查询ID获取其一一映射的长度为n的非对称加密公钥向量E=[e1,e2,...,en],每次查询同一个ID都会获取到相同的向量,且查询不同的ID获得的向量都必定不同。本申请中,非对称加密算法可以是RSA算法。
(2)随机生成一个长度等于非对称加密公钥向量的随机数向量R=[r1,r2,...,rn]。
(3)使用非对称加密公钥向量加密随机数向量。假设非对称加密的加密函数为f,则加密向量K=[f(e1,r1),f(e2,r2),...,f(en,rn)]。
然后,随机生成多个与待查询ID不同的混淆ID。在具体应用中,可以在混淆单元随机生成p个与待查询ID不同的混淆ID。
最后,计算待查询ID和混淆ID的哈希值,并保留预设位数的哈希值得到哈希值集合。
在具体应用中,可以在第一哈希单元进行以下操作(1)至(2):
(1)计算待查询ID和p个混淆ID的哈希值,采用的哈希算法可以是MD5。
(2)隐藏每个哈希值的末尾若干位,仅保留前m位,生成待查询ID和p个混淆ID的哈希值前m位集合,即哈希值集合H={h1,h2,...,hp+1}。
步骤S302:向数据输出服务模块发送查询请求;其中,请求参数包括加密向量和哈希值集合。
在具体应用中,可以向API单元以https传输协议发送查询请求,请求参数包括加密向量K和哈希值集合H。
步骤S303:在数据储存单元中获取与哈希值集合匹配的匹配ID。
在具体应用中,可以在查询单元进行以下操作(1)至(2):
(1)按以下条件向数据储存单元发送查询指令:ID的散列值前m位在哈希值集合H中。
(2)获取数据储存单元的查询结果,设共有q个ID匹配查询条件,即查询到p个匹配ID。
步骤S304:获取每个匹配ID对应的加密数据和加盐哈希值集合,并将加密数据和加盐哈希值集合返回至验证单元;其中,加密数据是基于解密向量进行AES对称加密得到的,解密向量是通过与匹配ID一一映射的非对称加密私钥向量对加密向量进行解密得到的。
具体的,在获取每个匹配ID对应的加密数据和加盐哈希值集合时,可以采用但不限于以下的方式:
首先,对于每个匹配ID,获取匹配ID一一映射的非对称加密私钥向量,并通过非对称加密私钥向量对加密向量进行解密,得到匹配ID对应的解密向量。
在具体应用中,可以在第二解密单元进行以下操作(1)至(2):
(1)对于每个匹配的IDi,获取其一一映射的长度为n的非对称加密私钥向量Di=[di1,di2,...,din],且对于同一个IDi,其私钥dij和查询模块的第一加密单元获取的公钥eij正好匹配,即一个数据使用公钥eij加密后可使用私钥dij解密。
(2)对于每个匹配的IDi,使用其映射的非对称加密私钥向量Di解密加密向量K,获得解密向量Ri’。假设非对称加密的解密函数为g,则Ri’=[ri1’,ri2’,...,rin’]=[g(di1,ki1),g(di2,ki2),...,g(din,kin)],当IDi为待查询ID时,Ri’=R,否则Ri’≠R。
然后,计算每个匹配ID的加盐哈希值,并保留预设位数的加盐哈希值得到加盐哈希值集合。
在具体应用中,可以在第二哈希单元进行以下操作(1)至(2):
(1)获取本次查询请求的token(令牌码)。
(2)对于每个匹配的IDi,设哈希函数为hash,计算以下加盐的哈希值:hi’=hash(IDi字符串+token),生成所有匹配ID的哈希值的集合,即加盐哈希值集合H’={h1’,h2’,...,hq’}。本实施例中,采用的哈希算法可以是MD5。
进一步,通过匹配ID对应的解密向量对匹配ID携带的数据内容进行AES对称加密,得到加密数据。
在具体应用中,可以在第二加密单元对于每个匹配的IDi,使用对称加密算法加密其携带的数据内容,例如ID的学历信息。对称加密密钥是该IDi对应的解密向量Ri’,加密后的数据格式为计算机字节码,记为Bi’。
具体的,在进行数据加密时,可以采用包括但不限于以下的方式:对匹配ID对应的解密向量的所有元素进行异或运算,得到异或结果;计算异或结果的SHA-256散列值作为加密密钥;基于加密密钥对匹配ID携带的数据内容进行加密,得到加密数据。
在本实施例中,对称加密算法可以是CTR分组加密模式下的AES加密算法。算法细节如下:
①将IDi携带的数据内容由字符串格式,编码为计算机字节码格式。本申请实施例中,可以使用UTF-8编码将字符串转换为计算机字节码。
②根据解密向量Ri’生成AES加密密钥。
本申请实施例中,首先计算解密向量的所有元素的异或值,即x=u(Ri’)=r1’⊕r2’⊕...⊕rn’,其中“⊕”表示二进制下的异或运算,例如1⊕11=01⊕11=10,然后计算x的SHA-256散列值,其结果作为AES加密密钥。
最后,将第二加密单元加密后的数据,通过API单元以https传输协议返回给查询模块,返回的内容包括:token,字典格式数据{H’:B’}={h1’:B1’,h2’:B2’,...,hq’:Bq’},即每个ID的加盐哈希值与该ID的加密数据相匹配。
步骤S305:计算待查询ID的加盐哈希值,并基于加密数据和加盐哈希值集合查找待查询ID对应的加密数据。
在具体应用中,可以在验证单元进行以下操作(1)至(2):
(1)计算待查询ID的加盐哈希值:h0’=hash(ID字符串+token)。
(2)在{H’:B’}中查找是否存在hi’=h0’,其中1≤i≤q。若存在hi’=h0’,则获取待查询ID对应的加密数据B0’=Bi’;若不存在hi’=h0’,表明数据输出服务模块的数据库中未查得待查询ID对应的数据,则查询结束,输出查询结果。
步骤S306:将待查询ID对应的加密数据解密后进行输出。
在具体应用中,可以在第一解密单元进行以下操作(1)至(3):
(1)对于加密数据B0’,使用对称加密算法解密其内容,解密的密钥是步骤S301中生成的随机数向量R。解密后的数据格式为计算机字节码,记为B0。解密的操作步骤与步骤S304中在第二加密单元中加密的操作步骤完全相同,仅是将密钥Ri’替换为R。
(2)将计算机字节码B0解码为字符串格式数据S,解码时参考的字节码编码格式应与步骤S304中第二加密单元中采用的字节码编码格式一致。
(3)输出查询结果,即成功查得此待查询ID的数据为字符串S,查询结束。
本发明实施例提供的上述隐私信息检索方法,只需要使用待查询ID映射的非对称加密公钥加密一组随机数即可获取待查询ID的数据,由于非对称加密的密钥几乎不可能破译,因此无法直接解密查询模块发送的随机数从而破译返回结果数据;同时,通过AES对称加密对查询到的匹配ID携带的数据进行加密,保护了数据输出服务模块除了待查询ID外,其他数据不会泄露;此外,查询模块对返回的数据结果中的用户ID的加盐哈希值进行验证,从而能够保证即使返回结果信息被截获也无法通过撞库的方式获取返回结果中的用户ID,避免了数据库中除待查询ID以外的其他信息泄露给查询方。综上所述,上述方法仅需要一个来回的数据传输,即可保证查询方仅能查到想查的ID数据内容,而无法或得其它伪ID的数据内容,保障了数据输出服务方利益的同时兼顾了查询效率。
为了便于理解,本发明实施例还提供了一种隐私信息检索系统的查询任务流程图,参见图4所示,示意出该流程主要包括以下1至13:
1、获取待查询ID一一映射的公钥向量,使用公钥向量加密一个随机数组。
2、生成混淆数据。
3、对待查询ID和混淆数据求哈希值,并隐藏哈希值的末尾若干位。
4、发起查询请求,发送加密随机数组和哈希值。其中,加密随机数组即前述加密向量。
5、查询数据库匹配ID和数据。
6、返回数据库匹配结果。
7、对每个匹配ID获取其一一映射的私钥向量,使用私钥向量解密第4步中收到的加密随机数组。
8、对每个匹配ID添加随机数(盐值)后求哈希值。
9、对每个匹配ID对其携带的数据做分组加密,加密密钥为第7步中该匹配ID对应的随机数组。
10、返回查询结果,发送盐值和{ID加密哈希值,ID携带加密数据}。也即发送加密数据和加盐哈希值集合。
11、对待查询ID加盐求哈希值,验证待查询ID是否在返回的查询结果中。如果是,执行12.1,否则执行12.2。
12.1、以第1步生成的随机数组为解密密钥,对返回的待查询ID对应的加密数据做分组解密。
12.2、输出查询结果:未找到待查询ID的任何数据。
13、输出查询结果:查找到待查询ID的任何数据。
需要说明的是,如图4所示,每个ID计算出的随机数组都不相同,但只有待查询ID计算出的随机数组与查询SDK在第1步生成的随机数组完全相同。
进一步,本发明实施例还提供一个具体示例,供方为数据交换双方中输出数据的一方,即数据输出服务模块,需求方为数据交换双方中获得数据的一方,即查询模块。用户标识ID可以是身份证号、手机号等用来唯一标识用户的值。场景假设为需求方通过11位手机号来供方查询指定用户的个人征信报告,则该查询过程包括以下步骤1至步骤14:
步骤1:供方对手机号求哈希值,哈希算法要保证低碰撞率(可以使用MD5算法),并将哈希值设为数据库中对应手机号的索引。
步骤2:需方查询手机号为18823456790的a用户的个人征信报告,首先需要确定手机号所一一映射的非对称加密公钥(非对称加密使用RSA算法)。首先将手机号首位固定的“1”去掉,剩余的10位号码可以从中间切分为两组,每组5位号码,可能出现的情形为从00000到99999,共10万种可能。此时需方需要准备一个包含10万个RSA公钥的密码本,且对里面的密码从0~99999一一编号。那么,即可用一个长度为2的公钥向量与用户的手机号实现一一映射,即用户手机号后10位中,每5位的号码数字,可对应一个相同编号的公钥,且该公钥为公钥向量中的一个元素。在本实施例中,用户的18823456790手机号,可对应如下的二维向量E=[e1,e2]=[88234号公钥,56790号公钥]。
具体的,公钥向量的长度可以任意变化,在实践中需要兼顾计算机数据储存空间和服务相应速度的需求。在本实施例中,当向量长度从2减小到为1时,每次查询服务花费的时间大约可以减少一半,但需要需方保存100亿个公钥才能实现手机号到公钥向量的一一映射,显然所需的数据储存空间过大,实现成本过高;当向量长度从2增大到3时,如果在二进制下切分手机号,只需要4096个公钥就可实现手机号到公钥向量的一一映射,但是每次查询服务所需时间却增加了50%。考虑到储存10万个公钥所需的数据储存空间成本完全可接受,因此本实施例中将向量长度设定为2,在储存空间允许的情况下尽量减小服务响应时间,提升需方的服务体验。
步骤3:需方生成一个长度为2的随机数向量,并检验向量中每个随机数,保证其可被公钥向量中同索引位置的公钥加密,若有某个随机数未通过检验,则需要重新生成随机数直至通过检验为止。在本实施例中,假设生成的随机数向量是R=[r1,r2],则需要保证r1的值小于第88234号RSA公钥的n,r2的值小于第56790号RSA公钥的n。如果出现大于RSA公钥的n的随机数,则将该随机数除以2并向下取整,作为新的随机数,如此反复操作,直到生成的新的随机数小于n为止。
步骤4:需方使用公钥向量加密随机数向量,获得加密后向量K=[k1,k2]=[f(e1,r1),f(e2,r2),...,f(en,rn)],其中f为加密函数。对于RSA公钥加密函数,f(e,r)=(r^ee)%en,其中ee、en分别表示RSA公钥的e、n值。在本实施例中,分别用88234号公钥、56790号公钥对随机数r1、r2实施上述RSA公钥加密,获得向量K。
步骤5:需方随机生成若干个(诸如生成9个)假的手机号,加上待查询手机号,对这10个手机号计算MD5值,并去掉MD5值末尾若干位,本实施例中可以仅保留前7位。
步骤6:需方将10个只有7位MD5值的号码,以及向量K通过https传输协议发送给供方,供方在数据库中查询MD5值前7位与这10个MD5值中任意一个匹配的用户,假设共查到30个用户及对应的个人征信报告。
步骤7:供方确定30个用户的手机号所一一映射的非对称加密私钥向量,映射方法可与步骤2中公钥映射方法一致。假设其中一个用户手机号为13000000000,则其私钥向量为D=[30000号私钥,0号私钥]。注意供方的私钥与需方的同编号公钥必须是配对的,即使用需方0号公钥加密的内容,使用供方0号私钥可以正确地解密。
步骤8:供方使用30个用户手机号对应的私钥向量,分别解密向量K,得到30个解密后的二维向量R’=[r1’,r2’]。
步骤9:供方计算30个手机号的加盐MD5值,即(手机号+token)的MD5值。
步骤10:供方分别加密30个手机号的个人征信报告数据。例如对手机号为13000000000的个人征信报告数据进行CTR分组加密模式下的AES加密的步骤如下:
①将个人征信报告数据由UTF-8编码字符串转换为计算机字节码b’。
②将该手机号在第11步计算的向量R’,计算x=r1’⊕r2’,其中“⊕”表示异或运算,然后求x的SHA-256的散列值z(长度固定为256字节)。
③将z作为AES分组加密密钥,对b’进行CTR分组加密模式下的AES加密,获得字节码B’,即为加密结果。
步骤11:供方将token和查得的30个手机号的加密数据{H’:B’}={h1’:B1’,h2’:B2’,...,h30’:B30’}通过https传输协议发送给需方。其中hi’表示某个手机号的加盐MD5值,Bi’表示该手机号用户的加密个人征信报告数据。
步骤12:需方计算待查询手机号18823456790+token的MD5值,然后在{H’:B’}中查询是否有hi’与该MD5值相等。若存在此hi’,则获取手机号18823456790的用户加密个人征信报告Bi’;若不存在此hi’,则表明未查到手机号18823456790的用户加密个人征信报告数据,查询结束。
步骤13:需方解密用户的个人征信报告数据,解密步骤与步骤10中供方的加密步骤完全相同,只是在第③步中,将向量R’替换为需方步骤3生成的随机向量R。最后将解密的字节码按UTF-8编码转换为字符串,即成功获取手机号18823456790的用户个人征信报告,查询结束。
本发明实施提供的上述隐私信息检索系统及隐私信息检索方法,其技术效果如下:
(1)混淆单元和第一哈希单元负责将待查询ID混淆多个伪ID并计算哈希值,且发送查询请求时仅传输哈希值的前几位。模糊条件查询可以大大提高伪ID在数据库中的查得率,因此数据服务输出方无法推断查询到的结果是否为待查询ID,数据库中匹配到的ID很大可能包括待查询ID,从而可以很好地保护查询方的查询意图。
(2)第一加密单元、第一解密单元、第二加密单元和第二解密单元保证了在混淆条件查询下不经意传输技术的实现。查询方只需使用待查询ID映射的密钥加密一组随机数,即可获得待查询ID的数据。由于当前非对称加密的密钥几乎不可能破译,因此他人几乎无法直接解密查询方发送的随机数从而破译返回结果数据。同时,所有查询结果的密文是通过AES对称加密而得,在没有密钥的情况下也几乎不可能直接破译密文,因此该系统能够实现对查询方隐私数据的保护,同时也保护了数据输出服务方除了查询ID外,其它的数据不会泄露。此外,第一加密模块、第一解密模块中用于不经意传输的密钥是一个随机数向量,向量维度与非对称加密的公钥或私钥组成的向量维度一致。
(3)第二哈希单元、验证单元分别负责对返回查询结果中的用户ID计算和验证加盐哈希值,保证他人即便截获返回结果信息也几乎无法通过撞库的方式取得返回结果中的用户ID。且查询方只能验证待查询ID是否在返回结果中,而不知道返回的其他ID是什么,避免了数据库中除了查询ID以外的其它信息泄露给查询方。
综上所述,本发明实施提供的上述隐私信息检索系统及隐私信息检索方法,采用了模糊查询,可以保证伪ID的查得率,保障查询方的数据隐私,同时不暴露数据库的ID数量;实现了在模糊查询的基础上,仅需要一个来回的数据传输,即可保证查询方仅能查到想查的ID数据内容,而无法或得其它伪ID的数据内容,保障了数据输出服务方利益的同时兼顾了查询效率。
本发明实施例所提供的方法,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述系统实施例中相应内容。
需要说明的是,本发明实施例中提到的所有实施方式仅为示例性的,实际应用中可与本实施例不同,在此不做限定。
本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项所述的方法。
图5为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种隐私信息检索系统,其特征在于,所述系统包括:查询模块和数据输出服务模块;
所述查询模块,用于获取待查询ID对应的加密向量和哈希值集合,并将所述加密向量和所述哈希值集合发送至所述数据输出服务模块;其中,所述加密向量是通过与所述待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;
所述数据输出服务模块,用于基于所述哈希值集合获取多个匹配ID,以及获取每个所述匹配ID对应的加密数据和加盐哈希值集合,并将所述加密数据和所述加盐哈希值集合返回至所述查询模块;其中,所述加密数据是基于解密向量进行AES对称加密得到的,所述解密向量是通过与所述匹配ID一一映射的非对称加密私钥向量对所述加密向量进行解密得到的;
所述查询模块,还用于基于所述待查询ID的加盐哈希值查找所述待查询ID对应的加密数据,并将所述待查询ID对应的加密数据解密后进行输出。
2.根据权利要求1所述的系统,其特征在于,所述查询模块包括:第一加密单元和第一解密单元;
所述第一加密单元,用于获取与所述待查询ID一一映射的非对称加密公钥向量,并通过所述非对称加密公钥向量对随机生成与所述非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量;
所述第一解密单元,用于解密所述待查询ID对应的加密数据。
3.根据权利要求2所述的系统,其特征在于,所述查询模块还包括:混淆单元、第一哈希单元和验证单元;
所述混淆单元与所述第一加密单元相连接,用于生成多个与所述待查询ID不同的混淆ID;
所述第一哈希单元与所述混淆单元相连接,用于计算所述待查询ID和所述混淆ID的哈希值;
所述验证单元与所述第一哈希单元和所述数据输出服务模块相连接,用于计算所述待查询ID的加盐哈希值,并基于所述数据输出服务模块返回的所述加密数据和所述加盐哈希值集合查找所述待查询ID对应的数据。
4.根据权利要求1所述的系统,其特征在于,所述数据输出服务模块包括:第二加密单元和第二解密单元;
所述第二解密单元,用于获取每个所述匹配ID一一映射的非对称加密私钥向量,并通过所述非对称加密私钥向量对所述加密向量进行解密,得到所述匹配ID对应的解密向量;
所述第二加密单元,用于通过所述匹配ID对应的解密向量对所述匹配ID携带的数据内容进行AES对称加密,得到所述加密数据。
5.根据权利要求4所述的系统,其特征在于,所述数据输出服务模块还包括:接口单元、数据储存单元、查询单元和第二哈希单元;
所述接口单元与所述查询模块相连接,用于在所述查询模块和所述数据输出服务模块之间进行数据传输;
所述数据储存单元,用于储存待查询的数据;
所述查询单元与所述接口单元、所述数据储存单元和所述第二解密单元相连接,用于在所述数据储存单元中查询与所述哈希值集合匹配的匹配ID;
所述第二哈希单元与所述第二解密单元和所述第二加密单元相连接,用于计算每个所述匹配ID的加盐哈希值。
6.根据权利要求4所述的系统,其特征在于,所述第二加密单元的加密密钥是所述解密向量的所有元素的异或值的SHA-256散列值。
7.一种隐私信息检索方法,其特征在于,所述方法应用于权利要求1至6任一项所述的隐私信息检索系统,包括:
获取待查询ID对应的加密向量和哈希值集合;其中,所述加密向量是通过与所述待查询ID一一映射的非对称加密公钥向量对随机产生的随机数向量加密得到的;
向数据输出服务模块发送查询请求;其中,请求参数包括所述加密向量和所述哈希值集合;
在数据储存单元中获取与所述哈希值集合匹配的匹配ID;
获取每个所述匹配ID对应的加密数据和加盐哈希值集合,并将所述加密数据和所述加盐哈希值集合返回至验证单元;其中,所述加密数据是基于解密向量进行AES对称加密得到的,所述解密向量是通过与所述匹配ID一一映射的非对称加密私钥向量对所述加密向量进行解密得到的;
计算所述待查询ID的加盐哈希值,并基于所述加密数据和所述加盐哈希值集合查找所述待查询ID对应的加密数据;
将所述待查询ID对应的加密数据解密后进行输出。
8.根据权利要求7所述的方法,其特征在于,所述获取待查询ID对应的加密向量和哈希值集合,包括:
获取与待查询ID一一映射的非对称加密公钥向量,并通过所述非对称加密公钥向量对随机生成与所述非对称加密公钥向量长度相同的随机数向量进行加密,得到加密向量;
随机生成多个与所述待查询ID不同的混淆ID;
计算所述待查询ID和所述混淆ID的哈希值,并保留预设位数的哈希值得到哈希值集合。
9.根据权利要求7所述的方法,其特征在于,所述获取每个所述匹配ID对应的加密数据和加盐哈希值集合,包括:
对于每个所述匹配ID,获取所述匹配ID一一映射的非对称加密私钥向量,并通过所述非对称加密私钥向量对所述加密向量进行解密,得到所述匹配ID对应的解密向量;
计算每个所述匹配ID的加盐哈希值,并保留预设位数的加盐哈希值得到加盐哈希值集合;
通过所述匹配ID对应的解密向量对所述匹配ID携带的数据内容进行AES对称加密,得到所述加密数据。
10.根据权利要求7所述的方法,其特征在于,所述通过所述匹配ID对应的解密向量对所述匹配ID携带的数据内容进行加密,得到所述加密数据,包括:
对所述匹配ID对应的解密向量的所有元素进行异或运算,得到异或结果;
计算所述异或结果的SHA-256散列值作为加密密钥;
基于所述加密密钥对所述匹配ID携带的数据内容进行加密,得到所述加密数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111374072.9A CN114036565B (zh) | 2021-11-19 | 2021-11-19 | 隐私信息检索系统及隐私信息检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111374072.9A CN114036565B (zh) | 2021-11-19 | 2021-11-19 | 隐私信息检索系统及隐私信息检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114036565A true CN114036565A (zh) | 2022-02-11 |
CN114036565B CN114036565B (zh) | 2024-03-08 |
Family
ID=80144919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111374072.9A Active CN114036565B (zh) | 2021-11-19 | 2021-11-19 | 隐私信息检索系统及隐私信息检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036565B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676169A (zh) * | 2022-05-27 | 2022-06-28 | 富算科技(上海)有限公司 | 一种数据查询方法及装置 |
CN114840866A (zh) * | 2022-07-01 | 2022-08-02 | 北京融数联智科技有限公司 | 基于盲签名数据混淆的数据查询方法、装置和系统 |
CN115098549A (zh) * | 2022-08-25 | 2022-09-23 | 北京数牍科技有限公司 | 公平的数据匿踪查询方法、装置、设备及存储介质 |
CN115580396A (zh) * | 2022-10-08 | 2023-01-06 | 上海勃池信息技术有限公司 | 匿踪查询系统及匿踪查询方法 |
CN115955307A (zh) * | 2023-03-10 | 2023-04-11 | 江西曼荼罗软件有限公司 | 用户密码加盐保护方法、装置、可读存储介质及电子设备 |
CN116701493A (zh) * | 2023-08-07 | 2023-09-05 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
CN116506226B (zh) * | 2023-06-27 | 2023-09-19 | 杭州金智塔科技有限公司 | 隐私数据处理系统以及方法 |
WO2024066015A1 (zh) * | 2022-09-30 | 2024-04-04 | 蚂蚁区块链科技(上海)有限公司 | 实现隐私信息检索 |
WO2024077734A1 (zh) * | 2022-10-09 | 2024-04-18 | 蚂蚁区块链科技(上海)有限公司 | 一种实现构造混淆集的方法和客户端 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070032073A (ko) * | 2004-07-14 | 2007-03-20 | 인텔 코포레이션 | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 |
KR20140057134A (ko) * | 2012-10-31 | 2014-05-12 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
CN110210249A (zh) * | 2019-06-13 | 2019-09-06 | 上海富数科技有限公司 | 基于数据混淆实现匿踪查询功能的系统及其方法 |
CN110717191A (zh) * | 2019-10-24 | 2020-01-21 | 兰州理工大学 | 基于可搜索属性加密的区块链数据隐私保护访问控制方法 |
CN111523132A (zh) * | 2020-04-21 | 2020-08-11 | 国网电子商务有限公司 | 一种基于标识技术的数据存储传输方法及装置 |
CN112182609A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 基于区块链的数据上链存储方法和追溯方法、装置及设备 |
CN112765642A (zh) * | 2021-02-04 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理装置、电子设备及介质 |
CN113094747A (zh) * | 2021-04-16 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 一种图像查找方法、区块链、云服务器及图像查找装置 |
WO2021208037A1 (zh) * | 2020-04-16 | 2021-10-21 | 深圳市欢太科技有限公司 | 认证方法、系统以及存储介质 |
-
2021
- 2021-11-19 CN CN202111374072.9A patent/CN114036565B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070032073A (ko) * | 2004-07-14 | 2007-03-20 | 인텔 코포레이션 | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 |
KR20140057134A (ko) * | 2012-10-31 | 2014-05-12 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
CN110210249A (zh) * | 2019-06-13 | 2019-09-06 | 上海富数科技有限公司 | 基于数据混淆实现匿踪查询功能的系统及其方法 |
CN110717191A (zh) * | 2019-10-24 | 2020-01-21 | 兰州理工大学 | 基于可搜索属性加密的区块链数据隐私保护访问控制方法 |
WO2021208037A1 (zh) * | 2020-04-16 | 2021-10-21 | 深圳市欢太科技有限公司 | 认证方法、系统以及存储介质 |
CN111523132A (zh) * | 2020-04-21 | 2020-08-11 | 国网电子商务有限公司 | 一种基于标识技术的数据存储传输方法及装置 |
CN112182609A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 基于区块链的数据上链存储方法和追溯方法、装置及设备 |
CN112765642A (zh) * | 2021-02-04 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理装置、电子设备及介质 |
CN113094747A (zh) * | 2021-04-16 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 一种图像查找方法、区块链、云服务器及图像查找装置 |
Non-Patent Citations (2)
Title |
---|
XINJUN DU: "An ID-Based Broadcast Encryption Scheme for Key Distribution", 《IEEE TRANSACTIONS ON BROADCASTING》, vol. 51, no. 2, pages 1 - 3 * |
张峰;倪巍伟;: "基于伪随机数加密的保护位置隐私近邻查询方法", 华东师范大学学报(自然科学版), no. 05, pages 137 - 151 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676169A (zh) * | 2022-05-27 | 2022-06-28 | 富算科技(上海)有限公司 | 一种数据查询方法及装置 |
CN114840866A (zh) * | 2022-07-01 | 2022-08-02 | 北京融数联智科技有限公司 | 基于盲签名数据混淆的数据查询方法、装置和系统 |
CN115098549A (zh) * | 2022-08-25 | 2022-09-23 | 北京数牍科技有限公司 | 公平的数据匿踪查询方法、装置、设备及存储介质 |
CN115098549B (zh) * | 2022-08-25 | 2022-10-28 | 北京数牍科技有限公司 | 公平的数据匿踪查询方法、装置、设备及存储介质 |
WO2024066015A1 (zh) * | 2022-09-30 | 2024-04-04 | 蚂蚁区块链科技(上海)有限公司 | 实现隐私信息检索 |
CN115580396A (zh) * | 2022-10-08 | 2023-01-06 | 上海勃池信息技术有限公司 | 匿踪查询系统及匿踪查询方法 |
CN115580396B (zh) * | 2022-10-08 | 2024-03-22 | 上海勃池信息技术有限公司 | 匿踪查询系统及匿踪查询方法 |
WO2024077734A1 (zh) * | 2022-10-09 | 2024-04-18 | 蚂蚁区块链科技(上海)有限公司 | 一种实现构造混淆集的方法和客户端 |
CN115955307A (zh) * | 2023-03-10 | 2023-04-11 | 江西曼荼罗软件有限公司 | 用户密码加盐保护方法、装置、可读存储介质及电子设备 |
CN116506226B (zh) * | 2023-06-27 | 2023-09-19 | 杭州金智塔科技有限公司 | 隐私数据处理系统以及方法 |
CN116701493A (zh) * | 2023-08-07 | 2023-09-05 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
CN116701493B (zh) * | 2023-08-07 | 2023-10-31 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
Also Published As
Publication number | Publication date |
---|---|
CN114036565B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114036565B (zh) | 隐私信息检索系统及隐私信息检索方法 | |
US11991275B2 (en) | System and method for quantum-safe authentication, encryption and decryption of information | |
CN107038383B (zh) | 一种数据处理的方法和设备 | |
US8031865B2 (en) | Multiple level security system and method for encrypting data within documents | |
US20160094347A1 (en) | Method and system for secure management of computer applications | |
US8180048B2 (en) | Method and system for computational transformation | |
CN112740615B (zh) | 多方计算的密钥管理 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
US20160013933A1 (en) | Order-preserving encryption system, device, method, and program | |
US20180239910A1 (en) | Encrypted text verification system, method and recording medium | |
CN115580396A (zh) | 匿踪查询系统及匿踪查询方法 | |
US10484182B2 (en) | Encrypted text verification system, method, and recording medium | |
CN115905238A (zh) | 隐匿查询方法、装置、电子设备和存储介质 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN107104788B (zh) | 终端及其不可抵赖的加密签名方法和装置 | |
CN116108410A (zh) | 一种身份凭证生成方法及装置 | |
CN117134914A (zh) | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 | |
JP2011512762A (ja) | 複数加入者ネットワークでの改竄、盗聴及びハッキングを不可能とするp2p通信方法 | |
JPWO2018043466A1 (ja) | データ抽出システム、データ抽出方法、登録装置及びプログラム | |
CN114462088A (zh) | 用于对共享数据进行去标识的方法及装置 | |
CN116781265A (zh) | 一种数据加密的方法和装置 | |
CN114430549A (zh) | 一种适用于无线通信的白盒加解密方法与装置 | |
TW201710941A (zh) | 資料保護裝置及其資料保護方法 | |
CN114500006B (zh) | 查询请求的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |