基于隐私计算的条件匿踪查询方法、系统及装置与流程

文档序号:30442197发布日期:2022-06-17 22:48阅读:182来源:国知局
1.本发明应用于数据处理
技术领域
:,特别是涉及一种基于隐私计算的条件匿踪查询方法、系统及装置。
背景技术
::2.匿踪查询是一种隐私信息检索技术,具体指的是在查询方与数据服务方的交互过程中,查询方隐藏被查询对象的关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应的查询对象,通常基于加密算法、不经意传输等密码学技术实现。以达到数据不出门且能计算,从而杜绝数据缓存、数据泄漏、数据贩卖的可能性。3.目前,可以采用不经意传输协议和隐私集合求交实现匿踪查询。查询方提供查询对象,采用隐私集合求交的方式在不泄露数据服务方其他数据的情况下确定查询对象在数据服务方的位置,再采用不经意传输在数据服务方不获知具体查询位置的情况下从数据服务方获得查询对象对应的查询结果。但是,上述匿踪查询过程仅能获得所有查询对象对应的查询结果,实现了对查询对象不带条件的查询,而无法保证查询对象在条件范围内进行匿踪查询时的数据隐私安全。技术实现要素:4.有鉴于此,本发明实施例提出一种基于隐私计算的条件匿踪查询方法、系统及装置,用于解决目前隐私计算领域的查询服务中无法实现带条件的匿踪查询的问题。5.本发明第一方面提供一种基于隐私计算的条件匿踪查询方法,该方法应用于查询方,该方法可以包括:6.获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围;7.基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置;8.与所述数据服务方、所述协调方基于所述条件范围进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果;9.接收所述协调方发送的第二索引,所述第二索引由所述协调方根据所述比较结果筛选所述条件范围内的所述第一索引获得;10.根据所述第二索引与所述数据服务方进行匿踪查询。11.可选地,所述条件范围包括条件字段、条件阈值、比较运算符,所述与所述数据服务方、所述协调方基于所述条件范围进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果,包括:12.将所述条件字段发送给所述数据服务方,并将所述比较运算符发送给所述数据服务方和所述协调方;13.与所述数据服务方、所述协调方基于所述条件字段、所述条件阈值、所述比较运算符进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果。14.可选地,所述根据所述第二索引与所述数据服务方进行匿踪查询,包括:15.在所述交集字段值中根据所述第二索引获得所述条件范围内的第二查询字段值,并根据所述第二查询字段值与所述数据服务方进行匿踪查询。16.可选地,所述基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,包括:17.基于所述第一查询字段值与所述数据服务方存储的字段值进行隐私集合求交获得交集字段值;18.接收所述数据服务方根据所述交集字段值发送的所述第一索引。19.可选地,所述数据服务方存储至少一个字段值数据表,每一所述字段值数据表中存储至少一个字段值,所述基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,包括:20.向所述数据服务方指定字段值数据表,并基于所述第一查询字段值与所述数据服务方的所述字段值数据表进行隐私集合求交,获得交集字段值对应的第一索引。21.可选地,所述基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,包括:22.基于所述第一查询字段值与所述数据服务方存储的字段值采用不经意传输扩展协议进行隐私集合求交,获得交集字段值对应的第一索引。23.依据本发明第二方面提供一种基于隐私计算的条件匿踪查询方法,该方法可以应用于协调方,该方法可以包括:24.接收查询方发送的第一索引,所述第一索引用于指示交集字段值在数据服务方的存储位置,所述交集字段值通过所述查询方与所述数据服务方存储的字段值基于所述第一查询字段值进行隐私集合求交得到,所述第一查询字段值用于指示所述查询方的查询对象;25.与所述查询方、所述数据服务方基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方每一索引与所述条件范围的比较结果,所述条件范围用于指示所述查询方的查询范围;26.根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引;27.将所述第二索引向所述查询方发送,以使所述查询方根据所述第二索引与所述数据服务方进行匿踪查询。28.依据本发明的第三方面一种基于隐私计算的条件匿踪查询系统,该系统可以包括查询方、数据服务方和协调方,所述查询方用于获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围;29.所述查询方还用于基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置;30.所述协调方用于与所述查询方、所述数据服务方基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方每一索引与所述条件范围的比较结果;31.所述协调方还用于根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引;32.所述协调方还用于将所述第二索引向所述查询方发送;33.所述查询方还用于根据所述第二索引与所述数据服务方进行匿踪查询。34.依据本发明第四方面提供一种基于隐私计算的条件匿踪查询装置,该装置应用于查询方,该装置可以包括:35.查询语句获取模块,用于获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围;36.第一索引发送模块,用于基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置;37.第一比较算法模块,用于与所述数据服务方、所述协调方基于所述条件范围进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果;38.第二索引接收模块,用于接收所述协调方发送的第二索引,所述第二索引由所述协调方根据所述比较结果筛选所述条件范围内的所述第一索引获得;39.匿踪查询模块,用于根据所述第二索引与所述数据服务方进行匿踪查询。40.可选地,所述条件范围包括条件字段、条件阈值、比较运算符,所述第一比较算法模块,包括:41.条件发送子模块,用于将所述条件字段发送给所述数据服务方,并将所述比较运算符发送给所述数据服务方和所述协调方;42.条件比较子模块,用于与所述数据服务方、所述协调方基于所述条件字段、所述条件阈值、所述比较运算符进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果。43.可选地,所述匿踪查询模块,具体用于在所述交集字段值中根据所述第二索引获得所述条件范围内的第二查询字段值,并根据所述第二查询字段值与所述数据服务方进行匿踪查询。44.可选地,所述第一索引发送模块,包括:45.交集字段值获取子模块,用于基于所述第一查询字段值与所述数据服务方存储的字段值进行隐私集合求交获得交集字段值;46.第一索引获取子模块,用于接收所述数据服务方根据所述交集字段值发送的所述第一索引。47.可选地,所述数据服务方存储至少一个字段值数据表,每一所述字段值数据表中存储至少一个字段值,所述第一索引发送模块,具体用于向所述数据服务方指定字段值数据表,并基于所述第一查询字段值与所述数据服务方的所述字段值数据表进行隐私集合求交,获得交集字段值对应的第一索引。48.可选地,所述第一索引发送模块具体用于基于所述第一查询字段值与所述数据服务方存储的字段值采用不经意传输扩展协议进行隐私集合求交,获得交集字段值对应的第一索引。49.依据本发明第五方面提供一种基于隐私计算的条件匿踪查询装置,该装置应用于协调方,该装置可以包括:50.第一索引接收模块,用于接收查询方发送的第一索引,所述第一索引用于指示交集字段值在数据服务方的存储位置,所述交集字段值通过所述查询方与所述数据服务方存储的字段值基于所述第一查询字段值进行隐私集合求交得到,所述第一查询字段值用于指示所述查询方的查询对象;51.第二比较算法模块,用于与所述查询方、所述数据服务方基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方每一索引与所述条件范围的比较结果,所述条件范围用于指示所述查询方的查询范围;52.第二索引筛选模块,用于根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引;53.第二索引发送模块,用于将所述第二索引向所述查询方发送,以使所述查询方根据所述第二索引与所述数据服务方进行匿踪查询。54.依据本发明第六方面提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现上述第一方面或第二方面所述的基于隐私计算的条件匿踪查询方法。55.依据本发明的第七方面提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现第一方面或第二方面所述的基于隐私计算的条件匿踪查询方法。56.针对相关技术,本发明具备如下优点:57.在本发明实施中提供一种基于隐私计算的条件匿踪查询,该方法中查询方基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,确定交集字段值对应的第一索引,将第一索引发送给协调方,第一查询字段值用于指示目标查询对象,第一索引用于指示所述交集字段值在所述数据服务方的存储位置;查询方还与数据服务方、协调方基于条件范围进行秘密分享的比较算法,以获得数据服务方每一索引与条件范围的比较结果;查询方再接收第二索引,而第二索引由协调方根据比较结果筛选条件范围内的第一索引获得。58.本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到。因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施例中,查询方仅能获知条件范围的交集字段值的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值,从而使得协调方无法实际获得每一字段值与条件范围的比较结果,进而实现了安全、高效的条件匿踪查询。59.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技的术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明60.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:61.图1是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之一;62.图2是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之二;63.图3是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之三;64.图4是本发明实施例提供的一种基于隐私计算的条件匿踪查询系统的结构框图;65.图5是本发明实施例提供的一种基于隐私计算的条件匿踪查询方法的具体示例步骤流程图;66.图6是本发明实施例提供的一种基于隐私计算的条件匿踪查询装置的结构框图之一;67.图7是本发明实施例提供的一种基于隐私计算的条件匿踪查询装置的结构框图之二;68.图8是本发明实施例提供的一种电子设备的结构框图。具体实施方式69.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。70.图1是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之一,如图1所示,该方法可以应用于查询方,该方法可以包括:71.步骤101、获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围。72.本发明实施例中,查询方(client)指使用数据查询服务的主体,数据服务方(server)指提供数据查询服务的主体,查询方可以通过条件查询语句定义在数据查询服务中待查询的第一查询字段值,以及具体查询的条件范围。第一查询字段值可以用于指示查询方向数据服务方提供的关键字,如第一查询字段值可以是id(identitydocument,身份字段值号)值、手机号码、职业名称、年龄数值、资产数值等。数据服务方可以提供不同的字段,以及字段对应的不同字段值,如数据服务方提供的字段可以是id、手机号、职业名称、年龄、资产等,在此基础上,字段“id”可以对应不同id值,字段“手机号”可以对应不同手机号码,字段“职业”可以对应不同职业名称···;条件范围指对字段值进行查询的范围,如查询用户年龄时条件范围可以限定性别、职业或年龄的范围等,查询用户收入时条件范围可以限定手机号、年龄或收入的范围等,如可以通过条件查询语句的含义可以是“查询手机号a至z的用户中年龄在30岁以上用户的年龄”,或“查询手机号a至z的用户中年龄在30岁以上用户的收入”,其中,“手机号a至z”为第一查询字段值,“年龄在30岁以上”为条件范围。73.在本发明实施例中,数据服务方可以授权查询方使用不同字段的查询服务,从而在查询方提供已授权字段的第一查询字段值时,数据服务方可以根据第一查询字段值进行查询,并提供第一查询字段值对应的查询结果,如数据服务方可以授权查询方使用字段“手机号”的查询服务,则查询方可以向数据服务方提供具体的手机号码作为第一查询字段值以使用字段“手机号”的查询服务。74.步骤102、基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置。75.本发明实施例中,隐私集合求交(privatesetintersection,psi)是指得到参与方持有数据的交集,而不泄露参与方除交集以外其他信息的计算过程,本实施例的参与方包括查询方、数据服务方以及协调方,对查询方的第一查询字段值以及数据服务方存储的字段值进行隐私集合求交,可以获得交集字段值,交集字段值可能包括所有的第一查询字段值,也可能包括部分的第一查询字段值。可选地,字段值的存储位置可以以索引表示,在确定交集字段值的基础上,查询方可以接收数据服务方根据交集字段值提供的第一索引,第一索引指示了交集字段值在数据服务方的存储位置,从而第一索引与交集字段值能够一一对应。查询方可以将获得的第一索引向协调方发送。76.步骤103、与所述数据服务方、所述协调方基于所述条件范围进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果。77.本发明实施例中,秘密分享是一种安全多方计算,可以对秘密进行拆解并分发到不同参与方,不同参与方可以在本地计算,或随机的交换数据,并将计算结果分散地保存在不同参与方,在需要时将不同参与方分散保存的计算结果合并恢复。在本发明实施例中,查询方可以将条件范围作为秘密,与所述数据服务方、所述协调方的三方进行共享,再通过比较算法比较数据服务方存储的字段值与条件范围,将比较结果以字段值的索引以及字段值与条件范围的关系表示。78.如,字段值x在条件范围内可以记为1,而在数据服务方字段值x对应索引x’,则比较结果以[x’,1]的形式表示;字段值y不在条件范围内可以记为0,而在数据服务方字段值y对应索引y’,则比较结果以[y’,0]的形式表示。[0079]本发明实施例中,可以在协调方恢复该比较结果,使得数据服务方无法获知具体的条件范围,协调方仅能获知索引对应的字段值在条件范围内,或在条件范围外,而无法获知具体的条件范围以及数据服务方存储的字段值。[0080]步骤104、接收所述协调方发送的第二索引,所述第二索引由所述协调方根据所述比较结果筛选所述条件范围内的所述第一索引获得。[0081]本发明实施例中,查询方可以接收协调方发送的第二索引,其中,协调方可以根据查询方提供的交集字段值对应的第一索引,以及基于秘密分享的比较算法获得的每一索引与条件范围的比较结果对第一索引进行筛选,将条件范围外的第一索引筛除,将条件范围内的第一索引确定为第二索引。查询方可以从协调方获取第二索引,此时,第二索引可以指示条件范围内的交集字段值在数据服务方的存储位置。[0082]步骤105、根据所述第二索引与所述数据服务方进行匿踪查询。[0083]本发明实施例中,第二索引可以指示条件范围内的交集字段值在数据服务方的存储位置,在获得第二索引的基础上,查询方可以与数据服务方进行匿踪查询,以获得第二索引对应字段值的查询结果,此时,查询方无法获知第二索引对应的字段值以外其他字段值的查询结果,数据服务方也无法获知哪些字段值被查询。[0084]在本发明实施中提供一种基于隐私计算的条件匿踪查询方法,该方法中查询方基于第一查询字段值与数据服务方存储的字段值进行隐私集合求交,确定交集字段值对应的第一索引,将第一索引发送给协调方,第一查询字段值用于指示目标查询对象,第一索引用于指示所述交集字段值在所述数据服务方的存储位置;查询方还与数据服务方、协调方基于条件范围进行秘密分享的比较算法,以获得数据服务方每一索引与条件范围的比较结果;查询方再接收第二索引,而第二索引由协调方根据比较结果筛选条件范围内的第一索引获得,由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施例中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值,从而协调方无法实际获得每一字段值与条件范围的比较结果,进而实现了安全、高效的条件匿踪查询。[0085]图2是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之二,如图2所示,该方法可以应用于查询方,该方法可以包括:[0086]步骤201、获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围。[0087]本发明实施例中,步骤201可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。[0088]步骤202、基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置。[0089]本发明实施例中,步骤202可对应参照前述步骤102的相关描述,为避免重复,在此不再赘述。[0090]可选地,所述步骤201包括:[0091]步骤s11、基于所述第一查询字段值与所述数据服务方存储的字段值进行隐私集合求交获得交集字段值。[0092]步骤s12、接收所述数据服务方根据所述交集字段值发送的所述第一索引。[0093]本发明实施例中,查询方可以先基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交,从而确定第一查询字段值与数据服务方已存储的字段值存在的交集字段值,在确定交集字段值的情况下,查询方可以进一步接收数据服务方发送的交集字段值对应的第一索引,从而获知交集字段值在数据服务方的存储位置。可选地,数据服务方可以明文发送第一索引,也可以加密发送第一索引。[0094]本发明实施例中,查询方基于所述第一查询字段值与数据服务方进行隐私集合求交,也可以获得交集字段值在查询方的索引,以指示交集字段值在查询方的存储位置,从而查询方可以从对应存储位置获得交集字段值。[0095]可选地,所述数据服务方存储至少一个字段值数据表,每一所述字段值数据表中存储至少一个字段值,所述步骤202具体包括:[0096]步骤s21、向所述数据服务方指定字段值数据表,并基于所述第一查询字段值与所述数据服务方的所述字段值数据表进行隐私集合求交,获得交集字段值对应的第一索引。[0097]本发明实施例中,数据服务方可以以数据表的形式存储字段、字段值等信息,在此基础上,索引可以是字段值在数据表中的存储次序,查询方可以在查询的过程中指定数据表,从而实现更精准、高效的查询过程。其中,数据服务方可以存储至少一个数据表,并向查询方授权数据表的查询服务,从而在查询方指定该数据表时向查询方提供该数据服务方的查询服务。在查询方指定数据表的基础上,查询方可以将第一查询字段值与数据服务方该数据表中存储的字段值进行隐私集合求交。[0098]可选地,所述步骤202具体包括:[0099]步骤s31、基于所述第一查询字段值与所述数据服务方存储的字段值采用不经意传输扩展协议进行隐私集合求交,获得交集字段值对应的第一索引。[0100]本发明实施例中,不经意传输扩展协议(oblivioustransferextension,ote)是对不经意传输协议的改进,能够减少使用不经意传输的数量,从而提高隐私集合求交的速度,查询方可以基于所述第一查询字段值与数据服务方存储的字段值采用ote进行隐私集合求交,从而能够有效提升查询方获得交集字段值对应的第一索引的效率。[0101]可选地,所述条件范围包括条件字段、条件阈值、比较运算符。[0102]本发明实施例中,条件范围可以通过条件字段、条件阈值以及比较运算符定义,其中,条件字段用于限定条件的种类,如条件字段可以是年龄(age)、手机号(phone_number)等,条件阈值用于限定条件的取值界限,如条件阈值可以是年龄30岁、手机号123456等,比较运算符用于限定条件的取值范围,如比较运算符可以是“=”、“》”、“≤”等。[0103]本发明实施例中,查询方可以获取sql(structuredquerylanguage,结构化查询语言)语句作为条件查询语句,sql语句中可以提供字段、字段值、条件范围等,即可实现带条件的匿踪查询。[0104]如,查询方获取sql语句如下所示:[0105]selectphone_number,age,salaryfromtable1wherephone_numberin(186,135)andsex='m'[0106]其中,“phone_number”为字段,“table1”为数据表,“(186,135)”为第一查询字段值,sex='m'为条件范围,“age”和“salary”为查询结果;[0107]上述条件范围中“sex”为条件字段“性别”,'m'为条件阈值“男”,“=”为比较运算符,“age”为查询结果“年龄”,“salary”为查询结果“收入”;[0108]该sql语句表示在“table1”数据表中查询“phone_number”为“(186,135)”的用户中男性用户的年龄。[0109]步骤203、将所述条件字段发送给所述数据服务方,并将所述比较运算符发送给所述数据服务方和所述协调方。[0110]本发明实施例中,查询方可以在条件范围中确定条件字段、条件阈值以及比较运算符,再将条件字段发送给数据服务方,将比较运算符发送给数据服务方与协调方,并保留条件阈值,从而向数据服务方隐藏条件阈值,使得数据服务方无法获知查询方具体的条件范围。[0111]步骤204、与所述数据服务方、所述协调方基于所述条件字段、所述条件阈值、所述比较运算符进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果。[0112]本发明实施例中,在查询方、数据服务方、协调方分享条件字段、条件阈值和比较运算符的基础上,可以进行秘密分享的比较算法,具体可参照前述步骤102的相关描述,为避免重复,在此不再赘述。另外,每一索引可以是数据服务方存储的所有字段值对应的索引,也可以是查询方指定的数据表中存储的所有字段值对应的索引,本发明实施例对此不作具体限制。[0113]步骤205、接收所述协调方发送的第二索引,所述第二索引由所述协调方根据所述比较结果筛选所述条件范围内的所述第一索引获得。[0114]本发明实施例中,步骤205可对应参照前述步骤104的相关描述,为避免重复,在此不再赘述。[0115]步骤206、在所述交集字段值中根据所述第二索引获得所述条件范围内的第二查询字段值,并根据所述第二查询字段值与所述数据服务方进行匿踪查询。[0116]本发明实施例中,查询方还可以基于第二索引在交集字段值中进行筛选,由于第二索引指示了条件范围内的交集字段值在数据服务方的存储位置,而查询方根据第一索引已获知每一交集字段值在数据服务方的存储位置,因此,查询方可以根据第二索引对交集字段值进行筛选,将条件范围内的交集字段值确定为第二查询字段值,并基于第二查询字段值与数据服务方进行匿踪查询。[0117]在本发明实施中提供一种基于隐私计算的条件匿踪查询方法,该方法中查询方基于第一查询字段值与数据服务方存储的字段值进行隐私集合求交,确定交集字段值对应的第一索引,将第一索引发送给协调方,第一查询字段值用于指示目标查询对象,第一索引用于指示所述交集字段值在所述数据服务方的存储位置;查询方还与数据服务方、协调方基于条件范围进行秘密分享的比较算法,以获得数据服务方每一索引与条件范围的比较结果;查询方再接收第二索引,而第二索引由协调方根据比较结果筛选条件范围内的第一索引获得,由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施例中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值,从而协调方无法实际获得每一字段值与条件范围的比较结果,进而实现了安全、高效的条件匿踪查询。[0118]本发明实施例在图3是本发明实施例提供的基于隐私计算的条件匿踪查询方法的步骤流程图之三,如图3所示,该方法可以应用于协调方,该方法可以包括:[0119]步骤301、接收查询方发送的第一索引,所述第一索引用于指示交集字段值在数据服务方的存储位置,所述交集字段值通过所述查询方与所述数据服务方存储的字段值基于所述第一查询字段值进行隐私集合求交得到,所述第一查询字段值用于指示所述查询方的查询对象。[0120]本发明实施例中,协调方可以接收查询方发送的第一索引,第一索引可对应参照前述步骤102,或步骤202的相关描述,为避免重复,在此不再赘述。[0121]步骤302、与所述查询方、所述数据服务方基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方每一索引与所述条件范围的比较结果,所述条件范围用于指示所述查询方的查询范围。[0122]本发明实施例中,协调方和查询方、数据服务方可以基于所述条件范围进行秘密分享的比较算法,具体可参照前述步骤103,或步骤203~204的相关描述,避免重复,在此不再赘述。其中,比较结果可以表示每一索引对应的字段值是否在条件范围内,如该索引指示的存储位置存储的字段值在条件范围内则该索引对应的比较结果取值为1,反之则取值为0,则协调方仅能获知每一索引对应比较结果的取值,而无法获知具体的字段值,以及具体的条件范围。[0123]步骤303、根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引。[0124]本发明实施例中,协调方可以根据比较结果对第一索引进行筛选,将第一索引中条件范围内的索引确定为第二索引,具体可参照前述步骤103的相关描述,为避免重复,在此不再赘述。[0125]步骤304、将所述第二索引向所述查询方发送,以使所述查询方根据所述第二索引与所述数据服务方进行匿踪查询。[0126]本发明实施例中,在根据比较结果从第一索引中获得条件范围内的第二索引后,协调方可以将第二索引向查询方发送,使得查询方可以根据第二索引与数据服务方进行匿踪查询,第二索引可以指示条件范围内交集字段值,从而可以实现带条件的匿踪查询,具体可参照前述步骤105,或步骤206的相关描述,为避免重复,在此不再赘述。[0127]在本发明实施中提供一种基于隐私计算的条件匿踪查询方法,该方法中协调方可以接收查询方发送的第一索引,第一索引由查询方基于第一查询字段值与数据服务方的字段值进行隐私集合求交确定交集字段值对应的索引得到,第一查询字段值用于指示查询方的查询对象,第一索引用于指示交集字段值在数据服务方的存储位置;协调方还与数据服务方、查询方基于条件范围进行秘密分享的比较算法,并恢复数据服务方每一索引与条件范围的比较结果;协调方再根据比较结果筛选条件范围内的第一索引获得第二索引,并发送给查询方,以使查询方基于第二索引与数据服务方进行匿踪查询。由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值,从而协调方无法实际获得每一字段值与条件范围的比较结果;数据服务方无法获知完整的条件范围以及具体的查询对象,保证了条件匿踪查询流程的隐私、安全。[0128]图4是本发明实施例提供的一种基于隐私计算的条件匿踪查询系统的结构框图,如图4所示,该系统包括查询方401、数据服务方402和协调方403,其中:[0129]所述查询方401用于获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围;[0130]所述查询方401还用于基于所述第一查询字段值与数据服务方402存储的字段值进行隐私集合求交,获得交集字段值对应的第一索引,并向协调方403发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方402的存储位置;[0131]所述协调方403用于与所述查询方401、所述数据服务方402基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方402每一索引与所述条件范围的比较结果;[0132]所述协调方403还用于根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引;[0133]所述协调方403还用于将所述第二索引向所述查询方401发送;[0134]所述查询方401还用于根据所述第二索引与所述数据服务方402进行匿踪查询。[0135]在本发明实施中提供一种基于隐私计算的条件匿踪查询系统,该系统包括查询方、数据服务方和协调方,查询方可以基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交确定交集字段值对应的第一索引,并向协调方发送第一索引,第一查询字段值用于指示查询方的查询对象,第一索引用于指示交集字段值在数据服务方的存储位置;查询方、数据服务方和协调方还可以基于条件范围进行秘密分享的比较算法,并在协调方恢复数据服务方每一索引与条件范围的比较结果;协调方再根据比较结果筛选条件范围内的第一索引获得第二索引并发送给查询方;查询方基于第二索引与数据服务方进行匿踪查询。由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值;数据服务方无法获知完整的条件范围以及具体的查询对象,保证了条件匿踪查询流程的隐私、安全。[0136]图5是本发明实施例提供的一种基于隐私计算的条件匿踪查询方法的具体示例步骤流程图,如图5所示,该流程参照图1至3所示的基于隐私计算的条件匿踪查询方法,并基于图4所示的基于隐私计算的条件匿踪查询系统实现,该流程包括:[0137]步骤501、查询方401获取sql语句如下所示:[0138]selectid,agefromtable1whereidin(12996837,34562701)andsex='m'[0139]步骤502、查询方401向数据服务方402发送字段“id”,并指定“table1”。[0140]步骤503、数据服务方402执行“selectidfromtable1”得到指定数据表中的id字段值[“82917214”、“12996837”、“34562701”,···]。[0141]步骤504、基于查询方401的第一查询字段值“(12996837,34562701)”以及数据服务方402的id字段值[“82917214”、“12996837”、“34562701”,···]进行隐私集合求交,查询方401获得交集id字段值在查询方401的索引“aligned_client_indexes:[0,1]”以及第一索引“aligned_server_indexes:[1,2]”。[0142]步骤505、查询方401根据交集id字段值在查询方401的索引“aligned_client_indexes:[0,1]”确定交集字段值[“12996837”,“34562701”],并将第一索引“aligned_server_indexes:[1,2]”向协调方403发送。[0143]步骤506、查询方401对sql语句进行解析,获得where比较条件语句“sex='m'”,并将条件字段“sex”向数据服务方402发送,将比较运算符“=”向数据服务方402和协调方403发送,保留条件阈值“'m'”。[0144]步骤507、数据服务方402执行sql语句“selectsexfromtable1”,获得指定数据表中的sex字段值。[0145]步骤508、查询方401、数据服务方402和协调方403基于秘密分享的比较算法,根据条件阈值、比较运算符比较索引对应的sex字段值,并在协调方403恢复完整的比较结果,其中,比较结果为索引与取值的对应关系,索引对应的sex字段值符合“sex='m'”则索引对应的取值为1,索引对应的sex字段值不符合“sex='m'”则索引对应的取值为0,按照数据表内字段值的存储次序,比较结果可以是[1,0,1,···]。[0146]步骤509、协调方403根据第一索引“aligned_server_indexes:[1,2]”以及比较结果[1,0,1,···],将第一索引中比较结果[1,0,1,···]取值为1的索引确定为第二索引“aligned_server_indexes_meet_condition:[2]”,并将第二索引“aligned_server_indexes_meet_condition:[2]”向查询方401发送。[0147]步骤510、查询方401根据第二索引“aligned_server_indexes_meet_condition:[2]”在交集字段值中获得条件范围内的第二查询字段值[“34562701”]。[0148]步骤511、查询方401根据第二查询字段值与数据服务方402进行匿踪查询,获得查询结果[“34562701_25”]。[0149]在本发明实施中提供一种基于隐私计算的条件匿踪查询方法,该方法基于匿踪查询系统实现,该系统包括查询方、数据服务方和协调方,查询方可以基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交确定交集字段值对应的第一索引,并向协调方发送第一索引,第一查询字段值用于指示查询方的查询对象,第一索引用于指示交集字段值在数据服务方的存储位置;查询方、数据服务方和协调方还可以基于条件范围进行秘密分享的比较算法,并在协调方恢复数据服务方每一索引与条件范围的比较结果;协调方再根据比较结果筛选条件范围内的第一索引获得第二索引并发送给查询方;查询方基于第二索引与数据服务方进行匿踪查询。由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施例中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值;数据服务方无法获知完整的条件范围以及具体的查询对象,保证了条件匿踪查询流程的隐私、安全。[0150]图6是本发明实施例提供的一种基于隐私计算的条件匿踪查询装置60的结构框图之一,该装置应用于查询方,该装置60可以包括:[0151]查询语句获取模块601,用于获取条件查询语句,所述条件查询语句包括第一查询字段值以及条件范围;[0152]第一索引发送模块602,用于基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交获得交集字段值对应的第一索引,并向协调方发送所述第一索引,所述第一索引用于指示所述交集字段值在所述数据服务方的存储位置;[0153]第一比较算法模块603,用于与所述数据服务方、所述协调方基于所述条件范围进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果;[0154]第二索引接收模块604,用于接收所述协调方发送的第二索引,所述第二索引由所述协调方根据所述比较结果筛选所述条件范围内的所述第一索引获得;[0155]匿踪查询模块605,用于根据所述第二索引与所述数据服务方进行匿踪查询。[0156]可选地,所述条件范围包括条件字段、条件阈值、比较运算符,所述第一比较算法模块603,包括:[0157]条件发送子模块,用于将所述条件字段发送给所述数据服务方,并将所述比较运算符发送给所述数据服务方和所述协调方;[0158]条件比较子模块,用于与所述数据服务方、所述协调方基于所述条件字段、所述条件阈值、所述比较运算符进行秘密分享的比较算法,以在所述协调方恢复所述数据服务方每一索引与所述条件范围的比较结果。[0159]可选地,所述匿踪查询模块605,具体用于在所述交集字段值中根据所述第二索引获得所述条件范围内的第二查询字段值,并根据所述第二查询字段值与所述数据服务方进行匿踪查询。[0160]可选地,所述第一索引发送模块602,包括:[0161]交集字段值获取子模块,用于基于所述第一查询字段值与所述数据服务方存储的字段值进行隐私集合求交获得交集字段值;[0162]第一索引获取子模块,用于接收所述数据服务方根据所述交集字段值发送的所述第一索引。[0163]可选地,所述数据服务方存储至少一个字段值数据表,每一所述字段值数据表中存储至少一个字段值,所述第一索引发送模块602,具体用于向所述数据服务方指定字段值数据表,并基于所述第一查询字段值与所述数据服务方的所述字段值数据表进行隐私集合求交,获得交集字段值对应的第一索引。[0164]可选地,所述第一索引发送模块602具体用于基于所述第一查询字段值与所述数据服务方存储的字段值采用不经意传输扩展协议进行隐私集合求交,获得交集字段值对应的第一索引。[0165]在本发明实施中提供一种基于隐私计算的条件匿踪查询装置,该装置应用于查询方,可以基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交确定交集字段值对应的第一索引,并将第一索引发送给协调方,第一查询字段值用于指示所述查询方的查询对象,第一索引用于指示所述交集字段值在所述数据服务方的存储位置;查询方还与数据服务方、协调方基于所述条件范围进行秘密分享的比较算法,以在协调方获得数据服务方每一索引与条件范围的比较结果;查询方再接收协调方发送的第二索引,而第二索引由协调方根据比较结果筛选条件范围内的第一索引获得,由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值,进而实现了安全、高效的条件匿踪查询。[0166]图7是本发明实施例提供的一种基于隐私计算的条件匿踪查询装置70的结构框图之二,该装置应用于协调方,该装置可以包括:[0167]第一索引接收模块701,用于接收查询方发送的第一索引,所述第一索引用于指示交集字段值在数据服务方的存储位置,所述交集字段值通过所述查询方与所述数据服务方存储的字段值基于所述第一查询字段值进行隐私集合求交得到,所述第一查询字段值用于指示所述查询方的查询对象;[0168]第二比较算法模块702,用于与所述查询方、所述数据服务方基于所述条件范围进行秘密分享的比较算法,恢复所述数据服务方每一索引与所述条件范围的比较结果,所述条件范围用于指示所述查询方的查询范围;[0169]第二索引筛选模块703,用于根据所述比较结果对所述第一索引进行筛选,获得所述条件范围内的第二索引;[0170]第二索引发送模块704,用于将所述第二索引向所述查询方发送,以使所述查询方根据所述第二索引与所述数据服务方进行匿踪查询。[0171]在本发明实施中提供一种基于隐私计算的条件匿踪查询装置,该装置应用于协调方,可以接收查询方发送的第一索引,第一索引由查询方基于所述第一查询字段值与数据服务方存储的字段值进行隐私集合求交确定交集字段值对应的索引得到,第一查询字段值用于指示查询方的查询对象,第一索引用于指示交集字段值在数据服务方的存储位置;协调方还与数据服务方、查询方基于所述条件范围进行秘密分享的比较算法,并恢复数据服务方每一索引与条件范围的比较结果;协调方再根据比较结果筛选条件范围内的第一索引获得第二索引,并发送给查询方,以使查询方基于第二索引与数据服务方进行匿踪查询。由于本发明实施例在匿踪查询前通过隐私集合求交确定不带条件的交集字段值对应的第一索引,并通过秘密分享的比较算法确定数据服务方每一索引与条件范围的比较结果,而第二索引基于比较结果从第一索引中根据条件范围选取得到,因此,第二索引可以指示条件范围内交集字段值的存储位置,从而查询方基于第二索引可以实现与数据服务方带条件的匿踪查询,而且在本发明实施中查询方仅能获知交集字段值内条件范围的比较结果,而无法获知其他字段值的比较结果;协调方仅能获知数据服务方中每一索引与条件范围的比较结果,而无法获知每一索引对应的字段值;数据服务方无法获知完整的条件范围以及具体的查询对象,保证了条件匿踪查询流程的隐私、安全。[0172]本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述图1至2,或图3所示的基于隐私计算的条件匿踪查询方法。[0173]图8是本发明实施例提供的一种电子设备800的结构框图,如图8所示,存储器802及存储在存储器802上并可在处理器801上运行的程序或指令,程序或指令被处理器801执行时实现上述图1至2,或图3所示的基于隐私计算的条件匿踪查询方法。[0174]本
技术领域
:技术人员可以理解,本发明包括涉及用于执行本发明中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)的存储介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,该计算机存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。[0175]本
技术领域
:技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流程图中的每个框以及这些结构图和/或框图和/或流程图中的框的组合。本
技术领域
:技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其它可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。[0176]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1