一种隐私保护空间众包的任务分配系统模型及实现方法与流程

文档序号:11517914阅读:526来源:国知局
一种隐私保护空间众包的任务分配系统模型及实现方法与流程

本发明属于计算机领域,具体涉及一种空间众包的任务分配系统模型,尤其涉及一种隐私保护空间众包的任务分配系统模型;此外,本发明还涉及该隐私保护空间众包的任务分配系统模型的实现方法。



背景技术:

众包通过将一项任务(通常由指定代理人执行)通过公开招募的形式外包给大众,彻底改变了问题解决方法的格局。众包可以按需提供人才容量和专家服务,所需成本远远少于雇佣专业人士,已经被成功应用于转录书籍、蛋白质折叠、星系分类和交通监测等。最近,众包也已广泛用于应急管理,因为它可以在紧急情况和灾害中高效和低成本的收集关键信息,例如影响区域,危险人群,以及可能需要搜索和救援行动的潜在地区。例如,2015年4月25日,尼泊尔遭受了7.8级地震的袭击。为了提供详细的损伤评估,digitalglobe收集了受影响地区地震前后到高分辨率卫星图像,这些图像被分成小部分并提供给在线人群以识别受损建筑物和道路。因为众包的帮助,21000多个损坏的建筑和道路在一个月内被识别和标记,为救助和重建提供了有价值的数据。

由于无处不在的无线网络和智能移动设备的快速发展,在应急管理中众包可以扮演更为积极主动的角色。一种新型的众包,空间众包(sc)将一个空间任务(即与位置相关的任务)外包给持有移动设备的多个工作者,这些工作者需要到达指定位置并完成任务。我们继续上述在地震中的应急管理的例子。sc服务器发送一个在特定的倒塌建筑物中是否存在幸存者的空间任务给所有可用工作者,包括志愿者和配备有生命检测仪器的专业人员。愿意执行任务的工作者到达建筑物进行检查,并将结果发送回sc服务器。基于随后可以进行的救援计划,例如,如果有人被识别为被困在瓦砾中,则会在现场部署专业重型救援设备。

不管在任何应用领域,众包的成功取决于人群的积极参与。对于空间众包,位置隐私问题是妨碍工人从事空间任务的主要因素。为了实现有效的任务分配(这里的有效性指空间任务可以通过分配给附近的工人而快速完成),sc服务器需要通过工人们的移动设备不断地收集他们的位置。然而,工人非常难以控制由不受信任的第三方,即sc服务器,存储他们的位置数据的使用。事实上,所收集的位置数据很可能被共享,出租或出售,这对个人隐私有严重的影响。基于这些位置数据,入侵者可以对个人进行广泛的攻击,比如物理监视和跟踪,身份窃取和敏感信息(例如家庭住址和生活习惯)破坏等。因此,位置隐私保护,或者更一般地,工作者的隐私保护是空间众包的一个重要方面,因为它可以激励工人积极参与完成空间任务。这对于应急管理特别重要,因为更活跃的工人通常意味着任务可以更快地完成。

现有众包平台上的任务(如amazonmechanicalturk)对所有工人都是公开的。这种模式可能不适合在紧急情况下的空间众包。一旦任务的位置被公开,由利他主义激励的过度工作者便可以去那里执行任务,即使他们没有被要求这样做。这可能引起更多其他的混论,比如交通堵塞。因此,任务的位置不应该被工作人员掌握,除了任务被分配到的人。有时,从任务请求者的角度来看,任务位置保护也是受欢迎的。例如,在家中患有健康问题的人可以通过众包寻求帮助,但是公开其健康问题以及家庭地址明显侵犯了个人隐私。因此,任务位置隐私也应该在空间众包中得到保护。

在基于位置服务的场景下,虽然已经有很多针对位置隐私策略的努力,但是在空间众包应用中的研究工作较少。在[to,h.,ghinita,g.andshahabi,c.:aframeworkforprotectingworkerlocationprivacyinspatialcrowdsourcing.pvldb,7(10),919-930(2014)]中,工作人员的位置被信任方收集和干扰,根据隐私差分注入校准噪声到原始数据[参见dwork,c.,2008,april.differentialprivacy:asurveyofresults.ininternationalconferenceontheoryandapplicationsofmodelsofcomputation(pp.1-19).springerberlinheidelberg.]。在接收到空间任务时,sc服务器查询被干扰过的位置数据,以确定在任务位置附近可能包含足够工人的区域。位于该区域的工人将会接到任务通知,并有权决定是否执行。在这项开创性的工作中提出的解决方案有几个缺点。首先,它只考虑工人的位置隐私,而不考虑任务位置的隐私。第二,它主要基于工人的行进距离执行任务分配,而没有考虑到其他重要因素,例如工人的行进速度,这使得分配结果有时不能令人满意。此外,它的工作基于一个非常强的假设,即有一个可信任方有权访问所有工人的位置。

因此,亟需研发一种既可以保护工人的位置隐私,还可以保护任务位置隐私的空间众包任务分配系统。



技术实现要素:

本发明要解决的技术问题在于提供一种隐私保护空间众包的任务分配系统模型,在任务分配期间,不仅应保护工作者的隐私,还应保护任务隐私,本发明实现了对双方的私人数据进行加密,从而实现强大的互保性。为此,本发明还提供该隐私保护空间众包的任务分配系统模型的实现方法。

为解决上述技术问题,本发明提供一种隐私保护空间众包的任务分配系统模型,包括空间众包服务器、加密服务提供单元、空间任务请求单元和工人移动端;

所述空间任务请求单元用于创建空间任务,将任务信息传送给所述空间众包服务器;

所述空间众包服务器将任务分配给所述工人移动端;

所述加密服务提供单元对所述空间任务请求单元、所述空间众包服务器和所述工人移动端提供隐私保护任务分配管理。

作为本发明优选的技术方案,所述空间任务s是指要在位置ls执行,并与截止日期es相关联的任务;所述工人移动端的工人w是愿意执行空间任务的人,每个工人与由空间众包服务器指定的ididw,速度vw和其当前所处的位置lw相关联。所述空间众包服务器根据工人集合w={w1,w2,…,wn}和空间任务s的位置ls和截止日期es,通过任务分配算法,将任务分配给工作者wi*,工作者wi*需满足两个条件:第一,wi*可以在截止日期es之前到达ls;第二,没有其他工人可以在wi*之前到达ls。

作为本发明优选的技术方案,所述加密服务提供单元提供隐私保护功能,其向空间众包服务器和工人移动端提供密钥服务,隐私保护功能通过对传输数据的加密,并且使空间众包服务器能对加密数据进行计算,保证在通信过程中除了被选中的工作者wi*外,空间众包服务器,加密服务提供单元和所有其他工人都无法获得wi*的id信息。

作为本发明优选的技术方案,所述加密服务提供单元采用paillier密码系统和elgamal密码系统,所述加密服务提供单元生成elgamal的域参数和paillier和elgamal的密钥对,其对私钥进行保密,并向空间众包服务器和所有工人发送公钥。

此外,本发明还提供一种隐私保护空间众包的任务分配系统模型的实现方法,包括如下步骤:

步骤一,空间任务请求单元创建并发布空间任务;

步骤二,空间任务发布至空间众包服务器,空间众包服务器通过任务分配算法,将任务分配给工作者;

步骤三,加密服务提供单元提供隐私保护功能,其向空间众包服务器和工人移动端提供密钥服务。

作为本发明优选的技术方案,步骤二中所述的任务分配算法具体包括如下阶段:

第一阶段,任务位置与工人位置距离计算:空间众包服务器用paillier公钥加密任务位置ls=(xs,ys)后,向所有工人发送三份密文:e(xs2+ys2),e(xs)和e(ys),从空间众包服务器接收到该加密信息后,每个工人wi计算ls和其当前位置li的距离的平方,并进行加密,即:

第二阶段,每个工人行进时间计算:令w={w1,w2,…,wn}是n个工人的集合,v是所有工人速度的乘积,即且vk‘=v/vk,其中1≤k≤n;对于任意两个工人wi,wj∈w,当且仅当d(li,ls)vi‘<d(lj,ls)vj‘时有d(li,ls)/vi<d(lj,ls)/vj;为每个工人计算虚拟行程时间ti’=d(li,ls)vi’,其等同于确切的行程时间ti=d(li,ls)/vi,即具有最短虚拟行程时间的工人必定具有最短的确切行程时间;

第三阶段,获胜工人计算:空间众包服务器具有2元组<i,e(ti’2)>的列表,其中i是人wi的id,1≤i≤n;为了保护工人,尤其是获胜者的身份,它通过一个prffk函数加密每个工人的id,并向加密服务提供单元发送<fk(i),e(tfk(i)’2)>,以找到哪个工人的行程时间最短,以及其是否可以在截止日期es之前到达任务位置;

第四阶段,任务位置广播:一旦接收到e’c(fk(i*)),空间众包服务器便加密任务位置ls并向所有工人广播以如下方式加密ls:

其中h是长度匹配哈希函数,用于将较长的位串映射到较短的位串;一种被证明是语义安全的h的构建方法是,将一个较长的位串截断为多个固定长度的较短位串,并在这些较短位串上进行异或计算并输出;只有获得e’c(fk(i*))信息的工人才能通过计算得到任务位置信息。

作为本发明优选的技术方案,所述第一阶段中,要求所有工人以e(xi2+yi2),e(xi)和e(yi)的形式向空间众包服务器发送加密位置,并要求空间众包服务器计算e(d2(li,ls))。

作为本发明优选的技术方案,所述第二阶段中,每个工人通过elgamal密码系统对其速度进行加密,并将e‘(vi)发送给空间众包服务器,空间众包服务器通过将所有加密的速度相乘获得e’(v);然后,空间众包服务器要求加密服务提供单元解密e’(v),并给所有工人移动端发送v;通过用其速度vi除v,每个工人wi得到vi’的值并计算e(d2(li,ls))vi’2=e(d2(li,ls)vi’2)=e(ti’2);加密的虚拟行程时间被发送到空间众包服务器进行进一步处理;该过程中加密服务提供单元和所有工人都知道v的确切值,这并不违反任何工人的个人隐私。

作为本发明优选的技术方案,所述第三阶段中,由于加密服务提供单元具有paillier的私钥,因此能通过解密e(ti’2)来获得ti’2并计算实际的行程时间然后,加密服务提供单元很容易的找到具有最短行程时间的工人,并判断其是否可以满足截止日期限制;如果不能,加密服务提供单元通知空间众包服务器没有获胜者,否则,它使用elgamal加密获胜者的idfk(i*),并将e’c(fk(i*))发送到空间众包服务器。

作为本发明优选的技术方案,所述第四阶段中,以下步骤确保只有获胜者才能获得e’c(fk(i*))信息:

首先,每个工人wi从空间众包服务器获取加密的idfk(i)),并使用自己的公钥通过elgamal进行加密,然后将加密后的信息e’wi(fk(i))发送给加密服务提供单元,加密服务提供单元接收到该信息后,使用其公钥和用于加密e’c(fk(i*))的相同随机数r再次通过elgamal进行加密;加密服务提供单元随后将结果发送到每个可以通过其私钥来解密以获得e’c(fk(i))的工人;所述公钥应该保密,以保护隐私。

与现有技术相比,本发明具有以下有益效果:

1、双方的隐私保护。在任务分配期间,不仅应保护工作者的隐私,还应保护任务隐私。本发明采用著名的密码系统对双方的私人数据进行加密,从而实现强大的互保性。

2、高效的任务分配。在任务分配期间,行进时间比行进距离更加重要,特别是对于有最后期限的任务,因此在最近的空间众包应用中工作者速度被认为是一个重要指标。本发明统一工人速度与工人的位置,以实现更有效的任务分配。

3、可接收的开销。隐私保护的强度以附加的计算或通信成本为代价。在任务分配期间,本发明组合部分同态加密方案以有效地实现在加密数据上所需的复杂操作,从而避免显著的性能损失。

4、本发明可以实现空间众包中进行高效的任务分配,并提供工作者和任务两方面的隐私保护。这是首次在空间众包中实现双方隐私保护,具有创造性。

5、本发明可以实现现有实用密码系统不能支持的一些复杂操作,通过这种策略,本发明协议可以在可接受的开销下实现双方的隐私保护。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是空间众包的系统模型示意图;其中,图1(a)是非私人空间众包的系统模型示意图;图1(b)是本发明隐私保护空间众包的任务分配系统模型示意图。

图2是本发明隐私保护空间众包的任务分配系统模型的实现方法的流程图。

图3是本发明的隐私保护任务分配协议的概览图。

图4是本发明协议中工人数量相对于行程时间的效率示意图;其中图4(a)代表密钥长度为1024,图4(b)代表密钥长度为2048。

图5是本发明协议中工人数量相对于各方通信开销的示意图;其中图5(a)代表密钥长度为1024,图5(b)代表密钥长度为2048。

图6是通过改变mar来显示本发明协议在wtd(工人行程距离)方面的效率示意图;其中,图6(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图6(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图6(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图6(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

图7是通过改变α来显示本发明协议在wtd(工人行程距离)方面的效率示意图;其中,图7(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图7(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图7(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图7(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

图8是通过改变∈来显示本发明协议在wtd(工人行程距离)方面的效率示意图;其中,图8(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图8(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图8(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图8(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

图9是通过改变mar来显示本发明协议在nnw(通知人数)方面的效率示意图;其中,图9(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图9(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图9(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图9(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

图10是通过改变α来显示本发明协议在nnw(通知人数)方面的效率示意图;其中,图10(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图10(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图10(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图10(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

图11是通过改变∈来显示本发明协议在nnw(通知人数)方面的效率示意图;其中,图11(a)代表所使用数据集为gowalla,工人接受率为行程时间的线性递减函数,图11(b)代表所使用数据集为gowalla,工人接受率服从zipf分布,图11(c)代表所使用数据集为yelp,工人接受率为行程时间的线性递减函数,图11(d)代表所使用数据集为yelp,工人接受率服从zipf分布。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

一、系统模型和问题定义

图1描述了空间众包的系统模型。对于非私人空间众包(见图1(a))有三个组成部分,即sc服务器(sc-server),持有移动设备的工人(workers)和空间任务请求者(taskrequester)。sc服务器负责将适当的工作人员分配给任务请求者创建的空间任务。工人需要通过他们的移动设备向sc服务器报告他们的私人信息(如位置location和速度velocity)。基于该框架,我们给出以下定义。

定义1(空间任务)空间任务s是要在位置ls执行并与截止日期es相关联的任务。

定义2(工人)工人w是愿意执行空间任务的人。每个工人与由sc服务器指定的ididw,速度vw和其当前所处的位置lw相关联。

利用空间众包,任务请求者创建空间任务s并且指定其位置ls和截止日期es。要执行该任务,工人必须在截止日期es之前到达位置ls。在接收到空间任务时,sc服务器基于某些预定义的策略将其分配给适当的工作者。在本发明中,我们假设sc服务器优先选择可能最先到达ls的工作者。我们还假设每个工人以一定的概率接受被分配的任务,表示为接受率(ar)。假设每个工人的ar是100%,我们首先定义简单的任务分配问题如下:

定义3(任务分配问题)令w={w1,w2,…,wn}是n个工人的集合。给定空间任务s,任务分配问题pta(w,s)是将任务s分配给工作者wi*,使得:

1,wi*可以在截止日期es之前到达ls;

2,没有其他工人可以在wi*之前到达ls。

在定义3中,第一个要求意味着tc+d(li*,ls)/vi*≤es,其中tc是当前时间,li*是wi*的当前位置,vi*是wi*的速度,d(li*,ls)是位置li*和ls之间的欧几里得距离。第二个要求意味着不存在wj使得d(lj*,ls)/vj<d(li*,ls)/vi*。为了便于以后的讨论,我们称这个问题的胜者为wi*,并将i*作为其id。注意,当所有的工人在截止日期之前都不能到达ls时,这样的获胜者便不存在。在这种情况下,sc服务器会通知任务请求者没有胜任者。

然而,在实践中,工人不一定会接受分配给他们的任务。为了保证任务被高概率的接受,可以要求多个工人执行任务。假设工人wi的ar是ai。用η(w,s)表示w中至少一个工人接受任务s的概率。显然,因此,我们定义下面的另一个任务分配的问题:

定义4(具有接受保证的任务分配问题)令w={w1,w2,…,wn}是n个工人的集合。给定空间任务s,具有接受保证的任务分配问题ptag(w,s)是将任务s分配给一组工人w*(称为优胜者集合),使得:

1,每个工人wi*∈w*都可以在截止日期es之前到达位置ls;

2,没有其他工人wj∈w\w*可以在任何工人wi*∈w*之前到达位置ls;

3,η(w*,s)≥α,其中α是w*中至少一名工人接受任务s的预期概率。

对手模型。图1(b)是隐私保护空间众包的系统模型。其引入了新的密码服务提供者(csp,cryptoserviceprovider),向sc服务器和工人密钥生成等密钥服务。对于对手模型,我们假设虽有各方都是半诚实的。也就是说,他们完全遵循一个规定的协议,但是可能根据他们所看到的尝试在协议执行时,尽可能多地从其他方的隐私输入学习。特别的,sc服务器会对每个工人的位置和速度以及每个获胜者的id感兴趣。csp也对此以及任务的位置感兴趣。而每个工人则愿意知道其他工作人员的位置和速度,每位获胜者的id,以及任务的位置。作为一个特殊的工人,每个获胜者都有权知道其id和任务的位置,但其也想知道其他工作人员的位置和速度,以及其他获胜者的id。基于对手模型,我们有如下定义:

定义5(隐私保护任务分配问题)令w={w1,w2,…,wn}是n个工人的集合。给定空间任务s,隐私保护任务分配问题ppta(w,s)是以如下方式找到pta(w,s)的获胜者wi*:

1,对于每个工人wi∈w,其位置li和和速度vi信息不能被sc服务器,csp和其他任何工作者wj∈w,wj<>wj获得;

2,任务位置信息ls不能被csp和除了wi*之外的所有工人获得;

3,除了wi*之外,sc服务器,csp和所有其他工人都无法获得wi*的id信息。

虽然它的非隐私版本(即pta)很简单,但ppta在尝试同时保护工人隐私和任务隐私方面非常具有挑战性。特别是获胜者不仅由工人的位置决定,而且还由其速度决定,两者都应该在计算过程中保密。乍一看,这个要求意味着我们需要对密文进行划分。然而,有效的同态分裂现在仍然是一个悬而未决的问题。此外,任务位置ls需要对除了获胜者之外的所有工作人员保密,这使得d(li,ls)的计算比通过明文更难。注意,获胜者必须知道任务位置ls,因为其需要达到该位置以执行任务,所以者不被视为隐私泄露。ppta的最后一个要求表明,sc服务器不被允许知道获胜者的身份。如果sc服务器知道谁是获胜者,则可能会根据某些背景知识(例如任务位置和截止日期)来推断获胜者的大概位置。显然,sc服务器来决定pta的获胜者。然而,在ppta中,sc服务器不被允许知道谁是获胜者。这个矛盾是ppta的另一个难题。

同样,我们对具有接受保证的隐私保护任务分配问题的定义如下:

定义6(具有接受保证的隐私保护任务分配问题)令w={w1,w2,…,wn}是n个工人的集合。给定空间任务s,具有接受保证的隐私保护任务分配问题pptag(w,s)是以如下方式找到ptag(w,s)的获胜者集w*

1,对于每个工人wi∈w,其位置li和和速度vi信息不能被sc服务器,csp和其他任何工作者wj∈w,wj<>wj获得;

2,任务位置信息ls不能被csp和除了w*之中的获胜者之外的所有工人获得;

3,除了wi*之外,sc服务器,csp和所有其他工人都无法获得wi*的id信息。

如图2所示,本发明一种隐私保护空间众包的任务分配系统模型,包括空间众包服务器(sc服务器)、加密服务提供单元(csp)、空间任务请求单元和工人移动端;

所述空间任务请求单元用于创建空间任务,将任务信息传送给所述空间众包服务器;

所述空间众包服务器将任务分配给所述工人移动端;

所述加密服务提供单元对所述空间任务请求单元、所述空间众包服务器和所述工人移动端提供隐私保护任务分配管理。

如图2所示,本发明隐私保护空间众包的任务分配系统模型的实现方法,包括如下步骤:

1)空间任务请求者创建并发布空间任务。空间任务s是指要在位置ls执行,并与截止日期es相关联的任务。

2)空间任务发布至sc服务器。sc服务器根据工人集合w={w1,w2,…,wn}和任务s的位置ls和截止日期es,通过任务分配算法(该任务分配算法即下面“四、隐私保护任务分配协议的算法1”),将任务分配给工作者wi*。工作者wi*需满足两个条件:第一,wi*可以在截止日期es之前到达ls;第二,没有其他工人可以在wi*之前到达ls。

3)加密服务提供者(csp)提供隐私保护功能,其向sc服务器和工人提供密钥服务。隐私保护功能通过对传输数据的加密,并且使sc服务器可以对加密数据进行加法、乘法等计算,保证在通信过程中除了被选中的工作者wi*外,sc服务器,csp和所有其他工人都无法获得wi*的id信息。

二、隐私标准定义

本发明使用理想的范例来定义协议的安全性。直观的说,在协议执行的过程中,如果所涉及的每一方获取的信息都不会比其有权获取的信息更多,那么协议就是安全的或者说是隐私保护的。这可以通过理想范式定义如下:对于所有对手,存在一个基于概率的多项式时间模拟器,使得现实世界中对手的观点和理想世界中模拟器的观点在计算上无法区分。

令p-1为csp,p0为sc服务器,p1,…,pn为n个工人。令viewi,xi和ki(-1≤i≤n)分别为pi的观点,其隐私输入以及在协议p执行期间可以获得的额外信息。协议p的隐私要求的标准定义如下:

定义7如果存在一个基于概率的多项式时间模拟器si,使得:

因为协议p不泄漏比pi的最终输出更多的信息,我们认为协议p对pi是完全隐私保护的。其中对于所有可能输入≡表示在计算上无法区分。如果则认为协议p对pi的隐私保护有ki泄漏,因为它不会泄漏最终输出和比ki更多的信息给pi。

很明显,完全的隐私保护是一个非常强的隐私保证。然而,如此强的保证有时难以通过有效的协议实现。实际上,只要不破坏隐私,在协议p的执行过程中可以允许额外知识ki的公开。也就是说,即使基于知识ki,对手可以获得任何一方的隐私输入的概率也是可以忽略不计的。

三、密码构建块

为解决以上定义的ppta和pptag问题,本发明采用了几种加密工具:伪随机函数,paillier密码系统和elgamal密码系统,简要介绍如下。

伪随机函数(prf)通过黑盒方式观察结果,且随机特性不能与真实随机函数区分。通常,prf由fk表示,其属于prf函数族fλ={fk:{0,1}λ→{0,1}λ}k∈{0,1}λ,以k为索引。我们的工作假设键控单向散列函数(如hmac)可以被建模为伪随机函数。因此,fk函数可以通过使用k键入散列函数并将其应用于x来实现。

paillier是一个公钥密码系统,其安全性基于与分解硬度有关(是否等同还未可知)的假设。它由以下三种算法组成:

–密钥生成:选择两个不同的随机大质数p和q,计算n=pq。选择元素g∈z*n2。公钥pk为(n,g),而私钥sk为(p,q)。

–加密e:令m为zn中的一条消息。其通过选择z*n中的一个随机数来加密,并计算

c=e(m)=gmrnmodn,(1)

其中n和g从公钥pk中获得,c为m的密文。

–解密d:密文c通过如下计算进行解密:

(2)

其中λ=lcm(p-1,q-1)可以通过私钥sk进行计算。

paillier密码系统最重要的特性之一是同态加法。具体地说,将m1的密文和m2的密文相乘,则得到m1+m2的密文;m的密文的k次方,即为km的密文。即:

e(m1)e(m2)=e(m1+m2),(3)

e(m)k=e(km).(4)

此外,paillier是语义安全的,也就是说,攻击者不能从密文中获得任何关于明文部分的信息。同时,它也是一种概率加密方案,这意味着在多次加密相同的消息时,会产生不同的密文。从等式(1)可以清晰的看到,随机数r参与了加密过程。

elgamal是一个公钥密码系统,其安全性基于离散对数问题的难解性。它由一些可以由多个用户共享的公共域参数和三种算法组成:

–域参数。令p为大素数,q为中等素数,使得q|p–1。令g=r(p–1/q)modp<>1,其中r∈fp*。这些公共参数使用用生成参数g创建质数阶q的公共有限阿贝尔组g。

–密钥生成。选择一个整数x,使得0≤x≤q–1并计算h=gxmodp。公钥pk为h,密钥sk为x。

–加密e’。令m为g中的消息。通过选择随机数r来加密,其中0≤r≤q–1,并计算:

c1=gr,c2=mhr.(5)

m的密文c为e’(m)=(c1,c2)。

–解密d’。密文c通过如下计算进行解密:

m=d’(c)=c2(c1x)-1(6)

elgamal也是一种概率加密方案,因为每个消息都由不同的随机数r加密,如等式(5)所示。elgamal密码系统有一个有趣的属性是同态乘法。具体而言,将m1的密文和m2的密文相乘,则得到m1m2的密文,即:

e’(m1)e’(m2)=e’(m1m2),(7)

交换式加密满足两个加密顺序无关的属性。elgamal可以被扩展为支持交换式加密。特别的,两种新算法定义如下:

–二次加密给定用公钥ha加密的密文e’ha(m)=(gra,mhara),其可以通过选择随机数rb,其中0≤rb≤q–1,并计算c1=gra,c2=grb和c3=mharahbrb,其中hb为公钥,来进行二次加密。e’ha(m)的密文为

–二次解密密文(c1,c2,c3)可以通过以不同的顺序使用私钥xa和xb进行解密,其解密结果是相同的。如果首先使用私钥xa,我们有e’hb(m)可以被xb再次解密以获得m。很容易验证,如果首先使用xb然后使用xa,解密结果也是相同的。

四、隐私保护任务分配协议

根据定义5,我们的目标是在不泄露工人位置信息的前提下找到pta的获胜者。虽然可以采用一些现有的隐私保护工具,如k匿名和差异隐私来保护个人隐私,但它们通常假设存在可信的第三方可以访问整个原始数据(比如所有工人的位置信息),这在实践中很难实现。此外,它们以降低数据的利用率为代价来保护个人隐私,这意味着基于它们的方法可能无法准确找到pta的获胜者。因此,我们决定利用加密工具准确地解决ppta问题。为了防止隐私泄露,每个工人的死人数据在发送到sc服务器之前都已被加密。从定义3可知,ppta问题的关键在于确定哪个工作人员最先到达位置ls。为了解决这个问题,我们需要比较两个工人wi和wj的行程时间,即计算以下不等式:

显然,计算包括几个基本操作:加法和乘法(用于距离计算),除法以及比较。需要注意的是,这些操作应该通过密文执行,因为,比如说,为进行隐私保护,li和vi此时已经被加密了。理论上讲,我们可以设计一种基于完全同态加密(fhe)的方案来实现上述计算,但这将导致高昂的计算成本,使得该方法具有有限的实际意义。因此,我们考虑使用部分同态加密方案。虽然它们比fhe效率更高,但它们都不能支持计算不等式(8)所需的所有操作。我们将在下一小节中展示如何解决这个难题。

4.1协议概述

算法1隐私保护任务分配协议

输入:n个工人的集合,每个工人wi的id为i,位置信息为li,速度信息为vi;一个空间任务s(由任务请求者创建),任务位置为ls,截止日期为es;一个sc服务器和一个csp。

输出:获胜者w*得到任务位置ls。

1:阶段0-密钥生成

2:csp生成paillier密钥对(pk,sk)和elgamal密钥对(pk′,sk′)。sc服务器和所有工人得到公钥pk和pk’。私钥sk和sk′信息只由csp掌握。

3:csp生成另外一个elgamal域参数集并公开。基于这些参数,csp再次生成一个公钥pk”但将其保密。每个工人wi也生成一个密钥对(pki”,ski”)并保密。

4:阶段1-隐私保护距离计算

5:sc服务器使用公钥pk加密xs和ys并将结果发送给所有工人。

6:for每个工人wi(1≤i≤n)do

7:wi使用pk加密以得到

8:wi计算

9:endfor

10:阶段2-隐私保护行进时间计算

11:for每个工人wi(1≤i≤n)do

12:wi使用pk′加密vi并将e′(vi)发送至sc服务器。

13:endfor

14:sc服务器计算并发送至csp。

15:csp解密e′(v)并将其发送回sc服务器。

16:sc服务器向所有工人广播v。

17:for每个工人wi(1≤i≤n)do

18:wi计算并将发送至sc服务器。

19:endfor

20:阶段3-隐私保护获胜者计算

21:sc服务器将fk(i)发送至工人wi,其中fk是一个prf。

22:sc服务器将其中1≤i≤n。

23:csp解密并计算其中1≤i≤n。

24:csp计算得到行进时间最小的获胜者wi*,其行进时间为

25:csp使用k′加密fk(i*),并将e′c(fk(i*))发送至sc服务器。

26:阶段4-隐私保护获胜者声明

27:通过计算sc服务器将ls加密并将广播至所有工人。其中h为长度匹配哈希函数

28:for每个工人wi(1≤i≤n)do

29:wi使用pk″i加密fk(i)并将发送至csp。

30:csp使用pk″i将加密,并发送至wi。

31:wi使用私钥sk″i解密以得到e′c(fk(i))。

32:wi尝试通过计算解密

33:endfor

图3给出了隐私保护任务分配协议的概览图。基于上述讨论,我们采用两个部分同态加密方案paillier和elgamal来构建我们的解决方案,它由图3中描绘的五个阶段组成。在第0阶段,根据安全要求,csp生成elgamal的域参数和paillier和elgamal的密钥对。其对私钥进行保密,并向sc服务器和所有工人发送公钥。任务请求者创建空间任务触发阶段1的开始,在该阶段期间,sc服务器和所有工人基于加密的位置信息运行隐私保护距离计算协议,并输出加密后的距离信息。在第2阶段,每个工人的速度被加密并发送到与csp协作的sc服务器,以计算每个工作人员的行程时间。基于第2阶段获得的加密行程时间,sc服务器在第3阶段借助csp计算获胜者,但结果仍然是加密形式。在第4阶段,将加密任务的位置信息广播给所有的工人,但只有获胜者能够检索任务的位置。之后,获胜者到达指定位置执行相应的任务。

4.2详细构建

算法1为隐私保护任务分配协议的具体实现。我们详细解释如下。

第1阶段。因为“三、密码构建块”中已经介绍了第0阶段所需的paillier和elgamal密码系统的关键代码,我们从第1阶段开始介绍协议的详细构建。sc服务器用paillier公钥加密任务位置ls=(xs,ys)后,向所有工人发送三份密文:e(xs2+ys2),e(xs)和e(ys)。从sc服务器接收到该加密信息后,每个工人wi计算ls和其当前位置li的距离的平方,并进行加密,即:

其正确性很容易根据等式(3)和(4)进行验证。注意,我们还可以要求所有工作人员向sc服务器发送加密位置(以e(xi2+yi2),e(xi)和e(yi)的形式),并要求sc服务器计算e(d2(li,ls))。虽然这个过程与我们在非隐私案例中的做法类似,但它会为sc服务器带来更多的计算成本。换句话说,我们目前的设计具有为所有工人分摊计算成本的优点。

第2阶段。如前所述,隐私保护行程时间计算需要对密文进行除法运算。然而,同态分裂的高效实现仍然是一个悬而未决的问题。因此,我们的目标不是设计一个有效的同态分裂方案,而是在计算行程时间的过程中,从技术上排除除法运算。为此,我们使用一个有趣的属性来比较行程时间,也就是说,确切的行程时间的计算是不必要的。此属性由以下引理保证:

引理1令w={w1,w2,…,wn}是n个工人的集合,v是所有工人速度的乘积,即且vk‘=v/vk,其中1≤k≤n。对于任意两个工人wi,wj∈w,当且仅当d(li,ls)vi‘<d(lj,ls)vj‘时有d(li,ls)/vi<d(lj,ls)/vj。

基于该引理,我们为每个工人计算虚拟行程时间ti’=d(li,ls)vi’,其等同于确切的行程时间ti=d(li,ls)/vi,即具有最短虚拟行程时间的工人必定具有最短的确切行程时间。具体来说,每个工人通过elgamal密码系统对其速度进行加密,并将e‘(vi)发送给sc服务器。sc服务器可以通过将所有加密的速度相乘获得e’(v)。然后,sc服务器要求csp解密e’(v),并给所有工人发送v。通过用其速度vi除v,每个工人wi可以得到vi’的值并计算e(d2(li,ls))vi’2=e(d2(li,ls)vi’2)=e(ti’2)。加密的虚拟行程时间被发送到sc服务器进行进一步处理。请注意,上述过程中csp和所有工作人员都知道v的确切值。但是,这并不违反任何工人的个人隐私,这将在下一小节中得到证明。

第3阶段。现在,sc服务器具有2元组<i,e(ti’2)>的列表,其中i是人wi的id,1≤i≤n。为了保护工人,尤其是获胜者的身份,它通过一个prffk函数加密每个工人的id,并向csp发送<fk(i),e(tfk(i)’2)>,以找到哪个工人的行程时间最短,以及其是否可以在截止日期es之前到达任务位置。由于csp具有paillier的私钥,因此可以通过解密e(ti’2)来获得ti’2并计算实际的行程时间然后,csp可以很容易的找到具有最短行程时间的工人,并判断其是否可以满足截止日期限制。如果不能,csp则通知sc服务器没有获胜者。否则,它使用elgamal加密获胜者的idfk(i*),并将e’c(fk(i*))发送到sc服务器。这里的加密是必要的,因为sc服务器可以在得到fk(i*)后推断谁是获胜者。另一方面,由于prf的伪随机性,获胜者的隐私仍然是受到保护的。

第4阶段。一旦接收到e’c(fk(i*)),sc服务器便加密任务位置ls并向所有工人广播具体地,以如下方式加密ls:

其中h是长度匹配哈希函数,用于将较长的位串映射到较短的位串。一种被证明是语义安全的h的构建方法是,将一个较长的位串截断为多个固定长度的较短位串,并在这些较短位串上进行异或计算并输出。显然,只有获得e’c(fk(i*))信息的工人才可以通过计算(ls)⊕h(e’c(fk(i*)))得到任务位置信息。以下流程确保只有获胜者可以获得e’c(fk(i*))信息。

首先,每个工人wi从sc服务器获取加密的idfk(i)),并使用自己的公钥通过elgamal进行加密,然后将加密后的信息e’wi(fk(i))发送给csp。csp接收到该信息后,使用其公钥和用于加密e’c(fk(i*))的相同随机数r再次通过elgamal进行加密。csp随后将结果发送到每个可以通过其私钥来解密以获得e’c(fk(i))的工人。显然,只有获胜者wfk(i*)可以获得e’c(fk(i*))。需要注意的是,这里使用的公钥应该保密,以保护隐私。

备注。在计算e’(v)时,应设置适当的密钥长度,以避免所有工人的速度乘积溢出。例如,我们在实验中使用2048位的密钥来处理1000名工人。如果工人数量很大,可能的方法是使用最小公倍数(lcm)而不是乘法。然而,隐私保护的lcm计算(即计算多个加密数字的最小公倍数)是一个非常具有挑战性的问题,我们将其作为我们未来的研究方向之一。

4.3性能分析

计算代价。表1总结了我们协议的计算代价。我们假设所有工人可以并行执行计算(如加密和解密),并且可以并行与sc服务器和csp进行交互,因此我们只需要考虑一个用户的计算代价。此外,我们忽略代价小的操作,如大整数乘法和位串的异或操作。详细分析如下。在算法1中,sc服务器执行三次paillier加密(第5行),工人wi执行一次paillier加密和两次模幂运算(第7,8行),用于行程距离的隐私计算。在第2阶段,工人执行一次elgamal加密保护其速度(第12行)。加密的速度的乘积由csp(第15行)解密,以实现后续行程时间的计算。这需要工人wi进行一次模幂运算(第18行)。在第3阶段,sc服务器使用n个prf函数来保护工人的id(第21行),csp执行n次elgamal解密(第23行)和一次elgamal加密(第25行)来寻找获胜者并保护其id。在第4阶段,为了交换解密密钥,工人wi将执行一次elgamal加密(第29行)和一次elgamal二次解密(第31行),csp则需执行n次elgamal二次加密(第30行)。

表1所提出协议的计算代价。e,d,e′,d′e,prf分别表示paillier加密,paillier解密,elgamal加密,elgamal解密,elgamal二次加密,elgamal二次解密,模幂和伪随机函数。

表2所提出协议的通信开销。l和l′分别为paillier和elgamal加密系统密钥长度。

通信开销。表2总结了我们协议的通信开销。由于密文的大小通常大于明文大小,我们只考虑每一方发送和接收的密文。需要注意的是,elgamal加密和二次加密的密文长度分别是密钥长度的两倍和三倍。我们省略了详细的分析,分析结果请参考表2。

4.4安全分析

以下分析所提出协议的安全性。

定理1我们的任务分配协议(算法1)对sc服务器,csp和所有工人是分别有k0=v,k-1={v,tfk(1),…,tfk(n)}和ki=v(1≤i≤n)泄露的隐私保护的。

证明:我们首先证明存在一个多项式时间的概率模拟器s0可以在k0=v的条件下模拟sc服务器的视角(view)。假设sc服务器的视角为s0生成视角view0′={e′(x1),...,e′(xn),e(y1),...,e(yn),e′(xn+1),v},其中xi(1≤i≤n+1)是g中服从均匀分布的随机元素,yi(1≤i≤n)是zn中服从均匀分布的随机元素。由于paillier和elgamal都是语义安全的,我们可以很容易证明view0≡view0′。

然后,我们证明存在一个多项式时间的概率模拟器si可以在ki=v的条件下模拟工人wi的视角(view)。若wi不是获胜者,则对其进行模拟时,si生成其中xi(i=1,2,3)是zn中服从均匀分布的随机元素,y从g中随机取样,k是均匀分布于{0,1}λ上的随机元素。对获胜者wi*,其视角所以生成{e(x1),e(x2),e(x3),k,i*,v}为viewi*′。在这两种情况中,根据paillier和elgamal的语义安全性和prf的伪随机性,我们都可以得到viewi≡viewi′。

最后,我们证明存在一个多项式时间的概率模拟器s-1可以在的条件下模拟csp的视角(view)。协议中,csp的视角为对其进行模拟时,s-1生成view-1′={e′(x1),...,e′(xn)}∪k-1,其中xi(1≤i≤n)是g中服从均匀分布的随机元素。因为elgamal的语义安全性,view-1=view-1′显然成立。

上述定理证明了我们的协议是k泄露安全的。在说明泄露k对个人隐私的影响有限之前,我们给出以下引理。

引理2连乘积由范围在1到d(d>n)之间的随机整数生成。当d→∞时,对方程解的个数至少为n!的概率为1。

证明:中各元素都不相等的概率为

序列的任何排列都是合法解。因此,方程至少有n!个解的概率为η(d,n),并且我们有limd→∞η(d,n)=1。

引理3连乘积π和正有理数集{b1,…,bn}由范围在1到d(d>n)之间的随机正整数生成,且满足以下方程:

其中(σ(1),···,σ(n))是(1,…,n)的全排列,那么当d→∞时,该方程至少有n!个解的概率为1。

证明:该证明过程与引理2的证明类似。当d→∞时,互不相等的概率为1,且序列的任何排列都产生一个不同的解。

引理4从1,…,d中选取随机数a,当d→∞时,a为质数的概率为1/logd。

此引理可以直接从素数定理[24]中得到,其指出当d→∞时,数字d之前素数的数目收敛于d/logd。

备注。通过引理4,可知xi为素数或为1的概率可近似为(1/logd+1/d)。因此,所有xi都具有至少两个素因子的概率为

(1–1/logd–1/d)n(11)

当d→∞时,该值收敛于1。这意味着只要d选择得足够大,连乘积π有至少2n个素因子的概率为1。在实践中,方程解的个数远大于所述的n!。

定理2基于信息ki(-1≤i≤n),入侵者pi在执行任务分配协议(算法1)期间可以获得任何一方的私人信息的概率是可以忽略不计的。

证明:首先考虑p0,sc服务器的情况,其拥有信息k0=v。sc服务器可以构建方程假设1≤vi≤d,η(vi)为p0可以获取vi的概率,η(vi|k0)为p0在k0的情况下可以获取vi的概率。由引理2,我们有

一般情况下,这显然是可以忽略不计的。

对pi的证明与p0类似,我们现在考虑p-1(即csp)的情况。因为则csp可以构建一个包含n+1个方程的非线性系统:

由引理3,我们亦有

在一般情况下,这是可以忽略不计的。并且,即使csp获取了d(ls,li)的精确值,其不能获取ls和li信息的概率也远远高于随机猜测。证毕。

备注。需要注意的是,定理2表明隐私保护任务分配协议在一般情况下是安全的。在某些极端情况下,例如,v=1,入侵者可以立即知道每个工人的速度为1。但是随着工人人数的增加,发生这种情况的可能性会急剧下降。

五、性能评估

5.1实验设置

我们基于两类指标来评估我们协议(算法1)的性能:效率相关和有效性相关。前者包括运行时间和通信开销,工人行程距离(wtd),工人行程时间(wtt)和通知人数(nnw)。通常,工人倾向于更短的wtd,任务请求者也如此,因为如果工人具有相同的速度,那么任务便可以更早的被执行。不过,如果工人的速度不同,那么wtd短不一定会更好。在这种情况下,工作人员和任务请求者都更倾向与短的wtt。nnw应保持在较低水平,以降低计算成本和通信开销。

对于有效性评估,我们以to[to,h.,ghinita,g.andshahabi,c.:aframeworkforprotectingworkerlocationprivacyinspatialcrowdsourcing.pvldb,7(10),919-930(2014)]等人的方法为基准。由于他们的方法没有考虑到速度的影响,所以每个工作人员的速度在实验中设置为1。在这种情况下,wtt等于wtd。此外,每个任务的截止日期都被设置为一个很大的值,以使所有工人都可以在截止日期之前到达。由于我们协议不考虑工人的接受率,并且总是返回一个工人(即nnw总是等于1),我们随机生成1000个任务并报告平均结果。

对于效率评估,我们注意到,差分隐私比公钥密码系统明显计算代价更低,但其在计算过程中不能进保护数据(例如,允许受信任的第三方查看所有工人的位置)。因此,把我们的协议(基于公钥密码系统)与to等人的方法(基于差异隐私)在运行时间方面进行比较是无意义的。因此,我们只关注我们协议的效率,测试其开销在实践中是否可以被接受。我们运行我们的协议10次,并报告其平均结果。

我们使用两个真实世界数据集,gowalla和yelp对性能进行评估。gowalla包含基于位置的社交网络中用户的登录历史记录。我们选择加利福尼亚州的一个地区,纬度为33.720183至34.149932,经度为-118.399999至-117.900516。这个地区有5830个用户的登录,这些用户被认为是空间众包系统中的工人。我们将用户登录最多的位置作为其当前位置,并假定可以在任何有过登录记录的位置创建空间任务。对于yelp,我们选择凤凰城的一个区域,纬度从33.205308到33.924407,经度从-112.400283到-111.218100。该地区拥有约67000个用户和11200个公司。公司地点被视为任务,而用户的位置是从其查看过的公司中随机选取的。

我们设定工人人数#w∈{100,400,700,1000},最大接受率mar∈{0.4,0.6,0.8,1},预期任务接受概率α∈{0.7,0.8,0.9,0.99}。由于性能基准依赖于基于隐私预算∈的差异隐私,我们还设置了∈∈{0.1,0.4,0.7,1.0}。对于paillier和elgamal的安全参数,我们参考了nist建议书(2016),并设置密钥长度kl∈{1024,2048},其中1024的密钥长度适用于当前的应用,并且在未来15年(2016-2030)推荐使用长度为2048的密钥。每个参数的默认值以黑体显示。

在我们的实验中,sc服务器和csp在具有四个intelxeone7-88602.2ghzcpu(每个cpu有16个核心)和1tbram的机器上运行。每个工人由具有apq80641.5ghzcpu和2gbram的mi2手机进行模拟。我们使用bouncycastlecrypto包实现我们的协议。代码用java编写,并在jdk1.8中执行。从表1可以看到,我们协议的性能瓶颈是一系列的paillier解密过程。幸运的是,这些昂贵的操作很容易并行进行计算,因为它们是独立执行的。在我们的实验中,我们使用64个线程来执行这些解密。

4.2实验结果

4.2.1效率

图4(a)显示了工人数#w从100增加到1000,步长为300是协议的运行时间。如预料所期,当#w增加时,sc服务器和csp的cpu时间也线性增加,因为它们的计算代价主要来自与工人数量成比例的密码操作。另一方面,尽管工人人数众多,但是使用中等配置手机的工人的计算成本几乎是一个常数,例如约0.1秒。因此,我们的协议在实践中具有良好的可扩展性。在总运行时间方面,我们的协议只需要少于2秒的时间即可实现超过1000名工人的隐私保护任务分配。在图4(b)中可以看到类似的性能趋势,其中使用的2048位密钥可提供更强大的安全保证(这个密钥长度在未来15年被推荐使用)。即使在这种情况下,我们协议的总运行时间依然小于7秒。

在图5中,我们测量了协议中各方的通信开销。从图5(b)可以看出,当使用2048位密钥执行任务分配时,sc服务器,csp和工人分别需要发送或接收2.7mb,2.1mb和0.008mb的数据。我们认为这些开销并不能成为当前移动应用的负担。通过将工人数量从100变为1000,我们在图5中观察到sc服务器和csp的线性增长趋势,因为传输的数据主要是密码,其总通信量与工人的数量成正比。

4.2.2有效性

图6,7和8分别通过改变mar,α和∈来显示我们的协议在wtd(工人行程距离)方面的表现。在所有图表中,我们的协议在数据集(gowalla,yelp)和接受率函数(linear,zipf)的所有组合中表现均优于基准。具体来说,在图6中,我们观察到当mar下降时,我们的协议和基准之间的差异增加。为了解释这一点,我们首先注意到,基准需要访问更多的网格单元才能达到所需的接受率。每个单元通常都包含一些工人。其中一些可能离任务位置较远,但他们可以接受任务。然而,我们的协议总是根据他们的行程时间(或在这种情况下的旅行距离)选择工人。这就是为什么当mar很小时,我们的协议比基准要好得多。图8示出了当提供更强的隐私保护(例如,∈=0.1)时,基准具有较大的wtd。然而,即使仅提供弱的隐私保护(例如,∈=1),我们的协议仍然优于基准。

我们通过改变mar,α和∈来进一步评估我们的协议在nnw(通知人数)方面的表现,并分别在图9,10和11中报告结果。再次,我们的协议在数据集(gowalla,yelp)和接受率函数(linear,zipf)的所有组合中表现均优于基准。在大多数情况下,被通知的工人数量不大于5。在某些极端情况下,例如,α=0.99,我们的协议选择了少于15名工人来执行任务。这可以解释为什么我们的协议可以以非常低的开销扩展到pptag。另一方面,基准需要通知很多工人,因为它在网格单元上工作。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

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