基于代理重加密的VANETs中安全位置服务

2018-12-27 03:19徐会彬
关键词:位置服务密文密钥

徐会彬

(湖州师范学院 信息工程学院,浙江 湖州 313000)

0 引 言

车载网络(vehicle ad hoc networks,VANETs)[1]是运行于道路上的新型移动无线自组织网络(mobile ad hoc network, MANET),在提高车辆行驶安全和疏导交通流量方面发挥了重要作用。通过安装车装单元,使得车辆能够与邻居设备(车辆、旁边设备)完成通信。通过车辆间(vehicle-to-vehicle, V2V)、车与旁边设备(vehicle-to-infrastructure, V2I)通信,提高车辆对周围环境的认知能力。

作为最有前景应用,位置服务为车辆分发了价值信息,如车流量状况。然而,如何可靠地将价值信息传输至移动车辆成为挑战。由于VANETs拓扑的动态变化和机会性连通特性,长距离采用单跳方式将消息成功传输至目的车辆的概率很小,这也会导致高的消息丢失率[2]。

为此,针对VANETs的特性,常借助于RSUs辅助消息的传递。文献[3]提出基于RSUs转发的消息传输方案,该方案依据车辆移动轨迹传输消息。目前,基于轨迹传输消息的方案得到广泛研究。基于轨迹的消息传输如图1所示。

图1 基于轨迹的消息传输示意图Fig.1 Schematic diagram of transmitting message based on trajectory

图1中,假定sRSU1附近区域是车辆Vd的社区热点区域。sRSU1收集热点区域信息,并给车辆Vd提供位置服务。依据基于轨迹的传输消息算法,首先,sRSU1知晓车辆Vd的行驶路径;然后,依据Vd的轨迹,sRSU1将价值信息通过RSU1和RSU2转发至Vd。

然而,车辆的行驶路线或车辆的位置信息是用户(行驶人)的私人信息,而位置隐私是VANETs的安全要求的重要组成部分。在基于轨迹消息传输方案中,如果车辆需要与在热点区域的sRSU共享自己的行驶路线,这就要求该车辆从保护自己的隐私角度,如何与sRSU共享自己的行驶轨迹。即行驶轨迹只能传输至已授权的sRSU,而不能暴露给其他设备(车辆、RSU等)。

现有的多数车辆通信隐私保护策略都是基于别名机制的匿名认证[4-9]。Jeong为基于轨迹的消息传输提出模型结构[3],但这是基于一个控制中心,并由控制中心维持车辆的轨迹。但是,从行驶员(用户)角度,控制中心本身也存在安全问题,同时,用户希望由自己控制哪些设备能够接入它的行驶轨迹数据,而不是由控制中心控制。

Dong基于代理加密技术提出安全位置共享概念[10]。在基于代理加密技术的公钥分配中,委派代表不得不参与密钥的产生,然而,在VANETs间歇性连通环境中,难以维持他们的互动。因此,本文考虑基于身份的代理重加密技术,应对这些间断的互动特性[11],进而适应于VANETs环境。

为此,本文提出代理重加密的安全位置服务算法(proxy re-encryption based secure location service, PRESLS)。PRESLS算法结合RSU辅助转发消息,并利用代理重加密算法保障轨迹数据传输安全,使得只有车辆授权过的RSU才能接入轨迹数据。实验数据表明,提出PRESLS算法能够有效地维持车辆轨迹数据的安全,同时确保位置服务的质量。

1 预备知识

1.1 系统模型

假定车辆Vd希望从位于热点区域内的sRSU获取位置服务,它必须与sRSU共享自己个人信息。为了实验隐私安全,考虑如图2所示的结构,其主要由信任机构(trusted authority, TA),交通信息港(traffic information center, TIC),RSUs和车辆构成。将系统已注册的RSUs表示为R={RSU1,…,RSUm},并且这些RSU部署于主干车道上。车辆集为ν={V1,…,Vn},且车辆随机分布于车道上。同时,车辆已知这些RSU的位置。

图2 系统模型Fig.2 System model

由TA为系统产生公共参数,并向RSUi∈R分配基于身份ID的密钥。为了保证车辆的匿名,TA也管理车辆的假名身份。

而TIC收集流量信息,其作为中心管理者,负责维护车辆轨迹数据。并估计道路流量状态。为了实现轨迹共享,TIC存储基于车辆ID加密的车辆轨迹数据。同时,TIC也作为中介,并由它控制向车辆允许的RSU分发该车辆的轨迹数据。

作为转发节点,RSUs设有缓存区域,用于存储消息,进而支持VANETs的消息传递。假定有l个RSUs位于热点区域,将这些RSUs表示为SR={sRSU1,…,sRSUl}⊆R,并由sRSUk⊂SR向车辆提供位置服务。

每个车辆都装备了OBU,并载入了数字地图。首先每个已注册车辆Vd∈ν从SR集中选择自己感兴趣sRSUk,然后再给sRSUk产生加密密钥,最后通过TIC分享自己的行驶数据。一旦车辆Vd改变行驶路线,车辆Vd∈ν就更新它的加密行驶路线数据,并传递至TIC。

此外,TIC与SR集中RSUs以有线方式连通,并且假定TIC为信任实体。

1.2 双线性映射

由于PRESLS算法引用了双线性映射,先对双线性映射以及相关知识进行概述。

假定G,GT为同素数阶q的2个乘法循环群,且存在双线性映射对e:G×G→GT,进而满足以下特性[12-13]。

2)非退化:如果g是G的一个生成元,则e(g,g)是GT一个生成元;

3)可计算:对于任意g,h∈G, 则存在有效地算法去计算e(g,h)。

1.3 基于身份的代理重加密

代理重加密算法是基于一个半可信的代理者,而半可信是指代理者必须严格依据协议的规定进行加密,但它需保存加密过程的中间信息[14]。

本文提出的基于身份代理重加密主要包括7个函数,即idKeyGem,idEnc,idRKGen,idReEnc,idDec,idSig和idVrf,分别产生基于身份的密钥、基于身份加密、产生基于身份的重加密密钥、基于身份的重加密、基于身份的解密、基于身份的签名和基于身份的验证。这些函数的形式化定义[11]如下。

1)idKeyGem:节点ID结合主密钥msk,调用函数idKeyGem(msk,id)产生私密钥skid,即skid←idKeyGem(msk,id);

2)idEnc:节点ID结合消息m,调用函数idEnc(id,m)产生密文c,即c←idEnc(id,m);

3)idRKGen:利用私密钥skid、身份(id1,id2),调用重加密函数idRKGen(skid1,id1,id2),便产生重加密密钥rkid1→id2;

4)idReEnc:利用重加密密钥rkid1→id2以及密文c,调用重加密函数idReEnc(rkid1→id2,c),产生重加密密文c′;

5)idDec:依据密文c和私密钥skid,调用函数idDec(skid,c),解密,获取消息m;

6)idSig:依据私密钥skid,对消息m进行签名,即idSig(skid,m)→sig;

7)idVrf:调用idVrf(id,m,sig)函数验证消息m的签名Sig对id是否有效,即验证签名。

2 PRESLS算法

2.1 初始阶段

params=(G,GT,q,e,g,h,A,H1,H2,H3,H4)

(1)

对于RSUl∈R,TA运行idKeyGen(a,RSUl)函数,产生RSUl的私人密钥skRSUl=H1(RSUl)α,并预先将skRSUl安全地传输至每个RSUl,其中,idKeyGen(msk,id)表示利用身份id、参数α产生的密钥函数。

ν={V1,…,Vn}是想获取VANETs提供位置服务的注册车辆。对于每个Vd∈ν,TA先检测它的资格,然后,为车辆Vd选择别名身份

PIDd={pidd,t|0≤t≤ω}

(2)

再利用车辆Vd的别名PIDd产生车辆Vd的私密钥

skVd,t←idKeyGen(α,pidd,t)

(3)

(3)式中:pidd,t∈PIDd;skVd,t=H1(pidd,t)α。在PRESLS算法中,将pidd,0用于重加密,而{pidd,1,…,pidd,ω}用于VANET通信。

随后,车辆Vd选择想获取位置服务的热点区域sRSU。假定车辆Vd所选择的热点区域SRd={sRSUj|1≤j≤k}⊆SR,并给每个sRSUj∈SRd分配重加密钥

(4)

(5)

车辆Vd将重加密钥和热点区域RSUs清单RSMd={pidd,0,SRd,RKd}传输至TIC,其中,RKd={rkVd→sRSUj|sRSUj∈SRd}。然后,TIC对车辆Vd的轨迹数据加密,并给sRSUj授权解密权限。

2.2 轨迹共享

行驶轨迹由一些具体位置构成,如车辆Vd希望通过的主要十字路口。当车辆Vd加入VANETs,它就希望行驶路线上具有一些RSU,{RSU1,…,RSUt}⊆R,从而使得它能够在这些RSU上获取位置服务信息。

车辆轨迹共享过程如图3所示。车辆Vd先利用自己别名对轨迹trjd进行加密,然后再传输至TIC。接收加密文后,TIC验证车辆Vd的签名。如果验证通过,则TIC从密文中提取车辆轨迹trjd数据,对trjd加密,再传输至车辆Vd可能经历的热点区域内的RSU,最终由这些RSU解密获取车辆轨迹数据trjd。

图3 车辆与TIC共享轨迹数据示意图Fig.3 Schematic diagram of sharing trajectory data between vehicles and TIC

2.2.1 车辆对trjd加密

为了与热点区域RSUs共享行驶轨迹trjd={(pidd,i,RSUi)|1≤i≤t},车辆Vd利用pidd,0对trjd加密,并将已加密的trjd传输至TIC,步骤如下。

步骤1先设置加密文

C=(c1,c2,c3,c4)←idEnc(pidd,0,trjd)

(6)

(6)式中:c1=hr;c2=gr;c3=(trjd|θ)⊕H2(e(H1(pidd,0)r,A));c4=H1(c1|c2|c3)r;r=H3(trjd|θ),∀θ∈G。

步骤2将已加密的轨迹融合成消息TMd={pidd,0,C,ts,σd}传输至TIC,其中,σd←idSig(skd,0,C|ts)为车辆Vd的签名。

2.2.2TIC将trjd数据传输至热点区域

一旦接收到TMd,TIC首先用idVrf(pidd,0,C|ts,σd)验证Vd的签名。如果满足,则对密文加密,并给热点区域内RSUs提供已加密的轨迹数据,具体步骤如下。

步骤1确认是否e(c1,g)与e(h,c2)相等,e(c1,H1(c1|c2|c3))与e(h,c4)是否相等;

步骤2取回和解析重密钥以及热点区域RSUs清单消息RSMd={pidd,0,SRd,RKd};

(7)

e(skVd,0·H4(e(H1(sRSUj)x,A)),gr)=

e(skVd,0,gr)·e(e(skVd,0·hx·

H4(e(H1(sRSUj)x,A)),gr))。

步骤4向sRSUj提供{C′,ts},进而使得sRSUj获取车辆Vd的轨迹数据。

2.2.3 热点区域RSU解密轨迹数据

当sRSUj从TIC获取{C′,ts}信息后,sRSUj运行trjd←idDec(sksRSUj,C′),对数据进行解密,进而获取轨迹数据,具体步骤如下。

步骤1计算

e(H1(pidd,0)α,gr)

(8)

2.3 消息传输

一旦sRSUj获取了车辆Vd的轨迹数据trjd,sRSUj就向车辆Vd提供位置服务消息。假定sRSUj提供的位置服务消息为msg,RSUt为最优接入点。消息msg传输过程如图4所示。

图4 消息msg的转发示意图Fig.4 Schematic diagram of transmitting msg

sRSUj为了保证消息传输的安全以及将车辆Vd所需的位置服务消息准确地传输至车辆Vd,而不是其他车辆,需对消息进行加密,并且对车辆Vd的身份进行确认。具体过程如下。

2)sRSUj将消息M转发至RSUt。一旦接收消息M,RSUt就暂存储消息M,直到车辆Vd从消息M中提取了价值服务消息msg。具体过程如图5所示。

图5 车辆与RSUt间的消息传递过程示意图Fig.5 Schematic diagram of transmitting message between vehicles and RSUt

3)当车辆Vd行驶至RSUt的覆盖范围时,车辆Vd就向RSUt发送请求消息{pidd,t,req,ts″,σ′},其中,req表示面向消息请求协议的元数据,而σ′←idSig(skVd,t,req|ts″)。

4)一旦接收到请求,RSUt就验证签名idVrf(pidd,t,req|ts″,σ′),进而识别Vd。如果验证通过,则RSUt向搜索车辆Vd的消息M,再转发至车辆Vd。

3 PRESLS方案性能分析

3.1 安全性分析

要求只允许由车辆认证过的RSUs才可以接入车辆的轨迹数据trjd。即使TIC存储、并管理了车辆的轨迹数据,但TIC也必须通过正确解密密钥才能获取车辆轨迹数据。

证明车辆轨迹数据trjd是经车辆Vd的别名pidd加密,并由TIC管理的。因此,只有知晓车辆的私密钥skid,别名pidd的节点才能解密,窃取轨迹数据trjd。具体而言,TIC利用车辆Vd的身份pidd对车辆轨迹数据trjd加密,即形成密文C←idEnc(pidd,trjd)。因此,只有知道车辆Vd的私密钥skid才能解密密文C。

此外,在轨迹数据传递过程中,车辆Vd所经历的sRSUs也会需要接触轨迹数据trjd。因此,车辆Vd通过利用重加密密钥rkVd对轨迹数据加密,形成密文,而不是向TIC提供明文轨迹数据。假定利用rkVd加密后的密文表示为C′,只有知道rkVd的sRSUs才能解密C′,进而获取轨迹数据。

即使TIC获取加密的轨迹数据和重加密密钥rkVd,TIC也很难破解C或C′。因此,只有受车辆授权过车辆或RSU才能接入车辆的轨迹数据trjd。

3.2 跟踪概率

车辆行驶轨迹不允许被VANETs的窃听攻击者跟踪。因此,PRESLS算法必须给这些攻击者设置阻力。为此,利用跟踪概率分析PRESLS算法避免跟踪的性能。文献[15]研究表明,可利用简单的跟踪算法分析系统的跟踪概率。因此,本小节利用跟踪概率分析PRESLS算法防御车辆被跟踪的性能。

假定偷听者试着跟踪从RSUi移动至RSUj的目标车辆。假定从RSUi移动至RSUj的移动距离为m,车辆移动平均速度 为υm/s。因此,车辆需要t=/υs从RSUi移动至RSUj。

假定在时间t内,道路上的车辆数为N(t)。依据泊松分布,车辆均匀分布率为λ。因此,N(t)的分布函数为

(9)

假定每辆车能够修改自己的别名,并且道路上至少有一辆车。跟踪概率定义:能够将新的别名关联到同一辆车的概率Pt,表示为

Pt=Pr{N(t)=1|N(t)≥1}=

(10)

图6 跟踪概率(υ=25 m/s)Fig.6 Tracking probability (υ=25 m/s)

3.3 效率分析

PRESLS算法的目的是保护车辆信息,特别是车辆的位置信息。而提供位置信息的保护目的就是让车辆提供的信息是真实的,并使得其他车辆能够获取更便利的位置。为此,本小节分析提供位置隐私安全是否影响了位置服务查询成功率(query success ratio, QSR)。

选用地图位置服务 (map-based location service,MBLS)[16]作为参照,并在MBLS上实施PRESLS算法,记为PRESLS-MBLS。为此,利用NS3软件建立仿真平台,车辆数为200,车辆通信半径为250 m,区域环境为2 500×2 500,RSU数量为20个。车辆移动速度υ分别从10~60 m/s变化。位置服务查询率如图7所示。

图7 位置服务查询成功率Fig.7 Query Success Ratio of location service

从图7可知,车辆移动速度的增加降低了查询成功率。原因在于车速的增加缩短了车辆与RSU的链路的连通时间,进而降低了查询成功率。此外,与MBLS相比,PRESLS-MBLS算法的查询成功率并没有下降。例如,在车速小于50 m/s时,PRESLS-MBLS算法的位置服务查询成功率与MBLS算法相近,并没有降低服务效率。而当车速进一步提高时(当车速达到60 m/s时),MBLS算法的服务查询成功率迅速下降,而PRESLS-MBLS算法的查询成功率较平衡。这要归功于PRESLS-MBLS算法通过提供位置信息安全,排除了一些恶意节点所提供的虚假位置信息,进而使位置服务查询率随车速变化较稳定。

4 总 结

本文针对基于轨迹的消息传输的轨迹数据安全问题,提出基于代理重加密的安全位置服务算法。该算法是以RSU辅助消息传输为前提,同时以TA为管理中心,负责管理车辆行驶轨迹数据。利用代理重加密算法,限制接入车辆轨迹数据的实体对象,进而保护车辆位置隐私。实验数据表明,提出的PRESLS算法实现了车辆在享受位置服务的同时保障了车辆轨迹数据安全的目的。

猜你喜欢
位置服务密文密钥
一种支持动态更新的可排名密文搜索方案
幻中邂逅之金色密钥
基于模糊数学的通信网络密文信息差错恢复
密码系统中密钥的状态与保护*
星站差分与PPP技术在深远海调查中的位置服务精度分析
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
互联互通 畅享未来 第12届卫星导航与位置服务运营商大会在深圳举行
第六届中国卫星导航与位置服务年会暨首届卫星应用国际博览会
一种基于密文分析的密码识别技术*