本申请涉及计算机,尤其涉及一种数据查询方法、装置、设备、存储介质和程序产品。
背景技术:
1、在面向多数据源的匿踪查询的场景下,查询方同时对多个数据源进行查询,利用ole(oblivious linear evaluation,不经意线性计算)等技术,使得查询方可同时向多个数据源广播密文的查询内容,并获取对应的密文结果。同时数据源方利用零化多项式技术实现了批量查询。通过上述方案虽然保证了查询方可同时向多个数据源同时发起查询,但每个数据源的查询结果最终都被查询方获知,同样会造成数据源方隐私泄露问题,数据源方的数据查询安全性低。
技术实现思路
1、本申请的主要目的在于提供一种数据查询方法、装置、设备、存储介质和程序产品,旨在解决数据源方隐私泄露,导致数据源方的数据查询安全性低的技术问题。
2、为实现上述目的,本申请提出一种数据查询方法,所述的方法包括:
3、生成同态加密算法的公钥私钥对,并将所述公钥发送至至少两个数据源,所述数据源根据所述公钥生成数据集的编码值的同态密文;
4、分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的查询值的伪随机值;
5、将所述伪随机值依次发送至对应的所述数据源,所述数据源基于所述伪随机值获取本地同态密文,并将所述本地同态密文和接收到的其他数据源的同态密文之和发送至下一数据源,直至所述下一数据源为最后一个数据源;
6、获取所述最后一个数据源返回的同态密文之和,通过所述私钥对所述同态密文之和进行解密,并根据所述同态密文之和生成所述查询值对应的查询结果。
7、在一实施例中,所述分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的查询值的伪随机值的步骤包括:
8、分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的伪随机密钥;
9、根据所述伪随机密钥和查询值,生成所述数据源对应的所述伪随机值。
10、在一实施例中,所述分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的伪随机密钥的步骤之后,还包括:
11、将所述伪随机密钥发送至对应的所述数据源,所述数据源根据所述伪随机密钥,生成所述数据集对应的伪随机值集合。
12、在一实施例中,所述根据所述同态密文之和生成所述查询值对应的查询结果的步骤包括:
13、若所述同态密文之和的前预设位的比特值不全为0,则确定所述查询值在黑名单中;
14、若所述同态密文之和的前预设位的比特值全为0,则确定所述查询值不在黑名单,所述查询结果包括查询值是否在黑名单中。
15、在一实施例中,根据所述同态密文之和生成所述查询值对应的查询结果的步骤包括:
16、根据所述同态密文之和的后预设位的bit值,确定所述查询结果中的所述查询值对应的手机号码总数。
17、为实现上述目的,本申请提出一种数据查询方法,所述的方法包括:
18、接收查询方发送的同态密文的公钥,根据所述公钥生成数据集的编码值的同态密文;
19、获取查询方发送的伪随机密钥,并根据所述伪随机密钥和所述数据集生成伪随机值集合;
20、接收查询方发送的伪随机值,基于所述伪随机值和所述伪随机值集合的比对结果获取本地同态密文,并将所述本地同态密文和接收到的其他数据源的同态密文之和发送至下一数据源,直至所述下一数据源为最后一个数据源。
21、此外,为实现上述目的,本申请还提出一种数据查询装置,所述数据查询装置包括:
22、生成模块,用于生成同态加密算法的公钥私钥对,并将所述公钥发送至至少两个数据源,所述数据源根据所述公钥生成数据集的编码值的同态密文;
23、执行模块,用于分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的查询值的伪随机值;
24、发送模块,用于将所述伪随机值依次发送至对应的所述数据源,所述数据源基于所述伪随机值获取本地同态密文,并将所述本地同态密文和接收到的其他数据源的同态密文之和发送至下一数据源,直至所述下一数据源为最后一个数据源;
25、查询模块,用于获取所述最后一个数据源返回的同态密文之和,通过所述私钥对所述同态密文之和进行解密,并根据所述同态密文之和生成所述查询值对应的查询结果。
26、此外,为实现上述目的,本申请还提出一种数据查询装置,所述数据查询装置包括:
27、接收模块,用于接收查询方发送的同态密文的公钥,根据所述公钥生成数据集的编码值的同态密文;
28、获取模块,用于获取查询方发送的伪随机密钥,并根据所述伪随机密钥和所述数据集生成伪随机值集合;
29、核对模块,用于接收查询方发送的伪随机值,基于所述伪随机值和所述伪随机值集合的比对结果获取本地同态密文,并将所述本地同态密文和接收到的其他数据源的同态密文之和发送至下一数据源,直至所述下一数据源为最后一个数据源。
30、此外,为实现上述目的,本申请还提出一种数据查询设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的数据查询方法的步骤。
31、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的数据查询方法的步骤。
32、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的数据查询方法的步骤。
33、本申请提出的一个或多个技术方案,至少具有以下技术效果:
34、通过数据源方数据的编码方式创新以适配安全查询过程,查询方和数据源方采用不经意伪随机函数技术进行安全比对,实现安全查询,通过多数据源参与的安全求和查询流程,保证安全求和,提高了数据查询的安全性。
1.一种数据查询方法,其特征在于,应用于查询方,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的查询值的伪随机值的步骤包括:
3.如权利要求2所述的方法,其特征在于,所述分别与每一所述数据源执行不经意伪随机函数协议,生成每一所述数据源对应的伪随机密钥的步骤之后,还包括:
4.如权利要求1所述的方法,其特征在于,根据所述同态密文之和生成所述查询值对应的查询结果的步骤包括:
5.如权利要求1所述的方法,其特征在于,所述根据所述同态密文之和生成所述查询值对应的查询结果的步骤包括:
6.一种数据查询方法,其特征在于,应用于数据源,所述方法包括:
7.一种数据查询装置,其特征在于,所述装置包括:
8.一种数据查询设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至6中任一项所述的数据查询方法的步骤。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的数据查询方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的数据查询方法的步骤。