掌桥专利:专业的专利平台
掌桥专利
首页

数据查询方法、装置、系统、设备及存储介质

文献发布时间:2023-06-29 06:30:04


数据查询方法、装置、系统、设备及存储介质

技术领域

本申请涉及计算机技术,尤其涉及一种数据查询方法、装置、系统、设备及存储介质。

背景技术

数据查询端可以从数据供给端进行数据查询,得到数据查询端所需的数据。在一些场景中,数据查询端需实现从数据供给端获取待查询的数据的同时,使得数据供给端无法知晓该数据查询端所查询到的“待查询的数据”是哪条数据(即数据查询端需实现匿踪查询)。

目前,现有的匿踪查询方法主要为基于paillier同态加密的查询方法。然而,该现有的匿踪查询方法存在计算量较大、查询效率低的问题。

发明内容

本申请提供一种数据查询方法、装置、系统、设备及存储介质,以减少匿踪查询的计算量,提高查询效率。

第一方面,本申请提供一种数据查询方法,所述方法应用于数据查询端,所述方法包括:

向所述数据供给端发送数据查询请求;所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同;

接收来自所述数据供给端的多条数据中各条数据的一次加密后的密文;所述各条数据的一次加密后的密文为所述数据供给端根据所述数据特征标识获取的;

从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文;

对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文,并发送至所述数据供给端,以使所述数据供给端对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文;

接收来自所述数据供给端的所述二次加密后的密文,并对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

可选的,所述多条数据属于同一组数据,所述数据特征标识用于表征所述数据所在的组,不同组数据之间的数据特征标识不同。

可选的,在向所述数据供给端发送数据查询请求之前,所述方法还包括:

根据所述待查询数据,以及,所述待查询数据所在的组,确定所述待查询数据的数据特征标识。

可选的,在所述从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文之前,所述方法还包括:

接收来自所述数据供给端的所述各条数据的杂凑值;针对任一条所述数据,该数据的杂凑值为所述数据供给端根据该数据的关键值得到的;

所述从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文,包括:

根据所述各条数据的杂凑值,从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文。

第二方面,本申请提供一种数据查询方法,所述方法应用于数据供给端,所述方法包括:

接收来自数据查询端的数据查询请求;所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同;

根据所述数据特征标识,获取多条数据中各条数据的一次加密后的密文;

向所述数据查询端发送所述各条数据的一次加密后的密文,以使所述数据查询端从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文,并对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文;

接收来自所述数据查询端的所述一次加密且二次加密后的密文,并对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文;

向所述数据查询端发送所述二次加密后的密文,以使所述数据查询端对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

可选的,所述多条数据属于同一组数据,所述数据特征标识用于表征所述数据所在的组,不同组数据之间的数据特征标识不同。

可选的,所述根据所述数据特征标识,获取多条数据中各条数据的一次加密后的密文,包括:

根据所述数据特征标识,确定所述待查询数据所在的组;

对所述待查询数据所在的组中的每条数据进行一次加密,得到各条数据的一次加密后的密文。

可选的,在根据所述数据特征标识获取多条数据之后,所述方法还包括:

针对所述多条数据中的任一条数据,根据该数据的关键值,获取该数据的杂凑值;

向所述数据查询端发送所述各条数据的杂凑值,以使所述数据查询端根据所述各条数据的杂凑值,从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文。

第三方面,本申请提供一种数据查询装置,所述装置应用于数据查询端,所述装置包括:

发送模块,用于向所述数据供给端发送数据查询请求;所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同;

接收模块,用于接收来自所述数据供给端的多条数据中各条数据的一次加密后的密文;所述各条数据的一次加密后的密文为所述数据供给端根据所述数据特征标识获取的;

识别模块,用于从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文;

第一处理模块,用于对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文,并发送至所述数据供给端,以使所述数据供给端对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文;

第二处理模块,用于接收来自所述数据供给端的所述二次加密后的密文,并对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

第四方面,本申请提供一种数据查询装置,所述装置应用于数据供给端,所述装置包括:

接收模块,用于接收来自数据查询端的数据查询请求;所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同;

第一处理模块,用于根据所述数据特征标识,获取多条数据中各条数据的一次加密后的密文;

第一发送模块,用于向所述数据查询端发送所述各条数据的一次加密后的密文,以使所述数据查询端从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文,并对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文;

第二处理模块,用于接收来自所述数据查询端的所述一次加密且二次加密后的密文,并对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文;

第二发送模块,用于向所述数据查询端发送所述二次加密后的密文,以使所述数据查询端对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

第五方面,本申请提供一种数据查询系统,所述数据查询系统包括:数据查询端,以及,数据供给端;其中,所述数据查询端,用于执行第一方面任一项所述的方法;所述数据供给端,用于执行第二方面任一项所述的方法。

第六方面,本申请提供一种电子设备,所述电子设备包括存储器和处理器;

所述存储器中存储有计算机程序;

所述处理器被设置为通过所述计算机程序执行第一方面和第二方面中任一项所述的方法。

第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面和第二方面任一项所述的方法。

第八方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面和第二方面任一项所述的方法。

本申请提供的数据查询方法、装置、系统、设备及存储介质,数据查询端可以向数据供给端发送包括待查询数据的数据特征标识的数据查询请求。因为在该数据供给端中存在至少一条“除该待查询数据之外”的数据的数据特征标识与该待查询数据的数据特征标识相同,因此即便数据供给端获取到该待查询数据的数据特征标识,该数据供给端也无法确切知晓该待查询数据具体是哪条数据。然后,数据供给端可以根据该数据特征标识,获取多条数据中各条数据的一次加密后的密文。通过将该各条数据进行一次加密后的发送至数据查询端,保障了数据传输的安全性。数据查询端通过对该各条数据的一次加密后的密文中的待查询数据的一次加密后的密文进行二次加密,使得该二次机密后的密文为受到数据查询端的二次加密操作保护,进而使得数据供给端在进行一次加密对应的解密操作时,仍然无法确定该数据查询端要查询的待查询数据是哪条数据。然后,数据查询端可以对二次加密后的密文进行上述二次加密对应的解密操作,得到待查询数据,实现了数据查询端的匿踪查询。通过上述方法,数据查询端在实现匿踪查询时,不需使用paillier同态加密算法,因此减少了匿踪查询的计算量,提高了查询效率。

附图说明

为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种数据查询方法的流程示意图;

图2为本申请提供的一种数据供给端中数据分组情况的示意图;

图3为本申请提供的一种数据查询装置20的结构示意图;

图4为本申请提供的一种数据查询装置30的结构示意图;

图5为本申请提供的一种电子设备结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。本申请的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

数据查询端可以从数据供给端进行数据查询,得到数据查询端所需的数据。在一些实施例中,数据查询端可以在数据查询请求中明确表示自身所需的数据,以使数据供给端可以直接将该数据提供给数据查询端。在该实现方式下,数据供给端可以确定数据查询端查询的数据具体是哪条。

在一些场景中,数据查询端需实现从数据供给端获取待查询的数据的同时,使得数据供给端无法知晓该数据查询端所查询到的“待查询的数据”是哪条数据(即数据查询端需实现匿踪查询)。

目前,现有的匿踪查询方法主要为基于paillier同态加密的查询方法。然而,该现有的匿踪查询方法存在计算量较大、查询效率低的问题。

考虑到现有的查询方法存在的上述问题,因此,本申请提供了一种不需paillier同态加密方法,也可实现数据查询端的匿踪查询的方法,以减少匿踪查询的计算量,从而提高查询效率。应理解,本申请对上述数据查询端,以及,数据供给端并不进行限定。例如,该数据查询端或者数据供给端可以为任意一种具有处理功能的电子设备,例如终端,或者,服务器等。此外,应理解,本申请对上述数据查询端与数据供给端之间的通信方式,并不进行限定。

下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本申请提供的一种数据查询方法的流程示意图。如图1所示,该方法包括以下步骤:

S101、数据查询端向数据供给端发送数据查询请求。

其中,该数据查询请求可以包括待查询数据的数据特征标识。在上述数据供给端中存在至少一条“除该待查询数据之外”的数据的数据特征标识与该待查询数据的数据特征标识相同。也就是说,在该数据供给端中,存在多条数据的数据特征标识为上述待查询数据的数据特征标识。因此,即便数据供给端获取到该待查询数据的数据特征标识,该数据供给端也无法确切知晓该待查询数据具体是哪条数据。

示例性的,上述数据特征标识例如可以为该待查询数据与上述所说的至少一条“除该待查询数据之外”的数据中均存在的一段数字,和/或,字母。例如,以上述待查询数据与上述所说的至少一条“除该待查询数据之外”的数据为电话号码为例,该数据特征标识例如可以为电话号码的后四位。在该示例下,待查询数据与上述所说的至少一条“除该待查询数据之外”的数据的电话号码的后四位相同。

或者,上述数据特征标识例如还可以用于表征该条数据的数据量的大小,或者,数据类型等,本申请对该数据特征标识并不进行限定。

作为一种可能的实现方式,数据查询端中例如可以预先存储有待查询数据的数据特征标识。作为另一种可能的实现方式,数据查询端中例如可以根据待查询数据,以及,待查询数据所在的组,确定待查询数据的数据特征标识。

相应的,数据供给端可以接收来自该数据查询端的数据查询请求。

S102、数据供给端根据数据特征标识,获取多条数据中各条数据的一次加密后的密文。

可选的,数据供给端在接收到该数据查询请求之后,可以从该数据查询请求中获取该数据特征标识。然后,数据供给端可以从自身存储的数据中获取多条“数据特征标识为该数据特征标识的数据”。然后,数据供给端可以对该多条数据中的各条数据进行一次加密,得到各条数据的一次加密后的密文。示例性的,以数据供给端根据数据特征标识获取到100条数据为例,则数据供给端可以对该100条数据中的各条数据进行一次加密,得到100条数据分别对应的一次加密后的密文。

或者,数据供给端中还可以预先存储有数据特征标识,与,多条数据的一次加密后的密文的映射关系。在该实现方式下,数据供给端可以在接收到该数据查询请求之后,根据该数据查询请求中包括的数据特征标识,以及,该映射关系,得到多条数据的一次加密后的密文。

应理解,本申请对数据供给端执行上述一次加密操作的具体实现方式并不进行限定。例如,针对上述多条数据中的任意一条数据,数据供给端可以通过RSA加密算法,或者,SM2加密算法等任意一种现有的数据加密方法,对该条数据进行加密,得到该条数据的一次加密后的密文。

S103、数据供给端向数据查询端发送各条数据的一次加密后的密文。

相应的,该数据查询端可以接收该来自数据供给端的多条数据中各条数据的一次加密后的密文。

S104、数据查询端从各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文。

作为一种可能的实现方式,数据供给端例如还可以在根据上述数据特征标识,获取多条数据之后,获取该多条数据中各条数据的唯一性标识(也就是说不同数据的唯一性标识不同)。然后,数据供给端可以将该各条数据的唯一性标识,以及,各条数据的一次加密后的密文的映射关系,发送至数据查询端。其中,上述各条数据的唯一性标识例如可以为该数据供给端预先生成的。或者,该上述各条数据的唯一性标识也可以为该数据供给端在获取上述多条数据之后,通过预设的算法生成的。

在该实现方式下,数据查询端例如可以根据上述“各条数据的唯一性标识,以及,各条数据的一次加密后的密文的映射关系”,以及,待查询数据的唯一性标识,从上述各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文。

S105、数据查询端对待查询数据的一次加密后的密文进行二次加密,得到待查询数据的一次加密且二次加密后的密文。

应理解,本申请对数据查询端执行上述二次加密操作的具体实现方式并不进行限定。例如,数据查询端可以通过随机数加密算法等任意一种现有的数据加密方法,对该待查询数据的一次加密后的密文进行二次加密,得到该待查询数据的一次加密且二次加密后的密文。

S106、数据查询端向数据供给端发送该一次加密且二次加密后的密文。

相应的,数据供给端可以接收该来自数据查询端的一次加密且二次加密后的密文。

S107、数据供给端对一次加密且二次加密后的密文进行上述一次加密对应的解密操作,得到二次加密后的密文。

数据供给端对一次加密且二次加密后的密文进行上述一次加密对应的解密操作,实现了对上述“一次加密后的密文”的解密,得到的二次加密后的密文为受到数据查询端的二次加密操作保护的二次加密后的密文。因为该二次机密后的密文为受到数据查询端的二次加密操作保护,因此数据供给端仍然无法确定该数据查询端要查询的待查询数据是哪条数据。

应理解,本申请对数据供给端对一次加密且二次加密后的密文进行上述一次加密对应的解密操作的具体实现方式并不进行限定。

S108、数据供给端向数据查询端发送二次加密后的密文。

相应的,数据查询端可以接收该来自数据供给端的二次加密后的密文。

S109、数据查询端对二次加密后的密文进行上述二次加密对应的解密操作,得到待查询数据。

因为该二次机密后的密文为受到数据查询端的二次加密操作保护的,所以数据查询端能够对该二次加密后的密文进行解密,得到待查询数据。通过上述方法,数据查询端能够在从数据供给端获取到待查询数据的同时,使得数据供给端无法知晓该待查询数据是哪条数据,实现了数据查询端的匿踪查询。

应理解,本申请对数据查询端对二次加密后的密文进行上述二次加密对应的解密操作的具体实现方式并不进行限定。

在本实施例中,数据查询端可以向数据供给端发送包括待查询数据的数据特征标识的数据查询请求。因为在该数据供给端中存在至少一条“除该待查询数据之外”的数据的数据特征标识与该待查询数据的数据特征标识相同,因此即便数据供给端获取到该待查询数据的数据特征标识,该数据供给端也无法确切知晓该待查询数据具体是哪条数据。然后,数据供给端可以根据该数据特征标识,获取多条数据中各条数据的一次加密后的密文。通过将该各条数据进行一次加密后的发送至数据查询端,保障了数据传输的安全性。数据查询端通过对该各条数据的一次加密后的密文中的待查询数据的一次加密后的密文进行二次加密,使得该二次机密后的密文为受到数据查询端的二次加密操作保护,进而使得数据供给端在进行一次加密对应的解密操作时,仍然无法确定该数据查询端要查询的待查询数据是哪条数据。然后,数据查询端可以对二次加密后的密文进行上述二次加密对应的解密操作,得到待查询数据,实现了数据查询端的匿踪查询。通过上述方法,数据查询端在实现匿踪查询时,不需使用paillier同态加密算法,因此减少了匿踪查询的计算量,提高了查询效率。

作为一种可能的实现方式,上述数据供给端根据数据特征标识,获取到的多条数据可以属于同一组数据。在该实现方式下,上述数据特征标识可以用于表征数据所在的组。其中,不同组数据之间的数据特征标识不同。

示例性的,图2为本申请提供的一种数据供给端中数据分组情况的示意图。如图2所示,在该数据供给端中可以存储有多组数据。其中,每组数据可以包括多条数据。同一组数据中每条数据的数据特征标识(也可以称为分组特征)相同,例如第一组数据中每条数据的数据特征标识均为数据特征标识1。

在该实现方式下,可选的,数据查询端在向数据供给端发送数据查询请求之前,还可以根据上述待查询数据,以及,该待查询数据所在的组,确定待查询数据的数据特征标识。

示例性的,该数据查询端中例如可以预先存储有该数据供给端中的数据分组规则,以及,各组的数据特征标识。数据查询端可以根据该数据分组规则,以及,待查询数据,确定该待查询数据所在的分组。然后,数据查询端可以将该待查询数据所在的分组的数据特征标识,作为该待查询数据的数据特征标识。

通过上述方法,数据查询端可以根据待查询数据,以及,该待查询数据所在的组,确定待查询数据的数据特征标识,为后续基于该数据特征标识进行匿踪查询奠定了基础。

在该实现方式下,可选的,数据供给端在根据数据特征标识,获取多条数据中各条数据的一次加密后的密文时,例如可以先根据该数据特征标识,确定待查询数据所在的组,然后对待查询数据所在的组中的每条数据进行一次加密,得到上述各条数据的一次加密后的密文。

示例性的,仍然以图2为例,假定该数据特征标识为数据特征标识1,则数据供给端可以确定该待查询数据所在的组为第1组。然后,数据供给端可以对该第1组中的每条数据进行一次加密,得到各条数据的一次加密后的密文。

通过上述方法,数据供给端可以根据该数据特征标识,确定待查询数据所在的组,并对该组中的每条数据进行一次加密,得到各条数据的一次加密后的密文,实现了对包括待查询数据在内的多条数据进行一次加密,保障了数据供给端无法确定待查询数据是哪条,且数据供给端发出的信息是密文,不会造成信息泄露,提高了数据供给端与数据查询端进行数据传输的安全性。

在本实施例中,基于不同的数据特征标识,将数据供给端中的数据进行分组存储,使得数据供给端可以直接根据获取到的数据特征标识,得到多条数据,提高了数据获取效率,进而进一步提高了匿踪查询的效率。

作为另一种可能的实现方式,在数据供给端中,数据的存储也可以不分组。例如,数据供给端中例如存储有每条数据,与,数据特征标识之间的映射关系。在该实现方式下,数据供给端可以在获取到待查询数据的数据特征标识之后,直接根据该待查询数据的数据特征标识,以及,该每条数据,与,数据特征标识之间的映射关系,得到与待查询数据的数据特征标识相同的多条数据。

下面对数据查询端如何从各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文,进行详细说明:

作为一种可能的实现方式,数据供给端可以在根据数据特征标识获取多条数据之后,针对该多条数据中的任一条数据,根据该数据的关键值,获取该数据的杂凑值。可选的,该数据的关键值例如可以为该条数据中包括的数字,和/或,字母,本申请对该数据的关键值并不进行限定。应理解,本申请对数据供给端根据该数据的关键值,获取该数据的杂凑值的具体实现方式并不进行限定。可选的,获取该数据的杂凑值的方式例如可以参照任意一种获取数据杂凑值的方法,在此不再赘述。

数据供给端在获取多条数据中各条数据的杂凑值之后,可以向数据查询端发送该各条数据的杂凑值。相应的,数据查询端在从各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文之前,可以接收来自数据供给端的各条数据的杂凑值。

然后,数据查询端可以根据该各条数据的杂凑值,从各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文。

可选的,数据查询端可以将上述各条数据的杂凑值中,与该待查询数据的杂凑值相同的杂凑值对应的数据的一次加密后的密文,作为待查询数据的一次加密后的密文。其中,上述待查询数据的杂凑值例如可以为预先存储在该数据查询端中的。或者,数据查询端例如还可以将该待查询数据输入至预设的杂凑值生成方法,得到待查询数据的杂凑值。其中,该预设的杂凑值生成方法,可以与数据供给端执行的“用于生成各条数据的杂凑值”的方法相同。

在本实施例中,数据查询端可以根据来自数据供给端的各条数据的杂凑值,从该各条数据的一次加密后的密文中,识别出待查询数据的一次加密后的密文。通过上述方法,使得数据查询端可以获取到待查询数据的一次加密后的密文,为数据查询端后续基于该待查询数据的一次加密后的密文,实现匿踪查询获取该待查询数据奠定了基础。

下面以上述数据供给端通过SM2加密算法执行前述一次加密算法为例,对本申请提供的数据查询方法进行示例性说明:

步骤1、数据供给端根据数据查询端的数据查询请求,向数据查询端发送多条数据的一次加密后的密文。

可选的,数据供给端可以通过SM2加密运算,对上述多条数据中的各条数据进行一次加密时,固定随机数,分别加密记录m1,m2…mn(数据本身),形成一系列密文(C1 || C31|| C21),(C1 || C32 || C22),…,(C1 || C3n || C2n),即多条数据的一次加密后的密文。非必须的,此时可以对明文消息m1,m2…mn填充后加密,使用的填充算法包括且不限于OAEP等填充算法,以实现后续解密时能够有效区分明文的合法性。

步骤2、数据供给端计算分组内每个记录m1,m2…mn关键字对应的杂凑值H1,H2…Hn,并将(C21,H1),(C22,H2)…(C2n,Hn)发送给数据查询端。其中,C2n表示该数据的一次加密后的密文。Hn表示该数据的杂凑值。

步骤3、数据查询端根据待查询数据的关键字杂凑值HK,选择意向密文CK(也就是待查询数据的一次加密后的密文)。然后,选择随机数R,使用该随机数R对待查询数据的一次加密后的密文进行二次加密(也可以称为加扰处理),得到待查询数据的一次加密且二次加密后的密文(例如

步骤4、数据供给端用私钥对该一次加密且二次加密后的密文

步骤5、数据查询端对上述受二次加密保护的二次加密后的密文

下面以上述数据供给端通过RSA加密算法执行前述一次加密算法为例,假定A的私钥为dA公钥为(eA,nA),B的私钥为dB公钥为(eB,nB),对本申请提供的数据查询方法进行示例性说明:

步骤1、数据供给端根据数据查询端的数据查询请求,向数据查询端发送多条数据的一次加密后的密文。

可选的,数据供给端可以通过RSA加密运算,分别加密多条数据m1,m2…mn,形成一系列密文C1、C22…Cn,即多条数据的一次加密后的密文。非必须的,此时可以对明文消息m1,m2…mn填充后加密,使用的填充算法包括且不限于OAEP等填充算法,以实现后续解密时能够有效区分明文的合法性。

步骤2、数据供给端计算分组内每个记录m1,m2…mn关键字对应的杂凑值H1,H2…Hn,并将(C21,H1),(C22,H2)…(C2n,Hn)发送给数据查询端。其中,C2n表示该数据的一次加密后的密文。Hn表示该数据的杂凑值。

步骤3、数据查询端根据待查询数据的关键字杂凑值HK,选择意向密文CK(也就是待查询数据的一次加密后的密文)。然后,数据查询端可以用自己的公钥(eB,nB)对待查询数据的一次加密后的密文进行二次加密(也可以称为加扰处理)

步骤4、数据供给端用私钥对该一次加密且二次加密后的密文

步骤5、数据查询端对上述受二次加密保护的二次加密后的密文

在本实施例中,通过上述方法,保护数据供给端的数据库安全的同时由二次加密保证被查询的数据不会向数据供给端泄露,数据查询端一次查询只能在数据供给端的许可下获取一条数据。实现数据查询端的检索信息保护的同时,能够安全保护数据查询端的权限不越界,保护数据供给端的数据安全。可以支撑各项业务中的隐私信息检索需求。通过上述方法,不需paillier同态加密方法,以减少匿踪查询的计算量,从而提高查询效率,满足业务的高并发需求。

图3为本申请提供的一种数据查询装置20的结构示意图。该数据查询装置20应用于数据查询端。如图3所示,该装置20包括:发送模块21、接收模块22、识别模块23、第一处理模块24,以及,第二处理模块25。其中,

发送模块21,用于向所述数据供给端发送数据查询请求。其中,所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同。

接收模块22,用于接收来自所述数据供给端的多条数据中各条数据的一次加密后的密文。其中,所述各条数据的一次加密后的密文为所述数据供给端根据所述数据特征标识获取的。

识别模块23,用于从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文。

第一处理模块24,用于对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文,并发送至所述数据供给端,以使所述数据供给端对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文。

第二处理模块25,用于接收来自所述数据供给端的所述二次加密后的密文,并对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

可选的,所述多条数据属于同一组数据,所述数据特征标识用于表征所述数据所在的组,不同组数据之间的数据特征标识不同。

可选的,处理模块24,还用于在向所述数据供给端发送数据查询请求之前,根据所述待查询数据,以及,所述待查询数据所在的组,确定所述待查询数据的数据特征标识。

可选的,接收模块22,还用于在所述从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文之前,接收来自所述数据供给端的所述各条数据的杂凑值。其中,针对任一条所述数据,该数据的杂凑值为所述数据供给端根据该数据的关键值得到的。可选的,识别模块23,具体用于根据所述各条数据的杂凑值,从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文。

本申请提供的数据查询装置20,用于执行前述数据查询端执行的数据查询方法实施例,其实现原理与技术效果类似,对此不再赘述。

图4为本申请提供的一种数据查询装置30的结构示意图。该数据查询装置30应用于数据供给端。如图4所示,该装置30包括:接收模块31、第一处理模块32、第一发送模块33、第二处理模块34、第二发送模块35。其中,

接收模块31,用于接收来自数据查询端的数据查询请求。其中,所述数据查询请求包括待查询数据的数据特征标识;所述数据供给端中存在至少一条除所述待查询数据之外的数据的数据特征标识与所述待查询数据的数据特征标识相同。

第一处理模块32,用于根据所述数据特征标识,获取多条数据中各条数据的一次加密后的密文。

第一发送模块33,用于向所述数据查询端发送所述各条数据的一次加密后的密文,以使所述数据查询端从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文,并对所述待查询数据的一次加密后的密文进行二次加密,得到所述待查询数据的一次加密且二次加密后的密文。

第二处理模块34,用于接收来自所述数据查询端的所述一次加密且二次加密后的密文,并对所述一次加密且二次加密后的密文进行所述一次加密对应的解密操作,得到二次加密后的密文。

第二发送模块35,用于向所述数据查询端发送所述二次加密后的密文,以使所述数据查询端对所述二次加密后的密文进行所述二次加密对应的解密操作,得到所述待查询数据。

可选的,所述多条数据属于同一组数据,所述数据特征标识用于表征所述数据所在的组,不同组数据之间的数据特征标识不同。

可选的,第一处理模块32,具体用于根据所述数据特征标识,确定所述待查询数据所在的组;对所述待查询数据所在的组中的每条数据进行一次加密,得到各条数据的一次加密后的密文。

可选的,第一处理模块32,还用于在根据所述数据特征标识获取多条数据之后,针对所述多条数据中的任一条数据,根据该数据的关键值,获取该数据的杂凑值。可选的,第一发送模块33,还用于向所述数据查询端发送所述各条数据的杂凑值,以使所述数据查询端根据所述各条数据的杂凑值,从所述各条数据的一次加密后的密文中,识别出所述待查询数据的一次加密后的密文。

本申请提供的数据查询装置,用于执行前述数据供给端执行的数据查询方法实施例,其实现原理与技术效果类似,对此不再赘述。

本申请还提供一种数据查询系统。该数据查询系统包括:数据查询端,以及,数据供给端。其中,该数据查询端,用于执行前述任一实施例所述的数据查询端所执行的方法。该数据供给端,用于前述任一实施例所述的数据供给端所执行的方法。本申请提供的数据查询系统,其实现原理与技术效果与前述实施例类似,对此不再赘述。

图5为本申请提供的一种电子设备结构示意图。该电子设备例如可以为前述数据查询端,或者,数据供给端。如图5所示,该电子设备400可以包括:至少一个处理器401和存储器402。

存储器402,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。

存储器402可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器401用于执行存储器402存储的计算机执行指令,以实现前述方法实施例所描述的数据查询方法。其中,处理器401可能是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。

可选的,该电子设备400还可以包括通信接口403。在具体实现上,如果通信接口403、存储器402和处理器401独立实现,则通信接口403、存储器402和处理器401可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果通信接口403、存储器402和处理器401集成在一块芯片上实现,则通信接口403、存储器402和处理器401可以通过内部接口完成通信。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。

本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的数据查询方法。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种数据查询方法、装置、电子设备及存储介质
  • 一种数据查询方法、装置、电子设备及存储介质
  • 一种元数据查询方法、装置、设备及计算机可读存储介质
  • 数据查询方法、装置、存储介质和电子设备
  • 自然语言的数据查询方法、装置、计算机设备及存储介质
  • 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
  • 数据查询方法及装置、数据库系统、电子设备及存储介质
技术分类

06120116025581