一种基于差分隐私的空间众包工作者位置隐私保护方法与流程

文档序号:11292260阅读:543来源:国知局
一种基于差分隐私的空间众包工作者位置隐私保护方法与流程

本发明涉及网络与信息安全技术领域,具体的说是空间众包的工作者位置数据发布的一种差分隐私保护方法。



背景技术:

众包指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众网络的做法,正因为众包可以极大的减小完成任务所需的成本,并且可以充分有效的利用劳动力和资源,所以被广泛应用于多种活动中。

空间众包是众包的应用中最有前景的一类,它指的是一组空间任务众包发送给一群工作者的过程,这里的空间任务是指和位置有关的任务,然后工作者需要前往这些位置去执行这些任务。在这个过程中,工作者需要将他们的位置信息发送给服务器,服务器就可以根据这些位置信息确定任务传播区域,从而避免了向所有的用户都发布任务所造成的过高的开销。但是,在这个过程中服务器如果是不可信的,就会造成工作者信息泄露的问题。只有确保了工作者信息的安全,才能保证工作者的工作积极性,提高工作效率。

然而,现有的技术方案大多基于k匿名,l多样性等隐私规则解决此类隐私泄露的问题,但是这些方案很难解决背景知识攻击。所谓背景知识攻击,例如,攻击者掌握了工作者经常出现的某些地方的地点以及时间,就可能推测出工作者的兴趣爱好,或者进一步根据攻击者经常出现在医院附近,可预测出工作者的身体状况等敏感信息,这些隐私信息的泄露对于工作者来说会造成很大的威胁。还有一些现有的方案是把所有的工作者的真实位置发送给服务提供商,如果服务提供商对数据管理不善,同样会造成工作者位置信息的泄露,所以有效的保护工作者的位置隐私在空间众包问题中是至关重要的。

发明目的

本发明为了克服现有技术存在的不足之处,提供一种基于差分隐私的空间众包工作者位置隐私保护方法,以期能有效解决因数据库管理不当所可能造成的工作者位置隐私泄露的问题,同时更好的应对背景知识攻击,从而能提高工作者位置隐私的安全性,进而提高空间众包工作者的工作积极性和工作效率。

本发明为解决技术问题所采用的技术方案是:

本发明一种基于差分隐私的空间众包工作者位置隐私保护方法的特点是应用于由服务器、m个任务请求者r={r1,r2,...,ri,...,rm}和n个工作者w={w1,w2,...,wj,...,wn}所构成的工作空间中,其中,ri表示第i个任务请求者,1≤i≤m;wj表示第j个工作者,1≤j≤n,所述m个任务请求者用于发布任务请求,所述n个工作者用于选择是否接受任务;所述空间众包工作者位置保护方法是按如下步骤进行:

步骤一、工作者将真实位置添加一个符合差分隐私机制的噪声,并发送给所述服务器;

步骤1.1、将所述工作空间划分为粒度为m1×m1的网格结构,记为网格集合sk表示第k个网格,1≤k≤m1×m1;

步骤1.2、假设第j个工作者wj在网格集合s的概率为pjk表示第j个工作者wj在第k个网格sk中的概率;

步骤1.3、令n个工作者在所述网格集合s中的真实位置集合为x={x1,x2,...,xj,...,xn},xj表示第j个工作者wj在网格集合s中的真实位置;

步骤1.4、利用式(1)得到所述第j个工作者在所述工作空间中最有可能出现的位置集合δxj:

式(1)中,δ表示控制参数,0<δ<1;

步骤1.5、根据所述第j个工作者的位置集合δxj,利用平面各向同性机制对所述第j个工作者wj的真实位置xi的添加一个相应的噪声noisej,noisej表示第j个工作者wj在真实位置上所添加的位置扰动;

步骤1.6、所述第j个工作者wj将添加噪声后的扰动位置xj′=xj+noisej发送给所述服务器;

步骤二、所述服务器接收到n个工作者发送的扰动位置集合x′={x1′,x′2,...,x′j,...,x′n};

步骤三、所述第i个任务请求者ri向所述服务器发送一条任务请求ti;所述任务请求ti中包含任务的位置信息及工作要求;

步骤四、所述服务器接收到所述第i个任务请求者ri发送的任务请求ri时,根据所述扰动位置集合x′,计算出效用值最大的任务传播区域gr,并向所述任务传播区域gr内的工作者发布任务请求ri;

步骤五、所述任务传播区域gr内的工作者自主选择是否接受任务请求ri。

本发明所述的空间众包工作者位置保护方法的特点也在于,所述步骤四是按如下步骤进行:

步骤4.1、利用式(2)得到工作者平均可接受服务距离md:

式(1)中,li表示所述第j个工作者wj可接受的服务距离;

步骤4.2、利用式(3)获得到第k个网格sk中第j个工作者wj接受任务请求ri的概率p′jk:

p′jk=p(xjk=true)(3)

式(3)中,xjk表示第k个网格sk中第j个工作者wj的随机变量,且xjk服从二项分布binomial(qk,p),qk表示第k个网格sk中工作者的数量,p表示工作者接收任务请求的概率,xjk=true表示所述第k个网格sk中第j个工作者wj接受任务请求ri;

步骤4.3、利用式(4)获得第k个网格sk的效用uk:

式(4)中,效用值uk表示第k个网格sk中至少有一个工作者接受任务的概率;

步骤4.4、定义效用阈值为eu、任务请求ti的任务传播区域为gri、任务传播区域gri的总效用为ui、工作者的最大任务接受区域为mai,且最大任务接受区域mai是以任务请求ti为中心,以2×md为边长的矩形区域;令最大任务接受区域mai中所有的网格记为网格集合表示最大任务接受区域mai中第v个网格,1≤v≤v,v表示最大任务接受区域mai中网格的总数;

初始化ui=0,gri为空集;

步骤4.5、根据式(3)和式(4)获得最大任务接受区域mai中每个网格的效用,并进行降序排序,得到排序后的效用,并根据所述排序后的效用将最大任务接受区域mai中所有的网格也相应进行降序排序,从而得到排序后的网格集合

步骤4.6、判断所述排序后的网格集合s′i是否为空集,若为空集,则输出任务传播区域gr,否则,从排序后的网格集合s′i中依次取出一个网格c,c∈s′i,并将所取出的网格c加入任务传播区域gri中,同时得到更新后的网格集合s″i后,执行步骤4.7;

步骤4.7、利用式(5)计算添加网格c之后的任务传播区域gri中所有网格的总效用ui:

ui=1-(1-ui′)(1-uc)(5)

式(5)中,uc表示网格c的效用;ui′表示添加网格c之前的任务传播区域gri中所有网格的总效用;

步骤4.8、判断ui≥eu是否成立,若成立,则输出任务传播区域gr,否则,将更新后的网格集合s″i赋值给s′i后,返回步骤4.6执行。

相对于现有技术中的方案,本发明的有益效果体现在:

1、本发明通过对工作者的真实位置添加符合差分隐私机制的噪声,解决了现有技术中对于空间众包中工作者的位置隐私保护,无法有效应对背景知识攻击的问题,从而降低了工作者位置隐私泄露的风险,提高了工作者工作的积极性。

2、本发明对工作者的真实位置添加符合差分隐私机制的噪声,不仅可以有效的应对工作者位置信息泄露的威胁,而且还能确保工作者向服务器发送的位置的可用性,保证了空间众包中任务传播区域的效用。

3、本发明通过工作者自身的位置信息对当前位置进行扰动,而不同于其他方案通过工作者之间的位置信息进行位置扰动,这样工作者就无需向数据库发送真实位置,因此,也无需建立工作者位置信息的数据,不但可以降低开销,而且还可以避免因数据库管理不善造成的工作者数据泄露的问题,相比以往的方案,本发明的安全性得到了很大的提高。

4、本发明使用贪心算法计算任务传播区域,利用区域中至少有一个工作者接受任务的概率表示该区域的效用,从而提高了任务传播区域中工作者接受任务的成功率,降低了任务传播所需的开销。

附图说明

图1为本发明方法流程图;

图2为本发明应用场景示意图;

图3为本发明δx集合选择示意图。

具体实施方式

如图2所示,一种基于差分隐私的空间众包工作者位置隐私保护方法,是用于空间众包中保护工作者的位置隐私,在服务器、m个任务请求者r={r1,r2,...,ri,...,rm}和n个工作者w={w1,w2,...,wj,...,wn}所构成的工作空间中,其中,ri表示第i个任务请求者,1≤i≤m;wj表示第j个工作者,1≤j≤n,m个任务请求者用于发布任务请求,n个工作者用于选择是否接受任务;如图1所示,该空间众包工作者位置保护方法是按如下步骤进行:

步骤一、工作者将真实位置添加一个符合差分隐私机制的噪声,并发送给服务器:

步骤1.1、对工作空间划分为粒度为m1×m1的网格结构,记为网格集合sk表示第k个网格,1≤k≤m1×m1;

步骤1.2、假设第j个工作者wj在网格集合s的概率为pjk表示第j个工作者wj在第k个网格sk中的概率;

步骤1.3、令n个工作者在网格集合s中的真实位置集合为x={x1,x2,...,xj,...,xn},xj表示第j个工作者wj在网格集合s中的真实位置;

步骤1.4、利用式(1)得到第j个工作者在工作空间中最有可能出现的位置集合δxj:

式(1)中,δ表示控制参数,0<δ<1;例如,pj={0.2,0.3,0.05,0.01,0.03,0.4,0.002,0.004},分别对应于图3中{s1,s2,s3,s4,s5,s6,s7,s8},那么当δ=0.1时,δxj={s6,s2,s1};如果当δ=0.05时,δxj={s6,s2,s1,s3},直观上说集合δxj就是第j个工作者出现可能性最大的网格;

步骤1.5、根据第j个工作者的位置集合δxj,利用平面各向同性机制对第j个工作者wj的真实位置xi的添加一个相应的噪声noisej,noisej表示第j个工作者wj在真实位置上所添加的位置扰动,为了更好的理解噪声生成过程,首先介绍凸包,集合δxj的凸包是指一个最小的凸多边形,满足δxj中的点或者在多边形上或者在其内部。这里使用分治法求凸包:应用分治法思想,把一个大问题分成几个结构相同的子问题,把子问题再分成几个更小的子问题……。然后就能用递归的方法,分别求这些子问题的解;最后把每个子问题的解“组装”成原来大问题的解。具体求解过程如下:

a)把所有的点都放在二维坐标系里面。那么横坐标最小和最大的两个点q1和qn一定是凸包上的点,分别叫做上包和下包。

b)求上包:即求直线q1qn最远的点,记作qmax。

c)作直线q1qmax、qnqmax,把直线q1qmax左侧的点当成上包,把直线qnqmax右侧的点也当成上包。重复步骤、b,c。

d)对下包也是类似的操作。按上述步骤就得到了这个集合的凸包。

平面各向同性机制是一种对工作者位置信息添加符合差分隐私机制的噪声的方法,利用平面各向同性机制生成噪声按照如下步骤进行:

a)根据上述过程可求得集合δxj的凸包k'j=conv(δxj),conv(δxj)表示对δxj求凸包,conv表示上述求凸包的过程。

b)对k'j中的位置点两两相减得到位置集合δvj,u1和u2在属于k'j的任意的位置点。

c)求出集合δvj的凸包kj,kj=conv(δvj)。

d)从kj中随机均匀的选取l个位置点{y1,y2,...,yl},直到tj趋于稳定,否则继续增加选取位置点l的数量。

e)令k1j=tjkj,从而得到了区域k1j。

f)在区域k1j中随机选择一个位置点z'j,以及生成一个随机数rj,r服从γ(3,ε-1)分布,ε为隐私预算。

g)对于不同的工作者添加的噪声是根据其所在网格的概率进行构造的,noisej=rjtj-1z'j。

步骤1.6、第j个工作者wj将添加噪声后的扰动位置xj′=xj+noisej发送给服务器;在噪声的生成方式上,本发明不同于以往的方案是利用其它工作者的位置信息对自身的位置进行扰动,而是利用自身的位置信息对当前的位置进行扰动。因而,无需建立工作者位置信息的数据库,从而避免了因此可能造成的工作者位置数据的泄露;

步骤二、服务器接收到n个工作者发送的扰动位置集合x′={x1′,x′2,...,x′j,...,x′n};工作者向服务器发送位置信息,是为了让服务器可以根据请求任务的位置信息选取合适的任务传播区域。

步骤三、第i个任务请求者ri向服务器发送一条任务请求ti;任务请求ti中包含任务的位置信息及工作要求;

步骤四、服务器接收到第i个任务请求者ri发送的任务请求ri时,根据扰动位置集合x′,计算出效用值最大的任务传播区域gr,并向传播区域gr内的工作者发布任务请求ri;

步骤4.1、利用式(2)得到工作者平均可接受服务距离md:

式(1)中,li表示第j个工作者wj可接受的服务距离。对于工作者来说,他们倾向于接受距离自己家或者工作者场所更近的任务,而且对于不同的工作者任务的接受率也是不同的;

步骤4.2、利用式(3)获得到第k个网格sk中第j个工作者wj接受任务请求ri的概率p′jk:

p′jk=p(xjk=true)(3)

式(3)中,xjk表示第k个网格sk中第j个工作者wj的随机变量,且xjk服从二项分布binomial(qk,p),qk表示第k个网格sk中工作者的数量,p表示工作者接收任务请求的概率,xjk=true表示第k个网格sk中第j个工作者wj接受任务请求ri,这里采取二项分布生成每隔工作者接受任务的概率;

步骤4.3、利用式(4)获得第k个网格sk的效用uk:

式(4)中,效用值uk表示第k个网格sk中至少有一个工作者接受任务的概率。显然,如果网格中工作者的数量较多,那么这个网格的效用值可能也会较大;

步骤4.4、定义效用阈值为eu、任务请求ti的任务传播区域为gri、任务传播区域gri的总效用为ui、工作者的最大任务接受区域为mai,且最大任务接受区域mai是以任务请求ti为中心,以2×md为边长的矩形区域;令最大任务接受区域mai中所有的网格记为网格集合表示最大任务接受区域mai中第v个网格,1≤v≤v,v表示最大任务接受区域mai中网格的总数;

初始化ui=0,gri为空集;

步骤4.5、根据式(3)和式(4)获得最大任务接受区域mai中每个网格的效用,并进行降序排序,得到排序后的效用,并根据排序后的效用将最大任务接受区域mai中所有的网格也相应进行降序排序,从而得到排序后的网格集合

步骤4.6、判断排序后的网格集合s′i是否为空集,若为空集,则输出任务传播区域gr,否则,从排序后的网格集合s′i中依次取出一个网格c,c∈s′i,并将所取出的网格c加入任务传播区域gri中,同时得到更新后的网格集合s″i后,执行步骤4.7;

步骤4.7、利用式(5)计算添加网格c之后的任务传播区域gri中所有网格的总效用ui:

ui=1-(1-ui′)(1-uc)(5)

式(5)中,uc表示网格c的效用;ui′表示添加网格c之前的任务传播区域gri中所有网格的总效用;

步骤4.8、判断ui≥eu是否成立,若成立,则输出任务传播区域gr,否则,将更新后的网格集合s″i赋值给s′i后,返回步骤4.6执行。

步骤五、所传播区域gr内的工作者自主选择是否接受任务请求ri。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1