刘辉,刘鑫衍,许艳,仲红,王梦
(1.安徽大学计算机科学与技术学院,安徽 合肥 230601;2.安徽大学电子信息与工程学院,安徽 合肥 230601)
车载自组织网络(VANET,vehicle ad-hoc network)是智能交通系统(ITS,intelligent traffic system)的核心组成部分[1],可帮助驾乘人员和交通管理人员获得实时全面的交通信息,减少交通事故的发生。为了实现交通信息的交互,VANET 包含2 类通信节点:部署在车辆中的车载单元(OBU,on-board unit)和固定于路边的基础设施单元(RSU,road side unit)。OBU 和RSU 使用专用短程通信(DSRC,dedicated short range communication)协议[2],实现车车通信(V2V,vehicle-to-vehicle)、车辆与RSU 通信(V2I,vehicle-to-infrastructure)、RSU 与车辆通信(I2V,infrastructure-to-vehicle)。
然而,DSRC 协议是无线通信协议,传输的数据容易被监听、修改和伪造[3]。车辆或RSU 在接收消息时需确认消息来源的合法性以及消息的完整性。此外,车辆身份关乎驾乘人员的生命财产安全,除了需要确认消息来源的合法性以及消息的完整性,VANET 还需保护车辆的身份隐私。同时,当车辆发生交通事故或产生违规行为时,还需要对恶意车辆进行追责。这种能够保护车辆的身份隐私,但在必要时又可追踪车辆真实身份的行为被称为条件隐私保护。2007 年,Raya 等[4]提出了一种基于公钥基础设施(PKI,public-key infrastructure)的条件隐私保护认证方案来实现车辆身份和消息完整性的验证。随后,学者提出VANET 条件隐私保护协议,以实现安全的V2V 或V2I 认证。
已有的VANET 条件隐私保护协议多考虑对车辆发布的消息进行验证[4-13]。然而,在VANET 中也需要考虑对RSU 发布的消息进行认证,因为交通管理部门(TMD,transportation manage department)可通过RSU 向车辆发布与车辆相关的交通信号、路况信息或者车辆的违章信息等。此外,在车辆行驶过程中TMD 捕获到的是道路上行驶车辆的真实身份,如车牌号码等。随后,TMD 经由RSU 给车辆发送的警告信息,包含的也是车辆的真实身份。而在VANET 中,为了保护身份隐私,车辆往往使用假名进行通信。所以TMD 在经由RSU 向车辆发布警告消息之前需要根据车辆的真实身份获取车辆的假名。但是,在VANET 中车辆的真实身份和假名应是难以相互推导的。已有的VANET 条件保护隐私协议,往往研究的是可信第三方可以根据假名追踪出车辆的真实身份。而如何由真实身份推导出车辆的假名,目前的研究较少。
本文提出隐私保护的VANET 警告消息发布协议,TMD 在发布违章消息之前能够根据车辆的真实身份及时获取车辆假名,从而经由RSU 给车辆发送警告消息。
本文的主要贡献如下。
1) 提出条件隐私保护的警告消息发布协议,该协议可以根据车辆的真实身份及时获取车辆假名。此外,TMD 也可以通过车辆假名追踪到车辆的真实身份,实现条件隐私保护。
2) 采用签密技术实现I2V 认证,在实现车辆对RSU 身份认证的同时保护警告消息涉及车辆的身份隐私。
3) 采用椭圆曲线密码体制(ECC,elliptic curve cryptography)实现车辆执行的验证过程,不依赖于双线性对,有较高的计算效率。实验分析表明,所提协议有较低的计算开销和通信开销。
2008 年,Lu 等[5]提出了一个高效的条件隐私保护协议,实现了可追踪的匿名认证。该协议能够在OBU 和RSU 之间生成实时的临时匿名密钥,最小化存储临时匿名密钥所需的存储空间。但是在该协议中,车辆需要频繁地向RSU 申请匿名证书,导致RSU 需要维护庞大的证书列表。同年,Zhang 等[6]采用假名技术来为车辆假名生成私钥。该协议不需要向RSU 申请证书,减轻了RSU 的负担。2011 年,Zhang 等[7]提出带有群测试的支持批验证的VANET 条件隐私保护协议。Lee 等[8]指出文献[7]提出的协议不能抵抗重放攻击,并提出一个新的基于身份的批验证协议。文献[9-11]指出Lee 等[8]方案也存在安全缺陷,即恶意车辆能够伪造其他车辆的合法签名。但是,文献[9-11]采用耗时的双线性对操作。为了减少计算开销,文献[12-13]提出无双线性配对的面向车联网高效安全的消息认证方案,这些方案基于ECC,具有较高的计算效率。然而,上述协议虽然保护了车辆的身份隐私、消息的完整性和消息来源的合法性,但没有考虑到消息的机密性,未授权的车辆可能会获取敏感的违章信息[5-13]。
为实现传输消息的机密性,Rabieh 等[14]使用同态加密技术构造了隐私保护的交通信息上报协议,但是加密后再进行签名会造成很大的时延。为减少对消息加密和签名的总计算开销和通信开销,Zheng[15]提出了签密的概念,实现了在一个步骤内同时完成加密和签名操作。2017 年,Basudan 等[16]将签密技术于应用于路况监测。2019 年,Wang 等[17]提出基于源认证的隐私保护云路况监测方案,将路况信息以密文形式上报给云服务器,云服务器需要在路况信息是密文的情况下验证消息来源,但该方案无法追踪恶意车辆的真实身份。为解决文献[17]无法追踪恶意车辆真实身份的问题,韩牟等[18]提出一种VANET 高效群密钥协商协议,但该协议使用了较耗时的双线性对操作。2020 年,为提高计算效率,Xu 等[19]构造了车辆的身份可追踪的路况检测协议,该方案无双线性对操作。2021 年,Elkhali等[20]提出一种适用于车联网异构系统的高效签密方案,但该方案未考虑车辆的匿名性。Ali 等[21]提出一种异构车联网中条件保密的混合签密方案,解决了文献[20]中车辆的匿名性问题。
本文采用的系统模型包括4 个参与者:可信中心(TA,trusted authority)、TMD、车辆和RSU。如图1所示,系统模型的上层由TA 和TMD 组成,底层由RSU 和若干车辆组成。TA、TMD 和RSU 可以通过安全套接字层(SSL,secure socket layer)协议进行安全通信。RSU 与车辆、车辆与车辆之间可以通过DSRC 协议进行通信。这些参与者的详细情况介绍如下。
图1 系统模型
TA 是可信第三方,具有较强的计算能力。负责生成系统参数,并为TMD、车辆等参与者进行注册。
TMD 是高度可信的交通管理部门,可以捕获车辆违章消息,并经由RSU 给车辆发送警告消息,是唯一能够追踪车辆真实身份的参与者。
RSU 是半可信的,诚实遵守协议但对车辆的隐私好奇。RSU 能够使用DSRC 协议与车辆通信,验证车辆发送的消息的有效性。TA、TMD 与车辆的通信通过RSU 进行消息传递。
车辆配备了支持DSRC 协议的OBU。车辆通过OBU 与RSU 进行无线通信。此外,车辆配有防篡改设备(TPD,temper-proof device)。
安全和隐私对VANET 通信都相当重要。基于VANET 安全和隐私研究的相关文献[12-17,19],本文提出的VANET 警告消息发布协议应满足以下安全要求:消息认证、身份隐私保护、可追溯性、保密性和抗攻击性。
1) 消息认证。车辆能够认证RSU 发送消息的有效性。此外,车辆能够确认接收消息是否被修改,即车辆可以对收到消息的来源以及消息的完整性进行认证。
2) 身份隐私保护。RSU 与其他车辆无法获得其他车辆的真实身份,即除TMD 外的任何第三方都无法通过分析截获的信息获得车辆的真实身份。
3) 可追溯性。TMD 可以在必要时追踪车辆的真实身份。例如,当恶意车辆发送错误消息来误导他人时,TMD 可以追踪恶意车辆的真实身份。
4) 保密性。TMD 发送给车辆的消息是保密的,任何其他车辆都无法获取TMD 发送给指定车辆的消息内容。
5) 抗攻击性。本文提出的协议能够抵御各种常见的攻击,如伪造攻击、修改攻击以及重放攻击。
本文主要用到椭圆曲线密码学中的2 个困难问题,分别是椭圆曲线离散对数问题(ECDLP,elliptic curve discrete logarithm problem)和椭圆曲线Diffie-Hellman 问题(ECDHP,elliptic curve Diffie-Hellman problem)。
1) ECDLP。设G是阶为q的椭圆曲线,存在,若P和Q是已知的,则计算出整数a属于ECDLP。
2) ECDHP。P是阶为q的群的生成元,对于任意,若P,aP,bP已知,则计算出abP属于ECDHP。
本节给出“攻击-挑战”游戏的形式化定义,该模型可用于证明协议的不可伪造性和保密性。
3.4.1 不可伪造性
游戏由系统初始化、询问和伪造3 个阶段组成,参与者为敌手A 和挑战者C,具体步骤如下。
1) 系统初始化。C 生成系统私钥x和公开参数params,然后将params 发送给A,并维护查询队列记录预言机询问及密钥生成询问的数据。
2) 询问。A 向C 发起hi(i=1,2,3)询问,当A 调用hi并且使用参数m查询时,C 选取h∈RZq,将(m,h)插入查询队列Lh,并将hi返回给A。以上询问是自适应的,即执行每一次询问时都可以根据前一次询问的结果进行调整。
定义1对于任意敌手A,在多项式时间均不能以不可忽略的优势赢得上述游戏,则称协议在适应性选择明文攻击下具有不可伪造性(EUF-CMA,existentially unforgeable against chosen-message insider attack)。
3.4.2 保密性
游戏由系统初始化、询问、挑战和猜测4 个阶段组成,参与者为敌手A 和挑战者C,具体步骤如下。
1) 系统初始化。C 生成系统私钥x和公开参数params,然后将params 发送给TMD,并维护各个查询队列记录预言机询问及密钥生成询问的数据。
2) 询问。A 向C 发起如下询问。
①密钥生成询问。A 输入身份IDTMDi,C 查询私钥列表,产生私钥xj发送给A。
② 签密询问。A 输入发送者和接收者身份IDTMD、AIDi、明文mi,C 查找发送者的私钥xj,并向预言机进行签密询问,最后将询问结果σ返回给A。
③解签密询问。A 以IDTMD、AIDi和σ进行询问,C 计算接收者秘密值vi,并以相同的输入向预言机进行解签密询问,预言机将mi返回给C,C再发送给A。
以上询问是自适应的,即执行每次询问都可以根据前一次询问结果调整。
3) 挑战。
①A 选择消息m0、m1和挑战的身份IDTMD1、AIDi1,其中IDTMD1和 AIDi1未进行过密钥生成询问。
② C 随选择b∈R0,1,并将mb、IDTMD1、AIDi1及xj、params 作为预言机的输入进行签密询问,预言机返回询问结果σ*,并发送给A。
③A 可以进行多项式次询问,但不能对IDTMD1和AIDi1进行密钥生成询问,也不可以对σ*进行解签密询问。
4)猜测。A输出b∈R0,1作为对b的猜测,A赢得游戏的优势为。等式b′=b成立的概率即为A 赢得游戏的概率。
定义2对于任意敌手A,在多项式时间内不能以不可忽略的优势赢得上述游戏,则称该协议是抗选择密文内部攻击安全(SC-IND-CCA,semantically secure against chosen ciphertext insider attack)。
本文提出隐私保护的VANET 警告消息发布协议包括5 个阶段:系统设置、TMD 注册、车辆注册、警告消息发布、警告消息接收。车辆在VANET中使用的身份是其假名,而TMD 发布警告消息之前已经知道车辆的真实身份(如车牌号码)。本文协议实现了通过车辆的真实身份获取车辆的假名。
TA 在此阶段执行以下步骤。
1) 设Fp是一个有限域,p是素数,TA 定义椭圆曲线E:y2=x3+ax+bmodp,其中。
2) TA 从E上选择一个阶为q、生成元为p的加法循环群G,它由椭圆曲线E和无穷远点O组成。假设G中的每个元素都可以用l位长的二进制字符串表示。TA 选择随机数作为系统的私钥,并计算系统公钥Ppub=xP。
3) TA 选择3 个安全的哈希函数h1:{0,1}→,其中n表示明文的长度,并且是k的多项式。
4) TA 为每个车辆分配一个真实身份RID 和一个密码PWD,并{RID,PWD,}x预加载到其TPD 中。
TMD 使用其真实身份IDTMD向TA 注册。
2) TA 通过安全信道将uj和xj发送到TMD。同时,TMD 通过RSU 广播Uj和jα。TMD 定时生成有效期VPi,通过安全信道将VPi发送给车辆。
1) 车辆将真实身份RID(如车牌号码)和密码PWD 输入OBU。OBU 检查RID 和PWD 是否等于存储的RID 和PWD。如果其中之一与相应存储的不相等,则OBU 将要求所有者再次输入正确的身份和密码。
TMD 将违章消息发送给目标车辆RID。TMD 在发布违章消息前需要根据车辆的真实身份(如车牌号码)计算出车辆假名。此阶段TMD 执行以下步骤。
本节将证明在随机预言机模型下本文提出的警告消息发布协议具有不可伪造性和保密性。
定理1不可伪造性。基于ECDLP 问题的困难性,本文提出的警告消息发布协议能够抵抗自适应选择消息伪造攻击。
定理2保密性。设k为安全参数,在随机预言模型下,如果存在一种多项式时间算法攻破加密方案的SC-IND-CCA 安全优势是ρ(k),那么存在一种多项式时间算法求解ECDHP 问题的概率至少是,其中poly(·) 是多项式,p是SC-IND-CCA 安全模型中最大的解签密查询次数。
本节将分析证明提出的警告消息发布协议可以满足3.2 节提出的安全需求。
1) 消息认证。根据定理1 可知,没有敌手能在多项式时间内解决ECDLP 问题,因此,验证者可以通过验证等式VP=Uj+αjPpub+h2(mi,Rj,AIDi,Di)Rj是否成立来确认消息<mi,(Rj,AIDi,Di,V,αj,Uj)>是否具有合法性和完整性。因此,该协议具有消息认证功能。
2) 身份隐私保护。车辆在发送消息时使用假名AIDi=EIDTMD[RID⊕viUj,viUj],AIDi由随机数和真实的身份RID 生成,其中。由于uj和vi的随机性,会产生毫无关联的假名。因此,敌手 A 想要从假名·Uj,viUj]中进行身份信息攻击,就必须得求出ujP。依据ECDLP 问题假设可知,在随机预言模型与未知uj和iv的情况下求解viUj,在多项式时间内是不可行的。因此,该协议具有身份隐私保护功能。
3) 可追踪性。该协议的有效签名<mi,(Rj,AIDi,Di,V,αj,Uj)>包含车辆的真实身份RID,当TMD 需要追踪消息发送者的真实身份时,可以通过计算出消息发送者的真实身份。因此,该协议具有车辆身份可追踪性。
5) 抗攻击性。由定理1 可知,没有任何一方可以伪造出TMD 的签密消息,因此该协议可以抵抗伪造攻击。而且任何中间人对消息的修改都可以被验证出,因此该协议可以抵抗修改攻击。此外,在TMD 每次发送警告信息都会附带有时间戳,所以该协议可以抵抗重放攻击。
安全级别为80 bit 的基于双线性对的方案设置如下:e:G1×G1→G2,其中,加法群G1是由生成元生成的阶为q的加法群,其中,是度为2 的超奇异曲线上的点,是512 bit 的素数,是160 bit 的素数。椭圆曲线密码运算方案如下:G是由生成元P生成的阶为q的加法群,P为非奇异椭圆曲线E:y2=x3+ax+bmodp上的点,其中p,q为160 bit 的素数,。表1给出了密码运算及其对应的缩写和执行时间。
表1 密码运算及其对应的缩写和执行时间
在文献[16]中,消息生成过程包含7 个双线性对标量乘法运算Tbm、3 个双线性对加法运算Tba、一个单向哈希函数运算Th和2 个MapToPoint 哈希函数运算HT,此阶段的总开销为;解密和验证过程包含4 个双线性配对运算Tb、3 个双线性对的标量乘法运算Tbm、一个双线性对加法运算Tba、2 个MapToPoint 哈希函数运算TH和一个单向哈希函数运算Th,此阶段的总开销为。在文献[17]中,消息生成的过程中主要包含4 个双线性对上的幂运算Texp、一个MapToPoint 哈希函数运算TH和2 个单向哈希函数运算>Th,此阶段的总计算开销为2Th+4Texp+TH;解签名、解密和验证过程主要包含4 个双线性对上的幂运算Texp、4 个双线性配对运算>Tb、一个MapToPoint 哈希函数运算TH和4 个单向哈希函数运算Th,此阶段的总开销为4Texp+4Tb+4Th。在文献[19]中,消息生成过程主要进行3 个椭圆曲线标量乘法运算Tem和7 个单向哈希函数运算Th,此阶段总计算开销为3Tem+7hT;解密和验证过程包含5 个椭圆曲线标量乘法运算Tem,2 个椭圆曲线加法运算Tea和9 个单向哈希函数运算Th,此阶段总计算开销为5Tem+2Tea+9Th。在本文协议中,消息生成过程中包含3 个椭圆曲线的标量乘法运算Tem和2 个单向哈希函数运算Th,此阶段的总开销为2Th+3Tem;解密过程包括验证,该过程包含2 个椭圆曲线的加法运算Tea、4 个椭圆曲线的标量乘法运算Tem和2 个单向哈希函数运算Th,此阶段的总开销为2Tea+2Th+4Tem。因此,如表2 所示,本文协议有着较低的计算开销。
表2 计算开销对比
图2 各方案的通信开销对比
本文提出VANET 中保护隐私的警告消息发布协议,其中TMD 可以根据车辆的真实身份获取车辆的假名,必要时又可以通过车辆假名追踪车辆的真实身份。所提协议采用椭圆曲线密码体制,不依赖于双线性对,具有较小的计算开销和通信开销。安全性分析和性能分析表明,所提协议可用于VANET实现保护隐私的警告消息发布。