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服务器接受环签名并向签名者提供的位置发送请求服务的具体位置和路径信息,该位置收到后通过广播形式发送给签名者,否则,拒绝接受该环签名。