宋 成,张明月,彭维平,刘志中,贾宗璞,闫玺玺
(河南理工大学 计算机科学与技术学院,河南 焦作 454003)
随着人们生活水平的提高,车辆的普及,车辆带来的交通拥堵、安全驾驶、交通管理、安全的信息传递等一系列交通相关问题引起了人们的关注.智能交通系统[1](ITS)在国内外得到了广泛的重视,人们用它来管理交通秩序,解决现有交通问题.为了更好地改善交通环境,构建下一代交通系统,基于移动Ad hoc网络[2](MANET)的车辆Ad hoc网络[3](VANET)得到各界人士的高度关注.在VANET中,车辆可以通过与其他设备的通信来获得及时交通信息,娱乐信息,天气信息等来方便用户的生活,提高用户的驾驶体验.
VANET无线通信的本质使其面临着各种各样的安全威胁.在无线通信的过程中,数据极易被恶意攻击者改变与伪造,驾驶人的身份,位置,车牌号,驾驶习惯等隐私问题也极易遭受攻击,从而给驾驶人生命与财产带来一系列的威胁.因此,防止通信过程中用户的隐私信息被泄露,进行用户的隐私保护[4]成为VANET中安全通信的最基本需求.用户隐私保护的基本方法之一是匿名认证[5],但传统的匿名认证方案设计复杂,计算开销大,不能够满足拓扑迅速变化的VANET环境的需求.因此,在确保安全的基础上提高匿名认证效率也是当前VANET面临的重要挑战之一.
近年来,国内外学者针对VANET中用户的隐私保护与数据安全做了大量的研究,并提出了一些不同的匿名认证方案.Raya[6]等人首次提出一个基于别名证书的匿名认证协议,使用假名来进行通信从而对用户的真实身份进行保护.但是,协议中将大量的私钥与匿名认证证书存储在车辆节点中,这对高动态与存储空间有限的车辆节点来说存在一定的限制.在文献[7]中提出一个基于环签名的匿名认证方案,但是随着撤销列表中撤销车辆的增多,消息的认证所需时间呈线性增长.为了提高认证效率,方案SPECS[8]介绍了一个批量验证方案,使匿名认证的安全与效率有所提高,批量验证之后车辆可以与任何车辆形成群组,并且彼此能够在无RSU等设施的参与下进行安全通信.但Tzeng等人在文献[9]中证实SPECS方案中,恶意车辆可以伪装成合法车辆发布与接收消息,并能与合法车辆进行安全通信,因此该方案不能抵抗伪装攻击.同时,方案[9]使用RSU为车辆生成不同的假名设计了一个新的匿名认证方案,通过使用假名通信避免大量公私钥对的使用.但是,保证RSU的安全性也是一个难题.为了解决该问题,Shim[10]等人提出一个基于身份的签名方案,该方案将主密钥存放在车辆的防篡改装置中,车辆可以利用防篡改装置中的系统主密钥独自生成假名等信息.近期的研究[11]表明,攻击者能够利用侧信道攻击(如效率分析与激光扫描)从防篡改装置中获得秘密信息.因此,一旦防篡改装置被攻破,其内的安全参数被窃取,整个系统的安全也就没了保障.
为了解决当前VANET匿名认证方案存在的问题,本文提出一个基于椭圆曲线的车联网批量匿名认证方案.该方案不仅实现了可认证性,匿名性,不可链接性,抗共谋攻击等多种安全性能,而且在复杂度方面,该方案利用椭圆曲线密码体制的密钥短、速度快、安全性能高等优势,有效的降低了存储开销和计算开销.
椭圆曲线是指由Weierstrass方程y2=a1xy+a3y=x3+a2x2+a4x+a6所确定的平面曲线,通常用E表示.设Fq是一个p≠2,3的有限域,q=pm,p为素数,m为整数,(a,b)∈Fq满足4a3+27b2≠0,则有限域上Fq的椭圆曲线定义为满足方程y2=x3+ax+b的点(x,y)∈Fq×Fq和无穷远点O所组成的点的集合.这些点在下面定义的加法运算中构成一个Abelian群.
图1 VANET网络模型Fig.1 VANET network model
通常我们在有限域上研究椭圆曲线E.设P和Q是E上任意的两个点,定义椭圆曲线上的运算“+”如下:点P和Q的连线(若P、Q两点重合,即P=Q,P和Q的连线退化为点P的切线)交曲线于另一点R′,过点R′作平行于纵坐标轴的直线与曲线相交于点R,则R为P和Q两点之和,记为P+Q=R.对于k个相同点的相加,即P+P+…+P,可表示为kP,称为点积或数乘.
如图1所示,系统模型包括三部分:可信服务中心Trust Authority(TA),路侧单元RSU和车辆单元OBU.
1)TA可以是汽车制造商或运输管理部门.负责生成系统的全局安全参数并发布公共/私有密钥给所有的参与者.
2)RSU是安装在道路两侧的通信设备,类似于无线传感网络的接入节点.RSU与车辆之间使用DSRC协议进行通信.
3)在VANET中每个车辆都配备了无线通信单元OBU,OBU与RSU或者其他OBU之间通过DSRC协议进行通信.
Fn是一个n阶素数有限域.(a,b)∈Fn是有限域Fn上的椭圆曲线E(y2=x3+ax+b(modn),且4a3+27b2≠0)的参数.O代表无穷大,P是存在素数q阶的椭圆曲线E的生成元,且P≠O.
Step1.TA选择3个单向散列函数:H:{0,1}*→Zq,H1:{0,1}*→Zq,H2:{0,1}*→Zq.
Step3.TA为合法的车辆节点生成唯一的身份信息xi,xi是一个n维列向量且满足Axi=Y.通过安全信道将xi颁发给车辆节点.然后随机选择m维列向量D,计算车辆节点Vp的身份
IDi=DT·xi
TA将矩阵A,Y通过安全信道发送给RSU作为他们之间的共享秘密.
系统的公共参数为:(p,q,H,H1,H2,PK)
初始化阶段,RSU对车辆节点进行认证.具体步骤如下:
Step1.需要与其他车辆通信时,车辆向签名者RSU发送签名请求信号.
B=dA
(1)
s=dy
(2)
将(t1,B,h(s‖IDR‖t1)发送给给车辆用户Vp,其中IDR是RSU的身份.
Step3.Vp收到RSU发来的消息,计算
r=Bxi
(3)
验证等式
h(r‖IDR‖t1)=h(s‖IDR‖t1)
(4)
是否成立,若成立,则发送(t2,h(r‖IDR‖t1‖t2))给RSU,t1,t2是与消息发送时间有关的时间戳.
Step4.RSU收到消息之后验证
h(r‖IDR‖t1‖t2)=h(s‖IDR‖t1‖t2)
(5)
是否成立.
PIDi=bIDi
(6)
Step2.RSU随机生成ki,计算:
Ki=kiP
(7)
Si=ki+H1(PIDi,Ki)×xmodp
(8)
然后将(Ki,Si)通过安全信道发送给车辆,
Step3.车辆随机选择ri计算:
Ri=riP
(9)
Vi=H2(Ki,Ri,PIDi,Mi,tti)×ri+Simodq
(10)
tti是时间戳,δi={Ki,Ri,Vi}为车辆对消息Mi的签名,然后将Ni=(PIDi,Mi,tti,δi)传送给其他车辆进行验证.
签名阶段流程图如图2所示:
图2 签名阶段消息交互流程Fig.2 Message exchange process of signature phase
3.4.1 单车辆验证
当另一车辆收到签名(PIDi,Mi,tti,δi)之后,首先验证tti(i=1,…,n)的有效性,验证通过则计算:
hi,2=H1(PIDi,Ki)
(11)
hi,2=H2(Ki,Ri,PIDi,Mi,tti)
(12)
然后验证等式:
ViP=h1,2Ri+Ki+hi,1PK
(13)
若等式成立,则验证通过,接收该消息.
3.4.2 批量验证
车辆收到n个签名消息N1,N2,…,Nn,首先验证tti(i=1,…,n)的有效性,验证通过则计算:
hi,1=H1(PIDi,Ki)
hi,2=H2(Ki,Ri,PIDi,Mi,tti)
然后验证等式:
(14)
若等式成立,则验证通过,接收消息.
验证阶段流程图如图3所示.
图3 验证阶段消息交互流程Fig.3 Message exchange process of verification phase
首先验证等式ViP=hi,2Ri+Ki+hi,1PK是成立的:
hi,2Ri+Ki+hi,1PK
=H2(Ki,Ri,PIDi,Mi,tti)Ri+Ki+hi,1PK
=H2(Ki,Ri,PIDi,Mi,tti)×riP+Ki+hi,1PK
=H2(Ki,Ri,PIDi,Mi,tti)×riP+Ki+H1(PIDi,Ki)PK
=H2(Ki,Ri,PIDi,Mi,tti)×riP+Ki+H1(PIDi,Ki)xP
=P(H2(Ki,Ri,PIDi,Mi,tti)×ri+Ki+H1(PIDi,Ki)x)
=P(H2(Ki,Ri,PIDi,Mi,tti)×ri+Si)
=ViP
(15)
车辆同时对收到的n个消息进行验证,将此n个签名进行相加,然后验证,由式(15),则批量验证的公式(14)也是成立的.
4.2.1 身份隐私保护
在本文的方案中,车辆节点通过被可信中心授权的Xi来保证其节点身份的可靠性,在接下来的通信过程中,车辆通过不断变化的假名进行通信,因为假名生成过程中有随机数的参与,除了车辆本身与可信中心TA,其他人都不能通过任何方式获得车辆的真实身份信息Xi.从而保证了车辆节点的可认证性与用户的隐私保护.
4.2.2 不可链接性
用户的不可链接性指的是攻击者不能够判断两个消息是否来自于同一车辆.本方案通过假名来实现用户的不可链接性.由于在签名阶段,每次签名过程都会有随机数的生成,并且用户的假名具有有效期,这些假名之间没有任何的关联,攻击者试图判断消息M与M′是否来自于同一车辆是不可能的.本方案记为η,挑战者记为A,B0与B1表示两个忠实的车辆用户,签名者RSU记为ζ.
定义1.链接游戏
Step1.挑战者由密钥生成算法KeyGen(k)生成公私钥对(SK,PK),同时获得系统的公共参数(p,q,g,Ppub,H1,H2);
Step2.挑战者选取两个完全不同的消息m0,m1;
Step3.选取随机位b∈{0,1},然后将mb与m1-b秘密发送给B0与B1,b对挑战者保密;
Step4.签名者ζ分别与B0与B1执行本签名方案.
Step5.如果B0与B1输出两个有效的签名δb与δ1-b分别与消息m0与m1相对应,然后将δb与δ1-b按照随机顺序发送给挑战者,否则,返回⊥给挑战者;
Step6.挑战者猜测δb来自于b′,如果b′=b则挑战者赢得这场游戏.
定理1.如果不存在挑战者A在多项式时间内以不可忽略的概率赢得该链接游戏,则称该方案满足不可链接性.
A作为在定义1中链接游戏的挑战者,如果在步骤5中收到的是⊥,那么说明A不能获得任何有用的信息,得到正确的b的概率为1/2,这与b的随机猜测是等同的.
考虑另一种情况,假设攻击者A在执行完本方案的签名后得到了两个签名消息分别为(PID0,M0,tt0,δ0),(PID1,M1,tt1,δ1).设j∈{0,1},j表示该签名方案的一个实例,为了证明方案的不可链接性,对于(PID,M,tt,δ)∈{(PID0,M0,tt0,δ0),(PID1,M1,tt1,δ1),在保证签名合法的情况下总能实现hi,1=H1(PIDi,Ki),hi,2=H2(Ki,Ri,PIDi,Mi,tti)使等式ViP=hi,2Ri+Ki+hi,1PK成立.所以挑战者是不能区别消息来自于哪一个签名者,从而该方案能够满足不可链接性.
4.2.3 抵抗中间人攻击
在中间人攻击中,攻击者同时与相互通信的两方保持通信连接,并且使相互通信的两方相信彼此在一个安全的链接中进行信息的交互,以获得有用信息达到攻击目的.在本文方案中,RSU与Vp每次通信过程中都会有随机数的生成,所以攻击者与RSU和Vp与RSU以及攻击者与Vp与RSU之间建立的连接之中所使用的随机数是不相同的,所以攻击者无法通过中间人攻击与合法用户建立通信连接以达到攻击目的.
4.2.4 抗合谋攻击
1)n个车辆共谋获取另一车辆的身份信息:假设Vp与同一有限域内的n个车辆进行了通信,这n个车辆都得到了Vi对消息的签名.假设签名消息分别(PID0,M0,tt0,δ0),(PID1,M1,tti,δi),…,(PIDi,Mi,tti,δi),…,(PIDj,Mj,tt1,δ1).其中j∈1…n,即与车辆1,2,…,n的共n次通信,δi={Ki,Ri,Vi},Ki=kiP,Ri=riP,Vi=H2(Ki,Ri,PIDi,Mi,tti)×ri+Simodq,Si=ki+H1(PIDi,Ki)×xmodq.由于ki,ri,是车辆在每次签名过程中随机生成的参数,各个随机参数之间没有任何的联系,并且,车辆在每次签名过程中的PIDi也是不同的,所以,根据各个车辆与Vp验证过程中生成的签名并不能得到任何有用信息,进而得知Vp的真实身份.
2)n个RSU共谋以追踪车辆的真实身份
因为Vp与RSU的通信过程中始终传递的是Vp的临时身份公钥PIDi,并且每次签名过程中PIDi都是随机生成的,通信参数中没有出现与车辆真实身份相关的任何信息,所以,即使n个RSU进行合谋也无从求解出车辆的真实身份.
综上,本匿名认证方案是可以抵抗共谋攻击的.
4.2.5 前向安全性与后向安全性
前向安全性与后向安全性是指即使攻击者获得了车辆的当前信息也不能推测出之前之后的认证信息.方案中在认证信息的生成过程中,都会有随机数ki,ri的参与,攻击者并不能推导出前后随机数之间的关系,进而对之后的随机数值进行分析.不同的签名阶段会有不同的ki,ri生成,所以即使恶意攻击者获得了当前签名认证过程的任何信息,都不能推断出之前的认证信息或者之后的认证信息.
4.2.6 抗重放攻击
若恶意的车辆节点获得了Vp发给RSU的信息,它伪装成Vp向RSU申请签名认证,由于在初始化阶段存在与发送时间有关的时间戳t1,t2,当有车辆发送重放攻击,则时间认证将不能通过,并且在车辆向另一车辆的认证过程中,存在时间戳ti.所以恶意车辆传送的消息不可能通过RSU的签名认证请求,也不能完成车辆之间的认证,即实现抗重放攻击.
综上分析可以发现,与现有方案相比,本方案使车联网匿名认证的安全性得到进一步增强,对比结果如表1所示.
4.3.1 计算复杂度分析
为了便于方案计算复杂度的定性分析与比较,我们定义m表示组成员的数量,Ncrl表示证书更新列表的数目,Tmul代表椭圆曲线上点乘运算,Tpar代表一次双线性对运算,Texp代表一次幂运算,Tmac表示一次消息认证码操作的时间.由于其他运算比较简单,消耗时间较短,我们这里忽略不计.本方案认证过程所消耗的的时间与现存方案所消耗的时间对比结果如表2所示:
表1 安全性对比Table 1 Security performance comparison
表2 计算复杂度比较Table 2 Comparison of computational complexity
如表2所示,无论是单个消息认证还是批量认证,仅仅用到计算复杂度较小的点乘运算.在方案[7,12,14]中,由于双线性对的使用,其计算量明显较大,并且,双线性运算的个数随着消息的增多呈线性增多;文献[13]中的方案,仅点乘运算的运算次数就高于本方案.其计算量都明显高于本方案.
4.3.2 通信复杂度分析
通信复杂度是指通信所需的的比特数.车联网认证方案中一次完整验证的通信开销通常主要由身份信息、签名、消息本身等组成.
表3 通信复杂度比较(单位:bytes)Table 3 Comparison of communication complexity(unit:bytes)
设定原始消息的大小为20 bytes,其中在[7]中,该方案是基于环结构与群公钥进行认证的,整个认证过程中不需要证书的参与,其签名大小为147bytes;在方案[12]中,传输数据包中所包含的数据所占空间分别为:签名40 bytes,证书121 bytes,匿名密钥为26 bytes,ID所占空间为2 bytes;在方案[13]中,原始消息20 bytes,签名42 bytes,假名63 bytes,对称密钥所占空间16 bytes,ID所占空间为 4 bytes;方案[14]中,原始消息为20 bytes,签名所占空间为826 bytes,时间戳为4 bytes,ID所占空间为 3 bytes.在本文方案中,原始消息20 bytes,签名60 bytes,假名41 bytes.如表3.
通过比较分析可以发现,本方案在通信复杂度方面也存在一定的优势.
本文针对当前车联网隐私保护中的匿名认证过程中存在的问题,设计了一种安全高效的批量匿名认证方案.本方案基于椭圆曲线密码体制密钥短、速度快、安全性能强等优势,因此,该方案在存储空间,计算效率和安全性能上都有所改进;同时,由于签名由RSU与车辆共同生成,进一步减轻了可信中心的负担.最后对方案的正确性进行了证明并对方案的性能进行了分析,通过对方案性能进行分析表明,该方案在保证隐私保护、不可链接性、抵抗中间人攻击、前向与后向安全性、抵抗共谋与重放攻击等多种安全性能的基础上计算复杂度也有所降低,通信复杂度同样具有优势.因此,这对于存储空间非常有限的车辆节点和高动态的车载网络来有着重要的理论意义与应用价值.
:
[1] Engelbrecht J,Booysen M J,Van Rooyen G J,et al.Survey of smartphone-based sensing in vehicles for intelligent transportation system applications[J].Intelligent Transport Systems Iet(Iet Intell Transp Sy),2015,9(10):924-935.
[2] Nema T,Waoo A,Patheja P S,et al.Energy efficient adaptive routing algorithm in MANET with sleep mode[C].International Conference on Emerging Trends and Technology(ICET),2012.
[3] Kwon J H,Chang H S,Shon T,et al.Neighbor stability-based VANET clustering for urban vehicular environments[J].The Journal of Supercomputing(J Supercomput),2016,72(1):161-176.
[4] Li Y,Dai W,Ming Z,et al.Privacy protection for preventing data over-collection in smart city[J].IEEE Transactions on Computers(IEEE T Comput),2016,65(5):1339-1350.
[5] Gope P,Lee J,Quek T Q S.Resilience of DoS attacks in designing anonymous user authentication protocol for wireless sensor networks[J].IEEE Sensors Journal(IEEE Sens J),2017,17(2):498-503.
[6] Raya M,Hubaux J P.Securing vehicular ad hoc networks[J].Journal of Computer Security(JCS),2007,15(1):39-68.
[7] Zeng S,Huang Y,Liu X.Privacy-preserving communication for VANETs with conditionally anonymous ring signature[J].International Journal of Network Security(IJNS),2015,17(2):135-141.
[8] Chim T W,Yiu S M,Hui L C K,et al.SPECS:secure and privacy enhancing communications schemes for VANETs[J].Ad Hoc Networks(Ad Hoc Netw),2009,9(2):189-203.
[9] Horng S J,Tzeng S F,Pan Y,et al.b-SPECS+:batch verification for secure pseudonymous authentication in VANET[J].IEEE Transactions on Information Forensics & Security(IEEE T Inf Foren Sec),2013,8(11):1860-1875.
[10] Shim K A.An efficient conditional privacy-preserving authentication scheme for vehicular sensor networks[J].IEEE Transactions on Vehicular Technology(IEEE T Veh Technol),2012,61(4):1874-1883.
[11] Mahanta H J,Azad A K,Khan A K.Differential power analysis:attacks and resisting techniques[M].Information Systems Design and Intelligent Applications,Springer India,2015:349-358.
[12] Lu R,Lin X,Shen X.SPRING:a social-based privacy-preserving packet forwarding protocol for vehicular delay tolerant networks[C].IEEE International Conference on Computer Communications (INFOCOM),2010:1-9.
[13] Studer A,Bai F,Bellur B,et al.Flexible,extensible,and efficient VANET authentication[J].Journal of Communications & Networks(J Commun Netw-S Kor),2009,11(6):574-588.
[14] Shao J,Lin X,Lu R,et al.A threshold anonymous authentication protocol for VANETs[J].IEEE Transactions on Vehicular Technology(IEEE T Veh Technol),2016,65(3):1-1.