车载自组织网络基于智能卡的安全认证方法
2014-11-30应必善
应必善
(华数数字电视传媒集团有限公司,浙江 杭州310012)
0 引 言
在车载自组织网络 (vehicular Ad Hoc network,VANET)的实际应用中,如果攻击者对车辆行驶消息 (如速度、方向、车距、发送者标识符、接收者标识符等)进行篡改、伪造、重放等,或者通过捕获合法用户来获得通信证书,从而影响车辆之间的正常通信,可能影响驾驶员判断并造成交通状态和人身安全隐患。因此,用户认证是VANET安全保护中最重要的问题。现有的VANET安全认证方法主要存在2类问题[1,2]:①计算复杂、通信开销大,不适合大规模的VANET应用;②受到智能卡丢失攻击、离线密码猜测攻击、重放攻击、伪装攻击等。针对上述问题,本文对VANET的安全认证进行研究,提出基于智能卡的安全认证方法。不同于群签名方法[1]、伪名证书方法[2],本文利用智能卡验证用户输入的标识符和密码信息,动态产生登录标识符。可信认证中心 (trusted authority,TA)对智能卡所递交的信息进行验证,判断该用户是否合法。针对越区切换过程,本文提出基于邻居节点的越区切换算法,提高越区切换用户的认证效率。
1 VANET安全认证方法
有的学者采用公共密钥设施 (public key infrastructure,PKI)数字签名验证用户和消息的合法性[2,3],然而PKI数字签名计算过于复杂、存储开销过大,并不适合拓扑动态变化的VANET用户认证。在车辆密集的广播消息认证中,很容易导致因处理时间过长而丢失消息。
也有学者利用群签名方法验证消息合法性[4-7]。Yao等人[4]提出了由路边单元 (roadside units,RSUs)向车辆临时生成并分配含有伪名的群成员证书的方法,该方法能够提高伪名分发与撤销的效率,减少了通信开销与存储开销,但是严重依赖于RSUs,这在网络建设初期是比较困难的。此外,该伪名的分发受时间和空间限制,容易暴露发送者的行踪。
Studer等[8]则提出了采用轻量级广播认证算法来实现安全认证,广播者首先生成一条长密钥链,其中每个密钥只能在很短的时间内对消息内容生成数字签名,当密钥过期后,就会被公布,接收者收到一个公布的密钥时,会用其来验证先前收到的消息。与传统的PKI和群签名相比,该算法能够减少带宽和计算资源开销。然而接收者需要等待一定时间才能收到公开的密钥,延长了实际处理时间。
Lin等人[9]提出时间有效的隐私保护安全通信方案,其改进思想是:用于数字签名的密钥在该消息广播之后等待δ时间才公布,从而降低接收者的等待密钥公开时间。但由于验证密钥总是延迟固定时间δ发送,导致接收者至少需要等待δ才能对上一个收到的消息进行合法性验证,无法满足实时安全驾驶的要求。
Zhang等人[10]采用双线性签名对用户和消息的合法性进行认证,该方法相比群签名方案、PKI数字签名方法、伪名证书方案降低了计算开销,但是车辆需要通过6次握手通信才能获得签名证书。
Paruchuri等人[11]首次采用智能卡进行认证广播消息,智能卡上存储车辆标识符、公私钥、证书等,该方法跟群签名方案、PKI数字签名方法、伪名方案相比,降低了通信开销,但严重依赖RSUs,一旦智能卡丢失或被偷,攻击者很容易冒充合法用户获得网络中的通信内容。
2 基于智能卡的安全认证方法
VANET系统由可信认证中心 (TA)、车载单元 (on board units,OBUs)、路边单元 (RSUs)等组成。RSUs和OBUs需要向TA注册,RSUs通过有线或者无线方式连接TA,车辆之间或车辆与RSUs之间的通信协议为IEEE 802.11p。假设如下:
(1)TA是可信任的,不能被攻击者所捕获,且TA拥有足够大的计算能力和存储空间,存有所有RSUs的位置信息和标识符等信息;
(2)RSUs是半信任的,可被攻击者捕获,但TA可以通过入侵检测方法得知RSUs是否被捕获,一旦RSUs被捕获,TA可以通过双线性数字签名方法进行恢复。
表1 列出了本文使用的符号含义。
基于智能卡的用户认证方法包括用户注册过程、用户认证过程和越区切换过程,其详细过程如下。
2.1 用户注册过程
车辆Vi进入网络之前向TA递交标识符IDVi和αi=H(PWi);TA收到消息后,执行如下操作:
(1)TA计算车辆Vi的伪名PVIDVi=H(IDVi),βi=αi⊕xs,γi=H(xs||IDVi)⊕SKTA,Ni= H(PVIDVi||αi||xs),其中xs是由TA产生的随机数,SKTA是TA的私钥;
(2)TA发送智能卡给车辆Vi,智能卡包括伪名PVIDVi、βi、γi、Ni。
表1 符号列表
2.2 用户认证过程
当车辆Vi进入该网络时,用户认证过程被激活,详细过程如下:
(1)用户登录过程
用户Vi把智能卡插入OBU终端,输入标识符IDVi和密码PWi,智能卡执行如下操作:
1)智能卡根据用户输入的标识符IDVi和密码PWi计算H(IDVi)和H(PWi),并计算=αi⊕βi;
(2)用户认证过程
用户认证过程如图1所示,描述如下:
步骤1 用户Vi把智能卡插入OBU终端Vi后,智能卡执行:
计算动态登录标识符DIDVi= H(αi||PVIDVi)⊕H(x*s);
计算用户Vi的对称密钥Ki=H(DIDVi||Ni);
计算CVi=H(Ni||x*s);
计算密文Di=EKi(CVi,na,SK*TA),其中,na是智能卡所产生的随机数,E是加密算法的运算符号;
向RSURi发送登录请求分组,包括DIDVi、Di和TVi,TVi是登录请求分组发送时刻。
步骤2 在时刻T,RSURi收到登录请求分组,执行:
核查时间戳(T-TVi)≤ΔT是否成立;
计算DIDRi=DIDVi⊕IDRi;
发送认证请求分组到TA,包括DIDRi、Di和TRi,其中IDRi是RSURi的标识符,TRi是发送认证请求分组的时刻,ΔT为TA设定的时间戳阈值。
步骤3 在时刻T1时,TA收到认证请求分组,执行:
核查时间戳(T1-TRi)≤ΔT是否成立;
计算IDR*i=DIDRiDIDV*i,并将ID*Ri与TA存储的IDRi进行比较;
当ID*Ri=IDRi,计算用户Vi的对称密钥K*i=
H(DIDV*i||Ni),用对称密钥K*i对密文Di解密,得到CVi、na、SKT*A;
当CVi=H(Ni,xs)并且SKT*A与TA所存储的SKTA相等时,计算密文Mi=EKmast(EPKTA(CertVi,H1,H2,SeedVi,PKVi,SKVi,IDRi)),并且发送认证响应分组,包括Mi和T′Ri,其中Kmast=Ki*||na,PKTA是TA的公钥,PKVi,SKVi是用户Vi的公私密钥对,CertVi是用户Vi的公私密钥对所对应的证书,H1,H2是用户Vi的Hash函数运算符,SeedVi是用户Vi的单向哈希密钥链的根密钥,T′Ri是发送认证响应分组的时刻。
步骤4 在T2时刻Ri收到分组,Ri计算T2-T′Ri,并将T2-T′Ri与ΔT进行比较:
当(T2-T′Ri)≤ΔT,Ri发送登录响应分组,包括密文Mi和T′Vi,T′Vi是发送登录响应分组的时刻;
步骤5 在T3时刻Vi收到登录响应分组,用户Vi的终端计算T3-T′Vi,并将T3-T′Vi与ΔT进行比较;
当 (T3-T′Vi)≤ΔT,计算Km*ast=Ki||na,用Km*ast和PKTA依次对密文Mi解密,得到CertVi、H1、H2、SeedVi、PKVi、SKVi、IDRi,并存储CertVi、H1、H2、SeedVi、PKVi、SKVi、IDRi。
2.3 越区切换过程
用户Vi从Ri经过越区切换进入Rm,Rm的标识符为IDRm,越区切换过程如图2所示。
详细步骤如下:
步骤1 车辆Vi执行:
计算Vi的越区切换标识符SIDVi=PVIDVi⊕H(tVi)和越区切换认证SHFi=H(PVIDVi||tVi);
发送越区切换请求分组,分组包括EPKTA(SIDVi)、SHFi、IDRi和tVi,tVi是发送越区切换请求分组的时刻。
步骤2 RSURm内的任一用户Vp收到该消息后,执行:
计算T4-tVi,并将T4-tVi与ΔT进行比较;
当(T4-tVi)≤ ΔT,用 TA的私钥SKTA对密文EPKTA(SIDVi)解密,获得Vi的越区切换标识符SIDVi;
计算Vi的伪名PVI=SIDViH(tVi);
Vp用私钥SKVp对H3,H4,SeedVp,进行签名得到签名摘要Φ,并发送越区切换响应分组,包括H3⊕、H4⊕、SeedVp⊕、CertVp⊕、tVp和签名摘要Φ,CertVp是用户Vp的证书,SKVp是用户Vp的私钥,H3和H4是用户Vp的Hash函数运算符,SeedVp是用户Vp的单向哈希密钥链的根密钥,tVp是用户Vp发送越区切换响应分组的时刻。
步骤3 Vi在时刻T5收到越区切换响应分组,执行:
计算 (T5-tVp),当 (T5-tVp)≤ΔT时,计算H3*=⊕PVIDVi;
用户Vp的公钥PKVp计算签名摘要,当计算的签名摘要与收到的签名摘要Φ相等时,存储,Sig是签名算法的运算符号。
3 安全认证方法性能分析
3.1 安全性能分析
(1)抗智能卡丢失攻击:假设攻击者获得用户的智能卡并解析秘密信息 {PVIDVi,H(·),βi,γi,Ni},然而,由于攻击者不知道xs和密码的Hash值αi=H(PWi),因此无法构造用户的动态登录标示符= H(αi||PVIDVi)⊕H),增强了系统对用户的保护。对于TA的内部人员只知道用户密码的 Hash值αi=H(PWi)和IDVi,但没有用户密码,无法登录用户验证过程。
(2)抗离线密码猜测攻击:如果攻击者猜测用户的密码为PW′i,攻击者将计算 N′i= H(PVIDVi||H(PW′i)||x)和β′i=H(PW′i)⊕x,其中x为攻击者输入的任意随机数;由于在有限群中攻击者很难同时猜中2个参数PW′i和x,使得同时满足βi=β′i和Ni=N′i。
(3)抗RSU捕获攻击:由于CVi被用户的对称密钥Ki加密,攻击者依然无法从已捕获的RSU中获得CVi信息。攻击者有可能通过猜测用户的对称密码Ki,然而产生Ki的2个部分Ni和DIDVi(Ni存储在智能卡中,DIDVi由用户的密码PWi、标识符IDVi和TA的随机数产生)很难被攻击者知道。
(4)抗重放攻击:时间戳阈值可以抵抗消息的重放攻击,假设攻击者截获登录请求消息 <DIDVi,EKi(CVi,na,),TVi>,并重新发送该消息到RSU,RSU通过验证(T′-TVi)>ΔT(T′是RSU收到重放消息的当前时刻),丢弃该登录请求消息。
(5)抗伪装攻击:由于攻击者不知道车辆的标识符、密码和随机数xs,无法构造正确的动态登录标识符DIDVi和CVi,就不能得到对称密钥Ki,因此无法得到CVi的内容。
3.2 计算开销分析
对本文方法、Zhang等人提出的方法[10]、Paruchuri等人提出的方法[11]进行计算开销比较。表2给出了3种方法的计算开销,其中tE是加密计算开销、th是Hash计算开销、ts是签名计算开销。根据Benchnarks所提出的加密库函数Crypto++5.6.0可知,签名计算开销为Hash计算开销的1.52倍。由表可知:在用户注册中,用户和TA在本文方法中只需要4次Hash计算,而Zhang等人提出的方法至少需要4次签名计算和2次Hash计算,相对计算开销较大。在用户登录和认证过程中,本文方法和文献 [10]提出的方法的计算开销相差不大。文献 [11]提出的方法计算开销最小,但严重依靠RSU,很容易被攻击者捕获,并且无法抵抗智能卡丢失攻击、抗离线密码猜测攻击、抗RSU捕获攻击等。
表2 计算开销对比
4 结束语
在车载自组织网络中,现有的安全认证算法存在计算开销大,以及抗离线密码猜测攻击差、抗重放攻击差、抗伪装攻击差等安全隐患的问题。针对上述问题,本文提出了基于智能卡的安全认证方法,利用智能卡对用户输入的标识符和密码信息进行验证,以确保用户安全合法进入网络。此外,本文还提出了基于邻居节点的越区切换算法,该算法不依靠RSU和TA,直接通过邻居者对该用户进行认证,从而缩短了越区切换用户的认证时间。性能分析结果表明,本文方法能够抵抗智能卡丢失攻击、离线密码猜测攻击、重放攻击、伪装攻击等,同时降低了计算开销。
[1]Calandriello G,Papadimitrators P.Efficient and robust pseudonymous authentication in VANET [C]//Proc ACM International Workshop on Vehicular Ad Hoc Networks,2007:19-28.
[2]Raya M,Hubaux J P.Securing vehicular Ad Hoc networks[J].Journal of Computer Security,2007,15 (1):39-68.
[3]Huang J,Yeh L,Chien H.ABAKA:An anonymous batch authenticated and key agreement scheme for value-added services in vehicular Ad Hoc networks [J].IEEE Transaction on Vehicular Technology,2011,60 (1):248-262.
[4]Hao Y,Cheng Y.A distributed key management framework with cooperative message authentication in VANETs [J].IEEE Journal on Selected Areas in Communications,2011,29(3):616-629.
[5]Zhang L,Wu Q.A scable roubust authentication protocol for secure vehicular communications [J].IEEE Transactions on Vehicular Technology,2010,59 (4):1606-1617.
[6]Ren K,Lou W.Privacy-enhanced,attack-resilient access control in pervasive environments with optional context authentication capability [J].ACM Mobile Networks and Applications,2007,12 (1):79-92.
[7]Zhang CX,Lin XD.An efficient message authentication scheme for vehicular communications [J].IEEE Transactions on Vehicular Technology,2008,57 (6):3357-3368.
[8]Studer A,Bai F.Flexible,extensible,and efficient VANET authentication [J].Journal of Communication and Networks,2009,11 (6):574-588.
[9]Lin X,Sun X,Wang X,et al.TSVC:Timed efficient and secure vehicular communications with privacy preserving [J].IEEE Transactions on Wireless Communication,2008,7(12):4987-4998.
[10]Zhang C,Liu RX.A location privacy preserving authentication scheme in vehicular networks [C]//Wireless Communications and Networking Conference,2008:2543-2548.
[11]Paruchuri V,Durresi A.PAAVE:Protocol for anonymous authentication in vehicular networks using smart cards [C]//GLOBECOM,2010:1-5.