本发明属于信息安全技术领域,特别涉及一种车联网的车辆位置隐私保护方法。
背景技术:
在车联网中,车辆可以通过路边单元(roadsideunit,rsu)使用基于位置的服务(locationbasedservice,lbs),例如查找最近的加油站、餐厅等信息,为用户带来极大的便利。但是,lbs服务器获取车辆用户的位置信息后,可以推断出车辆用户的一些私人信息,造成严重的隐私泄露问题。
当前应用在车联网环境下的位置隐私保护方法主要有:k-匿名隐私保护、差分隐私保护、基于混合区模型的隐私保护、基于同态加密的隐私保护、基于虚拟位置的隐私保护等。k-匿名的隐私保护方法通常需要生成一个包含k个用户的匿名区域,使用匿名区域的中心位置代替用户的实际位置信息,实际向lbs服务器提供的是匿名区域中心位置与区域半径,因此lbs服务器得到的用户位置信息不准确,服务质量会受到影响;差分隐私保护方法通过叠加噪声实现隐私保护的目的,但位置信息精度也会受到影响,服务质量无法得到保障;基于混合区模型的隐私保护方法,其中混合区是攻击者无法收集信息的区域,在此区域内可进行假名更换或者交换,车辆经过混合区域后,攻击者无法将离开的车辆和进入的车辆关联对应。这种方法可实现车辆位置隐私保护,但车辆在混合区内的通信会受到限制,并且需要频繁更换车辆假名;基于同态加密的隐私保护方法向lbs服务器提供的是加密后的车辆用户真实位置信息,可以保证位置信息精度,但是由于车辆作为移动设备,计算资源受限,实际应用受到较大限制;基于虚拟位置的隐私保护方法,不需要依赖于可靠的第三方服务器,车辆用户在本地生成一定数量的虚拟位置,利用虚拟位置与真实位置发起多个服务请求,进而保护车辆位置信息,且能保证服务查询的准确性,但是这种方法是通过增大系统通信开销来保护车辆位置隐私的。
目前已有一些基于虚拟位置的位置隐私保护方法,如:申请号为201080070100.1的中国发明专利申请,公开了一种在使用基于位置的服务时通过采用虚拟信息保护位置隐私的方法,局限在于这种方法在虚拟位置的生成过程没有考虑额外的先验信息,隐私保护的有效性难以得到保证;申请号为201910558625.2的中国发明专利申请,公开了一种车联网中基于虚拟位置的车辆位置隐私保护方法,局限在于这种方法没有结合车联网的特性生成虚拟位置,攻击者可以通过获取的额外信息滤除一部分虚拟位置,并且车辆用户请求服务时使用的是匿名区域中心位置,lbs服务器获得的位置信息准确性无法得到保证。
因此,结合车联网的特点,设计一个既保证lbs服务质量又保护车辆位置隐私的方法有着重要意义。
技术实现要素:
本发明针对现有车联网的车辆位置隐私保护方法,缺少与车联网自身特点的结合,且无法同时保证服务质量与隐私安全的问题,提出一种基于虚拟位置的车联网车辆位置隐私保护方法,在考虑道路限制条件下有效生成虚拟位置,能同时保证服务质量与隐私安全。
为了实现上述目的,本发明方法具体是:
步骤(1).建立请求概率模型:
基于位置服务lbs服务器将一个路边单元rsu所管辖区域划分为i×j个正方形单元格cell,celli,j表示第i行第j列的单元格,i=1,2,…,i,j=1,2,…,j;celli,j位置表示为ri,j,采用单元格中心位置表示,每个单元格的边长为l,celli,j的查询概率为qi,j。
基于服务请求的历史数据,lbs服务器统计每个单元格中车辆用户发起服务请求的数量,则每个单元格的服务请求概率为:
单位格的位置和服务请求概率构成大小为i×j的二维信息矩阵q(r,q),r表示单元格的位置信息,q表示对应位置单元格的服务请求概率。
步骤(2).路边单元rsu对请求概率信息进行标注:
lbs服务器将rsu所管辖区域内的二维信息矩阵q(r,q)分发给每个rsu,rsu获取q(r,q)后,结合所管辖范围内的道路信息对q(r,q)进行标注。
设rsu覆盖范围内有n条道路,表示为(r1,r2,…,rn),其中rn为道路n所占位置区域,n=1,2,…,n。根据rsu覆盖范围内的单元格的位置信息与rn的归属关系,对单元格进行归类:如果ri,j∈rn,则将单元格celli,j在信息矩阵q(r,q)中相应元素qi,j(r,q)放入集合rqn中;rsu最终将q(r,q)划分为n个子集,为rq1(r,q),rq2(r,q),…,rqn(r,q)。
步骤(3).设置用户隐私参数:
用户输入隐私保护级别v,0≤v≤99,v越大表示隐私保护级别越高。根据隐私保护级别v计算用户隐私参数k:
步骤(4).生成虚拟位置:
在每条道路上,车辆用户根据位置熵与有效距离生成k-1个虚拟位置,放入虚拟位置可选集c1,c2,…,cn。具体过程如下:
(4-1).确认所在位置概率信息:
车辆用户向rsu获取标注后的rq1(r,q),rq2(r,q),…rqn(r,q),根据自身位置r0判断其所属单元格,查询集合rq(r,q),得到该单元格相应的服务请求概率q0;
(4-2).计算每条道路虚拟位置生成数量m,
(4-3).选择每条道路上的虚拟位置:
对每条道路的集合rqn(r,q)进行以下操作:
a.定义区域位置熵:若生成的虚拟位置集合包含t个位置{r1,r2,...,rt},相应的服务请求概率{q1,q2,...,qt},则区域位置熵
根据位置熵定义可知,选择与车辆用户的服务请求概率q0越接近的位置所形成的虚拟位置集合,区域位置熵越大。
将rqn(r,q)中元素根据服务请求概率q进行排序,然后选择与q0最为接近的2m个位置放入候选集合wn。
b.将r0放入可选集合cn。
c.在候选集合wn中任意取元素rw,计算候选集合wn中所有元素与可选集合cn的有效距离d(rw),并将所计算得到的d(rw)暂存在集合d中。有效距离定义为该元素与集合内所有元素之间距离的最小值,即:
从集合d中选出最大值对应的元素rw,即rw满足
在每次操作中选择与当前可选集合有效距离最大的元素加入到可选集合,能够保证虚拟位置集合中每个位置之间距离最大化。
d.如果|cn|<m 1,返回步骤c;如果|cn|≥m 1,执行(4-4)。
(4-4).虚拟位置集合生成:
将可选集c1,c2,…,cn中除去r0外的所有元素放入虚拟位置集合s,虚拟位置集合s的元素数量为|s|。如果|s|>k-1,则随机选择集合s中k-1个元素保留,删除其余元素;如果|s|≤k-1,执行步骤(5)。
步骤(5).请求服务:
车辆用户利用真实位置r0与虚拟位置集合s中的虚拟位置,结合自身服务类型和服务内容等信息生成|s| 1个服务请求消息;通过rsu将|s| 1个服务请求发送给lbs服务器。
步骤(6).获取服务结果:
lbs服务器收到|s| 1个服务请求消息后,根据服务内容检索得到|s| 1个服务结果,再通过rsu将服务结果返回给车辆用户。
步骤(7).结果筛选:
车辆用户根据自身位置从服务结果中筛选出所需结果,服务结束。
本发明是一种基于虚拟位置的车辆位置隐私保护方法。结合车联网特点,考虑道路信息限制,根据区域位置熵与有效距离生成虚拟位置,进而保护车辆位置隐私。与已有的车辆位置隐私保护方法相比,具有如下有益效果:
(1)采用基于虚拟位置的位置隐私保护方法,可以在没有可靠第三方的情况下,保证隐私保护策略有效执行。
(2)相比于已有的基于虚拟位置的位置隐私保护方法,本发明的虚拟位置生成结合了车联网的特点,考虑了道路信息限制,在道路信息暴露的情况下,能够保证虚拟位置依然有效;采用基于有效距离作为虚拟位置选择依据,能够尽可能的保证车辆位置分散,提高隐私保护效果;车辆用户向lbs服务器发送服务请求中包含车辆用户真实位置信息,能够保证服务结果的准确性。
附图说明
图1为本发明方法的流程图;
图2为实施例中信息交互示意图;
图3为实施例中请求概率分布图。
具体实施方式
以下结合附图并举实施例对本发明进一步详细说明。
一种车联网的车辆位置隐私保护方法,具体流程如图1所示,方法中各部分信息交互如图2所示。
步骤(1).建立请求概率模型,如图3:
基于位置服务lbs服务器将一个路边单元rsu所管辖区域划分为10×10个正方形单元格cell,celli,j表示第i行第j列的单元格,i=1,2,…,10,j=1,2,…,10;celli,j位置表示为ri,j,采用单元格中心位置表示,每个单元格的边长为l,celli,j的查询概率为qi,j。
基于服务请求的历史数据,lbs服务器统计每个单元格中车辆用户发起服务请求的数量,则每个单元格的服务请求概率为:
单位格的位置和服务请求概率构成大小为10×10的二维信息矩阵q(r,q),r表示单元格的位置信息,q表示对应位置单元格的服务请求概率。
步骤(2).路边单元rsu对请求概率信息进行标注:
lbs服务器将rsu所管辖区域内的二维信息矩阵q(r,q)分发给每个rsu,rsu获取q(r,q)后,结合所管辖范围内的道路信息对q(r,q)进行标注。
设rsu覆盖范围内有2条道路,表示为(r1,r2),其中rn为道路n所占位置区域,n=1,2。根据rsu覆盖范围内的单元格的位置信息与rn的归属关系,对单元格进行归类:如果ri,j∈rn,则将单元格celli,j在信息矩阵q(r,q)中相应元素qi,j(r,q)放入集合rqn中。因此,rsu最终将q(r,q)划分为2个子集,rq1(r,q)和rq2(r,q)。
步骤(3).设置用户隐私参数:
用户输入隐私保护级别v,0≤v≤99,本实施例v=80。根据隐私保护级别v计算用户隐私参数k:
步骤(4).生成虚拟位置:
在每条道路上,车辆用户根据位置熵与有效距离生成k-1个虚拟位置,放入虚拟位置可选集c1和c2,具体过程如下:
(4-1).确认所在位置概率信息;
车辆用户向rsu获取标注后的rq1(r,q)和rq2(r,q),根据自身位置r7,3判断其所属单元格为cell7,3,查询集合rq1(r,q),得到该单元格cell7,3相应的服务请求概率q0=0.0138。
(4-2).计算每条道路虚拟位置生成数量:根据道路数量n和用户隐私参数k,计算每条道路虚拟位置生成数量m,
(4-3).选择每条道路上的虚拟位置;
对每条道路rqn(r,q)进行以下操作(以rq1(r,q)为例):
a.定义区域位置熵:
在r1(r,q)将查询概率q进行排序,然后选择与cell7,3查询概率最为接近的4个单元格cell1,2、cell2,2、cell3,3、cell4,3,对应的概率分别为0.0138、0.0138、0.0138、0.0138,将相应的4个位置r1,2、r2,2、r3,3、r4,3放入到候选集合w1。
b.将r7,3放入可选集合c1。
c.在候选集合w1中任意取元素rw,w=1,2,3,4,计算候选集合w1中所有元素与可选集合c1的有效距离d(rw),并将所计算得到的d(rw)暂存在集合d中。
从集合d{60.82m,51.00m,40m,30m}中选出最大值60.82m对应的位置为r1,2,将r1,2放入可选集合c1,从候选集合w1中将r1,2删除,最后将d中所有元素删除。
d.因为|c1|=2<m 1,重新计算候选集合w1中元素与可选集合c1有效距离,得到有效距离集合d{10m,22.36m,31.62m},选出最大值31.62m对应的位置为r4,3,将r4,3放入到可选集合c1中,从候选集合w1中剔除r4,3,最后将d中所有元素删除。
e.因为|c1|=3=m 1,得到可选集合c1{r7,3,r1,2,r3,4}。
对rq2(r,q)进行相同操作,最后得到可选集合c2{r7,3,r8,7,r9,10}。
(4-4).虚拟位置集合生成:
将集合c1和c2中除去用户自身位置r7,3的位置,放入虚拟位置集合s={r1,2,r3,4,r8,7,r9,10}。|s|=4=k-1,执行步骤(5)。
步骤(5).请求服务:
车辆用户利用真实位置r7,3与虚拟位置集合s中的虚拟位置{r1,2,r3,4,r8,7,r9,10},结合自身服务类型和服务内容等信息(如查找距离最近的便利店),生成|s| 1=5个服务请求消息;通过rsu将5个服务请求发送给lbs服务器。
步骤(6).获取服务结果:
lbs服务器收到|s| 1个服务请求消息后,根据服务内容检索得到|s| 1个服务结果{r2,1,r2,1,r7,8,r10,4,r10,9},再通过rsu将服务结果返回给车辆用户。
步骤(7).结果筛选:
车辆用户根据自身位置从|s| 1服务结果{r2,1,r2,1,r7,8,r10,4,r10,9}中筛选出所需结果r10,4(距离最近的便利店位置),服务结束。
上述实施例所述的内容仅仅是对本发明实现形式的列举,本发明的保护范围不应限于实施例所陈述的具体形式,本发明的保护范围也应包含在本发明基础上所构思的同类发明方法。
1.一种车联网的车辆位置隐私保护方法,其特征在于,该方法具体是:
步骤(1).建立请求概率模型:
lbs服务器将一个路边单元rsu所管辖区域划分为i×j个正方形单元格cell,celli,j表示第i行第j列的单元格,i=1,2,…,i,j=1,2,…,j;celli,j位置表示为ri,j,每个单元格的边长为l,celli,j的查询概率为qi,j;
lbs服务器统计每个单元格中车辆用户发起服务请求的数量,每个单元格的服务请求概率
单位格的位置和服务请求概率构成大小为i×j的二维信息矩阵q(r,q),r表示单元格的位置信息,q表示对应位置单元格的服务请求概率;
步骤(2).路边单元rsu对请求概率信息进行标注:
lbs服务器将rsu所管辖区域内的二维信息矩阵q(r,q)分发给每个rsu,rsu获取q(r,q)后,结合所管辖范围内的道路信息对q(r,q)进行标注;
设rsu覆盖范围内有n条道路,表示为(r1,r2,…,rn),其中rn为道路n所占位置区域,n=1,2,…,n;根据rsu覆盖范围内的单元格的位置信息与rn的归属关系,对单元格进行归类:如果ri,j∈rn,则将单元格celli,j在信息矩阵q(r,q)中相应元素qi,j(r,q)放入集合rqn中;rsu最终将q(r,q)划分为n个子集,为rq1(r,q),rq2(r,q),…,rqn(r,q);
步骤(3).设置用户隐私参数:
用户输入隐私保护级别v,0≤v≤99,v越大表示隐私保护级别越高;根据隐私保护级别v计算用户隐私参数k:
步骤(4).生成虚拟位置:
在每条道路上,车辆用户根据位置熵与有效距离生成k-1个虚拟位置,放入虚拟位置可选集c1,c2,…,cn;
步骤(5).请求服务:
车辆用户利用真实位置r0与虚拟位置集合s中的虚拟位置,结合自身服务类型和服务内容等信息生成|s| 1个服务请求消息;通过rsu将|s| 1个服务请求发送给lbs服务器;
步骤(6).获取服务结果:
lbs服务器收到|s| 1个服务请求消息后,根据服务内容检索得到|s| 1个服务结果,再通过rsu将服务结果返回给车辆用户;
步骤(7).结果筛选:
车辆用户根据自身位置从服务结果中筛选出所需结果,服务结束。
2.如权利要求1所述的一种车联网的车辆位置隐私保护方法,其特征在于,步骤(4)具体方法是:
(4-1).确认所在位置概率信息;
车辆用户向rsu获取标注后的rq1(r,q),rq2(r,q),…rqn(r,q),根据自身位置r0判断其所属单元格,查询集合rq(r,q),得到该单元格相应的服务请求概率q0;
(4-2).计算每条道路虚拟位置生成数量m,
(4-3).选择每条道路上的虚拟位置;
(4-4).虚拟位置集合生成:
将可选集c1,c2,…,cn中除去r0外的所有元素放入虚拟位置集合s,虚拟位置集合s的元素数量为|s|;如果|s|>k-1,则随机选择集合s中k-1个元素保留,删除其余元素;如果|s|≤k-1,执行步骤(5)。
3.如权利要求2所述的一种车联网的车辆位置隐私保护方法,其特征在于,(4-3)选择每条道路上的虚拟位置是对每条道路的集合rqn(r,q)进行以下操作:
a.定义区域位置熵:若生成的虚拟位置集合包含t个位置{r1,r2,...,rt},相应的服务请求概率{q1,q2,...,qt},则区域位置熵
将rqn(r,q)中元素根据服务请求概率q进行排序,然后选择与q0最为接近的2m个位置放入候选集合wn;
b.将r0放入可选集合cn;
c.在候选集合wn中任意取元素rw,计算候选集合wn中所有元素与可选集合cn的有效距离d(rw),并将所计算得到的d(rw)暂存在集合d中;有效距离定义为该元素与集合内所有元素之间距离的最小值,即:
w=1,2,…,|wn|,|wn|表示候选集合wn中的元素数量;c=1,2,…,|cn|,|cn|表示可选集合cn中的元素数量;
从集合d中选出最大值对应的元素rw,即rw满足
d.如果|cn|<m 1,返回步骤c;如果|cn|≥m 1,执行(4-4)。
技术总结