CN115905238A - 隐匿查询方法、装置、电子设备和存储介质 - Google Patents
隐匿查询方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115905238A CN115905238A CN202211599498.9A CN202211599498A CN115905238A CN 115905238 A CN115905238 A CN 115905238A CN 202211599498 A CN202211599498 A CN 202211599498A CN 115905238 A CN115905238 A CN 115905238A
- Authority
- CN
- China
- Prior art keywords
- sequence
- query
- data
- target
- ciphertext
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 239000012634 fragment Substances 0.000 claims abstract description 84
- 230000005540 biological transmission Effects 0.000 claims abstract description 63
- 238000013467 fragmentation Methods 0.000 claims abstract description 40
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 2
- 230000001629 suppression Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 230000003109 amnesic effect Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010295 mobile communication 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
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种隐匿查询方法、装置、电子设备和存储介质。响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥;根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。本申请实施例降低了查询的数据量,提高了隐匿查询系统的查询效率。
Description
技术领域
本申请实施例涉及安全多方计算技术,尤其涉及一种隐匿查询方法、装置、电子设备和存储介质。
背景技术
隐匿查询,又称隐私信息检索(Private Information Retrieval,PIR),是安全多方计算中非常实用的一门技术与应用,可以用来保护查询条件,同时也可以保护查询结果。其目标是保证查询节点向服务节点提交查询请求时,在查询条件信息不被感知的前提下完成查询。
不经意传输(Oblivious Transfer,OT)协议又叫健忘传送协议,是一种从消息集合中隐匿性的获取部分消息的重要方法。不经意传输PIR是一种常见的PIR方案实现方案。
但是,不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降。
发明内容
本申请提供一种隐匿查询方法、装置、电子设备和存储介质,以降低查询的数据量,提高隐匿查询系统的查询效率。
第一方面,本申请实施例提供了一种隐匿查询方法,应用于查询方,该隐匿查询方法包括:
响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;
将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;
获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文;
获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥;
根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
第二方面,本申请实施例提供了一种隐匿查询方法,应用于服务方,该隐匿查询方法包括:
获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;
根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;
将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文;
基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
第三方面,本申请实施例还提供了一种隐匿查询装置,配置于查询方,该隐匿查询装置包括:
查询标识确定模块,用于响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;
查询标识发送模块,用于将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;
目标密文确定模块,用于获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文;
目标密钥确定模块,用于获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥;
目标密文解密模块,用于根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
第四方面,本申请实施例还提供了一种隐匿查询装置,配置于服务方,该隐匿查询装置包括:
查询标识获取模块,用于获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;
数据查询模块,用于根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;
数据反馈模块,用于将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文;
隐匿密钥发送模块,用于基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
第五方面,本申请实施例还提供了电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本申请实施例提供的任意一种隐匿查询方法。
第六方面,本申请实施例还提供了一种包括计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本申请实施例提供的任意一种隐匿查询方法。
本申请通过响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;通过查询标识只需要查询查询标识在服务方对应的分片存储区域中的数据,大幅减少查询的数据量;获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文,服务方不能够明确查询方查询的数据,可以保障查询的隐匿性,同时由于获取的为密文序列,查询方不能获取待查询数据之外的数据,保证数据的安全性;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥,基于不经意传输,获取目标密钥同样实现密钥的隐匿获取,保护查询方的信息隐匿性,由于只需要查询查询标识对应区域的密文序列的密钥,因此基于不经意传输协议进行密钥的传输过程数据量大幅降低,计算复杂度也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率;根据目标密钥对目标密文进行解密,得到待查询数据的明文信息,通过解密获取待查询数据的明文,实现数据的隐匿查询。因此通过本申请的技术方案,解决了不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降的问题,达到了降低查询的数据量,提高隐匿查询系统的查询效率的效果。
附图说明
图1是本申请实施例一中的一种隐匿查询方法的流程图;
图2是本申请实施例二中的一种隐匿查询方法的流程图;
图3是本申请实施例三中的一种隐匿查询方法的流程图;
图4是本申请实施例四中的一种隐匿查询方法的流程图;
图5是本申请实施例五中的一种隐匿查询方法的流程图;
图6是本申请实施例六中的一种隐匿查询装置的结构示意图;
图7是本申请实施例七中的一种隐匿查询装置的结构示意图;
图8是本申请实施例八中的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本申请实施例一提供的一种隐匿查询方法的流程图,本实施例可适用于对数据进行隐匿查询的情况,该方法可以由隐匿查询装置执行,该装置可以采用软件和/或硬件实现,并具体配置于查询方中,例如,计算机。
参见图1所示的隐匿查询方法,应用于查询方,具体包括如下步骤:
S110、响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域。
待查询数据可以为用户需要查询的数据。查询请求可以为查询方获取的用户对待查询数据进行查询的请求。具体的,待查询请求中可以包括待查询数据的唯一性标识。示例性的,待查询数据的唯一性标识可以是数据名称、数据标号或在数据库中的原始索引中的至少一项。用户需要查询待查询数据时,在查询方进行查询,例如,在查询方输入待查询数据的数据名称,则此时查询方获取用户的查询请求,并对查询请求进行响应。
查询标识可以为对数据库中的原始存储数据进行分片存储后,待查询数据在分片存储区域中的标识,用于确定待查询数据在服务方中的分片存储区域。查询方根据查询请求中的唯一性标识,确定待查询数据在数据库中的原始索引,根据服务方的分片存储原则确定待查询数据的查询标识。其中分片存储原则为查询方预先存储的服务方进行分片存储时确定分片存储区域的查询标识的分片原则。示例性的,分片存储原则可以是,通过分片函数对数据的原始索引进行映射,将映射为同一函数值的原始索引对应的数据存储到同一分片存储区域,其中,映射得到的同一函数值为该分片存储区域的查询标识。示例性的,分片存储原则还可以是,通过编码规则对数据的原始索引进行编码,将编码相同的原始索引对应的数据存储到同一分片存储区域,其中,编码得到的相同编码为该分片存储区域的查询标识。
S120、将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域。
查询方确定查询标识后,将查询标识发送给服务方。通过将查询标识发送至服务方,指示服务方根据查询标识查询查询标识对应的数据。密文序列可以为查询标识对应的分片存储区域中,存储的数据对应的密文形成的序列,对应的,位置索引序列可以为每个密文对应的在数据库中的原始位置索引形成的序列。密文序列和位置索引序列通过序列号建立对应关系,也即密文的序号和其对应的位置索引的序号相同。
具体的,分片存储区域存储的数据包括,密文以及对应的加密密钥和数据库中的原始位置索引。服务方对数据进行分片存储时,可以为每一个数据分配对应的密钥以对数据进行加密,得到数据的密文,将密文和对应的加密密钥,以及在数据库中的原始位置索引作为一个数据记录,存储到查询标识对应的分片存储区域。同一个数据记录中的序列号相同。分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域,同一分片存储区域对应一个查询标识,同一分片存储区域包括多个数据记录。
S130、获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文。
目标密文可以为待查询数据对应的数据的密文,用于获取待查询数据。获取服务方发送的密文序列和位置索引序列。根据待查询数据的原始位置索引和位置索引序列中的各位置索引进行匹配,若匹配成功,则该位置索引对应的密文为待查询数据对应的密文,将该密文作为目标密文。
在一个可选实施例中,根据位置索引序列,从密文序列中确定目标密文,包括:根据位置索引序列和原始位置索引,确定目标索引;将密文序列中与目标索引对应的密文确定为目标密文。
原始位置索引可以为数据进行分片存储前在数据库中的位置索引。目标索引可以为与待查询数据的原始位置索引相同的位置索引的序列号。示例性的,可以按照顺序比较位置索引序列中的位置索引与原始位置索引是否相同,若相同,则将该位置索引的序列号确定为目标索引。将密文序列中序列号与目标索引相同的密文,确定为目标密文。
通过根据位置索引序列和原始位置索引,确定目标索引;将密文序列中与目标索引对应的密文确定为目标密文,根据原始位置索引确定目标索引,进而根据目标索引确定目标密文,实现了对目标密文的准确确定,保障查询信息不被服务方感知,并且查询方不能获取所查询信息之外的其他信息,保障查询的隐匿性和数据的安全性。
S140、获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥。
不经意传输协议可以为一种从一个信息集合中秘密获取部分信息的方法。具体的,不经意传输协议可以包括,1-out-of-2和1-out-of-n(n为大于2的整数)。也即,不经意传输协议可以是从2个信息中获取其中1个信息,或者,还可以是从n个信息中获取其中1个信息,而信息的提供方不知道信息获取方具体获取的信息,同时信息获取方能且只能获取其中1个信息,保证信息获取方的信息隐匿性和信息服务方的信息的安全性。
隐匿密钥序列可以为服务方基于不经意传输协议,对密钥序列进行隐匿后的序列。密钥序列可以为由与查询标识相同的分片存储区域存储的密钥形成的序列。目标密钥可以为目标密文对应的密钥,用于对目标密文进行解密以得到待查询数据的明文信息。
在获取服务方基于不经意传输协议发送的隐匿密钥序列后,查询方根据目标密文的序列号或者原始位置索引,依据不经意传输协议对隐匿密钥序列中的目标密钥序列进行解析,得到目标密钥。
S150、根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
根据目标密钥对目标密文进行解密得到待查询数据的明文信息。示例性的,目标密文的加密方式可以为对称加密,根据加密算法和目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过响应于对待查询数据的查询请求,确定待查询数据的查询标识;将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;通过查询标识只需要查询查询标识在服务方对应的分片存储区域中的数据,大幅减少查询的数据量;获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文,服务方不能够明确查询方查询的数据,可以保障查询的隐匿性,同时由于获取的为密文序列,查询方不能获取待查询数据之外的数据,保证数据的安全性;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥,基于不经意传输,获取目标密钥同样实现密钥的隐匿获取,保护查询方的信息隐匿性,由于只需要查询查询标识对应区域的密文序列的密钥,因此基于不经意传输协议进行密钥的传输过程数据量大幅降低,计算复杂度也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率;根据目标密钥对目标密文进行解密,得到待查询数据的明文信息,通过解密获取待查询数据的明文,实现数据的隐匿查询。因此通过本申请的技术方案,解决了不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降的问题,达到了降低查询的数据量,提高隐匿查询系统的查询效率的效果。
实施例二
图2为本申请实施例二提供的一种隐匿查询方法的流程图方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化。
进一步地,将“响应于对待查询数据的查询请求,确定待查询数据的查询标识”,细化为:“根据查询请求,获取待查询数据的原始位置索引;根据预设哈希算法,确定原始位置索引的哈希值;根据不可区分因子和原始位置索引的哈希值,确定待查询数据的查询标识”,以确定查询标识。
参见图2所示的一种隐匿查询方法,包括:
S210、根据查询请求,获取待查询数据的原始位置索引。
查询请求中包括待查询数据的唯一性标识,根据待查询数据的唯一性标识确定待查询数据的原始位置索引。示例性的,查询方可以存储有服务方所有可查询数据的原始位置索引,以及对应的唯一性标识。
S220、根据预设哈希算法,确定原始位置索引的哈希值。
哈希算法为一种不可逆的加密算法,可以将任意长度的输入转化成固定长度的输出。示例性的,哈希算法可以是除留余数法、折叠法、数字分析法或随机数法等中的一种,本申请对此不做具体限定。根据预设哈希算法,对待查询数据的原始位置索引进行哈希计算,得到原始位置索引的哈希值。
S230、根据不可区分因子和原始位置索引的哈希值,确定待查询数据的查询标识。
不可区分因子为预先设置的参数,可以由技术人员预先进行设定。示例性的,不可区分因子可以为2。根据不可区分因子的数值,例如,t,将原始位置索引的哈希值在某种编码规则下的前t位,确定为待查询数据的查询标识。
示例性的,不可区分因子为2,原始位置索引的哈希值,采用二进制编码,分片存储区域为4个,则查询标识为00、01、10和11。示例性的,编码规则可以为多进制编码或者字符编码等。例如,多进制编码可以是二进制编码、四进制编码、八进制编码和十六进制编码等,本申请对此不作具体限定。例如,字符编码可以是ASCII码(专业名词,一种字符编码方式)。
S240、将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域。
S250、获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文。
S260、获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥。
S270、根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过根据查询请求,获取待查询数据的原始位置索引,根据原始位置索引可以准确确定待查询数据;根据预设哈希算法,确定原始位置索引的哈希值,通过哈希算法对待查询数据的原始位置索引进行加密,保障传输过程的安全性;根据不可区分因子和原始位置索引的哈希值,确定待查询数据的查询标识,服务方预先对数据库中的数据进行分片处理,根据不可区分因子和原始位置索引的哈希值确定分片区域的查询标识,查询方根据相同的方法确定查询标识,可以减少查询时的遍历数量,提高查询效率。由于不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降,因此通过确定查询标识降低查询的数据量,可以避免不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,达到提高隐匿查询系统的查询效率。
实施例三
图3为本申请实施例三提供的一种隐匿查询方法的流程图方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化。
进一步地,将“获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥”,细化为:“获取服务方发送的辅助点序列,并根据目标索引,从辅助点序列中确定目标辅助点;根据第一随机数和目标辅助点生成隐匿索引,并发送至服务方,以指示服务方根据隐匿索引和辅助点序列生成并反馈密钥序列对应的隐匿密钥序列;根据第一随机数和目标索引,对隐匿密钥序列进行解析,获得目标密钥”,以确定目标密钥。
参见图3所示的一种隐匿查询方法,包括:
S310、响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域。
S320、将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域。
S330获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文。
S340、获取服务方发送的辅助点序列,并根据目标索引,从辅助点序列中确定目标辅助点。
辅助点序列为服务方基于不经意传输协议生成的点的序列。具体的,服务方生成第二随机数r2,并通过公式Y=r2*G映射为椭圆曲线上的点以生成辅助点序列P=(P1,P2,……Pn),其中,G为椭圆曲线的生成元,n可以为该分片存储区域中记录的个数,并将辅助点序列发送至查询方。查询方获取辅助点序列,将辅助点序列中序列号与目标索引相同的辅助点,确定为目标辅助点。
S350、根据第一随机数和目标辅助点生成隐匿索引,并发送至服务方,以指示服务方根据隐匿索引和辅助点序列生成并反馈密钥序列对应的隐匿密钥序列。
第一随机数为查询方生成的随机数,用于对目标辅助点的索引号进行隐匿,以使得服务方不能探知查询方查询的内容。具体的,第一随机数可以由随机函数生成。
隐匿索引可以为对目标辅助点进行隐匿计算后得到的索引。示例性的,隐匿索引可以通过下式得到:
U=r1*G+Pidx
其中,U为隐匿索引,r1为第一随机数,Pidx为目标辅助点,G为椭圆曲线的生成元。
查询方将生成的隐匿索引,发送至服务方。服务方根据隐匿索引和辅助点序列,通过预设公式对密钥序列进行隐匿,生成并反馈密钥序列对应的隐匿密钥序列。
S360、根据第一随机数和目标索引,对隐匿密钥序列进行解析,获得目标密钥。
目标密钥可以为与目标索引对应的密钥,也即目标密文的密钥,可以用于对目标密文进行解密。根据第一随机数和目标索引,通过运算逻辑对隐匿密钥序列进行解析。当所解析的隐匿密钥为与目标索引对应的目标密钥时,可以获得目标密钥,否则,解析失败,以保证查询方不能获取其他密钥。
S370、根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过获取服务方发送的辅助点序列,并根据目标索引,从辅助点序列中确定目标辅助点;根据第一随机数和目标辅助点生成隐匿索引,并发送至服务方,以指示服务方根据隐匿索引和辅助点序列生成并反馈密钥序列对应的隐匿密钥序列;根据第一随机数和目标索引,对隐匿密钥序列进行解析,获得目标密钥,通过不经意传输获取目标密钥,可以保障查询方的查询隐匿性,服务方不能够探知查询方查询的内容,同时保障查询方不能获取其他密钥,保障其他密钥的安全性,由于密钥序列为分片存储区域对应的密文的密钥序列,不经意传输协议的计算量显著降低,提高隐匿密钥序列传输的效率。
实施例四
图4为本申请实施例四提供的一种隐匿查询方法的流程图,本实施例可适用于对数据进行隐匿查询的情况,该方法可以由隐匿查询装置执行,该装置可以采用软件和/或硬件实现,并具体配置于服务方中,例如,计算机。
参见图4所示的隐匿查询方法,应用于服务方,具体包括如下步骤:
S410、获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定。
数据库中数据原始位置索引可以为数据库根据数据存储规则对数据进行存储后的索引,根据该原始位置索引可以访问对应的数据。本申请为了,提高隐匿查询效率,对可能进行隐匿查询的数据进行分片存储,并生成分片存储数据的查询标识,用于根据该查询标识查询对应的数据。
具体的,可以对数据原始位置索引进行哈希计算,得到原始位置索引的哈希值,并根据不可区分因子的数值t,将原始位置索引哈希值中前t个字符,作为查询标识。
S420、根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列。
根据获取的查询方的查询标识,遍历该查询标识对应的分片存储区域中的密文,将所有的密文按照分片存储区域中的序列号顺序生成密文序列;遍历该查询标识对应的分片存储区域中的位置索引,将所有的位置索引按照分片存储区域中的序列号顺序生成位置索引序列。
S430、将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文。
将密文序列和位置索引序列反馈给查询方。查询方存储有数据库中数据原始位置索引,因此,可以根据位置索引序列,从密文序列中确定目标密文。具体的,可以先从位置索引序列中确定目标索引,然后将密文序列中与目标索引对应的密文确定为目标密文。
S440、基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
服务方,根据查询标识,遍历对应的分片存储区域中的密钥,将所有的密钥按照分片存储区域中的序列号顺序生成密钥序列,基于不经意传输协议,生成密钥序列的隐匿密钥序列,将隐匿密钥序列发送至查询方。
查询方,获取服务方基于不经意传输协议发送的隐匿密钥序列,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定;根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文,通过查询标识进行查询,只需要查询查询标识对应的数据,减少查询的数据量,将密文序列和和相应的位置索引序列发送给查询方,可以保护查询方的查询隐匿性,服务方不能够明确查询方查询的数据,可以保障查询的隐匿性,同时由于发送的是为密文序列,保障数据传输过程的安全性,并且查询方不能获取待查询数据之外的数据,保证数据的安全性;基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息,基于不经意传输,将隐匿密钥序列发送至查询方,同样实现密钥的隐匿发送,保护查询方的信息隐匿性,并保障目标密钥之外的其他密钥不能被获取,保障其他密钥的安全性,由于只需要发送查询标识对应区域的密文序列的隐匿密钥序列,计算复杂度也大幅降低,传输过程数据量也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率。因此通过本申请的技术方案,解决了不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降的问题,达到了降低查询的数据量,提高隐匿查询系统的查询效率的效果。
在一个可选实施例中,在获取查询方发送的查询标识之前,隐匿查询方法还包括:根据数据库中各数据的原始位置索引对各数据进行分片存储。
分片存储可以为对数据库中的各数据分区域存储,用于减少后续数据查询时的数据查询量。具体的,通过对数据库中各数据的原始位置索引进行映射得到不同分片标识,将分片标识相同的数据存储到同一分片区域进行存储,实现分片存储。
通过根据数据库中各数据的原始位置索引对各数据进行分片存储,可以减少后续查找数据的查询量,不需要对数据库中的所有数据进行查询,只需要查询进行分片存储后分片存储区域中存储的数据,大幅减少数据查询量;同时通过根据数据库中各数据的原始位置索引对各数据进行分片存储,可以建立分片存储后的数据的存储位置与原始位置索引的映射关系,保障数据查询结果的正确性。
在一个可选实施例中,根据数据库中各数据的原始位置索引对各数据进行分片存储,包括:获取数据库中存储数据的原始位置索引;根据预设哈希算法,确定原始位置索引的哈希值;根据不可区分因子和原始位置索引的哈希值,确定数据库中存储数据在分片存储区域的查询标识。
服务方预先根据分片存储区域的分片存储规则,对数据库中存储的数据进行分片存储,并确定分片存储后各数据的查询标识。
数据库中对数据的存储记录为(IDi,datai),其中,IDi为原始位置索引,datai为存储的数据,(i=1,2,…,N),N为数据库中存储记录的个数。读取数据库中存储数据的datai原始位置索引IDi,获取数据库中存储数据的原始位置索引。
预设哈希算法可以为预先设定的哈希算法,可以用于对原始位置索引进行加密。对原始位置索引进行哈希计算,得到原始位置索引的哈希值。
示例性的,原始位置索引的哈希值,可以通过下式得到:
Hi=hash(IDi);
其中,IDi为原始位置索引,hash()为哈希函数,Hi为原始位置索引的哈希值。
不可区分因子可以为预先设定的数值,用于确定查询标识。根据不可区分因子和原始位置索引的哈希值,确定数据库中存储数据在分片存储区域的查询标识。示例性的,不可区分因子为t,将原始位置索引的哈希值的前t位作为查询标识。
具体的,查询标识Hi-t为Hi在预设编码规则下的前t个字符。Hi_t(i=1,2,…,N)相同的数据存储到同一查询标识对应的分片存储区域,Hi_t对应的数据为(Ci,ki,loci),其中Ci为密文,ki为密钥,loci为原始位置索引,i为在该查询标识对应的分片存储区域中的序列号。
若分片存储区域数m=4,t=2,则数据库中所存储的数据分布均匀情况下,Hi在二进制编码下,有H1=00、H2=01、H3=10、H4=11四种情况,也即将数据分为H1、H2、H3和H4四片存储区域进行分片存储:
通过获取数据库中存储数据的原始位置索引;根据预设哈希算法,确定原始位置索引的哈希值;根据不可区分因子和原始位置索引的哈希值,确定数据库中存储数据在分片存储区域的查询标识,通过确定数据库中存储数据在分片存储区域的查询标识,实现对数据库中的数据的分片存储,在根据查询标识进行查询时,只需要查询查询标识对应的数据,减少查询的数据量,并在后续进行不经传输时,也只需要发送查询标识对应分片存储区域的数据对应的密文序列的隐匿密钥序列,不经意传输的计算复杂度大幅降低,传输过程数据量也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率。
实施例五
图5为本申请实施例五提供的一种隐匿查询方法的流程图方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化。
进一步地,将“基于不经意传输协议,将隐匿密钥序列发送至查询方”,细化为:“向查询方发送辅助点序列,以指示查询方根据目标索引,从辅助点随机序列中确定目标辅助点,以及根据第一随机数和目标辅助点生成并反馈隐匿索引;根据隐匿索引和辅助点序列,生成密钥序列对应的隐匿密钥序列,并反馈至查询方,以指示查询方根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥”,以生成隐匿密钥序列,实现密钥序列基于不经意传输协议的通信过程。
参见图5所示的一种隐匿查询方法,包括:
S510、获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定。
S520、根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列。
S530、将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文。
S540、向查询方发送辅助点序列,以指示查询方根据目标索引,从辅助点随机序列中确定目标辅助点,以及根据第一随机数和目标辅助点生成并反馈隐匿索引。
服务方获取密钥序列,根据第二随机数,将第二随机数映射为椭圆曲线上的点,生成辅助点序列,并发送给查询方。查询方获取服务方发送的辅助点序列,并根据目标索引,从辅助点序列中确定目标辅助点,并根据第一随机数和目标辅助点生成隐匿索引,发送至服务方。
S550、根据隐匿索引和辅助点序列,生成密钥序列对应的隐匿密钥序列,并反馈至查询方,以指示查询方根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥。
服务方根据获取的隐匿索引和生成的辅助点序列,以及预设的隐匿规则,对密钥序列中所有的密钥进行隐匿,生成对应的隐匿密钥,所有的隐匿密钥形成隐匿密钥序列,并反馈至查询方。其中,隐匿规则可以为对隐匿索引和生成的辅助点序列进行的函数运算。查询方根据预设的隐匿规则的逆运算,根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥。其中,隐匿规则的逆运算,可以为对隐匿索引和生成的辅助点序列进行的函数运算的逆运算。
在一个可选实施例中,根据隐匿索引和辅助点序列,生成密钥序列对应的隐匿密钥序列,包括:根据隐匿索引和辅助点序列,基于隐匿函数对密钥序列中的各密钥进行隐匿,得到对应的隐匿密钥序列。
隐匿函数为对密钥进行隐匿的数学映射函数,用于根据隐匿索引和辅助点序列,对对密钥序列中的各密钥进行隐匿,得到对应的隐匿密钥序列。
具体的,通过下述隐匿函数,根据隐匿索引和辅助点序列,生成隐匿密钥:
vi=r2*(U-pi)+ki;
其中,vi为隐匿密钥;r2为第二随机数,Pi为辅助点,U为隐匿索引,ki为密钥。根据所有密钥的隐匿密钥生成隐匿密钥序列。
相应的,查询方通过下述公式,并根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥:
kidx=vidx-r1*Y;
其中,kidx为目标密钥,vidx为目标索引对应的隐匿密钥,r1为第一随机数,Y为辅助点序列。
通过根据隐匿索引和辅助点序列,基于隐匿函数对密钥序列中的各密钥进行隐匿,得到对应的隐匿密钥序列,用于保障查询方通过第一随机数和目标索引,只能获取目标密钥,保障其他密钥的安全性。
本实施例的技术方案,通过向查询方发送辅助点序列,以指示查询方根据目标索引,从辅助点随机序列中确定目标辅助点,以及根据第一随机数和目标辅助点生成并反馈隐匿索引;根据隐匿索引和辅助点序列,生成密钥序列对应的隐匿密钥序列,并反馈至查询方,以指示查询方根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥,通过不经传输将密钥序列发送至查询方,查询方只能根据目标索引获取所需的目标密钥,而不能解密其他密钥,保障其他密钥的安全性,同时服务方不能获取查询方查询的密钥,保障查询方的查询隐匿性。
实施例六
图6所示为本申请实施例六提供的一种隐匿查询装置的结构示意图,本实施例可适用于对应用进行更新的情况,配置于查询方,该隐匿查询装置的具体结构如下:
查询标识确定模块610,用于响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;
查询标识发送模块620,用于将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;
目标密文确定模块630,用于获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文;
目标密钥确定模块640,用于获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥;
目标密文解密模块650,用于根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过查询标识确定模块610响应于对待查询数据的查询请求,确定待查询数据的查询标识;通过查询标识发送模块620将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;通过查询标识只需要查询查询标识在服务方对应的分片存储区域中的数据,大幅减少查询的数据量;通过目标密文确定模块630获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文,服务方不能够明确查询方查询的数据,可以保障查询的隐匿性,同时由于获取的为密文序列,查询方不能获取待查询数据之外的数据,保证数据的安全性;通过目标密钥确定模块640获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥,基于不经意传输,获取目标密钥同样实现密钥的隐匿获取,保护查询方的信息隐匿性,由于只需要查询查询标识对应区域的密文序列的密钥,因此基于不经意传输协议进行密钥的传输过程数据量大幅降低,计算复杂度也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率;通过目标密文解密模块650根据目标密钥对目标密文进行解密,得到待查询数据的明文信息,通过解密获取待查询数据的明文,实现数据的隐匿查询。因此通过本申请的技术方案,解决了不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降的问题,达到了降低查询的数据量,提高隐匿查询系统的查询效率的效果。
可选的,查询标识确定模块610,包括:
原始位置索引获取单元,用于根据查询请求,获取待查询数据的原始位置索引;
哈希值确定单元,用于根据预设哈希算法,确定原始位置索引的哈希值;
查询标识确定单元,用于根据不可区分因子和原始位置索引的哈希值,确定待查询数据的查询标识。
可选的,目标密文确定模块630,包括:
目标索引确定单元,用于根据位置索引序列和原始位置索引,确定目标索引;
密文序列匹配单元,用于将密文序列中与目标索引对应的密文确定为目标密文。
可选的,目标密钥确定模块640,包括:
目标辅助点确定单元,用于获取服务方发送的辅助点序列,并根据目标索引,从辅助点序列中确定目标辅助点;
隐匿索引发送单元,用于根据第一随机数和目标辅助点生成隐匿索引,并发送至服务方,以指示服务方根据隐匿索引和辅助点序列生成并反馈密钥序列对应的隐匿密钥序列;
隐匿密钥序列解析单元,用于根据第一随机数和目标索引,对隐匿密钥序列进行解析,获得目标密钥。
本申请实施例所提供的隐匿查询装置可执行本申请任意实施例所提供的隐匿查询方法,具备执行隐匿查询方法相应的功能模块和有益效果。
实施例七
图7所示为本申请实施例七提供的一种隐匿查询装置的结构示意图,本实施例可适用于对应用进行更新的情况,配置于客户端,该隐匿查询装置的具体结构如下:
查询标识获取模块710,用于获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;
数据查询模块720,用于根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;
数据反馈模块730,用于将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文;
隐匿密钥发送模块740,用于基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本实施例的技术方案,通过查询标识获取模块获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;通过数据查询模块根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;通过数据反馈模块将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文,通过查询标识进行查询,只需要查询查询标识对应的数据,减少查询的数据量,将密文序列和和相应的位置索引序列发送给查询方,可以保护查询方的查询隐匿性,服务方不能够明确查询方查询的数据,可以保障查询的隐匿性,同时由于发送的是为密文序列,保障数据传输过程的安全性,并且查询方不能获取待查询数据之外的数据,保证数据的安全性;通过隐匿密钥发送模块基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息,基于不经意传输,将隐匿密钥序列发送至查询方,同样实现密钥的隐匿发送,保护查询方的信息隐匿性,并保障目标密钥之外的其他密钥不能被获取,保障其他密钥的安全性,由于只需要发送查询标识对应区域的密文序列的隐匿密钥序列,计算复杂度也大幅降低,传输过程数据量也大幅降低,提高不经意传输的效率,进而提高隐匿查询的效率。因此通过本申请的技术方案,解决了不经意传输的PIR方案的计算复杂度会随着数据量的增加而线性增加,查询效率也会直线下降的问题,达到了降低查询的数据量,提高隐匿查询系统的查询效率的效果。
可选的,隐匿查询装置,还包括:
分片存储模块,用于根据数据库中各数据的原始位置索引对各数据进行分片存储。
可选的,分片存储模块,包括:
原始位置索引获取单元,用于获取数据库中存储数据的原始位置索引;
哈希计算单元,用于根据预设哈希算法,确定原始位置索引的哈希值;
查询标识确定单元,用于根据不可区分因子和原始位置索引的哈希值,确定数据库中存储数据在分片存储区域的查询标识。
可选的,隐匿密钥发送模块740,包括:
辅助点序列发送单元,用于向查询方发送辅助点序列,以指示查询方根据目标索引,从辅助点随机序列中确定目标辅助点,以及根据第一随机数和目标辅助点生成并反馈隐匿索引;
隐匿密钥序列反馈单元,用于根据隐匿索引和辅助点序列,生成密钥序列对应的隐匿密钥序列,并反馈至查询方,以指示查询方根据第一随机数和目标索引,对获取的隐匿密钥序列进行解析,获得目标密钥。
选的,隐匿密钥序列反馈单元,包括:
隐匿密钥序列生成子单元,用于根据隐匿索引和辅助点序列,基于隐匿函数对密钥序列中的各密钥进行隐匿,得到对应的隐匿密钥序列。
本申请实施例所提供的隐匿查询装置可执行本申请任意实施例所提供的隐匿查询方法,具备执行隐匿查询方法相应的功能模块和有益效果。
实施例八
图8为本申请实施例八提供的一种电子设备的结构示意图,如图8所示,该电子设备包括处理器810、存储器820、输入装置830和输出装置840;电子设备中处理器810的数量可以是一个或多个,图8中以一个处理器810为例;电子设备中的处理器810、存储器820、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器820作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的隐匿查询方法对应的程序指令/模块(例如,查询标识确定模块610、查询标识发送模块620、目标密文确定模块630、目标密钥确定模块640和目标密文解密模块650)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的隐匿查询方法。
存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可用于接收输入的字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
实施例九
本申请实施例九提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种隐匿查询方法,应用于查询方,该方法包括:响应于对待查询数据的查询请求,确定待查询数据的查询标识;查询标识用于确定待查询数据在服务方中的分片存储区域;将查询标识发送给服务方,用于指示服务方根据查询标识,查询并反馈查询标识对应的分片存储区域中的密文序列和相应的位置索引序列,其中,分片存储区域为服务方根据数据库中各数据的原始位置索引对各数据进行分片存储的区域;获取密文序列和位置索引序列,并根据位置索引序列,从密文序列中确定目标密文;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定目标密文的目标密钥;根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
本申请实施例九还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种隐匿查询方法,应用于服务方,该方法包括:获取查询方发送的查询标识;其中,查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;根据查询标识,查询查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;将密文序列和位置索引序列反馈给查询方,以指示查询方根据位置索引序列,从密文序列中确定目标密文;基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示查询方,从隐匿密钥序列中确定目标密钥,并根据目标密钥对目标密文进行解密,得到待查询数据的明文信息。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的隐匿查询方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (14)
1.一种隐匿查询方法,其特征在于,应用于查询方,包括:
响应于对待查询数据的查询请求,确定所述待查询数据的查询标识;所述查询标识用于确定待查询数据在服务方中的分片存储区域;
将所述查询标识发送给服务方,用于指示服务方根据所述查询标识,查询并反馈所述查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,所述分片存储区域为所述服务方根据数据库中各数据的原始位置索引对各所述数据进行分片存储的区域;
获取所述密文序列和所述位置索引序列,并根据所述位置索引序列,从所述密文序列中确定目标密文;
获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定所述目标密文的目标密钥;
根据所述目标密钥对所述目标密文进行解密,得到所述待查询数据的明文信息。
2.根据权利要求1所述的方法,其特征在于,所述响应于对待查询数据的查询请求,确定所述待查询数据的查询标识,包括:
根据所述查询请求,获取待查询数据的原始位置索引;
根据预设哈希算法,确定所述原始位置索引的哈希值;
根据不可区分因子和所述原始位置索引的哈希值,确定所述待查询数据的查询标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述位置索引序列,从所述密文序列中确定目标密文,包括:
根据所述位置索引序列和所述原始位置索引,确定目标索引;
将所述密文序列中与所述目标索引对应的密文确定为目标密文。
4.根据权利要求1所述的方法,其特征在于,所述获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定所述目标密文的目标密钥,包括:
获取所述服务方发送的辅助点序列,并根据所述目标索引,从所述辅助点序列中确定目标辅助点;
根据第一随机数和所述目标辅助点生成隐匿索引,并发送至所述服务方,以指示所述服务方根据所述隐匿索引和所述辅助点序列生成并反馈密钥序列对应的隐匿密钥序列;
根据所述第一随机数和所述目标索引,对所述隐匿密钥序列进行解析,获得目标密钥。
5.一种隐匿查询方法,其特征在于,应用于服务方,所述方法包括:
获取查询方发送的查询标识;其中,所述查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定;
根据所述查询标识,查询所述查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;
将所述密文序列和所述位置索引序列反馈给查询方,以指示所述查询方根据所述位置索引序列,从所述密文序列中确定目标密文;
基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示所述查询方从隐匿密钥序列中确定目标密钥,并根据所述目标密钥对所述目标密文进行解密,得到所述待查询数据的明文信息。
6.根据权利要求5所述的方法,其特征在于,在所述获取查询方发送的查询标识之前,还包括:
根据数据库中各数据的原始位置索引对各所述数据进行分片存储。
7.根据权利要求6所述的方法,其特征在于,所述根据数据库中各数据的原始位置索引对各所述数据进行分片存储,包括:
获取数据库中存储数据的原始位置索引;
根据预设哈希算法,确定所述原始位置索引的哈希值;
根据所述不可区分因子和所述原始位置索引的哈希值,确定所述数据库中存储数据在分片存储区域的查询标识。
8.根据权利要求5所述的方法,其特征在于,所述基于不经意传输协议,将隐匿密钥序列发送至查询方,包括:
向所述查询方发送辅助点序列,以指示所述查询方根据目标索引,从所述辅助点随机序列中确定目标辅助点,以及根据第一随机数和所述目标辅助点生成并反馈隐匿索引;
根据所述隐匿索引和所述辅助点序列,生成密钥序列对应的隐匿密钥序列,并反馈至所述查询方,以指示所述查询方根据第一随机数和目标索引,对获取的所述隐匿密钥序列进行解析,获得目标密钥。
9.根据权利要求8所述的方法,其特征在于,所述根据所述隐匿索引和所述辅助点序列,生成所述密钥序列对应的隐匿密钥序列,包括:
根据所述隐匿索引和所述辅助点序列,基于隐匿函数对所述密钥序列中的各密钥进行隐匿,得到对应的隐匿密钥序列。
10.一种隐匿查询装置,其特征在于,配置于查询方,包括:
查询标识确定模块,用于响应于对待查询数据的查询请求,确定所述待查询数据的查询标识;所述查询标识用于确定待查询数据在服务方中的分片存储区域;
查询标识发送模块,用于将所述查询标识发送给服务方,用于指示服务方根据所述查询标识,查询并反馈所述查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,所述分片存储区域为所述服务方根据数据库中各数据的原始位置索引对各所述数据进行分片存储的区域;
目标密文确定模块,用于获取所述密文序列和所述位置索引序列,并根据所述位置索引序列,从所述密文序列中确定目标密文;
目标密钥确定模块,用于获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定所述目标密文的目标密钥;
目标密文解密模块,用于根据所述目标密钥对所述目标密文进行解密,得到所述待查询数据的明文信息。
11.一种隐匿查询装置,其特征在于,配置于服务方,包括:
查询标识获取模块,用于获取查询方发送的查询标识;其中,所述查询标识由查询方根据待查询数据原始位置索引的哈希值和不可区分因子确定的;
数据查询模块,用于根据所述查询标识,查询所述查询标识对应的分片存储区域存储的密文序列和相应的位置索引序列;
数据反馈模块,用于将所述密文序列和所述位置索引序列反馈给查询方,以指示所述查询方根据所述位置索引序列,从所述密文序列中确定目标密文;
隐匿密钥发送模块,用于基于不经意传输协议,将隐匿密钥序列发送至查询方,以指示所述查询方,从隐匿密钥序列中确定目标密钥,并根据所述目标密钥对所述目标密文进行解密,得到所述待查询数据的明文信息。
12.根据权利要求11所述的装置,其特征在于,所述隐匿查询装置,还包括:
分片存储模块,用于根据数据库中各数据的原始位置索引对各所述数据进行分片存储。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的隐匿查询方法,和/或,实现如权利要求5-9中任一所述的隐匿查询方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述的隐匿查询方法,和/或,实现如权利要求5-9中任一所述的隐匿查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211599498.9A CN115905238A (zh) | 2022-12-12 | 2022-12-12 | 隐匿查询方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211599498.9A CN115905238A (zh) | 2022-12-12 | 2022-12-12 | 隐匿查询方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905238A true CN115905238A (zh) | 2023-04-04 |
Family
ID=86496901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211599498.9A Pending CN115905238A (zh) | 2022-12-12 | 2022-12-12 | 隐匿查询方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905238A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257887A (zh) * | 2023-05-16 | 2023-06-13 | 建信金融科技有限责任公司 | 数据查询方法、装置、系统、设备及存储介质 |
CN116502276A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 匿踪查询方法及装置 |
CN117171202A (zh) * | 2023-08-18 | 2023-12-05 | 北京海泰方圆科技股份有限公司 | 一种数据查询方法及装置 |
-
2022
- 2022-12-12 CN CN202211599498.9A patent/CN115905238A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257887A (zh) * | 2023-05-16 | 2023-06-13 | 建信金融科技有限责任公司 | 数据查询方法、装置、系统、设备及存储介质 |
CN116257887B (zh) * | 2023-05-16 | 2023-08-22 | 建信金融科技有限责任公司 | 数据查询方法、装置、系统、设备及存储介质 |
CN116502276A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 匿踪查询方法及装置 |
CN116502276B (zh) * | 2023-06-29 | 2023-09-12 | 极术(杭州)科技有限公司 | 匿踪查询方法及装置 |
CN117171202A (zh) * | 2023-08-18 | 2023-12-05 | 北京海泰方圆科技股份有限公司 | 一种数据查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11477006B2 (en) | Secure analytics using an encrypted analytics matrix | |
US9977918B2 (en) | Method and system for verifiable searchable symmetric encryption | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN114036565B (zh) | 隐私信息检索系统及隐私信息检索方法 | |
CN115905238A (zh) | 隐匿查询方法、装置、电子设备和存储介质 | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
CN109361644B (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
CN112182630B (zh) | 一种对称可搜索加密方法、装置、设备及介质 | |
JP5348337B2 (ja) | 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム | |
JP2012164031A (ja) | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム | |
US20220209945A1 (en) | Method and device for storing encrypted data | |
CN111726369A (zh) | 一种身份认证方法、系统及服务器 | |
CN111598695A (zh) | 一种区块链数据访问方法及装置 | |
US11233646B2 (en) | Searchable encryption method | |
CN117828673B (zh) | 基于区块链的数据流通与隐私保护方法及装置 | |
CN117150557A (zh) | 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
CN115795514A (zh) | 一种隐私信息检索方法、装置及系统 | |
CN114218582A (zh) | 一种数据库的数据加密方法及终端 | |
CN113347143B (zh) | 一种身份验证方法、装置、设备及存储介质 | |
US8862893B2 (en) | Techniques for performing symmetric cryptography | |
CN116305013A (zh) | 溯源信息的电子文件添加方法、装置、电子设备及介质 | |
CN113065146A (zh) | 一种用于区块链数据保护的同态加密方法 | |
CN115408451B (zh) | 匿踪查询方法和存储介质 | |
CN114900318B (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 |