一种保护隐私的空间网络查询方法与流程

文档序号:17600363发布日期:2019-05-07 20:12阅读:359来源:国知局
本发明涉及数据处理
技术领域
:,具体而言,涉及一种空间网络查询的隐私保护方法。
背景技术
::随着全球定位系统的迅速发展和基于位置服务的广泛应用,大量的真实网络被添加了空间属性的约束,其中典型的包括道路网络和移动社交网络。这种新兴网络被定义为空间网络。给定具有节点和坐标的查询请求,空间网络中的k近邻(knn)查询是在网络连通性和距离的约束下寻找距离请求节点最近的k个网络节点。例如,在道路网络中,alice会在5公里内寻找离家最近的3个公园,或者在移动社交网络中,bob会在距离自己最近的签到地点不超过10公里的地方寻找5个朋友。随着空间网络的快速扩展和数据量的增长,空间网络中查询的复杂性大大增加,导致在本地运行查询服务的成本很高。将这些查询和存储服务外包给云,为数据拥有者提供了一种具有成本效益的方式。然而,在空间网络中直接外包查询处理服务可能会引起严重的隐私问题。一个典型的问题是,基于用户请求节点和相应坐标的查询请求将威胁数据用户的位置隐私,这可能涉及敏感信息,如其家庭地址或个人登记信息。类似地,外包空间网络还可能包含数据拥有者的私有信息,包括私有位置、距离和节点之间的关系,这些信息是未经授权的第三方不能知道的。此外,收集和构建空间网络将耗费巨大的资源,这使得空间网络数据被视为一种商业机密,禁止被任何竞争对手和未授权的第三方获取。因此,研究以安全的方式对外包空间网络进行查询处理具有重要意义。原有的空间网络查询处理只能在加密环境下执行,才能保证空间网络查询处理的隐私信息不被泄露给不可信的云服务提供者。目前,针对空间网络查询的隐私保护问题,现有研究主要涉及两类,一类是采用匿名技术在空间网络查询处理过程中保护用户的位置隐私,或者基于差分隐私的安全模型去保护查询结果,该安全模型是通过添加噪声的实现的。然而,基于匿名的方法或差分隐私的方法只能防止云服务提供者知道查询处理期间的确切位置信息,它不能满足半可信云服务提供者的安全要求,因为查询的大致位置仍然暴露给云。另一类是在基于加密的保护设置下,现有工作主要集中于对加密空间数据或加密网络数据的查询处理,例如空间数据的安全knn查询、安全最短路径查询、安全子结构查询等。这些工作不能直接应用于解决空间网络上的安全查询处理问题。即使它们可以通过分别采用安全空间查询和安全网络查询的方法计算距离和遍历网络来部分解决安全查询问题,但仍然不能利用网络连接和距离的约束提供一个可用的解决方案来保护空间网络查询处理。因此,有必要研究在加密的空间网络上实现高效的,安全的查询方法。本发明研究并解决了空间网络查询的隐私保护问题,提出一种新的启发式的安全空间网络查询方法。该方法直接在加密的空间网络上利用优先序列结构实现了一种启发式的安全空间网络查询。该查询通过paillier加密系统对数据进行加密,因此,保证了查询中的隐私信息安全,与此同时,本发明针对用户查询请求的隐私安全问题,提出了一种空间查询请求生成的隐私保护方法,保护了用户查询请求中的隐私信息。利用加密的空间网络和安全的查询请求,本发明提出了一种启发式安全空间网络查询处理算法,实现了外包云环境下在加密空间网络上安全高效的查询处理服务。技术实现要素:针对上述问题,本发明的目的是:(1)在外包场景中实现安全空间网络查询,保证空间网络数据、查询请求等敏感信息和用户隐私信息在查询过程中的安全;(2)在加密的空间网络数据上高效地实现查询服务,使外包场景中的空间网络数据得到有效的利用;(3)在保证数据隐私安全的前提下,满足实际应用中用户对于空间网络查询的需求,形成数据加密框架下安全高效的空间网络查询体系。本发明的目的可以通过以下技术方案实现:(1)加密空间网络数据的构建:利用paillier加密系统对空间网络数据进行加密处理。据此,达到保护查询中的隐私信息安全的目的(2)安全查询请求的生成:针对用户查询请求的隐私安全问题,提出了一种基于paillier加密系统的空间查询请求生成的隐私保护方法,保护了用户查询请求中的隐私信息。(3)基础安全空间网络查询处理:利用加密的空间网络和安全的查询请求,提出了一种基础安全空间网络查询处理算法,实现了外包云环境下加密空间网络查询处理服务。(4)启发式安全空间网络查询处理:利用加密的空间网络和安全的查询请求,提出了一种启发式安全空间网络查询处理算法,实现了外包云环境下加密空间网络安全高效的查询处理服务。所述加密空间网络数据的构建;本发明首先对空间网络数据进行加密处理,确保空间网络查询在密文上进行,进而达到保护查询中的隐私信息安全的目的。数据拥有者利用paillier加密系统对空间网络数据按属性进行加密,我们以道路网络为例,每个道路网络可以抽象出节点集(数据集p,目标集d)和边集e,其中,节点集中的每个实体包含节点id,x坐标,y坐标三个属性,针对每个节点实体,本发明利用paillier加密系统对节点的每个属性进行加密处理得到加密的数据集epk(p)和加密的目标集epk(d),针对每条边,本发明对边的权重weight进行预计算处理,并利用paillier加密系统对其进行加密得到epk(w)确保查询过程中的隐私安全。然后,数据拥有者将加密的数据集epk(p),目标集epk(d),加密的边权重集epk(w)以及加密公钥外包给云服务提供者c1,同时将必要的私钥参数外包到云服务提供者c2中。所述安全查询请求的生成;本发明针对用户查询请求的隐私安全问题,提出了空间查询请求生成的隐私保护方法,实现查询过程中查询请求的隐私保护。用户发起查询请求q之前需要对查询请求进行加密以确保查询请求的隐私安全,查询请求q包括查询节点q和请求的最近邻个数k,本发明利用paillier加密系统对查询请求q按属性进行加密得到epk(q),并将其提交给云服务提供者c1,以发起hssnq查询。所述基础安全空间网络查询处理(bssnq),在bssnq查询过程中,云服务提供者c1收到来自认证用户提交的加密查询请求epk(q)后,将分三个步骤来完成加密空间网络上的基础安全空间网络knn查询(bssnq)。首先,本发明将利用安全平方欧氏距离(ssed)协议和安全比较(scmp)协议安全地求出欧式候选序列,然后,计算查询点和欧式近邻之间的最短路径距离,将欧式候选序列转换为基于最短路径的候选序列,最后,本发明利用欧式限制特性更新当前候选序列。第一步,在收到认证用户的加密查询请求之后,云服务提供者c1和c2利用ssed协议和scmp协议计算k个欧式近邻。首先,c1和c2利用ssed协议求出加密查询点epk(q)和目标集中所有加密目标点之间的欧氏距离,然后利用scmp协议对欧氏距离进行排序,最终得到k个欧式近邻构成欧式候选序列。第二步,本发明利用预加密的边权重epk(w)将欧式候选序列转换为基于最短路径的候选序列。首先,基于scmp协议和paillier加密系统的同态加特性,本发明利用dijkstra算法去搜索加密查询点epk(q)和每个目标点epk(pi)之间的之间最短路径,然后,c1通过计算最短路径上预加密的边权重的和得到其加密网络距离epk(dn(epk(q),epk(pi))),并在随机化后发送给c2,c2解密并对其进行升序排序,加密后发送给c1。基于这些加密结果,c1设置当前第k个节点的网络距离epk(dn(epk(q),epk(pk)))为欧式限制,表示为epk(demax)。第三步,c1使用欧式限制特性更新当前结果。首先,c1计算查询点的下一个欧式近邻epk(p),并利用scmp协议比较epk(dn(epk(q),epk(pk)))和epk(dn(epk(q),epk(p))),如果后者小于前者,c1更新epk(demax)并把epk(p)插入到候选序列,重复此步骤,直到epk(de(epk(q),epk(p)))>epk(demax)。然后,c1利用随机数ra随机化查询结果,并将随机化的加密结果发送给c2和随机数ra发送给认证用户。在从c1接收数据之后,c2对其进行解密并将解密结果发送给认证用户。认证用户接收c2给出的随机最终结果和c1给出的随机数ra,然后对结果去随机化,得到最终查询结果,完成bssnq查询。所述启发式安全空间网络查询处理(hssnq);在hssnq查询过程中,云服务提供者c1收到来自认证用户提交的加密查询请求epk(q)后,将分三个步骤来完成加密空间网络上的启发式安全空间网络knn查询(hssnq),然后将随机化处理过的查询结果返回给认证用户。首先,本发明采用了优先序列结构并重写了优先序列的比较器,确保了优先序列结构不会泄露任何隐私信息,其次,本发明对已有结果进行启发式的更新,确保了查询结果的准确性,最后,本发明进行网络节点的启发式扩展,确保了查询的高效性。第一步,本发明采用了优先序列结构,每个优先序列实体包含5个元素,即,<dh,d,n,np,x>,其中,dh:查询节点q到下一个近邻的整体最优估计距离,优先序列排序的关键d:查询节点q到n(经过np)的网络距离n:此优先序列实体对应的节点np:查询节点q到n的路径上的节点x:节点n的欧式近邻本发明利用paillier加密系统对优先序列结构中的每个元素进行加密得到<epk(dh),epk(d),epk(n),epk(np),epk(x)>,确保了优先序列结构不会泄露任何的隐私信息,其中,我们选取epk(dh)作为优先序列实体排序的关键,为启发式搜索提供指引,主要利用了paillier同态加特性,具体计算公式如下:epk(dh)=epk(dn(q,np))+epk(weight(np,n))+epk(de(n,x))epk(dh)由三部分组成,q到n的前一个节点np的加密网络距离,np到n的加密边权重,n到x的加密欧氏距离,三者之和构成启发式搜索的关键,实现了安全的启发式搜索。与此同时,本发明利用安全比较(scmp)协议对优先序列的比较器进行了重写,确保了在优先序列的比较过程中不会泄露任何的隐私信息,即,实现了优先序列的安全进队和安全出队。第二步,本发明对已有结果进行启发式更新。在hssnq中,由于采用了优先序列结构,不仅需要预先计算边的权重,还需要预先计算每个节点n到每个目标点p的欧氏距离。c1首先确定从优先队列中出队的元素是否已经存在于结果集中,如果优先序列中取出的优先序列实体中的元素epk(x)已经存在于结果集中,则利用scmp协议进行更新操作。即,计算当前节点的epk(dh),并利用scmp协议比较当前节点的epk(dh)和优先序列中的第一个元素的epk(dh),如果当前节点的epk(dh)大于优先序列中的第一个元素的epk(dh),则将此优先序列实体插入到优先序列当中,否则直接进行扩展节点步骤。具体而言,认证用户对其查询请求q按属性进行加密,并将加密的查询请求epk(q)发送到c1。在执行查询处理之前,c1执行一些初始化操作。即,c1创建优先队列pq,然后将优先序列实体pqentry(epk(0),epk(0),epk(0),null,null)插入到pq中。同时,c1创建一个hashtablevisitednodes来存储最短路径信息,并创建一个空列表a来存储最终的knn结果。当pq不空时,c1执行优先队列的dequehead操作以取出优先队列的头元素。如果取出的头元素位于a中并且不空,则从预先计算的距离epk(np)中获取<epk(de),epk(x)>,其中epk(x)是q的下一个欧式近邻,epk(de)是它们之间的欧式距离,将用于欧式启发式搜索。然后,c1利用scmp协议来比较epk(de)*epk(d)和pq的头元素的epk(dh),并使用随机数ra(即,)将比较结果u随机化。然后,c1将加密的随机比较结果u发送到c2。在接收到u后,c2对其进行解密,并将解密后的结果v发送给c1。如果v等于0,c1将pqentry(epk(d)*epk(de),epk(d),epk(n),epk(np),epk(x))插入到pq,否则不做任何处理。我们将上述步骤表示为启发式更新。第三步,本发明进行网络节点的启发式扩展,如果优先序列中取出的优先序列实体中的元素epk(n)没有被访问过,c1则将其插入到visitednodes中,如果epk(n)也是个目标点,则将其插入结果集,如果结果集中元素数量等于k或等于目标集中元素数量,c1将调用随机化算法对最终结果进行随机化,以防止查询结果泄漏,并将处理结果输出给认证用户。接下来,c1将从预先加密的边权重集中找到其邻接节点,即epk(na)。如果未被访问,则对于节点epk(n)的每个邻居epk(na),利用paillier同态加特性计算epk(dh),具体来说,首先计算查询节点epk(q)到当前节点epk(n)的网络距离epk(da),即,查询节点epk(q)到当前节点epk(n)的前一个节点epk(na)的网络距离和当前节点epk(n)到其邻居节点epk(na)的边权重的和,epk(da)=epk(d)*epk(weight(na,n)),然后,从预计算距离epk(np)中获得<epk(de),epk(x)>,并计算epk(da)*epk(de),最终得到epk(dh)=epk(da)*epk(de),然后利用scmp协议对epk(dh)进行安全的比较,按由小到大顺序插入到优先序列中,即,c1将优先序列实体pqentry(epk(da)*epk(de),epk(da),epk(na),epk(n),epk(x))插入到优先序列pq中,其中,epk(da)是查询节点到当前节点的加密网络距离,epk(de)是当前节点到其最近欧式近邻的欧氏距离。我们利用其三者之和来实现优先队列的启发式搜索。重复上述步骤,直到得到最终结果。最后,c1调用随机化算法安全地返回最终结果。在随机化算法中,c1通过随机数ra将最终的查询结果随机化,然后将随机加密的结果发送给c2和ra给认证用户。在从c1接收数据之后,c2解密并将解密结果发送给认证用户。认证用户得到c2给出的随机最终结果和c1给出的随机数ra,然后对结果去随机化,得到最终查询结果,完成hssnq查询。本发明的有益效果:相对于现有工作,本发明首次解决了外包云环境下空间网络查询的隐私保护问题,并且理论分析了本发明的安全性和实验验证了本发明具有较好的可用性。附图说明下面结合附图对本发明作进一步的说明。图1是本发明实施例1中涉及的查询响应时间的评估(变化n)图;图2是本发明实施例1中涉及的查询响应时间的评估(变化k)图;图3是本发明实施例1中涉及的优先序列操作次数的评估图;图4是本发明实施例1中涉及的总预处理时间的评估(变化n)图;图5是本发明实施例1中涉及的空间存储的评估(变化n)图;图6是本发明实施例2中涉及的hssnq查询(k=2)实例图。具体实施方式实施例1实验设置如下:使用两台服务器作为云服务器,其配置为intel(r)xeon(r)cpul5638@2.00ghz(dualprocessor)和40.0gbram;使用一台pc作为数据拥有者,其配置为intel(r)core(tm)i3-7100cpu@3.90ghz和8.0gbram。三台主机都运行windows7操作系统。两个数据集采用真实的美国奥斯汀城市道路的空间网络数据集,分别包含526和1,148个节点以及647和1,223条边。与此同时,我们均匀地从数据集中选择10%的节点作为目标集。对于每个数据集,我们使用不同的查询节点执行10组查询,并计算平均查询响应时间。下面我们分别从查询响应时间,优先序列操作次数以及预计算时间和空间花销这三方面对算法进行全面的评估,实验结果如下:在考察“查询响应时间”时,本发明首先对节点的数据规模进行了实验,实验参数中,节点个数分别为100,200,300,500,1000五个值。实验结果如图1所示,随着节点个数的增加,查询响应时间也随着增加;其次,本发明也对近邻的数据规模进行了实验,实验参数中,近邻个数分别为1,2,3,5,10,实验结果如图2所示,随着近邻个数的增加,查询响应时间也随着增加。但是相比于bssnq算法,hssnq的查询响应时间要低很多,可见本发明的hssnq算法是高效的。在考察“优先序列操作次数”时,本发明分别对节点和近邻的数据规模进行了实验,实验参数同上,图3可以看出,优先序列操作次数和查询时间有着相同的趋势,这是由于hssnq算法中采用了优先序列结构,优先序列中使用了比较耗时的安全比较(scmp)协议,因此,造成了更多的查询响应时间。在考察“预计算时间和空间花销”时,本发明对节点的数据规模进行了实验,实验参数中,节点个数分别为100,200,300,500,实验结果如图4,图5所示,节点个数增加会造成预计算时间和空间花销的增加,其中,hssnq的预处理时间和空间花销要比bssnq大,但是针对不同的节点数n和请求近邻数k,hssnq的查询响应时间要比bssnq的快很多,总的来说,这样的时间和存储开销的预处理是可以接受的,用以实现更高的查询效率。实施例2本发明可以应用于外包空间网络查询场景中。数据拥有者利用本发明提出的加密空间网络数据的构建对空间网络进行加密处理,认证用户利用本发明提出的空间查询请求生成的隐私保护方法对查询请求q进行加密,并将加密的查询请求发送到云服务提供者(假设请求的近邻个数k=2),发起hssnq查询请求。图6描述了一个hssnq查询实例(k=2),该实例中有8个对象,其中,查询点epk(q),目标点epk(d1),epk(d2),epk(d3)其他的为网络上的节点,边上的值表示加密的边权重。云服务提供者收到查询请求后,首先,将加密查询加入到优选序列中,然后利用epk(dh)做启发式节点扩展,具体查询过程如下:1)epk(q)出队列,epk(n1),epk(n3)和epk(n4)入队列;当前队列:epk(n1),epk(n3),epk(n4);结果集:null2)epk(n4)出队列,epk(n2),epk(d3)入队列;当前队列:epk(n1),epk(n3),epk(n2),epk(d3);结果集:null3)epk(d3)出队列,epk(d1)入队列;当前队列:epk(n1),epk(n3),epk(n2),epk(d1);结果集:epk(d3)4)epk(n3)出队列,epk(d2)入队列;当前队列:epk(n1),epk(n2),epk(d1),epk(d2);结果集:epk(d3)5)epk(d2)出队列,结果集:epk(d3),epk(d2);得到hssnq2近邻查询结果,查询结束。以上内容仅仅是对本发明结构所作的举例和说明,所属本
技术领域
:的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1