隐匿查询方法、装置、设备及存储介质制造方法及图纸

技术编号:39319842 阅读:7 留言:0更新日期:2023-11-12 16:01
本申请公开了一种隐匿查询方法、装置、设备及存储介质,涉及计算机和互联网技术领域。所述方法包括:接收第一密文,该第一密文是服务端基于数据集对应的ID加密生成的;基于查询ID和第一密文,计算得到第一反馈参数,以及向服务端发送第一反馈参数,该第一反馈参数用于确定数据集对应的ID中是否存在与查询ID相匹配的ID;接收来自服务端的第二密文,第二密文是服务端在数据集对应的ID中存在与查询ID相匹配的ID的情况下,基于数据集中的数据加密生成的;根据查询ID从第二密文中提取得到查询数据。本申请可应用于云技术、人工智能、智慧交通等场景。本申请能够在保持隐匿查询的安全性的同时,支持服务端主动感知查询ID是否匹配。支持服务端主动感知查询ID是否匹配。支持服务端主动感知查询ID是否匹配。

【技术实现步骤摘要】
隐匿查询方法、装置、设备及存储介质


[0001]本申请实施例涉及计算机和互联网
,特别涉及一种隐匿查询方法、装置、设备及存储介质。

技术介绍

[0002]隐匿查询,也称隐私信息检索,其是一种为了保障个人隐私在公共网络平台上的私密性而采用的查询方法,当用户在数据库上检索信息时,它将采用一定的方法(如加密算法)来阻止服务端(如数据库服务器)知晓用户查询语句的相关信息,从而保护用户的查询隐私。
[0003]在相关技术中,在隐匿查询完成之后,需要查询方(即客户端)将查询ID是否匹配这一信息同步给被查询方(即服务端),被查询方基于该信息进行结算。然而,上述信息存在错误的风险(如查询方修改该信息),从而容易导致被查询方结算错误,被查询方的抗风险能力不高。

技术实现思路

[0004]本申请实施例提供了一种隐匿查询方法、装置、设备及存储介质,能够在不泄露查询ID和数据集中的其他数据的情况下,支持服务端主动感知查询ID是否匹配,从而实现了在保持隐匿查询的安全性的同时,提高了服务端的抗风险能力,进而降低客户端作恶给服务端带来经济损失的风险。所述技术方案如下:
[0005]根据本申请实施例的一个方面,提供了一种隐匿查询方法,所述方法包括:
[0006]向服务端发送隐匿查询请求;其中,所述服务端对应存储有数据集;
[0007]接收来自所述服务端的第一密文,所述第一密文是基于所述数据集中的数据对应的身份标识号ID加密生成的;
[0008]基于查询ID和所述第一密文,计算得到第一反馈参数,以及向所述服务端发送所述第一反馈参数;其中,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;
[0009]接收来自所述服务端的第二密文,所述第二密文是所述服务端在根据所述第一反馈参数确定所述数据集对应的ID中存在与所述查询ID相匹配的ID的情况下,基于所述数据集中的数据加密生成的;
[0010]根据所述查询ID从所述第二密文中,提取得到所述查询ID对应的查询数据。
[0011]根据本申请实施例的一个方面,提供了一种隐匿查询方法,所述方法包括:
[0012]响应于接收来自客户端的隐匿查询请求,基于数据集中的数据对应的身份标识号ID加密生成第一密文,以及向所述客户端发送所述第一密文;
[0013]接收来自所述客户端的第一反馈参数,所述第一反馈参数是所述客户端基于查询ID和所述第一密文生成的,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;
[0014]在所述第一反馈参数满足第一条件的情况下,对所述数据集中的数据进行加密,生成第二密文,以及向所述客户端发送所述第二密文;其中,所述第一条件用于指示所述数据集对应的ID中存在与所述查询ID相匹配的ID。
[0015]根据本申请实施例的一个方面,提供了一种隐匿查询装置,所述装置包括:
[0016]请求发送模块,用于向服务端发送隐匿查询请求;其中,所述服务端对应存储有数据集;
[0017]密文接收模块,用于接收来自所述服务端的第一密文,所述第一密文是基于所述数据集中的数据对应的身份标识号ID加密生成的;
[0018]参数计算模块,用于基于查询ID和所述第一密文,计算得到第一反馈参数,以及向所述服务端发送所述第一反馈参数;其中,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;
[0019]所述密文接收模块,还用于接收来自所述服务端的第二密文,所述第二密文是所述服务端在根据所述第一反馈参数确定所述数据集对应的ID中存在与所述查询ID相匹配的ID的情况下,基于所述数据集中的数据加密生成的;
[0020]数据提取模块,用于根据所述查询ID从所述第二密文中,提取得到所述查询ID对应的查询数据。
[0021]根据本申请实施例的一个方面,提供了一种隐匿查询装置,所述装置包括:
[0022]密文生成模块,用于响应于接收来自客户端的隐匿查询请求,基于数据集中的数据对应的身份标识号ID加密生成第一密文,以及向所述客户端发送所述第一密文;
[0023]参数接收模块,用于接收来自所述客户端的第一反馈参数,所述第一反馈参数是所述客户端基于查询ID和所述第一密文生成的,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;
[0024]所述密文生成模块,还用于在所述第一反馈参数满足第一条件的情况下,对所述数据集中的数据进行加密,生成第二密文,以及向所述客户端发送所述第二密文;其中,所述第一条件用于指示所述数据集对应的ID中存在与所述查询ID相匹配的ID
[0025]根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述隐匿查询方法。
[0026]所述计算机设备为终端设备或服务器。
[0027]根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述隐匿查询方法。
[0028]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述隐匿查询方法。
[0029]本申请实施例提供的技术方案可以包括如下有益效果:
[0030]在隐匿查询过程中,客户端先基于数据集对应的ID加密生成的第一密文和查询ID,计算得到用于确定数据集对应的ID中是否存在与查询ID相匹配的ID的第一反馈参数,
进而服务端基于该第一反馈参数确定数据集对应的ID中是否存在与查询ID相匹配的ID,使得服务端能够主动感知查询ID是否配,而无需被动地从客户端获取该信息,从而提高了服务端的抗风险能力,进而避免客户端作恶给服务端带来经济损失的风险。
[0031]另外,服务端在确定数据集对应的ID中存在与查询ID相匹配的ID的情况下,基于数据集中的数据加密生成第二密文,客户端再根据查询ID从第二密文中提取查询ID对应的查询数据,实现了查询ID和数据集中的数据不泄露,从而保持了隐匿查询的安全性。
附图说明
[0032]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是本申请一个实施例提供的方案实施环境的示意图;
[0034]图2是本申请一个实施例提供的隐匿查询方法的流程图;
[0035]图3是本申请一个实施例提供的第一反馈参数的获取方法的流程图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐匿查询方法,其特征在于,所述方法包括:向服务端发送隐匿查询请求;其中,所述服务端对应存储有数据集;接收来自所述服务端的第一密文,所述第一密文是基于所述数据集中的数据对应的身份标识号ID加密生成的;基于查询ID和所述第一密文,计算得到第一反馈参数,以及向所述服务端发送所述第一反馈参数;其中,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;接收来自所述服务端的第二密文,所述第二密文是所述服务端在根据所述第一反馈参数确定所述数据集对应的ID中存在与所述查询ID相匹配的ID的情况下,基于所述数据集中的数据加密生成的;根据所述查询ID从所述第二密文中,提取得到所述查询ID对应的查询数据。2.根据权利要求1所述的方法,其特征在于,所述第一密文包括多个加密系数,所述加密系数是对基于所述数据集对应的ID构建的零化多项式的系数进行加密得到的;所述基于查询ID和所述第一密文,计算得到第一反馈参数,包括:根据所述多个加密系数,构建系数加密后的零化多项式;获取所述系数加密后的零化多项式在所述查询ID处的第一取值;采用盲化参数对所述第一取值进行盲化,得到所述第一反馈参数;其中,所述盲化参数是从所述服务端对应的明文空间中随机选择得到的,所述明文空间是通过第一哈希函数基于所述数据集对应的ID构建的。3.根据权利要求2所述的方法,其特征在于,所述获取所述系数加密后的零化多项式在所述查询ID处的第一取值,包括:调用所述第一哈希函数对所述查询ID进行哈希,得到所述查询ID对应的第一哈希值;同态计算所述系数加密后的零化多项式在所述第一哈希值处的取值,得到所述第一取值。4.根据权利要求2所述的方法,其特征在于,所述加密系数是采用同态加密算法对所述零化多项式的系数进行加密得到的,所述同态加密算法对应设置有私钥和公钥,所述私钥是从所述明文空间中选择的,所述公钥是基于所述私钥生成的;所述采用盲化参数对所述第一取值进行盲化,得到所述第一反馈参数,包括:采用所述盲化参数、第一生成元和随机多项式在所述查询ID处的取值,生成第一子反馈参数;基于所述盲化参数、所述第一取值、第二生成元、所述公钥和所述随机多项式在所述查询ID处的取值,生成第二子反馈参数;基于所述第一子反馈参数和所述第二子反馈参数,得到所述第一反馈参数;其中,所述第一生成元和所述第二生成元是从所述椭圆曲线群中选择的,所述随机多项式是基于所述加密系数在加密过程中对应的随机参数构建的。5.根据权利要求1所述的方法,其特征在于,所述第二密文包括多个密文对,每个密文对包括一个初始向量和子密文,所述子密文为数据加密后的密文;所述根据所述查询ID从所述第二密文中,提取得到所述查询ID对应的查询数据,包括:调用第二哈希函数,对所述服务端对应的公钥和盲化参数之间的乘积进行哈希,得到
第一中间参数和第二中间参数;其中,所述第二哈希函数用于基于所述服务端对应的椭圆曲线群获取第一安全参数下的第一数据空间,所述第一中间参数用于确定目标初始向量,所述第二中间参数为所述查询ID对应的密钥;调用第三哈希函数,对所述第一中间参数和所述查询ID之间的拼接结果进行哈希,得到所述查询ID对应的目标初始向量;其中,所述第三哈希函数用于生成第二安全参数下的第二数据空间,所述第二安全参数与所述第一安全参数相关联;采用所述第二中间参数和所述目标初始向量,对所述目标初始向量对应的子密文进行解密,得到所述查询ID对应的查询数据。6.一种隐匿查询方法,其特征在于,所述方法包括:响应于接收来自客户端的隐匿查询请求,基于数据集中的数据对应的身份标识号ID加密生成第一密文,以及向所述客户端发送所述第一密文;接收来自所述客户端的第一反馈参数,所述第一反馈参数是所述客户端基于查询ID和所述第一密文生成的,所述第一反馈参数用于确定所述数据集对应的ID中是否存在与所述查询ID相匹配的ID;在所述第一反馈参数满足第一条件的情况下,对所述数据集中的数据进行加密,生成第二密文,以及向所述客户端发送所述第二密文;其中,所述第一条件用于指示所述数据集对应的ID中存在与所述查询ID相匹配的ID。7.根据权利要求6所述的方法,其特征在于,所述基于数据集中的数据对应的身份标识号ID加密生成第一密文,包括:调用第一哈希函数,对所述数据集对应的ID进行哈希,得到所述数据集对应的哈希值;其中,所述第一哈希函数用于生成所述服务端对应的明文空间;基于所述数据集对应的哈希值构建零化多项式;对所述零化多项式的系数进行加密,得到加密系数;基于所述加密系数,生成所述第一密文。8.根据权利要求7所述的方法,其特征在于,所述对所述零化多项式的系数进行加密,得到加密系数,包括:对于所述零化多项式对应的目标系数,从所述明文空间中随机获取所述目标系数对应的目标随机参数;获取所述目标随机参数与第一生成元之间的第一乘积;获取所述...

【专利技术属性】
技术研发人员:张凡蒋杰刘煜宏陈鹏叶展豪王礼斌程勇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1