一种保护多方隐私的联邦k近邻查询方法技术

技术编号:29674334 阅读:15 留言:0更新日期:2021-08-13 21:56
本发明专利技术公开了一种保护多方隐私的联邦k近邻查询方法,属于联邦计算领域,具体为首先,针对查询点l

【技术实现步骤摘要】
一种保护多方隐私的联邦k近邻查询方法
本专利技术属于联邦计算领域,具体涉及一种保护多方隐私的联邦k近邻查询方法。
技术介绍
随着大数据时代的飞速发展,数据在各种产业应用中具有越来越重要的价值。由于单一主体所拥有的数据有限,因此各主体间互相共享数据能进一步挖掘数据所含价值。然而出于保护敏感数据隐私的考量以及受监管政策所限制,各主体不能直接拿出数据进行共享。因此如何在“数据不能出本地”这一保护隐私的联邦场景下,完成多方协同的查询与计算成为亟待解决的问题。k近邻查询是指返回数据集中距查询点最近的前k个点,是数据库的经典查询之一,可用于聚类、检索等。而联邦k近邻是指数据分布在多个数据拥有方中,如何在各数据拥有方不交出数据即“数据不出本地”的前提下,完成所有数据上的k近邻查询。已有保护数据隐私的查询处理方法如加密数据库技术,是指数据拥有方将数据加密并上传至云服务器,云服务器在加密数据上进行查询与计算操作;该技术也可应用至多方共享数据场景下的k近邻查询:首先,各方使用同态加密技术将所有数据均加密上传至云端服务器;服务器在密文上计算所有数据点距查询点的距离;最后对这些距离排序并选出前k个最近的数据点作为答案。尽管该方法在完成查询的同时一定程度上保护了数据隐私,但是并不能满足“数据不出本地”的隐私保护要求。但是由于各方均需要将全部数据加密传出本地至云服务器,而云服务器汇集了所有数据一旦被攻击,数据泄露风险极大,且难以保证云服务提供商的可靠性。因此该方法不能满足“数据不出本地”的联邦隐私保护要求。在联邦数据库技术中,其架构主要由各数据拥有方的本地数据库和中心管理系统组成。针对用户发起的查询,中心管理系统首先将该查询进行解析和拆分,其次由各数据拥有方的本地数据库系统执行拆分所得的子查询,最后由中心管理系统聚合各查询结果从而得到该查询的最终结果。该技术尽管避免了直接汇总各数据拥有方的数据,减少了发送出本地的数据量,一定程度上贴合“数据不出本地”的思想,但在查询拆分和结果聚合过程中并不考虑保护数据隐私,因此该技术也难以满足在联邦场景下进行保护隐私的查询。近年来也出现了一些基于联邦数据库架构并保护数据隐私的数据联邦系统,然而这些系统多针对关系型数据库的查询,并未解决诸如k近邻查询等空间数据上的经典查询。
技术实现思路
针对现有技术的不足,本专利技术采用了多方安全计算技术,通过设计联邦场景下k近邻查询的拆分与结果聚合方法,使各数据拥有方在不泄露本地数据隐私的前提下,达到了共享数据协同计算k近邻查询的效果,具体是一种保护多方隐私的联邦k近邻查询方法,具有在大规模数据上安全高效的计算联邦k近邻查询的优势,实现多数据拥有方在数据不出本地前提下完成保护数据隐私的数据共享。所述的保护多方隐私的联邦k近邻查询方法,具体步骤如下:步骤一、针对查询点lq,服务器生成k近邻查询请求q;q=(lq,k),其中lq表示查询点的坐标,k表示与查询点的距离最近的k个数据点。步骤二、服务器端将查询请求q发送给n个数据拥有方客户端,各客户端分别执行各自的本地k近邻查询,得到各自的本地查询结果。各客户端为F1,F2,...,Fn;数据点集合为{L1,L2,...,Li,...,Ln};客户端Fi计算本地k近邻查询所得数据点集合为是客户端Fi本地数据集中,与查询点lq的距离值从小到大排序中第j近的数据点。步骤三、利用各客户端的本地查询结果,确定联邦k近邻中第k近数据点距离的上界rmax和距离下界为rmin=0。确定上下界的方法包括以下两种:1)、首先,客户端Fi距查询点lq最远的距离为然后,各客户端将各自的最远距离d1,d2,...,dn分别发送至服务器端,服务器端选取其中最小值设为上界rmax=min{d1,d2,...,dn};同时设定距离下界为rmin=0。2)、首先,客户端Fi距查询点lq最远的距离为然后,各客户端将各自的最远距离分别添加噪声得d′i=di+△i;其中△i>0,具体值可通过随机或差分隐私技术确定。最后,各客户端将添加噪声后的最远距离d1′,d2′,...,dn′分别发送至服务器端,服务器端选取其中最小值设为上界rmax=min{d1′,d2′,...,dn′},同时设定下界为rmin=0。通过为最远距离添加噪声保护了各数据拥有方距查询点第k近的距离值。步骤四、服务器端通过上界rmax和下界rmin设定二分距离阈值rq,并生成范围计数查询请求RangeCount发送给各客户端;二分距离阈值rq计算公式为:范围计数查询请求为:RangeCount=(lq,rq);RangeCount表示返回到查询点lq距离不超过rq的数据点的个数;步骤五、各客户端分别执行查询请求RangeCount,得到各自的查询个数,结合多方安全计算技术,在保护各客户端数据隐私的前提下将查询个数进行融合并发送至服务器端。融合公式为:c=c1+c2+…+cn;c1,c2,...,cn为各客户端的查询结果。步骤六、服务器端判断融合结果是否满足c≠k,且rmax-rmin>tr,如果是,更新联邦k近邻中第k近数据点距离的上界或下界;返回步骤四,通过二分搜索不断迭代从而逼近第k近数据点距离的值;否则,距离r为最终的rq;停止搜索并继续执行步骤七。tr为设定阈值,当c≠k时,继续判断是否c>k,如果是,更新联邦k近邻中第k近数据点距离的上界rmax=rq;否则,c<k,更新下界rmin=rq;步骤七、服务器端根据查询点lq与最终距离r发起范围查询请求,并返给各客户端。范围查询请求为RangeQuery=(lq,r);该请求表示返回与查询点lq距离不超过rq的数据点对象。步骤八、各客户端分别在本地执行范围查询请求,得到各自的查询结果P1,P2,...,Pn;结合多方安全计算技术,在保护各客户端数据来源隐私的前提下将最终的查询结果进行融合,并发送至服务器端,即为联邦k近邻查询结果。融合公式为:P=P1∪P2∪...∪Pn。本专利技术的优点在于:1)、一种保护多方隐私的联邦k近邻查询方法,相比现有技术中,对于查询请求,n个数据拥有方本地执行k近邻查询后,将各自的查询结果作为候选数据点,并安全加密后发送至服务器端,对n*k个数据点排序后选出距查询点最近的前k个点;本专利技术通过对联邦k近邻查询进行拆解与聚合,使得多数据拥有方共同计算k近邻查询,不仅能保护各数据拥有方的数据隐私,且能高效完成计算,以应用至大规模数据。2)、一种保护多方隐私的联邦k近邻查询方法,将联邦k近邻查询拆分为范围计数与范围查询,增强对各数据拥有方数据的隐私保护;通过不同距离的范围计数,每次只汇总符合距离要求的数据点个数而非数据点本身,只在完成二分迭代确定距离后,再进行范围查询,此时汇总的数据点即为本次k近邻查询的结果;从而避免现有方法中汇总所有候选数据点时,可能泄露候选点中不是查本文档来自技高网
...

【技术保护点】
1.一种保护多方隐私的联邦k近邻查询方法,其特征在于,具体包括:/n首先,针对查询点l

【技术特征摘要】
1.一种保护多方隐私的联邦k近邻查询方法,其特征在于,具体包括:
首先,针对查询点lq,服务器生成k近邻查询请求q,并将该查询请求q发送给n个数据拥有方客户端,各客户端分别执行各自的本地k近邻查询,得到各自的本地查询结果返给服务器端;
服务器端利用各本地查询结果,确定联邦k近邻中第k近数据点距离的上界rmax和距离下界为rmin=0;并进一步通过上界rmax和下界rmin设定二分距离阈值rq,利用二分距离阈值rq生成范围计数查询请求RangeCount发送给各客户端;
接着,各客户端分别执行查询请求RangeCount,得到各自的查询个数,结合多方安全计算技术,在保护各客户端数据隐私的前提下将查询个数进行融合并发送至服务器端;
服务器端判断融合结果是否满足c≠k,且rmax-rmin>tr,如果是,更新联邦k近邻中第k近数据点距离的上界或下界;通过二分搜索不断迭代从而逼近第k近数据点距离的值;否则,距离r为最终的rq;tr为设定阈值;
最后,服务器端根据查询点lq与最终距离r发起范围查询请求,并返给各客户端;各客户端分别在本地执行范围查询请求,得到各自的查询结果P1,P2,...,Pn;结合多方安全计算技术,在保护各客户端数据来源隐私的前提下将最终的查询结果进行融合,并发送至服务器端,即为联邦k近邻查询结果。


2.如权利要求1所述的一种保护多方隐私的联邦k近邻查询方法,其特征在于,所述的k近邻查询请求q=(lq,k),其中lq表示查询点的坐标,k表示与查询点的距离最近的k个数据点。


3.如权利要求1所述的一种保护多方隐私的联邦k近邻查询方法,其特征在于,所述的各客户端为F1,F2,...,Fn;数据点集合为{L1,L2,...,Li,...,Ln};
客户端Fi计算本地k近邻查询所得数据点集合为是...

【专利技术属性】
技术研发人员:童咏昕李书缘潘叙辰薛春伯史烨轩陶乾徐毅许可
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1