CN116680324A - 数据匿踪查询方法及装置、存储介质、电子设备 - Google Patents
数据匿踪查询方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN116680324A CN116680324A CN202310658968.2A CN202310658968A CN116680324A CN 116680324 A CN116680324 A CN 116680324A CN 202310658968 A CN202310658968 A CN 202310658968A CN 116680324 A CN116680324 A CN 116680324A
- Authority
- CN
- China
- Prior art keywords
- data
- queried
- character string
- data query
- user identifier
- 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 103
- 230000006870 function Effects 0.000 claims description 90
- 238000013467 fragmentation Methods 0.000 claims description 10
- 238000006062 fragmentation reaction Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本公开是关于一种数据匿踪查询方法及装置、计算机可读存储介质、电子设备,涉及密码学技术领域,该方法包括:对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。本公开实现了数据查询方的匿踪查询。
Description
技术领域
本公开实施例涉及密码学技术领域,具体而言,涉及一种数据匿踪查询方法、数据匿踪查询装置、计算机可读存储介质以及电子设备。
背景技术
现有的数据查询方案中,数据服务方无法对数据查询方发送的密文进行解密,进而无法得知数据查询方是否通过待查询用户标识成功的从数据服务方查询到了相应的用户数据,进而无法对数据查询方的命中率进行统计,降低了命中率的统计结果的准确性。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据匿踪查询方法、数据匿踪查询装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致命中率的统计结果的准确性较低的问题。
根据本公开的一个方面,提供一种数据匿踪查询方法,配置于数据服务方,所述数据匿踪查询方法包括:
对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
在本公开的一种示例性实施例中,对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式,包括:
响应于所述数据查询方发送的数据查询请求,对所述数据查询请求进行解析,得到第一加密函数以及第一加密多项式;
获取与所述数据查询方对应的同态加密密钥对,并基于所述同态加密密钥对中的同态加密私钥,对所述第一加密函数以及第一加密多项式进行解密,得到第一目标函数以及第一目标随机多项式。
在本公开的一种示例性实施例中,根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识,包括:
将所述待查询用户标识代入所述第一目标函数后,计算所述第一目标函数的函数值;
根据所述函数值判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识。
在本公开的一种示例性实施例中,如果所述函数值为零,则所述预设的用户标识集合中存在与待查询请求中的待查询用户标识对应的目标用户标识;
若所述函数值为任一随机常数,则所述预设的用户标识集合中不存在与待查询请求中的待查询用户标识对应的目标用户标识。
在本公开的一种示例性实施例中,根据所述第一目标随机多项式构建目标密钥字符串,包括:
获取与所述目标用户标识对应的第一原始随机多项式,并计算所述第一目标随机多项式与第一原始随机多项式之间的第一比值;
对所述第一比值进行哈希处理,得到第一哈希字符串,并对所述第一哈希字符串进行碎片化处理,得到第一密钥字符串以及第二密钥字符串;
根据所述第一密钥字符串以及第二密钥字符串,构建所述目标密钥字符串。
在本公开的一种示例性实施例中,基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,包括:
基于所述目标密钥字符串中的第一密钥字符串对所述待查询用户标识进行加密;
基于所述目标密钥字符串中的第二密钥字符串对所述特征数据进行加密,并基于加密后的待查询用户标识以及加密后的特征数据得到数据查询结果。
在本公开的一种示例性实施例中,所述数据匿踪查询方法还包括:
获取与所述数据查询方对应的目标用户标识,并计算所述目标用户标识的第一标识数量;
根据所述第一标识数量确定所述数据查询方的命中数量,并根据所述命中数量计算所述数据查询方所需要支付的数据查询费用。
在本公开的一种示例性实施例中,所述数据匿踪查询方法还包括:
获取所述数据服务方自身所持有的原始用户标识,并根据所述原始用户标识构建所述预设的用户标识集合;
根据用户标识集合中包括的原始用户标识,构建第一原始用户标识多项式,并计算第一原始用户标识多项式的第一标识多项式系数;
构建第一原始随机多项式,并计算第一原始随机多项式的第一随机多项式系数;
基于同态加密密钥对中的同态加密公钥对所述第一标识多项式系数以及第一随机多项式系数进行加密,并将加密后的第一标识多项式系数以及加密后的第一随机多项式系数发送至数据查询方,以使得数据查询方根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求。
根据本公开的一个方面,提供一种数据匿踪查询方法,配置于数据查询方,所述数据匿踪查询方法包括:
接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;
根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;
将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;
基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
在本公开的一种示例性实施例中,根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求,包括:
生成第二随机数,并根据第二随机数以及加密后的第一标识多项式系数计算第一目标函数,根据第二随机数以及加密后的第一随机多项式系数计算第一目标随机多项式;
基于同态加密密钥对中的同态加密公钥对第一目标函数以及第一目标随机多项式进行加密,得到第一加密函数以及第一加密多项式;
根据第一加密函数以及第一加密多项式、待查询用户标识生成数据查询请求。
在本公开的一种示例性实施例中,基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:
基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,并基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
在本公开的一种示例性实施例中,基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,包括:
对所述第二随机数进行哈希处理,得到第二哈希字符串,并对第二哈希字符串进行碎片化处理,得到第三密钥字符串以及第四密钥字符串;
根据第三密钥字符串以及第四密钥字符串得到所述标准密钥字符串。
在本公开的一种示例性实施例中,基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:
基于所述标准密钥字符串中的第三密钥字符串对所述数据查询结果中的加密后的待查询用户标识进行解密;
在确定所述加密后的待查询用户标识解密成功后,基于所述标准密钥字符串中的第四密钥字符串对所述数据查询结果中的加密后的特征数据进行解密,得到与待查询用户标识对应的特征数据。
根据本公开的一个方面,提供一种数据匿踪查询装置,配置于数据服务方,所述数据匿踪查询装置包括:
数据查询请求解析模块,用于对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
待查询用户标识判断模块,用于根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
特征数据获取模块,用于在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
数据查询结果反馈模块,用于基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
根据本公开的一个方面,提供一种数据匿踪查询装置,配置于数据查询方,所述数据匿踪查询装置包括:
第一接收模块,用于接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;
数据查询请求生成模块,用于根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;
数据查询结果接收模块,用于将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;
数据查询结果解密模块,用于基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的数据匿踪查询方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据匿踪查询方法。
本公开实施例提供的一种数据匿踪查询方法,一方面,通过对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;进而根据第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;然后在确定存在目标用户标识时,获取与目标用户标识对应的特征数据,并根据第一目标随机多项式构建目标密钥字符串;最后基于目标密钥字符串对待查询用户标识以及特征数据进行加密,得到数据查询结果,并将数据查询结果发送至数据查询方,由于数据服务方可以在确定待查询用户标识存在于用户标识集合中时,即认为数据查询方命中了此次数据查询,进而解决了现有技术中由于数据服务方无法得知数据查询方是否通过待查询用户标识成功的从数据服务方查询到了相应的用户数据,进而无法对数据查询方的命中率进行统计,降低了命中率的统计结果的准确性的问题;另一方面,由于是通过第一目标函数来判断待查询用户标识是否存在于用户标识集合中的,进而可以在不暴露待查询用户标识的基础上实现特征数据的查询;也即,可以通过匿踪查询的方式从数据服务方查询到相应的特征数据,进而可以在确保待查询用户标识的安全性的基础上实现数据查询。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本公开示例实施例的一种配置于数据服务方的数据匿踪查询方法的流程图。
图2示意性示出根据本公开示例实施例的一种数据查询***的示例图。
图3示意性示出根据本公开示例实施例的一种数据查询请求的生成过程的方法流程图。
图4示意性示出根据本公开示例实施例的一种配置于数据查询方的数据匿踪查询方法的流程图。
图5示意性示出本公开示例实施例的一种基于双侧交互的数据匿踪查询方法的交互示例图。
图6示意性示出根据本公开示例实施例的一种配置于数据服务方的数据匿踪查询装置的框图。
图7示意性示出根据本公开示例实施例的一种配置于数据查询方的数据匿踪查询装置的框图。
图8示意性示出根据本公开示例实施例的一种用于实现上述数据匿踪查询方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
当前,实际应用中的匿踪查询方式主要使用Labeled PSI(Private SetIntersection,隐私集合求交标签查询),其利用同态加密和DH-OPRF(Diffie Hellman-Oblivious Pseudorandom Function,迪菲赫尔曼-不经意伪随机函数)方式,将大部分计算在离线阶段完成,在线阶段仅通过少量通信即可完成查询。这种方案的设计由于查询方式使用了同态加密对原始数据加密,导致服务方无法获得用户标识是否命中的信息,因此无法进行计量和计费,将会导致业务应用中落地的困难。
在一种示例实施例中,在实际应用的过程中,基于Labeled PSI实现数据查询,可以分为三个阶段:分桶、数据预处理、查询。具体的,首先,为了平衡计算效率和隐匿性,便于实际应用,在查询前对数据进行分桶,设置了万级和百万级两个不可区分度;其次,分桶后对数据进行预处理,将大量计算放在预处理阶段,以提升查询效率,缩短查询时间;进一步的,查询的整体流程如下:
首先,假设M(c)设为被查询方(数据服务方)的ID数据集,也即被查询方的ID特征对,为随机的明文元素;其次,两方协商一个同态加密方案,由查询方生成公私钥对,查询方保留私钥;然后,数据服务方预先对自己的数据进行分桶和预处理;进一步的,查询方对ID进行同态加密,将密文发送给服务方;更进一步的,服务方在密文对应的桶中,密态计算求交多项式以及特征中多项式;其中,求交多项式具体可以参考如下公式(1)所示:
其中,M(c)为求交多项式,ri为随机数,c为待查询用户标识,xi为原始用户标识,X为用户标识集合;同时,特征多项式具体可以如下公式(2)所示:
其中,L(c)为数据查询结果,li为特征数据,RandomElemet为随机数;进一步的,对数据查询结果进行加密并将密文发送给数据查询方;最后,数据查询方先对求交多项式M(c)结果进行解密,若M(c)=0,那么再对特征多项式进行解密,得到查询结果li(也即特征数据)。
基于上述记载的方案可以得知,在基于Labeled PSI实现数据查询的方案中,由于私钥是由数据查询方生成的;因此,在数据查询的过程中,数据服务方无法对数据查询方发送的包括数据查询请求的密文进行解密,进而无法得知数据查询请求中包括的待查询标识是否存在于上述所记载的哈希桶中,从而导致无法得知在对该数据查询请求中包括的待查询标识进行查询时,是否命中了查询结果。
基于上述记载的内容可以得知,为了使得数据查询方可以得知待查询标识是否被命中,可以考虑将同态加密的私钥在数据服务方生成,进而使得数据服务方可以基于私钥进行数据解密从而得到待查询数据标识是否命中的信息。基于此,本示例实施方式中首先提供了一种数据匿踪查询方法,该方法可以运行于数据服务方所在的服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。具体的,参考图1所示,该数据匿踪查询方法可以包括以下步骤:
步骤S110.对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
步骤S120.根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
步骤S130.在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
步骤S140.基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
上述数据匿踪查询方法中,一方面,通过对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;进而根据第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;然后在确定存在目标用户标识时,获取与目标用户标识对应的特征数据,并根据第一目标随机多项式构建目标密钥字符串;最后基于目标密钥字符串对待查询用户标识以及特征数据进行加密,得到数据查询结果,并将数据查询结果发送至数据查询方,数据服务方在确定待查询用户标识存在于用户标识集合中时,即可认为数据查询方命中了此次数据查询,进而解决了现有技术中由于数据服务方无法得知数据查询方是否通过待查询用户标识成功的从数据服务方查询到了相应的用户数据进而无法对数据查询方的命中率进行统计,降低了命中率的统计结果的准确性的问题;另一方面,由于是通过第一目标函数来判断待查询用户标识是否存在于用户标识集合中的,进而可以在不暴露待查询用户标识的基础上实现特征数据的查询;也即,可以通过匿踪查询的方式从数据服务方查询到相应的特征数据,进而可以在确保待查询用户标识的安全性的基础上实现数据查询。
以下,将结合附图对本公开示例实施例所记载的数据匿踪查询方法进行进一步的解释以及说明。
首先,对本公开示例实施例的应用场景进行解释以及说明。其中,本公开示例实施例所记载的数据匿踪查询方法,可以用于匿踪查询场景下。具体的,匿踪查询是指查询方在***露查询标识的情况下,从数据服务方(即数据提供方)获得该标识对应的字段信息(也即特征数据)。在实际业务的应用中,服务方往往需要知道每次查询是否命中,并且根据命中次数进行计费。同时,本公开示例实施例所记载的数据匿踪查询方法,由于数据服务方仅可以得知数据查询方的待查询标识是否命中查询,而无法得知具体是哪一个待查询标识被命中;因此,使得数据查询方可以在匿踪的基础上达到数据查询的目的,从而达到提高待查询标识的安全性的目的。
其次,对本公开示例实施例所涉及到的数据查询***进行解释以及说明。具体的,参考图2所示,该数据查询***可以包括数据查询方210以及数据服务方220;其中,数据查询方可以通过有线网络或者无线网络的方式与数据服务方通信连接;在实际应用的过程中,数据查询方可以用于向数据服务方发送数据查询请求,数据服务方可以用于实现本公开示例实施例所记载的配置数据查询方的数据匿踪查询方法。
在一种可能的示例实施例中,上述所记载的数据查询方,可以是用户所在的终端设备侧,该终端设备可以包括可移动终端(例如智能手机、平板电脑或者个人电脑等等)或者固定终端(例如台式电脑等等)等等。在实际应用的过程中,当用户需要进行数据查询时,可以通过终端设备向数据服务方发送数据查询请求;同时,数据服务方可以包括服务器、服务器集群以及云服务器等等,本示例对此不做特殊限制。
以下,将结合图3对本公开示例实施例所涉及到的数据查询请求的具体生成过程进行解释以及说明。具体的,参考图3所示,数据查询请求的具体生成过程可以包括以下步骤:
步骤S310,获取所述数据服务方自身所持有的原始用户标识,并根据所述原始用户标识构建所述预设的用户标识集合;
步骤S320,根据用户标识集合中包括的原始用户标识,构建第一原始用户标识多项式,并计算第一原始用户标识多项式的第一标识多项式系数;
步骤S330,构建第一原始随机多项式,并计算第一原始随机多项式的第一随机多项式系数;
步骤S340,基于同态加密密钥对中的同态加密公钥对所述第一标识多项式系数以及第一随机多项式系数进行加密,并将加密后的第一标识多项式系数以及加密后的第一随机多项式系数发送至数据查询方,以使得数据查询方根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求。
以下,将对步骤S310-步骤S340进行解释以及说明。
具体的,首先,数据服务方需要基于同态加密的方式生成同态加密密钥对;其中,该同态加密密钥对中可以包括同态加密公钥pk以及同态加密私钥sk;同时,还需要将同态加密公钥pk发送至数据查询方;此处需要补充说明的是,在实际应用的过程中,不同的数据匿踪查询方法可以对应不同的同态加密密钥对,也可以对应相同的同态加密密钥对,本示例对此不做特殊限制。此处需要补充说明的是,之所以需要限定同态加密密钥对是在数据服务方生成的,是为了避免数据服务方无法对密文进行解密进而无法明确得知数据是否命中的问题。
其次,数据服务方获取其自身所持有的所有的原始用户标识;其中,此处所记载的原始用户标识可以包括但不限于用户身份证号码、电话号码、银行***码等等,本示例对此不做特殊限制;然后,利用其自身所持有的原始用户标识构建预设的用户标识集合X;其中,X=(x1,x2,...,xn);进一步的,根据用户标识集合X生成第一原始用户标识多项式;其中,该第一原始用户标识多项式可以参考如公式(3)所示:
其中,M(x)为第一原始用户标识多项式,xi为原始用户标识,x可以用来代替各数据查询方发送的待查询用户标识;基于此可以得知,如果待查询用户标识存在于用户标识集合中,则可以推断出M(x)=0;相反的,如果将待查询用户标识代入第一原始用户标识多项式,得到M(x)=0则可以得知待查询用户标识存在于用户标识集合中;进一步的,为了可以提高原始数据标识的安全性,还需要计算第一标识多项式系数zi,i=0,...,n,并通过同态加密公钥对该第一标识多项式系数进行加密,得到加密后的第一标识多项式系数并发送给数据查询方;另外,生成一个第一原始随机多项式R(x),并计算该第一原始随机多项式R(x)的第一随机多项式系数{ri},再通过同态加密公钥对该第一随机多项式系数ri进行加密以后得到加密后的第一随机多项式系数{Enc(ri)}i=0,...,n,并将加密后的第一随机多项式系数发送给数据查询方。
最后,当数据查询方接收到加密后的第一标识多项式系数以及加密后的第一随机多项式系数以后,生成第二随机数r,并根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求,进而再将该数据查询请求发送至数据服务方。
以下,将结合图2以及图3对图1中所示出的数据匿踪查询方法进行进一步的解释以及说明。具体的:
在步骤S110中,对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式。
在本示例实施例中,对数据查询方发送的数据查询请求进行解析得到第一目标函数以及第一目标随机多项式,可以通过如下方式实现:
首先,响应于所述数据查询方发送的数据查询请求,对所述数据查询请求进行解析,得到第一加密函数以及第一加密多项式;
其次,获取与所述数据查询方对应的同态加密密钥对,并基于所述同态加密密钥对中的同态加密私钥,对所述第一加密函数以及第一加密多项式进行解密,得到第一目标函数以及第一目标随机多项式。其中,解密所得到的第一目标函数为f(x),解密得到的第一目标随机多项式为R(x)·r,r为数据查询方所生成的第二随机数。
在步骤S120中,根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识。
具体的,根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识,可以通过如下方式来实现:
首先,将所述待查询用户标识代入所述第一目标函数后,计算所述第一目标函数的函数值;
其次,根据所述函数值判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;其中,如果所述函数值为零,则所述预设的用户标识集合中存在与待查询请求中的待查询用户标识对应的目标用户标识;若所述函数值为任一随机常数,则所述预设的用户标识集合中不存在与待查询请求中的待查询用户标识对应的目标用户标识。也即,当f(x)=0时,可以确定预设的用户标识集合中存在与待查询请求中的待查询用户标识对应的目标用户标识(也即x∈X);当f(x)为任一随机数时,可以确定预设的用户标识集合中不存在与待查询请求中的待查询用户标识对应的目标用户标识(也即)。也即,在实际应用中,这里所记载的用户标识,可以是用户的身份证号码或者手机号码等等;不管是服务方的原始用户标识,还是查询方的待查询标识,均是通过同态加密后所产生的一串数据;同时,由于是通过相同的加密方法,因此相同的用户标识所得到的密文数据也是相同的;因此,如果数据串代入所得到的函数值为零,即可认为命中了。
在步骤S130中,在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串。
在本示例实施例中,首先,在确定预设的用户标识集合中存在与待查询用户标识x对应的目标用户标识xi时,可以从数据服务方所在的数据库中获取与该目标用户标识对应的特征数据;其中,此处所记载的特征数据,也可以被认为是与该目标用户对应的标签信息;其中,该特征数据可以包括与该目标用户标识对应的目标用户的用户属性信息、用户消费信息、用户健康信息以及用户财产信息等等;其中,用户属性信息例如可以包括用户年龄、籍贯、学历程度、用户喜好、住址以及联系方式等信息;用户消费信息可以包括用户的购买习惯、用户的购买能力等等;用户健康信息可以包括用户的健康体检报告、用户病例信息等等,用户财产信息可以包括用户的存款以及该用户所具有的不动产或者股票基金等等,本示例对此不做特殊限制。
此处需要补充说明的是,本公开示例实施例中所记载的待查询用户标识,可以用于表征数据查询方需要进行数据查询的用户标识;也即,数据查询方需要根据待查询用户标识,从数据服务方中查询与待查询用户标识对应的特征数据;本公开示例实施例中所记载的原始用户标识,可以用于表征数据服务方所持有的用户标识;也即,数据服务方中可以包括多个原始用户标识,每一个原始用户标识可以对应有相应的特征数据;本公开示例实施例中所记载的目标用户标识,可以用于表征数据服务方中所持有的与待查询标识对应的用户标识;也可,需要通过数据服务方中是否存在一个目标用户标识,来判断数据查询方的待查询标识是否命中了此次查询。举例来说,假设数据查询方为某个信贷机构,数据服务方为银行;当该信贷机构需要对某个用户的风险进行测评时,即可从银行中请求相应的特征数据进而进行风险评估。
其次,根据第一目标随机多项式构建目标密钥字符串;具体的,可以通过如下方式实现:首先,获取与所述目标用户标识对应的第一原始随机多项式,并计算所述第一目标随机多项式与第一原始随机多项式之间的第一比值;其次,对所述第一比值进行哈希处理,得到第一哈希字符串,并对所述第一哈希字符串进行碎片化处理,得到第一密钥字符串以及第二密钥字符串;然后,根据所述第一密钥字符串以及第二密钥字符串,构建所述目标密钥字符串。
也即,首先,数据服务方根据R(x)·r构造(k1,k2,...,kn),也即构造各原始用户标识的原始密钥字符串;然后,令其次,在实际应用的过程中,计算与目标用户标识对应的目标密钥字符串,可以获取第一目标随机多项式R(x)以及第一原始随机多项式R(xi),进而计算得到第一比值也即第二随机数r;进一步的,对第二随机数r进行哈希处理得到第一哈希字符串,并对第一哈希字符串进行碎片化处理得到第一密钥字符串id_keyi以及第二密钥字符串label_keyi;然后,对第一密钥字符串以及第二密钥字符串进行拼接即可得到目标密钥字符串ki;其中,ki=id_keyilabel_keyi。
在步骤S140中,基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
具体的,首先,基于目标密钥字符串对待查询用户标识以及特征数据进行加密得到数据查询结果;具体的,可以通过如下方式实现:首先,基于所述第一密钥字符串对所述待查询用户标识进行加密;其次,基于所述第二密钥字符串对所述特征数据进行加密,并基于加密后的待查询用户标识以及加密后的特征数据得到数据查询结果。具体的,所得到的数据查询结果可以是{(id_keyi,E(labeli))},然后,再将该数据查询结果发送至数据查询方,以便于数据查询方在进行解密后即可得到相应的特征数据。
进一步的,本公开示例实施例所记载的数据匿踪查询方法,还可以包括以下步骤:首先,获取与所述数据查询方对应的目标用户标识,并计算所述目标用户标识的第一标识数量;其次,根据所述第一标识数量确定所述数据查询方的命中数量,并根据所述命中数量计算所述数据查询方所需要支付的数据查询费用。也即,本公开示例实施例所记载的数据匿踪查询方法,实现了根据目标用户标识的命中次数来进行费用计算。
至此,数据服务方的数据匿踪查询方法已经全部实现。以下,结合图4对本公开示例实施例所记载的配置于数据查询方的数据匿踪查询方法进行解释以及说明。具体的,参考图4所示,该数据匿踪查询方法可以包括以下步骤:
步骤S410,接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数。
具体的,根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求,可以通过如下方式实现:首先,生成第二随机数,并根据第二随机数以及加密后的第一标识多项式系数计算第一目标函数,根据第二随机数以及加密后的第一随机多项式系数计算第一目标随机多项式;其次,基于同态加密密钥对中的同态加密公钥对第一目标函数以及第一目标随机多项式进行加密,得到第一加密函数以及第一加密多项式;最后,根据第一加密函数以及第一加密多项式、待查询用户标识生成数据查询请求。
步骤S420,根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求。
步骤S40,将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈数据查询结果。
步骤S440,基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
具体的,基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,可以通过如下方式实现:基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,并基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
在一种示例实施例中,基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,可以通过如下方式实现:对所述第二随机数进行哈希处理,得到第二哈希字符串,并对第二哈希字符串进行碎片化处理,得到第三密钥字符串以及第四密钥字符串;根据第三密钥字符串以及第四密钥字符串得到所述标准密钥字符串。
在一种示例实施例中,基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,可以通过如下方式实现:首先,基于所述第三密钥字符串对所述数据查询结果中的加密后的待查询用户标识进行解密;其次,在确定所述加密后的待查询用户标识解密成功后,基于所述第四密钥字符串对所述数据查询结果中的加密后的特征数据进行解密,得到与待查询用户标识对应的特征数据。
以下,将对步骤S410-步骤S440进行解释以及说明。具体的,在实际应用的过程中,当数据查询方接收到加密后的第一标识多项式系数以及加密后的第一随机多项式系数,即可根据待查询用户标识生成相应的数据查询请求,并将该数据查询请求发送至数据服务方;同时,在接收到数据服务方反馈的数据查询结果后,即可对数据查询结果进行解密进而得到与待查询用户标识对应的特征数据。
具体的,在对数据查询结果进行解密的过程中,首先,数据查询方计算待查询用户标识的x的标准密钥字符串kx;其中,标准密钥字符串kx的具体计算过程为:kx=H(pkr)=id_key||label_key;其次,在得到标准密钥字符串以后,即可与数据查询结果中的id_keyi,i=0,...,n进行逐一比较,当id_key=id_keyi,则可以认为查找到了匹配的ID(目标用户标识),进而可以根据label_key进行解密,得到与待查询用户标识对应的特征数据。
此处需要进一步补充说明的是,在实际应用的过程中,由于各原始用户标识的原始密钥字符串ki的具体计算过程为:首先,其次,在实际应用的过程中,计算与目标用户标识对应的目标密钥字符串,可以获取第一目标随机多项式R(x)以及第一原始随机多项式R(xi),进而计算得到第一比值也即第二随机数r;进一步的,对第二随机数r进行哈希处理得到第一哈希字符串,并对第一哈希字符串进行碎片化处理得到第一密钥字符串id_keyi以及第二密钥字符串label_keyi;然后,对第一密钥字符串以及第二密钥字符串进行拼接即可得到目标密钥字符串ki;而标准密钥字符串的具体计算过程为:kx=H(pkr)=id_key||label_key;也即,实际上,如果数据命中了,那么该待查询用户标识的标准密钥字符串以及目标密钥字符串均是通过第二随机数r来生成的;也即,对第二随机数进行哈希处理进而得到一个字符串,再通过相同的切分方法将其划分为第一密钥字符串和第二密钥字符串、第三密钥字符串和第四密钥字符串;从而,即可实现待查询用户标识以及所查询到的特征数据在数据服务方的加密过程;以及,待查询用户标识以及所查询到的特征数据在数据查询方的解密过程,从而达到数据查询的目的。
至此,本公开示例实施例所记载的用户数据的查询方法已经全部实现。以下,将结合图5对本公开示例实施例所记载的数据匿踪查询方法进行进一步的解释以及说明。具体的,参考图5所示,该数据匿踪查询方法可以包括以下步骤:
步骤S510,数据服务方生成同态加密密钥对,并将同态加密密钥对中的同态加密公钥发送至数据查询方;
步骤S520,数据服务方获取其自身所持有的原始用户标识,并根据原始用户标识构建预设的用户标识集合;
步骤S530,数据服务方根据用户标识集合中包括的原始用户标识,构建第一原始用户标识多项式,并计算第一原始用户标识多项式的第一标识多项式系数;
步骤S540,数据服务方构建第一原始随机多项式,并计算第一原始随机多项式的第一随机多项式系数;
步骤S550,数据服务方基于同态加密密钥对中的同态加密公钥对第一标识多项式系数以及第一随机多项式系数进行加密,并将加密后的第一标识多项式系数以及加密后的第一随机多项式系数发送至数据查询方;
步骤S560,数据查询方根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求,并将数据查询请求发送至数据服务方;
步骤S570,数据服务方响应数据查询请求,并在确定待查询用户标识存在于数据服务方持有的用户标识集合中时,生成数据查询结果;
步骤S580,数据服务方将数据查询结果发送至数据查询方;
步骤S590,数据查询方基于第二随机数对数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
至此,本公开示例实施例所记载的数据匿踪查询方法已经全部实现。基于前述记载的内容可以得知,本公开示例实施例所记载的数据匿踪查询方法,使得服务方可以通过解密可以得到待查询用户标识是否命中但是不知道具体的待查询用户标识的具体表示信息,达到了匿踪的目的;同时,数据查询方也得到了特征数,实现数据查询的目的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。具体的:
本公开示例实施例还提供了一种数据匿踪查询装置,该数据匿踪查询装置可以配置于数据服务方。具体的,参考图6所示,该数据匿踪查询装置可以包括数据查询请求解析模块610、待查询用户标识判断模块620、特征数据获取模块630以及数据查询结果反馈模块640。其中:
数据查询请求解析模块610,可以用于对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
待查询用户标识判断模块620,可以用于根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
特征数据获取模块630,可以用于在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
数据查询结果反馈模块640,可以用于基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
上述数据匿踪查询装置中,一方面,通过对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;进而根据第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;然后在确定存在目标用户标识时,获取与目标用户标识对应的特征数据,并根据第一目标随机多项式构建目标密钥字符串;最后基于目标密钥字符串对待查询用户标识以及特征数据进行加密,得到数据查询结果,并将数据查询结果发送至数据查询方,数据服务方在确定待查询用户标识存在于用户标识集合中时,即可认为数据查询方命中了此次数据查询,进而解决了现有技术中由于数据服务方无法得知数据查询方是否通过待查询用户标识成功的从数据服务方查询到了相应的用户数据进而无法对数据查询方的命中率进行统计,降低了命中率的统计结果的准确性的问题;另一方面,由于是通过第一目标函数来判断待查询用户标识是否存在于用户标识集合中的,进而可以在不暴露待查询用户标识的基础上实现特征数据的查询;也即,可以通过匿踪查询的方式从数据服务方查询到相应的特征数据,进而可以在确保待查询用户标识的安全性的基础上实现数据查询。
在本公开的一种示例性实施例中,对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式,包括:响应于所述数据查询方发送的数据查询请求,对所述数据查询请求进行解析,得到第一加密函数以及第一加密多项式;获取与所述数据查询方对应的同态加密密钥对,并基于所述同态加密密钥对中的同态加密私钥,对所述第一加密函数以及第一加密多项式进行解密,得到第一目标函数以及第一目标随机多项式。
在本公开的一种示例性实施例中,根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识,包括:将所述待查询用户标识代入所述第一目标函数后,计算所述第一目标函数的函数值;根据所述函数值判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识。
在本公开的一种示例性实施例中,如果所述函数值为零,则所述预设的用户标识集合中存在与待查询请求中的待查询用户标识对应的目标用户标识;若所述函数值为任一随机常数,则所述预设的用户标识集合中不存在与待查询请求中的待查询用户标识对应的目标用户标识。
在本公开的一种示例性实施例中,根据所述第一目标随机多项式构建目标密钥字符串,包括:获取与所述目标用户标识对应的第一原始随机多项式,并计算所述第一目标随机多项式与第一原始随机多项式之间的第一比值;对所述第一比值进行哈希处理,得到第一哈希字符串,并对所述第一哈希字符串进行碎片化处理,得到第一密钥字符串以及第二密钥字符串;根据所述第一密钥字符串以及第二密钥字符串,构建所述目标密钥字符串。
在本公开的一种示例性实施例中,基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,包括:基于所述目标密钥字符串中的第一密钥字符串对所述待查询用户标识进行加密;基于所述目标密钥字符串中的第二密钥字符串对所述特征数据进行加密,并基于加密后的待查询用户标识以及加密后的特征数据得到数据查询结果。
在本公开的一种示例性实施例中,所述数据匿踪查询装置还包括:
第一标识数量计算模块,可以用于获取与所述数据查询方对应的目标用户标识,并计算所述目标用户标识的第一标识数量;
数据查询费用计算模块,可以用于根据所述第一标识数量确定所述数据查询方的命中数量,并根据所述命中数量计算所述数据查询方所需要支付的数据查询费用。
在本公开的一种示例性实施例中,所述数据匿踪查询装置还包括:
用户标识集合构建模块,可以用于获取所述数据服务方自身所持有的原始用户标识,并根据所述原始用户标识构建所述预设的用户标识集合;
第一原始用户标识多项式构建模块,可以用于根据用户标识集合中包括的原始用户标识,构建第一原始用户标识多项式,并计算第一原始用户标识多项式的第一标识多项式系数;
第一原始随机多项式构建模块,可以用于构建第一原始随机多项式,并计算第一原始随机多项式的第一随机多项式系数;
系数加密模块,可以用于基于同态加密密钥对中的同态加密公钥对所述第一标识多项式系数以及第一随机多项式系数进行加密,并将加密后的第一标识多项式系数以及加密后的第一随机多项式系数发送至数据查询方,以使得数据查询方根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求。
本公开示例实施例还提供了另一种数据匿踪查询装置,该数据匿踪查询装置可以配置于数据查询方。具体的,参考图7所示,该数据匿踪查询装置可以包括第一接收模块710、数据查询请求生成模块720、数据查询结果接收模块730以及数据查询结果解密模块740。其中:
第一接收模块710,可以用于接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;
数据查询请求生成模块720,可以用于根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;
数据查询结果接收模块730,可以用于将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;
数据查询结果解密模块740,可以用于基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
在本公开的一种示例性实施例中,根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求,包括:生成第二随机数,并根据第二随机数以及加密后的第一标识多项式系数计算第一目标函数,根据第二随机数以及加密后的第一随机多项式系数计算第一目标随机多项式;基于同态加密密钥对中的同态加密公钥对第一目标函数以及第一目标随机多项式进行加密,得到第一加密函数以及第一加密多项式;根据第一加密函数以及第一加密多项式、待查询用户标识生成数据查询请求。
在本公开的一种示例性实施例中,基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,并基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
在本公开的一种示例性实施例中,基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,包括:对所述第二随机数进行哈希处理,得到第二哈希字符串,并对第二哈希字符串进行碎片化处理,得到第三密钥字符串以及第四密钥字符串;根据第三密钥字符串以及第四密钥字符串得到所述标准密钥字符串。
在本公开的一种示例性实施例中,基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:基于所述标准密钥字符串中的第三密钥字符串对所述数据查询结果中的加密后的待查询用户标识进行解密;在确定所述加密后的待查询用户标识解密成功后,基于所述标准密钥字符串中的第四密钥字符串对所述数据查询结果中的加密后的特征数据进行解密,得到与待查询用户标识对应的特征数据。
上述数据匿踪查询装置中各模块的具体细节已经在对应的数据匿踪查询方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同***组件(包括存储单元820和处理单元810)的总线830以及显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S110:对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;步骤S120:根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;步骤S130:在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;步骤S140:基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
又例如,所述处理单元810可以执行如图4中所示的步骤S410:接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;步骤S420:根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;步骤S430:将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;步骤S440:基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (17)
1.一种数据匿踪查询方法,其特征在于,配置于数据服务方,所述数据匿踪查询方法包括:
对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
2.根据权利要求1所述的数据匿踪查询方法,其特征在于,对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式,包括:
响应于所述数据查询方发送的数据查询请求,对所述数据查询请求进行解析,得到第一加密函数以及第一加密多项式;
获取与所述数据查询方对应的同态加密密钥对,并基于所述同态加密密钥对中的同态加密私钥,对所述第一加密函数以及第一加密多项式进行解密,得到第一目标函数以及第一目标随机多项式。
3.根据权利要求1所述的数据匿踪查询方法,其特征在于,根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识,包括:
将所述待查询用户标识代入所述第一目标函数后,计算所述第一目标函数的函数值;
根据所述函数值判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识。
4.根据权利要求3所述的数据匿踪查询方法,其特征在于,如果所述函数值为零,则所述预设的用户标识集合中存在与待查询请求中的待查询用户标识对应的目标用户标识;
若所述函数值为任一随机常数,则所述预设的用户标识集合中不存在与待查询请求中的待查询用户标识对应的目标用户标识。
5.根据权利要求1所述的数据匿踪查询方法,其特征在于,根据所述第一目标随机多项式构建目标密钥字符串,包括:
获取与所述目标用户标识对应的第一原始随机多项式,并计算所述第一目标随机多项式与第一原始随机多项式之间的第一比值;
对所述第一比值进行哈希处理,得到第一哈希字符串,并对所述第一哈希字符串进行碎片化处理,得到第一密钥字符串以及第二密钥字符串;
根据所述第一密钥字符串以及第二密钥字符串,构建所述目标密钥字符串。
6.根据权利要求1所述的数据匿踪查询方法,其特征在于,基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,包括:
基于所述目标密钥字符串中的第一密钥字符串对所述待查询用户标识进行加密;
基于所述目标密钥字符串中的第二密钥字符串对所述特征数据进行加密,并基于加密后的待查询用户标识以及加密后的特征数据得到数据查询结果。
7.根据权利要求1所述的数据匿踪查询方法,其特征在于,所述数据匿踪查询方法还包括:
获取与所述数据查询方对应的目标用户标识,并计算所述目标用户标识的第一标识数量;
根据所述第一标识数量确定所述数据查询方的命中数量,并根据所述命中数量计算所述数据查询方所需要支付的数据查询费用。
8.根据权利要求1所述的数据匿踪查询方法,其特征在于,所述数据匿踪查询方法还包括:
获取所述数据服务方自身所持有的原始用户标识,并根据所述原始用户标识构建所述预设的用户标识集合;
根据用户标识集合中包括的原始用户标识,构建第一原始用户标识多项式,并计算第一原始用户标识多项式的第一标识多项式系数;
构建第一原始随机多项式,并计算第一原始随机多项式的第一随机多项式系数;
基于同态加密密钥对中的同态加密公钥对所述第一标识多项式系数以及第一随机多项式系数进行加密,并将加密后的第一标识多项式系数以及加密后的第一随机多项式系数发送至数据查询方,以使得数据查询方根据加密后的第一标识多项式系数以及加密后的第一随机多项式系数生成数据查询请求。
9.一种数据匿踪查询方法,其特征在于,配置于数据查询方,所述数据匿踪查询方法包括:
接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;
根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;
将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;
基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
10.根据权利要求9所述的数据匿踪查询方法,其特征在于,根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求,包括:
生成第二随机数,并根据第二随机数以及加密后的第一标识多项式系数计算第一目标函数,根据第二随机数以及加密后的第一随机多项式系数计算第一目标随机多项式;
基于同态加密密钥对中的同态加密公钥对第一目标函数以及第一目标随机多项式进行加密,得到第一加密函数以及第一加密多项式;
根据第一加密函数以及第一加密多项式、待查询用户标识生成数据查询请求。
11.根据权利要求9所述的数据匿踪查询方法,其特征在于,基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:
基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,并基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
12.根据权利要求11所述的数据匿踪查询方法,其特征在于,基于第二随机数计算与所述待查询用户标识对应的标准密钥字符串,包括:
对所述第二随机数进行哈希处理,得到第二哈希字符串,并对第二哈希字符串进行碎片化处理,得到第三密钥字符串以及第四密钥字符串;
根据第三密钥字符串以及第四密钥字符串得到所述标准密钥字符串。
13.根据权利要求11所述的数据匿踪查询方法,其特征在于,基于所述标准密钥字符串对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据,包括:
基于所述标准密钥字符串中的第三密钥字符串对所述数据查询结果中的加密后的待查询用户标识进行解密;
在确定所述加密后的待查询用户标识解密成功后,基于所述标准密钥字符串中的第四密钥字符串对所述数据查询结果中的加密后的特征数据进行解密,得到与待查询用户标识对应的特征数据。
14.一种数据匿踪查询装置,其特征在于,配置于数据服务方,所述数据匿踪查询装置包括:
数据查询请求解析模块,用于对数据查询方发送的数据查询请求进行解析,得到第一目标函数以及第一目标随机多项式;
待查询用户标识判断模块,用于根据所述第一目标函数判断预设的用户标识集合中是否存在与待查询请求中的待查询用户标识对应的目标用户标识;
特征数据获取模块,用于在确定存在所述目标用户标识时,获取与所述目标用户标识对应的特征数据,并根据所述第一目标随机多项式构建目标密钥字符串;
数据查询结果反馈模块,用于基于所述目标密钥字符串对所述待查询用户标识以及特征数据进行加密,得到数据查询结果,并将所述数据查询结果发送至数据查询方。
15.一种数据匿踪查询装置,其特征在于,配置于数据查询方,所述数据匿踪查询装置包括:
第一接收模块,用于接收数据服务方发送的加密后的第一标识多项式系数以及加密后的第一随机多项式系数;
数据查询请求生成模块,用于根据加密后的第一标识多项式系数、加密后的第一随机多项式系数、预设的第二随机数以及待查询用户标识生成数据查询请求;
数据查询结果接收模块,用于将所述数据查询请求发送至数据服务方,并接收所述数据服务方响应所述数据查询请求,在确定所述待查询用户标识存在于数据服务方持有的用户标识集合中时,反馈的数据查询结果;
数据查询结果解密模块,用于基于所述第二随机数对所述数据查询结果进行解密,得到与待查询用户标识对应的特征数据。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-13任一项所述的数据匿踪查询方法。
17.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-13任一项所述的数据匿踪查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310658968.2A CN116680324A (zh) | 2023-06-05 | 2023-06-05 | 数据匿踪查询方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310658968.2A CN116680324A (zh) | 2023-06-05 | 2023-06-05 | 数据匿踪查询方法及装置、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116680324A true CN116680324A (zh) | 2023-09-01 |
Family
ID=87780546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310658968.2A Pending CN116680324A (zh) | 2023-06-05 | 2023-06-05 | 数据匿踪查询方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680324A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077209A (zh) * | 2023-10-16 | 2023-11-17 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
CN117235802A (zh) * | 2023-11-13 | 2023-12-15 | 翼方健数(北京)信息科技有限公司 | 一种基于隐私计算的条件匿踪查询方法、***和介质 |
CN117521152A (zh) * | 2024-01-05 | 2024-02-06 | 同盾科技有限公司 | 数据更新方法、匿踪查询方法、电子设备及介质 |
-
2023
- 2023-06-05 CN CN202310658968.2A patent/CN116680324A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077209A (zh) * | 2023-10-16 | 2023-11-17 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
CN117077209B (zh) * | 2023-10-16 | 2024-02-23 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
CN117235802A (zh) * | 2023-11-13 | 2023-12-15 | 翼方健数(北京)信息科技有限公司 | 一种基于隐私计算的条件匿踪查询方法、***和介质 |
CN117235802B (zh) * | 2023-11-13 | 2024-01-26 | 翼方健数(北京)信息科技有限公司 | 一种基于隐私计算的条件匿踪查询方法、***和介质 |
CN117521152A (zh) * | 2024-01-05 | 2024-02-06 | 同盾科技有限公司 | 数据更新方法、匿踪查询方法、电子设备及介质 |
CN117521152B (zh) * | 2024-01-05 | 2024-05-07 | 同盾科技有限公司 | 数据更新方法、匿踪查询方法、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245510B (zh) | 用于预测信息的方法和装置 | |
CN116680324A (zh) | 数据匿踪查询方法及装置、存储介质、电子设备 | |
US20210304201A1 (en) | Transaction verification method and apparatus, storage medium, and electronic device | |
CN111310204B (zh) | 数据处理的方法及装置 | |
CN103152337A (zh) | 一种安全动态传输二维码信息的方法 | |
CN108876593A (zh) | 一种在线交易方法和装置 | |
CN112287379A (zh) | 业务数据使用方法、装置、设备、存储介质和程序产品 | |
JP2023512725A (ja) | パターンの安全な照合および識別 | |
CN114500093B (zh) | 报文信息的安全交互方法及*** | |
US12020244B2 (en) | Masking a primary account number between a party and a service provider | |
CN114491637A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN114881247A (zh) | 基于隐私计算的纵向联邦特征衍生方法、装置、介质 | |
CN116032667A (zh) | 支持高效更新的在线匿踪查询方法、***及相关设备 | |
CN108737435A (zh) | 一种账户初始化方法和装置 | |
CN113794706A (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
CN113129008A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN116738468A (zh) | 基于隐私集合求交的联邦最值确定方法、装置、介质 | |
CN117371011A (zh) | 数据隐匿查询方法、电子设备和可读存储介质 | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 | |
US20230275766A1 (en) | Integrating identity tokens and privacy-preserving identity attribute attestations into interactions | |
WO2019019650A1 (zh) | 网站数据处理方法、装置、网站数据处理平台及存储介质 | |
CN115603916A (zh) | 分布式数字身份认证方法、***、计算机存储介质及终端 | |
CN114840739A (zh) | 信息检索方法、装置、电子设备及存储介质 | |
CN110784602B (zh) | 软电话通信方法、装置、终端及存储介质 | |
CN111435452A (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 |