首页 / 专利库 / 电脑编程 / 算法 / 哈希算法 / 一种基于隐私保护的可信LBS服务协议实现方法

一种基于隐私保护的可信LBS服务协议实现方法

阅读:86发布:2020-05-08

专利汇可以提供一种基于隐私保护的可信LBS服务协议实现方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于隐私保护的可信LBS服务协议实现方法,属于车联网安全技术领域。其技术方案为:一种基于隐私保护的可信LBS服务协议实现方法,包括系统设置、用户注册、 位置 隐匿和签名验证四个步骤。本发明的有益效果为:本发明提出实现车联网LBS环境下车辆用户与LBS 服务器 双向可信通信,通过OBU和LBS、TA的协同生成了位置隐匿和身份隐匿,实现了OBU对LBS服务器的位置隐匿、同时实现了OBU的身份认证,所采用的基于无证书的环签名方案更适合车联网环境,具有无条件匿名性和不可伪造性。,下面是一种基于隐私保护的可信LBS服务协议实现方法专利的具体信息内容。

1.一种基于隐私保护的可信LBS服务协议实现方法,其特征在于,包括以下步骤:
步骤一,系统设置:
部署在交通权威机构的密钥生成中心构造加法群和同阶乘法群,采用环签名算法进行系统初始化准备,并且发布用于环签名的公共参数;
步骤二,用户注册:
所有的用户包括车辆、路侧单元和LBS服务器加入到车联网之前需到当地的交通权威机构注册,交通权威机构检查验证用户的身份信息,通过审核后为其注册,每个用户通过注册得各自的密钥对;
步骤三,位置隐匿:
当车辆准备向LBS服务器发出位置相关的请求时,通过车载单元收集附近车辆的广播信标,筛选出有效的车辆坐标位置,通过k-匿名的邻居探索不规则区域隐匿算法形成位置隐匿区域,随机选择隐匿区域中的位置作为虚假位置向LBS服务器请求位置相关服务;
步骤四,签名验证:
车辆用户向LBS服务器请求位置相关服务时,需要保护车辆的身份隐私,使用环签名算法,用收集到的环成员的身份和公钥集合生成环签名,车辆用户将查询消息签名发送给RSU,RSU初步验证后,将该签名的查询消息转发至LBS服务器;LBS服务器验证环签名的身份正确性后,为真正的车辆用户提供位置服务。
2.根据权利要求1所述的基于隐私保护的可信LBS服务协议实现方法,其特征在于,所述步骤一具体包括以下内容:
假设给定一个安全参数λ,由部署在交通权威中心的密钥生成中心生成系统参数,具体内容如下:
密钥生成中心选择阶数为大素数q(q>2λ)的循环加法群G1和与其同阶的循环乘法群G2,p为G2的生成元,e:G1×G1→G2是一个双线性对,并且随机选择 作为系统主密钥;计算p0=sp作为系统公钥,交通权威中心选择三个哈希函数
将params={q,e,G1,G2,p,p0,h,h1}作为系统参数,交通权威中心发布用于生成环签名的系统参数。
3.根据权利要求1或2所述的基于隐私保护的可信LBS服务协议实现方法,其特征在于,所述步骤二中用户注册包括车辆注册、路侧单元以及LBS服务器注册,具体内容如下:
(1)车辆注册具体包括如下步骤:
Step1:车辆Vi向交通权威中心注册时提供真实身份IDi和系统参数params;
Step2:交通权威中心审核并且存储其真实身份IDi;
Step3:车辆随机选择 作为秘密值,并向交通权威中心传送车辆身份IDi和系统参数params;
Step4:密钥生成中心计算Qi=h(IDi)和ti=sQi=sh(IDi),向车辆用户返回(Qi,ti),其中Qi为部分公钥,ti为部分私钥,部分公钥对外公开,部分私钥通过安全通道传送给车辆用户;
Step5:车辆用户收到后,计算si=riti,生成对应的完整公钥PKi=ri(p+Qi)和完整私钥SKi=(ri,si);
(2)路侧单元和LBS服务器注册具体包括如下步骤:
Step1:路侧单元和LBS向TA提供身份信息 和IDLBU;
Step2:交通权威机构审核信息,若通过,选择一个随机数
Step3:交通权威机构计算其公钥 和pkLBU;
Step4:交通权威机构计算 和h(IDLBU||pkLBU)作为身份标识生成对应的
私钥 和skLBU;
Step5:将密钥和系统参数存储到路侧单元和LBS服务器的防篡改设备中。
4.根据权利要求1-3任一项所述的基于隐私保护的可信LBS服务协议实现方法,其特征在于,所述步骤三位置隐匿具体内容如下:
车载单元根据周围车流量状况生成三个参数分别是k,Amin,Amax,其中k代表着最小匿名度,Amin代表着最小匿名面积,Amax代表着最大匿名面积;
Step1:当车辆准备向LBS服务器发出位置相关的请求时,车载单元使用一个时间窗口Δt缓存周围车辆发送的信标信息,并存入信息列表中,信息列表使用一种单链表形式,所述单链表设为List,List中存有周围同向行驶的k辆车的信息,具体是车辆身份,车辆位置,车辆速度,标志位VehicleFlag,历史标志位VehicleHistory,其中,VehicleFlag表示是否需要发现其下一跳车辆节点的邻居节点,VehicleHistory表示是否已经加入到隐匿区域中,初始化均为false;
Step2:车辆向外寻找收集的k个邻居节点,置VehicleHistory的历史标记位为true,表示已经加入到隐匿区域内,若满足k则转到Step4;
Step3:车辆将已经加入到隐匿区域内的节点VehicleFlag置为True,表示需要发现其下一跳节点,继续向外寻找k个节点中的邻居节点,若满足k,转到Step4;否则转到Step3;
Step4:将VehicleFlag=false的节点作为边界节点形成隐匿区域,计算隐匿区域面积Area,若Area<Amin,k+1转到Step1;若Amin<Area<Amax,匿名成功;Area>Amax,匿名失败;
Step5:匿名成功后随机选择隐匿区域内的某个位置作为虚假位置,并用此位置向LBS服务器请求服务。
5.根据权利要求1-4任一项所述的基于隐私保护的可信LBS服务协议实现方法,其特征在于,所述步骤四中签名验证具体包括请求环签名、生成环签名和验证环签名三个阶段,具体内容如下:
(1)请求环签名:
车辆在进入路侧单元覆盖的区域时,需要提供自己的公钥向路侧单元认证自己的身份,路侧单元收集进入该区域的车辆的身份和公钥信息,达到预设定的匿名集大小时,路侧单元将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户;
(2)生成环签名:
Step1:车辆用户Vα对于 随机选择不同的
计算除了签名者本身以外的环成员的Hash值,Hi=h1(m||Xi||IDi||PKi||L);其中的参数包括查询消息m、随机值Xi、环成员身份IDi、环成员公钥PKi和匿名范围内环成员身份集合L;
Step2:车辆用户Vα随机选择 计算签名者本身的Hash值,
Hα=h1(m||Xα||IDα||PKα||L);
Step3:车辆用户Vα计算签名值η=xαtα+p0Hαrα+Hαsα;其中的参数包括车辆用户Vα选择的随机值xα、部分私钥tα和sα、系统公钥p0、签名者Hash值Hα和秘密值rα;
Step4:车辆用户Vα生成对查询消息m的环签名σ=(m,X1,X2,...,Xn,η);
(3)验证环签名:
Step1:环签名生成后,车辆用户Vα将关于查询消息的环签名σ以及环成员的身份和公钥集合用距离OBU通信距离最短的路侧单元的公钥进行加密后发送给路侧单元;
Step2:路侧单元用自己的私钥解密后,通过比较环成员公钥集合是否与自己之前发放的用以生成环签名的公钥集合一致,对车辆用户身份的真实性与合法性进行初步验证;
Step3:验证通过之后,路侧单元将车辆用户发送的消息以及环成员身份和公钥集合通过LBS服务器的公钥加密后传送给LBS服务器;
Step4:LBS服务器收到后先用自己的私钥解密,再对环签名进行验证,计算Hi=h1(m||Xi||IDi||PKi||L),验证 验证通过,LBS服务器接受环签名并
向签名者提供的位置发送请求服务的具体位置和路径信息,该位置收到后通过广播形式发送给签名者,否则,拒绝接受该环签名。

说明书全文

一种基于隐私保护的可信LBS服务协议实现方法

技术领域

[0001] 本发明涉及车联网安全技术领域,尤其涉及一种基于隐私保护的可信LBS服务协议实现方法。

背景技术

[0002] 车联网(VANET)是智能城市的标志之一,有着非常广阔的发展前景,它是由车辆位置、速度和路线等信息组成的大型交互网络。
[0003] 车联网系统主要由车载单元(OBU)、路侧单元(RSU)、交通权威中心(TA)和LBS服务器组成,密钥生成中心(PKG)部署在TA中:
[0004] 车载单元(OBU):车载单元是装置在每辆车上的智能设备,是车联网中不可缺少的基本配置。车载单元周期性地向周围车辆发送信标信息,极大地改善了道路交通安全。
[0005] 路侧单元(RSU):路边单元是部署到道路两侧或路口的基站,负责管理其通信范围内的所有车载单元间的通信,一般路边单元的通信半径为300到500米。
[0006] 交通权威中心(TA):负责车辆的注册和管理,当出现交通事故时,负责追踪违规车辆。
[0007] LBS服务器:为车辆用户提供位置相关服务。例如车辆用户寻找资源“距离该车辆最近的餐馆在哪里”或者是道路导航“从当前位置到附近医院那一条路最近”等等。
[0008] 如上所述,在VANET中车辆可以与其它车辆或者路侧单元进行通信进而获得相关的众多应用,如交通管理、安全驾驶、交通信息等应用。这些应用很多都以位置服务(LBS)为基础。位置服务(LBS)是通过全球定位系统(GPS)或者其他技术,获取移动用户的位置信息,并利用地理信息系统(GIS),为终端用户提供与其当前空间位置相关的个性化服务。服务过程如下:
[0009] (1)车辆用户使用具有定位功能的车载单元,通过定位技术获取所在的位置坐标;
[0010] (2)车辆用户通过RSU向LBS服务器转送查询请求,内容根据应用不同有所区别,一般包括用户身份、查询内容以及地理位置信息;
[0011] (3)LBS服务器根据用户提交的查询内容及要求进行相应计算,并把结果集通过RSU返回给车辆用户。
[0012] 车联网LBS服务存在很大的安全隐患。一方面,对于车辆用户而言,向LBS服务器请求位置相关服务时需要提供自己的真实位置,但LBS服务器为半可信的不安全服务器,例如:非法攻击者可通过攻击LBS服务器,获取车辆用户的历史位置信息,结合车辆用户的真实身份,推导出车辆用户的行车轨迹,掌握用户的历史行程记录、生活习惯等信息,从而对用户的隐私产生极大威胁。另一方面,对于LBS服务器而言,车辆用户也非完全可信。例如:攻击者可以伪造大量虚假的位置服务请求,对LBS服务器进行欺骗或者拒绝服务攻击。
[0013] 针对上述问题可以得出,一个完整的车联网LBS安全服务协议必须实现车辆节点和LBS 服务器双向可信的通信。即车辆向LBS服务器提出服务请求时,必须有效的证明自己的身份。同时,LBS服务器中存放的车辆节点历史位置记录必须以某种可靠安全的方式进行保存。
[0014] 目前尚没有学者提出车联网环境基于LBS服务的OBU和位置服务器双向安全的通信方案,一般都是对其中的单侧安全问题的讨论。
[0015] 如由于车辆用户基于对服务器的不信任,车辆用户一般采用位置隐匿的方式获取服务,目前常用的位置隐匿策略有:k-匿名、位置伪造、静默周期、混合区域、空间模糊和坐标转换等。
[0016] (1)k-匿名:
[0017] 位置k-匿名模型是使用最广泛的隐私保护模型,其基本思想是指在一个移动用户的位置无法与其他k-1个移动用户的位置相区别时,称此移动用户的位置满足位置k-匿名。而传统的k-匿名算法参数过于单一,仅通过k值来确定匿名区域,不适合于车联网环境。
[0018] (2)混合区域:
[0019] 混合区域是指一些特定的服务限制区域,车辆用户只能在这些区域中修改假名,从而使得他们之前使用的假名和新的假名么间没有明思的链接关系。在区域中会有许多车辆用户同时修改假名,利用这种混合的方法达到位置隐化保护的目的。但是现有的大多数混合区域方案都没有合适的混合区域选择算法来提供有效且足够安全的位置隐私。
[0020] (3)位置伪造:
[0021] 位置伪造是指车辆用户使用虚拟的位置信息以混淆恶意攻击者。用户使用LBS服务时在发送的位置数据中加入干扰信息,即一些伪造或仿制的位置。LBS服务器在收到这些消息后无法分辨出用户的真实位置,只能对所有的消息请求进行响应,然后用户根据自己实时的真实位置获取对应的位置服务信息。然而,这同时也带来了一些问题,不合适的虚拟位置方案将导致严重的后果。如果车辆可以随意产生很多的虚拟位置并能传播到车联网中,将可能会导致交通信息混乱甚至交通事故,比如女巫攻击。而且车辆伪造出的虚拟位置能否达到混淆真实位置的效果也是这种隐私保护策略的关键问题。
[0022] (4)空间模糊和坐标转换:
[0023] 空间模糊的方法通过故意降低用户位置的精确度来保护位置隐私,用户使用空间坐标转换将真实的位置转换成模糊的附近位置或区域,然后发送给LBS服务器。因为用户可以自主选择模糊区域,所以空间模糊策略不依赖任何可信第三方即可达到位置隐私保护。但同时这种方法会降低用户位置的准确度,影响位置服务的质量
[0024] (5)静默周期:
[0025] 在车辆用户使用LBS服务的时间段内加入静默周期时段,再结合频繁更换的假名,使攻击者难以长时间持续的追踪车辆。车辆在静默时段不能发送LBS请求和任何位置更新信息,对于攻击者来说,相当于该车辆消失在路段中。而当车辆离开静默时段开始发送位置请求使用LBS服务时,由于假名已经改变并且新的位置信息无法链接到静默时段前的位置,所以攻击者很难确定车辆的行驶路线,避免了位置隐私的泄露。但这种策略的缺点同样明显,用户在静默周期内不能发送LBS请求,不适合实时性较高和事件驱动型的LBS服务。
[0026] 另一方面,由于LBS服务器对请求服务的车辆用户也并不信任,需要认证车辆用户身份的真实性和有效性。基于隐私保护,车联网中的身份认证通常有群签名、假名和基于身份的环签名技术。
[0027] 1)群签名技术:车辆组织成一个群,每个群成员都有自己的公私销对,并形成一个群管理者,每个车辆都可以用自己的私钥对消息进行签名,其真实性可以通过群公钥进行验证,即证明其确实来自于某一个群,而不会揭露其真正对应哪个具体成员。若某群成员为了独享道路资源而发布虚假消息导致交通事故时,群管理者利用其预留的群私钥将该消息的签名打开,即可找出对应的群成员进行问责。但是群签名本身存在许多缺陷,它存在管理者,并且管理者拥有过大的权限,一旦该管理者被攻击者攻破,所有的群成员密钥都会被泄露除此之外,添加和删除群成员需要改变群密钥。
[0028] 2)假名技术:基于假名的认证方案是车联网研究中普遍接受的方案,但是由于假名变换过程容易泄露车辆的身份,使得攻击者能够将假名和相关车辆关联起来,进而有效追踪车辆的运行轨迹,揭示车辆的身份。

发明内容

[0029] 本发明的目的在于提供一种基于隐私保护的可信LBS服务协议实现方法,该方法是基于k-匿名的位置隐匿新算法和改进的环签名,以达到LBS服务器在不揭露用户真实身份的基础上就能够确认用户身份的合法性与真实性,同时车辆用户在请求LBS相关服务时,不需要提供真实的地理位置信息,从而建立一种基于隐私保护的可信LBS服务协议,以保护 LBS服务器与车辆用户双向的通信安全。
[0030] 本发明是通过如下措施实现的:一种基于隐私保护的可信LBS服务协议实现方法,其中,包括以下步骤:
[0031] 步骤一,系统设置:
[0032] 部署在交通权威机构的密钥生成中心构造加法群和同阶乘法群,采用环签名算法进行系统初始化准备,并且发布用于环签名的公共参数;
[0033] 步骤二,用户注册:
[0034] 所有的用户包括车辆、路侧单元和LBS服务器加入到车联网之前需到当地的交通权威机构注册,交通权威机构检查验证用户的身份信息,通过审核后为其注册,每个用户通过注册得各自的密钥对;
[0035] 步骤三,位置隐匿:
[0036] 当车辆准备向LBS服务器发出位置相关的请求时,通过车载单元收集附近车辆的广播信标,筛选出有效的车辆坐标位置,通过k-匿名的邻居探索不规则区域隐匿算法形成位置隐匿区域,随机选择隐匿区域中的位置作为虚假位置向LBS服务器请求位置相关服务;
[0037] 步骤四,签名验证:
[0038] 车辆用户向LBS服务器请求位置相关服务时,需要保护车辆的身份隐私,使用环签名算法,用收集到的环成员的身份和公钥集合生成环签名,车辆用户将查询消息签名发送给RSU, RSU初步验证后,将该签名的查询消息转发至LBS服务器;LBS服务器验证环签名的身份正确性后,为真正的车辆用户提供位置服务。
[0039] 作为本发明提供的一种基于隐私保护的可信LBS服务协议实现方法的进一步优化方案,所述步骤一具体包括以下内容:
[0040] 假设给定一个安全参数λ,由部署在交通权威中心的密钥生成中心生成系统参数,具体内容如下:
[0041] 密钥生成中心选择阶数为大素数q(q>2λ)的循环加法群G1和与其同阶的循环乘法群 G2,p为G2的生成元,e:G1×G1→G2是一个双线性对,并且随机选择 作为系统主密 钥;计算p0=sp作为系统公钥,交通权威中心选择三个哈希函数将params={q,e,G1,G2,p,p0,h,h1}作为系统参数,交通权威中心发布用于 
生成环签名的系统参数。
[0042] 作为本发明提供的一种基于隐私保护的可信LBS服务协议实现方法的进一步优化方案,所述步骤二中用户注册包括车辆注册以及路侧单元和LBS服务器注册,具体内容如下:
[0043] (1)车辆注册具体包括如下步骤:
[0044] Step1:车辆Vi向交通权威中心注册时提供真实身份IDi和系统参数params;
[0045] Step2:交通权威中心审核并且存储其真实身份IDi;
[0046] Step3:车辆随机选择 作为秘密值,并向交通权威中心传送车辆身份IDi和系统参 数params;
[0047] Step4:密钥生成中心计算Qi=h(IDi)和ti=sQi=sh(IDi),向车辆用户返回(Qi,ti),其中Qi为部分公钥,ti为部分私钥,部分公钥对外公开,部分私钥通过安全通道传送给车辆用户;
[0048] Step5:车辆用户收到后,计算si=riti,生成对应的完整公钥PKi=ri(p+Qi)和完整私钥 SKi=(ri,si);
[0049] (3)路侧单元和LBS服务器注册具体包括如下步骤:
[0050] Step1:路侧单元和LBS向TA提供身份信息 和IDLBU;
[0051] Step2:交通权威机构审核信息,若通过,选择一个随机数
[0052] Step3:交通权威机构计算其公钥 和pkLBU;
[0053] Step4:交通权威机构计算 和h(IDLBU||pkLBU)作为身份标识生成对应的 私钥 和skLBU;
[0054] Step5:将密钥和系统参数存储到路侧单元和LBS服务器的防篡改设备中。
[0055] 作为本发明提供的一种基于隐私保护的可信LBS服务协议实现方法的进一步优化方案,所述步骤三位置隐匿具体内容如下:
[0056] 车载单元根据周围车流量状况生成三个参数分别是k,Amin,Amax,其中k代表着最小匿名度,Amin代表着最小匿名面积,Amax代表着最大匿名面积;
[0057] Step1:当车辆准备向LBS服务器发出位置相关的请求时,车载单元使用一个时间窗口Δt 缓存周围车辆发送的信标信息,并存入信息列表中,信息列表使用一种单链表形式,所述单链表设为List,List中存有周围同向行驶的k辆车的信息,具体是车辆身份,车辆位置,车辆速度,标志位VehicleFlag,历史标志位VehicleHistory,其中,VehicleFlag表示是否需要发现其下一跳车辆节点的邻居节点,VehicleHistory表示是否已经加入到隐匿区域中,初始化均为false;
[0058] Step2:车辆向外寻找收集的k个邻居节点,置VehicleHistory的历史标记位为true,表示已经加入到隐匿区域内,若满足k则转到Step4;
[0059] Step3:车辆将已经加入到隐匿区域内的节点VehicleFlag置为True,表示需要发现其下一跳节点,继续向外寻找k个节点中的邻居节点,若满足k,转到Step4;否则转到Step3;
[0060] Step4:将VehicleFlag=false的节点作为边界节点形成隐匿区域,计算隐匿区域面积 Area,若Area<Amin,k+1转到Step1;若Amin<Area<Amax,匿名成功;Area>Amax,匿名失败;
[0061] Step5:匿名成功后随机选择隐匿区域内的某个位置作为虚假位置,并用此位置向LBS 服务器请求服务。
[0062] 作为本发明提供的一种基于隐私保护的可信LBS服务协议实现方法的进一步优化方案,所述步骤四中签名验证具体包括请求环签名、生成环签名和验证环签名三个阶段,具体内容如下:
[0063] (2)请求环签名:
[0064] 车辆在进入路侧单元覆盖的区域时,需要提供自己的公钥向路侧单元认证自己的身份,路侧单元收集进入该区域的车辆的身份和公钥信息,达到预设定的匿名集大小时,路侧单元将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户;
[0065] (2)生成环签名:
[0066] Step1:车辆用户Vα对于 随机选择不同的 Xi∈RG1计算除了签名者本身以外的环成员的Hash值, Hi=h1(m||Xi||IDi||PKi||L);
其中的参数包括查询消息m、随机值Xi、环成员身份IDi、环 成员公钥PKi和匿名范围内环成员身份集合L;
[0067] Step2:车辆用户Vα随机选择 计算签名者本身的Hash值, 
[0068] Step3:车辆用户Vα计算签名值η=xαtα+p0Hαrα+Hαsα;其中的参数包括车辆用户Vα选择的随机值xα、部分私钥tα和sα、系统公钥p0、签名者Hash值Hα和秘密值rα;
[0069] Step4:车辆用户Vα生成对查询消息m的环签名σ=(m,X1,X2,...,Xn,η)。
[0070] (3)验证环签名:
[0071] Step1:环签名生成后,车辆用户Vα将关于查询消息的环签名σ以及环成员的身份和公钥集合用距离OBU通信距离最短的路侧单元的公钥进行加密后发送给路侧单元;
[0072] Step2:路侧单元用自己的私钥解密后,通过比较环成员公钥集合是否与自己之前发放的用以生成环签名的公钥集合一致,对车辆用户身份的真实性与合法性进行初步验证;
[0073] Step3:验证通过之后,路侧单元将车辆用户发送的消息以及环成员身份和公钥集合通过LBS服务器的公钥加密后传送给LBS服务器;
[0074] Step4:LBS服务器收到后先用自己的私钥解密,再对环签名进行验证,计算 Hi=h1(m||Xi||IDi||PKi||L),验证 验证通过,LBS服务器接 受环签名并向签名者提供的位置发送请求服务的具体位置和路径信息,该位置收到后通过 广播形式发送给签名者,否则,拒绝接受该环签名。
[0075] 具体地,作为本发明提供的一种基于隐私保护的可信LBS服务协议实现方法包括以下步骤:步骤一,系统设置:
[0076] 部署在交通权威机构(TA)的密钥生成中心(PKG)构造加法群和同阶乘法群,然后采用环签名技术进行系统初始化准备,并且发布用于环签名的公共参数。
[0077] 步骤二,用户注册:
[0078] 所有的用户包括车辆、路侧单元和LBS服务器加入到车联网之前都必须要到当地的交通权威机构注册,交通权威机构负责检查验证用户的身份信息,通过审核后为其注册,每个用户通过注册后获得各自的密钥对;
[0079] 步骤三,位置隐匿:
[0080] 当车辆准备向LBS服务器发出位置相关的请求时,通过车载单元(OBU)收集附近车辆的广播信标,筛选出有效的车辆坐标位置,通过基于k-匿名的邻居探索不规则区域隐匿算法形成位置隐匿区域,随机选择隐匿区域中的位置作为虚假位置向LBS服务器请求位置相关服务;
[0081] 步骤四,签名验证:
[0082] 车辆用户向LBS服务器请求位置相关服务时,需要保护车辆的身份隐私,避免身份认证时候泄露身份信息,使用环签名算法,用收集到的环成员的身份和公钥集合生成环签名,车辆用户用此将查询消息签名发送给RSU,查询消息包括位置信息和查询内容,RSU初步验证后,将该签名的查询消息转发至LBS服务器,LBS服务器验证环签名的身份正确性后,为真正的车辆用户提供位置服务;
[0083] 进一步地,所述步骤一具体包括以下步骤:
[0084] 假设给定一个安全参数λ,由部署在交通权威中心(TA)的密钥生成中心(PKG)生成系统参数,具体内容如下:
[0085] PKG选择阶数为大素数q(q>2λ)的循环加法群G1和与其同阶的循环乘法群G2,p为G2的生成元,e:G1×G1→G2是一个双线性对,并且随机选择 作为系统主密钥,不对外 公开,计算p0=sp作为系统公钥,TA选择三个哈希函数 将params={q,e,G1,G2,p,p0,h,h1}作为系统参数;TA用于生成环签名的系统参数;
[0086] 进一步地,所述步骤二中用户注册包括车辆注册以及路侧单元和LBS服务器注册具体为:
[0087] (1)车辆注册具体包括如下步骤:
[0088] Step1:车辆Vi向交通权威中心(TA)注册时提供真实身份IDi和系统参数params;
[0089] Step2:交通权威中心(TA)审核并且存储其真实身份IDi;
[0090] Step3:车辆随机选择 作为秘密值并向TA传送车辆身份IDi和系统参数params;
[0091] Step4:PKG计算Qi=h(IDi)和ti=sQi=sh(IDi),向车辆用户返回(Qi,ti),其中Qi为部分公钥,ti为部分私钥,部分公钥对外公开,部分私钥通过安全通道传送给用户;
[0092] Step5:车辆用户收到后,计算si=riti,生成对应的完整公钥PKi=ri(p+Qi)和完整私钥 SKi=(ri,si)。
[0093] (2)路侧单元(RSU)和LBS服务器注册具体包括如下步骤:
[0094] Step1:RSU(LBS)向TA提供身份信息
[0095] Step2:TA审核信息,若通过,选择一个随机数
[0096] Step3:TA计算其公钥
[0097] Step4:TA计算 作为身份标识生成对应的私钥
[0098] Step5:将密钥以及系统参数存储到RSU(LBS)的防篡改设备中。
[0099] 进一步地,所述步骤三位置隐匿具体内容如下:
[0100] 车载单元(OBU)根据周围车流量状况生成三个参数分别是k,Amin,Amax,其中k代表着最小匿名度,Amin代表着最小匿名面积,Amax代表着最大匿名面积;
[0101] Step1:当车辆准备向LBS服务器发出位置相关的请求时,OBU使用一个时间窗口Δt(一般为300-500ms)缓存周围车辆发送的信标信息,并存入信息列表中,信息列表使用一种单链表形式,信息列表设为List,List中存有周围同向行驶的k辆车的信息,具体为车辆身份,车辆位置,车辆速度,标志位VehicleFlag,历史标志位VehicleHistory,其中, VehicleFlag表示是否需要发现其下一跳车辆邻居节点,VehicleHistory表示是否已经加入到隐匿区域中,初始化均为false;
[0102] Step2:车辆向外寻找收集的k个邻居节点,置VehicleHistory为true,表示已经加入到隐匿区域内,若满足k则转到Step4;
[0103] Step3:车辆将已经加入到隐匿区域内的节点VehicleFlag置为True,表示需要发现其下一跳节点,继续向外寻找k个节点中的邻居节点,若满足k,转到Step4;否则转到Step3;
[0104] Step4:将VehicleFlag=false的节点作为边界节点形成隐匿区域,计算隐匿区域面积Area,若Area<Amin,k+1转到Step1;若Amin<Area<Amax,匿名成功;Area>Amax,匿名失败;
[0105] Step5:匿名成功后随机选择隐匿区域内的某个位置作为虚假位置,并用此位置向LBS 服务器请求服务;
[0106] 隐匿算法如下:
[0107]
[0108] 进一步地,所述步骤四签名验证中具体包括请求环签名、生成环签名和验证环签名三个个阶段,具体内容如下:
[0109] (1)请求环签名:
[0110] 车辆在进入RSU覆盖的区域时,需要提供自己的公钥向RSU认证自己的身份,RSU不停收集进入该区域的车辆的身份和公钥信息,达到预设定的匿名集大小时,RSU将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户;
[0111] Step1:车辆用户Vα向路侧单元(RSU)传送系统参数params,自己的身份IDα,和完整私钥SKα;
[0112] Step2:路侧单元(RSU)根据覆盖区域的车流量情况生成n值,n代表着用以生成环签名的匿名集大小,路侧单元(RSU)向车辆用户Vα返回收集到n个车辆用户的身份和公钥集合;
[0113] (2)生成环签名:
[0114] Step1:车辆用户Vα对于 随机选择不同的 计算除了签名者以外的环成员的Hash值,Hi=h1(m||Xi||IDi||PKi||L); 其中的参数包括查询消息m、随机值Xi、环成员身份IDi、环成员公钥PKi和匿名范围内环 成员身份集合L;
[0115] Step2:车辆用户Vα随机选择 计算签名者的Hash值, 
[0116] Step3:车辆用户Vα计算签名值η=xαtα+p0Hαrα+Hαsα;其中的参数包括车辆用户Vα选择的随机值xα、部分私钥tα和sα、系统公钥p0、签名者Hash值Hα和秘密值rα;
[0117] Step4:车辆用户Vα生成对查询消息m的环签名σ=(m,X1,X2,...,Xn,η);
[0118] (3)验证环签名:
[0119] Step1:环签名生成后,车辆用户Vα将关于查询消息的环签名σ以及环成员的身份和公钥集合用距离OBU通信距离最短的路侧单元(RSU)的公钥进行加密后发送给路侧单元(RSU);
[0120] Step2:路侧单元(RSU)用自己的私钥解密后,通过比较环成员公钥集合是否与自己之前发放的用以生成环签名的公钥集合一致,对车辆用户身份的真实性与合法性进行初步验证;
[0121] Step3:验证通过之后,路侧单元(RSU)将车辆用户发送的消息以及环成员身份和公钥集合通过LBS服务器的公钥加密后传送给LBS服务器;
[0122] Step4:LBS服务器收到后先用自己的私钥解密,再对环签名进行验证,计算 Hi=h1(m||Xi||IDi||PKi||L),验证 验证通过,LBS服务器接 受环签名并向签名者提供的位置发送请求服务的具体位置和路径信息,该位置收到后通过 广播形式发送给签名者,否则,拒绝接受该环签名。
[0123] 进一步地,所述步骤四签名验证中具体包括请求环签名、生成环签名和验证环签名三个阶段,为了构造一个合理并且行之有效的基于无证书的公钥密码体制的环签名,本发明在计算各个环成员的Hash值时增加了环成员的身份和公钥参数,本发明的环签名是由RSU辅助生成的,车辆在进入RSU覆盖的区域时,需要提供自己的公钥向RSU认证自己的身份, RSU不停收集进入该区域的车辆的身份和公钥信息,达到一定值时,RSU将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户,通过添加这两个参数,使环签名更具安全性并且能够适用于车联网环境。
[0124] 本发明的有益效果为:本发明提出一种基于隐私保护的可信LBS服务协议实现方法,使得车辆在向LBS服务器提出服务请求时,能够有效的证明自己的身份;同时也有效防止 LBS服务器泄露用户的地理位置历史记录。附图说明
[0125] 图1为本发明实施例的总体结构示意图。
[0126] 图2为本发明实施例中车联网基于位置服务示意图。
[0127] 图3为本发明实施例的总体流程图
[0128] 图4为本发明实施例中车载单元信息列表示意图。
[0129] 图5为本发明实施例中车辆节点探索邻居节点生成隐匿区域示意图。
[0130] 图6为本发明实施例中双向验证示意图。

具体实施方式

[0131] 为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。
[0132] 参见图1至图6,本发明是:一种基于隐私保护的可信LBS服务协议实现方法包括以下步骤:
[0133] 步骤一,系统设置:
[0134] 部署在交通权威机构(TA)的密钥生成中心(PKG)构造加法群和同阶乘法群,然后采用环签名技术进行系统初始化准备,并且发布用于环签名的公共参数。
[0135] 步骤二,用户注册:
[0136] 所有的用户包括车辆、路侧单元和LBS服务器加入到车联网之前都必须要到当地的交通权威机构注册,交通权威机构负责检查验证用户的身份信息,通过审核后为其注册,每个用户通过注册后获得各自的密钥对;
[0137] 步骤三,位置隐匿:
[0138] 当车辆准备向LBS服务器发出位置相关的请求时,通过车载单元(OBU)收集附近车辆的广播信标,筛选出有效的车辆坐标位置,通过基于k-匿名的邻居探索不规则区域隐匿算法形成位置隐匿区域,随机选择隐匿区域中的位置作为虚假位置向LBS服务器请求位置相关服务;
[0139] 步骤四,签名验证:
[0140] 车辆用户向LBS服务器请求位置相关服务时,需要保护车辆的身份隐私,避免身份认证时候泄露身份信息,使用环签名算法,用收集到的环成员的身份和公钥集合生成环签名,车辆用户用此将查询消息签名发送给RSU,查询消息包括位置信息和查询内容,RSU初步验证后,将该签名的查询消息转发至LBS服务器,LBS服务器验证环签名的身份正确性后,为真正的车辆用户提供位置服务;
[0141] 进一步地,所述步骤一具体包括以下步骤:
[0142] 假设给定一个安全参数λ,由部署在交通权威中心(TA)的密钥生成中心(PKG)生成系统参数,具体内容如下:
[0143] PKG选择阶数为大素数q(q>2λ)的循环加法群G1和与其同阶的循环乘法群G2,p为G2的生成元,e:G1×G1→G2是一个双线性对,并且随机选择 作为系统主密钥,不对外 公开,计算p0=sp作为系统公钥,TA选择三个哈希函数 将params={q,e,G1,G2,p,p0,h,h1}作为系统参数;TA用于生成环签名的系统参数;
[0144] 进一步地,所述步骤二中用户注册包括车辆注册以及路侧单元和LBS服务器注册具体为:
[0145] (1)车辆注册具体包括如下步骤:
[0146] Step1:车辆Vi向交通权威中心(TA)注册时提供真实身份IDi和系统参数params;
[0147] Step2:交通权威中心(TA)审核并且存储其真实身份IDi;
[0148] Step3:车辆随机选择 作为秘密值并向TA传送车辆身份IDi和系统参数params;
[0149] Step4:PKG计算Qi=h(IDi)和ti=sQi=sh(IDi),向车辆用户返回(Qi,ti),其中Qi为部分公钥,ti为部分私钥,部分公钥对外公开,部分私钥通过安全通道传送给用户;
[0150] Step5:车辆用户收到后,计算si=riti,生成对应的完整公钥PKi=ri(p+Qi)和完整私钥 SKi=(ri,si)。
[0151] (2)路侧单元(RSU)和LBS服务器注册具体包括如下步骤:
[0152] Step1:RSU(LBS)向TA提供身份信息
[0153] Step2:TA审核信息,若通过,选择一个随机数
[0154] Step3:TA计算其公钥
[0155] Step4:TA计算 作为身份标识生成对应的私钥
[0156] Step5:将密钥以及系统参数存储到RSU(LBS)的防篡改设备中。
[0157] 进一步地,所述步骤三位置隐匿具体内容如下:
[0158] 车载单元(OBU)根据周围车流量状况生成三个参数分别是k,Amin,Amax,其中k代表着最小匿名度,Amin代表着最小匿名面积,Amax代表着最大匿名面积;
[0159] Stepl:当车辆准备向LBS服务器发出位置相关的请求时,OBU使用一个时间窗口Δt(一般为300-500ms)缓存周围车辆发送的信标信息,并存入信息列表中,信息列表使用一种单链表形式,信息列表设为List,List中存有周围同向行驶的k辆车的信息,具体为车辆身份,车辆位置,车辆速度,标志位VehicleFlag,历史标志位VehicleHistory,其中, VehicleFlag表示是否需要发现其下一跳车辆邻居节点,VehicleHistory表示是否已经加入到隐匿区域中,初始化均为false;
[0160] Step2:车辆向外寻找收集的k个邻居节点,置VehicleHistory为true,表示已经加入到隐匿区域内,若满足k则转到Step4;
[0161] Step3:车辆将已经加入到隐匿区域内的节点VehicleFlag置为True,表示需要发现其下一跳节点,继续向外寻找k个节点中的邻居节点,若满足k,转到Step4;否则转到Step3;
[0162] Step4:将VehicleFlag=false的节点作为边界节点形成隐匿区域,计算隐匿区域面积 Area,若Area<Amin,k+1转到Step1;若Amin<Area<Amax,匿名成功;Area>Amax,匿名失败;
[0163] Step5:匿名成功后随机选择隐匿区域内的某个位置作为虚假位置,并用此位置向LBS 服务器请求服务;
[0164] 算法如下:
[0165]
[0166]
[0167] 进一步地,所述步骤四签名验证中具体包括请求环签名、生成环签名和验证环签名三个个阶段,具体内容如下:
[0168] (1)请求环签名:
[0169] 车辆在进入RSU覆盖的区域时,需要提供自己的公钥向RSU认证自己的身份,RSU不停收集进入该区域的车辆的身份和公钥信息,达到预设定的匿名集大小时,RSU将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户;
[0170] Step1:车辆用户Vα向路侧单元(RSU)传送系统参数params,自己的身份IDα,和完整私钥SKα;
[0171] Step2:路侧单元(RSU)根据覆盖区域的车流量情况生成n值,n代表着用以生成环签名的匿名集大小,路侧单元(RSU)向车辆用户Vα返回收集到n个车辆用户的身份和公钥集合;
[0172] (2)生成环签名:
[0173] Step1:车辆用户Vα对于 随机选择不同的 计算除了签名者以外的环成员的Hash值,Hi=h1(m||Xi||IDi||PKi||L); 其中的参数包括查询消息m、随机值Xi、环成员身份IDi、环成员公钥PKi和匿名范围内环 成员身份集合L;
[0174] Step2:车辆用户Vα随机选择 计算签名者的Hash值, 
[0175] Step3:车辆用户Vα计算签名值η=xαtα+p0Hαrα+Hαsα;其中的参数包括车辆用户Vα选择的随机值xα、部分私钥tα和sα、系统公钥p0、签名者Hash值Hα和秘密值rα;
[0176] Step4:车辆用户Vα生成对查询消息m的环签名σ=(m,X1,X2,...,Xn,η);
[0177] (3)验证环签名:
[0178] Step1:环签名生成后,车辆用户Vα将关于查询消息的环签名σ以及环成员的身份和公钥集合用距离OBU通信距离最短的路侧单元(RSU)的公钥进行加密后发送给路侧单元(RSU);
[0179] Step2:路侧单元(RSU)用自己的私钥解密后,通过比较环成员公钥集合是否与自己之前发放的用以生成环签名的公钥集合一致,对车辆用户身份的真实性与合法性进行初步验证;
[0180] Step3:验证通过之后,路侧单元(RSU)将车辆用户发送的消息以及环成员身份和公钥集合通过LBS服务器的公钥加密后传送给LBS服务器;
[0181] Step4:LBS服务器收到后先用自己的私钥解密,再对环签名进行验证,计算 Hi=h1(m||Xi||IDi||PKi||L),验证 验证通过,LBS服务器接 受环签名并向签名者提供的位置发送请求服务的具体位置和路径信息,该位置收到后通过 广播形式发送给签名者,否则,拒绝接受该环签名。
[0182] 进一步地,所述步骤四签名验证中具体包括请求环签名、生成环签名和验证环签名三个阶段,为了构造一个合理并且行之有效的基于无证书的公钥密码体制的环签名,本发明在计算各个环成员的Hash值时增加了环成员的身份和公钥参数,本发明的环签名是由RSU 辅助生成的,车辆在进入RSU覆盖的区域时,需要提供自己的公钥向RSU认证自己的身份, RSU不停收集进入该区域的车辆的身份和公钥信息,达到一定值时,RSU将收集到的车辆用户的身份和公钥集合发送给请求环签名的车辆用户,通过添加这两个参数,使环签名更具安全性并且能够适用于车联网环境。
[0183] 基于k-匿名的邻居探索不规则区域隐匿算法具体如下:
[0184] 在准备向LBS服务器发送请求时,每辆车的车载单元(OBU)维持一个信息列表,列表中存有周围同向行驶的k辆车的信息,具体为编号,车辆身份,车辆位置,车辆速度,标志位VehicleFlag,历史标志位VehicleHistory,其中,VehicleFlag表示是否需要发现其下一跳车辆节点(邻居节点),而VehicleHistory表示是否已经加入到匿名区域中。
[0185] 初始均为false,本算法具体描述如下:
[0186] 第一步车辆节点收集周围区域车辆节点车辆信标,保存方向相同的k个节点的信息;第二步向外寻找收集的邻居节点,置VehicleHistory(历史标记位)为true,表示已经加入到匿名区域内,若满足k,则将标志位为false的节点作为边界节点形成匿名区域,计算匿名区域面积Area,若小于Amin,则k值加1进行重新探索,若大于Amax,则匿名失败,若 Amin<Area<Amax,则匿名成功。若第一轮探索不满足k值,则将已经加入到匿名区域内的节点的VehicleFlag标志位记为true,表示需要发现下一跳邻居节点。继续向外探索。直到满足k值结束。将VehicleFlag标志位=false的节点作为边界节点形成匿名区域,计算匿名区域面积Area,若Area<Amin,k+1转到第一步重新探索邻居节点;若 Amin<Area<Amax,匿名成功;Area>Amax,匿名失败;
[0187] 为证明本发明的可行性,在这里,提供四组验证分别是匿名度k=5,k=10,k=15的情况,其中Amin=8000m2,Amax=25000m2。
[0188] 取k=5时:
[0189] 假设车辆1需要向LBS服务器请求位置相关服务,它的OBU根据周围车流量状况生成k=5,它开启一个时间窗口Δt(500ms)缓存周围车辆发送的信标信息,筛选之后存入信息列表中,它收到来自周围车辆发送来的信标信息,如表2所示,假设车辆1所处的地理位置信息为 (400,400);
[0190] 表1车辆1所收集到的信标信息
[0191]
[0192] 车辆1此时共收集到七辆车的信标信息,但是经由计算其中三辆车的方向与车辆1并非是同方向,因此将同方向的四辆车的信标信息按照距离远近存入OBU的信息列表中,将信息列表中车辆1本身的VehicleFlag标志位改为True,表示需要发现邻居节点,将第一跳邻居车辆的VehicleHistory标志位改为True,表示已加入到匿名区域内,发现加入匿名区域内的节点满足k值,信息列表如表2所示:
[0193] 表2车辆1的信息列表
[0194]
[0195] 将VehicleFlag=False的节点作为边界节点共同形成位置隐匿区域,根据式1计算位置隐匿区域的面积Area。
[0196] k=5时车辆所形成的位置隐匿区域面积Area为14200m2,满足Amin<Area<Amax,因此成功生成位置隐匿区域。
[0197] 取k=10时:
[0198] 假设车辆1需要向LBS服务器请求位置相关服务,它的OBU根据周围车流量状况生成k=10,它开启一个时间窗口Δt=500ms缓存周围车辆发送的信标信息,筛选之后存入信息列表中,它收到来自周围车辆发送来的信标信息,如表3所示,假设车辆1所处的地理位置信息为 (400,400);
[0199] 表3车辆1所收集到的信标信息:
[0200]
[0201]
[0202] 通过MATLAB和Thomas Brinkhoff基于路网的移动对象生成器将本发明VTLBS方案中提到的基于k-匿名的邻居探索不规则区域隐匿算法与经典的Casper算法和传统 k-anonymity算法进行对比,其中,Casper算法是用网格划分平面,通过网格的动态增加和网格中的用户协作完成位置隐匿的算法,而传统k-anonymity算法将用户的真实位置泛化成一个包含k个用户的区域,使用匿名区域取代用户真实位置,并且要求每个用户在某个时间和空间范围内与其它至少k-1个用户不可区分,使攻击者不能从至少k个用户中识别攻击目标进而推断出其准确位置,各组实验中,分别比较车辆用户数在[100,500]以及匿名度在[50,100]下基于k-匿名的邻居探索不规则区域隐匿算法与上述两种算法在匿名成功率和匿名区域大小上的变化情况。其中,匿名成功率代表位置隐私保护算法对用户请求LBS 服务的位置隐匿能,匿名成功率越高,匿名效果越好。而匿名区域若越小,则请求节点从LBS服务器获得的服务结果质量越高。
[0203] 本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈