徐堂炜,张海璐,刘楚环,肖亮,朱珍民
(1.厦门大学信息学院,福建 厦门 361005;2.中国科学院大学计算技术研究所,北京 100190)
车联网(VANET,vehicular Ad Hoc networks)群集内共享群密钥对群成员通信进行对称加密[1],是保障群集车辆协同驾驶、拥塞避免以及娱乐服务过程中通信安全和用户隐私的关键[2-3]。由于车联网群集的动态性和开放性,群集容易遭受各种内外部网络攻击,攻击者利用时序攻击、缓存攻击[4]等手段窃取群密钥,进行窃听、电子欺骗等攻击,导致用户隐私泄露与交通事故。因此,车联网需要实时更新群密钥,保障群密钥在车辆加入和离开群集的前向安全和后向安全[5]。
车联网群集使用群密钥对车辆进行节点认证和通信加密受到广泛关注的同时,如何有效管理车联网密钥是一个亟须解决的问题。文献[6]提出基于公钥基础设施(PKI,public key infrastructure)的车联网匿名密钥管理方案,通过匿名数字证书认证车辆节点和保护数据完整性,但随着车辆节点数的增加,大量的密钥和匿名证书使认证中心需付出较大的管理成本以确保系统安全,并对车辆节点的存储和通信开销带来负担。文献[7]提出使用基于群集的对等批密钥协议,但车辆节点只能属于一个群集,且当新节点加入群集时,群首需要重新与群成员逐个协商密钥,难以适用于高动态性的车联网。Islam等[8]提出的GKA方案使用假名对群集进行认证与密钥更新,通过假名构建数字签名的同时对群集车辆进行认证,防止车辆轨迹隐私的泄露。文献[5]提出使用软件定义网络对车联网进行管理,不同群集自主构建去中心化网络进行通信,同时使用中心网络对群集进行认证与密钥管理。针对群集去中心化网络,Jiang等[9]提出通过计算哈希消息认证码取代认证撤销列表对车辆进行分布式批量匿名认证,该方案保护用户隐私的同时,减小认证时延;Liu等[10]提出在信任机制基础上,信誉度高的车辆通过信任中心认证后,可进行匿名密钥协商,在保护隐私的同时,确保消息机密性和完整性。
强化学习作为机器学习的主要研究方向,被广泛用于车联网通信安全[11-12]。Xiao等[13-14]提出使用强化学习辅助移动设备优化中继方案、发射功率和通信频点等以抵抗敌意干扰,该方案在降低能耗的同时,保证了通信可靠性。文献[15-16]在未知信道模型与电子欺骗攻击模型的情况下,使用强化学习优化接收信号强度等无线信道物理层特征的认证阈值,在恶意发送者的动态博弈中实现高精度认证。Chu等[17]使用基于长短期记忆效应的强化学习进行用户联合接入控制和电池能量预测,在提升网络吞吐量的同时,节约能耗。文献[18]提出使用强化学习根据当前缓存使用状况和信道状态进行联合缓存分配和干扰对齐,以解决无线通信中的多用户干扰,提升传输速率。
本文立足于车联网群集内通信安全,以群集群密钥分配管理为研究对象。在该网络中,同一区域具有共同利益的车辆(如目的地、爱好、朋友群等)构建群集,协作形成基于车辆队列的驾驶模式,分享路况及驾驶信息,以很小且恒定的车距提高道路通行能力和能源效率,并提供多媒体服务。由于车辆频繁加入和离开群集,为保证群集内车辆通行安全,防止电子欺骗等攻击,对路况、多媒体等部分群集内信息进行加密,且需要实时更新群密钥。与传统PKI相比,本文提出一种无证书签名方案,该方案摒弃了数字证书的使用,通过信任中心与车辆间保密存储的随机质数对群密钥签名,确保数据完整性,并借助路边单元(RSU,rode side unit)广播群密钥更新信息,实现群密钥同步更新,减少车辆节点更新群密钥的通信开销,降低群密钥更新传输时延。群首在群密钥更新策略无前效性的情况下,群密钥的更新策略仅与群集当前状态有关,因而将密钥更新策略的优化过程构建为马尔可夫决策过程。为了得到动态群集环境中最优的密钥更新频率与密钥长度,本文提出了基于强化学习的低时延群密钥分配管理技术,在未知群集的车流变化模型和访问驱动高速缓存攻击模型的前提下,该技术根据群集车辆数目、群集车辆数目变化、之前时段密钥更新决策和当前群集通信的安全等级,使用强化学习优化群密钥的更新频率和密钥长度,在不断试错与借鉴的学习中,获得最优密钥更新策略,降低群集通信加解密的计算时延和群密钥被窃取的概率,提升群集通信服务质量。
车联网低时延密钥管理技术主要由装配于车辆的车载单元(OBU,on board unit)、路边单元和信任机构(TA,trusted authority)组成。OBU以专用短距离通信(DSRC,dedicated short range communication)协议[19]为基础与RSU和周围车辆通信。RSU作为一个通信中继与广播节点,通过有线网络和TA连接,并与OBU通过无线网络通信。当所有车辆首次进入TA注册时,TA分发车辆身份标识ID,产生随机质数n用于生成群密钥与加密群密钥,产生公钥VPK和私钥VSK,登记{ID,n,VPK},并将{ID,n,VSK}存放在车辆的OBU中。TA登记RSU的身份标识RID和其公钥RPK,并将其私钥RSK存储于RSU。
表1 重要参数符号Table 1 Notations of important parameters
如图1所示,车联网基于动态聚类算法在一定区域内组织M个车辆节点{Vehi}1≤i≤M构建群集[20],并为其提供协同驾驶、拥塞避免等服务;由于高速行驶的车辆加入和离开群集具有一定随机性,因而需要实时更新群密钥。假设单位时间内加入和离开群集的车辆节点数服从均值为λ的泊松分布,群集车辆身份标识为{IDi}1≤i≤M。为了保证群集内的通信和隐私安全,群集内通信采用对称加密机制,并采用无证书签名密钥管理方案更新群密钥。群首(cluster head)VehF为群集生成密钥更新请求,RSU负责将该请求进行二次加密并转发给TA,TA根据请求反馈新密钥。具体而言,群首VehF观察群集内车辆的数目,加入和离开群集的车辆数目,群集的平均行驶速度,前D个时刻的密钥更新决策和当前时刻的安全等级,生成密钥更新请求。密钥更新请求主要包含更新密钥的群集车辆ID和新密钥的长度x2,即x2||{IDi}1≤i≤M。VehF使用私钥VSKF加密密钥更新请求,添加时间戳1T发送给RSU。RSU于收到密钥更新请求后,计算,用于验证密钥更新请求的有效性,防止重放攻击。若,RSU使用私钥RSK再次加密密钥更新请求,通过有线网络将密钥更新请求发送给TA。
群成员Vehi接收RSU广播的密钥更新消息,使用私钥VSKi解密IDi对应的部分,获得。群成员使用OBU中存储的随机质数ni解密获得群密钥ψ*,并计算其hash值h(ψ*)校验新密钥*ψ的真实性。若h(ψ*)≠h(ψ),接收到的密钥更新信息为伪造消息;否则,更新*ψ作为群集内通信的新密钥。
图1 密钥管理模型Figure 1 Key agreement model
本文主要考虑车联网内部攻击,攻击者可以是网络内部合法的车辆节点,或者被控制的恶意车辆节点,其通过时序攻击、缓存攻击[4]等边信道攻击手段获取群密钥,进而实施电子欺骗攻击[8]等。具体而言,攻击者使用间谍程序观察加密过程中的时延边信道信息,监视缓存的命中与未命中,从而窃取加密密钥。攻击者冒充已经获得身份验证的车辆或RSU,通过合法身份将恶意信息或伪造的信息,如车流密度信息、碰撞避免信息,发送给周围车辆,甚至冒充合法身份的车辆将该车辆从VANET中移除。假设每个车辆节点发动内部攻击成功的概率为y,拥有车辆数目M的群集被攻击的概率为1-(1-y)M。其中,群集被攻击成功的概率与群集车辆数目和密钥更新频率呈正相关,与密钥长度呈负相关。
随着车辆的加入、离开,群集的合并、拆分和通信安全等级的变化,群首需要实时更新群集内通信的群密钥。群密钥的密钥长度和更新频率与群集通信安全等级、通信加密与解密计算时延的动态优化过程可以视为一个马尔可夫过程。本文提出一种基于强化学习的低时延车联网群密钥分配管理技术,群首优化群密钥的长度和更新频率,通过不断试错与学习,获得最优的密钥更新策略。
在该技术中,群集基于物理层特征,如信道状态和接收信号强度等,进行入侵检测[22],VehF根据反馈的检测结果评估群集的通信安全等级ρ。当群集检测到车辆遭受电子欺骗等攻击时,ρ=0;否则,ρ=1。群首VehF综合考虑群集的车辆数目M,群集平均速度v,前D个时刻内密钥更新决策g和上一时刻群集通信的安全等级ρ等信息,根据群集的长期学习效益,选择密钥更新策略x∈A,包含是否发送密钥更新请求x1∈{0,1}与更新的密钥长度x2∈[1,LA]bit,即x=[x1,x2]。其中,LA为密钥长度的上限值,A为密钥管理动作空间。当x1=0时,VehF不发送密钥更新请求,群集继续使用之前的密钥进行通信加密;当x1=1时,VehF向TA请求更新长度为2x的群密钥。
在k时刻,VehF观察群集内k-1时刻和k时刻的车辆数目Mk-1和Mk,群集车辆平均行驶速度vk,前D个时刻密钥更新决策和k-1时刻群集通信的安全等级ρk-1,构建当前群集状态sk。
令Q(s,x)表示VehF在s状态下采取行动x的长期收益,VehF根据当前群集的状态sk,通过对应的Q值采用ε-贪婪策略选择群密钥的更新策略。具体而言,VehF以1-ε的概率选择当前状态sk中长期收益Q(sk,x)最大的密钥更新策略;以ε的概率从A中任意选择一个密钥更新策略,即
在k时刻,若VehF向TA发送经由RSU转发的密钥更新请求,该请求包含群集车辆身份标识{IDi}1≤i≤M和密钥长度;TA接收密钥更新请求并生成群密钥ψ返回给RSU;RSU接收到被加密的新密钥后,将其广播给群集车辆以实现对整个群集密钥的更新。
当群集进行密钥更新后,VehF通过群集成员的反馈获得当前群集内通信的安全等级ρk,并评估群集加密与解密长度为的群密钥的计算时延。VehF通过群集车辆数目Mk、群集通信安全等级ρk和密钥长度评估此次密钥更新的收益uk。
其中,c1和c2分别表示群集通信加密与解密的计算时延和密钥更新时延的权重。
VehF观察群集k+1时刻状态sk+1,基于贝尔曼方程,更新状态动作对(sk,xk)对应的Q值,即
基于强化学习的车联网密钥管理技术的具体过程如算法1所示。
算法1基于强化学习的低时延车联网密钥分配管理算法
1)初始化α,β,Q=0,s1,k=1,K。
2)观测k-1时刻和k时刻车辆数目Mk-1与Mk,车速vk,前D个时刻内密钥更新情况gk和k-1时刻通信安全等级ρk-1。
3)构建当前k时刻群集的状态sk=[Mk-1,Mk,vk,gk,ρk-1]。
6)评估当前通信安全等级ρk。
7)根据式(3)获取效益uk。
8)根据式(4)更新Q(sk,xk)。
9)若k=K,则结束学习;否则,k=k+1,跳转至步骤2)。
为了验证基于强化学习的低时延车联网群密钥分配管理技术在加密与解密的计算时延和通信安全等级上的优势,本文利用Python构建动态群集仿真场景。仿真参数设置参考文献[23],具体如下:群首与300 m范围内的车辆构成群集,起始群集车辆节点数目为50,群集内车辆平均速度v∈[0,120]km/h且与群集车辆数目呈反比[24]。群集车辆使用高级加密标准(AES,advanced encryption standard)对称加密算法对群集内通信进行加密,可选密钥长度x2∈{128,192,256}bit。群集内车辆通信的数据包大小为1kB。Q学习的学习率α=0.2,折扣因子β=0.8。
图2提供了3 000个时隙内基于强化学习的密钥管理技术(RLKA)的平均性能,考察了单位时隙加入和离开群集的平均车辆数目λ∈{1,2,…,5}对加密与解密计算时延和群集通信安全等级的影响。当λ从1增加到5时,群集内车辆加密和解密1kB数据包的计算时延从432 μs增加至497 μs,时延增大了15.0%;群集通信安全等级从0.963降低至0.794,性能降低了17.5 %。当λ=3时,与GKA方案相比,本文所提技术的加解密计算时延降低了18.1%,安全等级提升24.1%。这是因为与GKA方案固定的密钥长度和更新频率相比,本文提出的RLKA技术能够根据当前群集的车辆数目、车辆加入与离开群集数目和群集车辆入侵检测安全反馈等车联网相关信息,通过合理地更新密钥与控制密钥长度,降低恶意节点攻击成功概率,保证车联网群集通信安全并获得更小的加解密计算时延开销。
图2 车联网密钥管理平均性能Figure 2 Average performance of key agreement in VANET
图3 密钥更新传输时延Figure 3 The transmission delay of key update
为了验证使用无证书签名的RLKA技术在通信开销上的优势,本文利用Matlab构建密钥更新传输时延的仿真。仿真参数设置参考文献[9],车辆节点与RSU间的无线传输速率为600 Mbit/s,车辆ID、时间戳T、请求密钥长度x2的数据大小为4 byte。如图3所示,当群集车辆数目从20辆增加到100辆时,由于密钥更新信息的数据量增大,群集密钥更新信息的传输时延随群集车辆数目线性增加。当群集车辆数为60时,与GKA[8]方案相比,本文所提技术的密钥更新传输时延降低了31.0%。相比基于PKI的车联网密钥管理方案,本文使用无证书签名密钥管理技术,摒弃了数字证书,避免传输数字证书带来的通信时延和通信负载,并通过RSU广播实现群密钥的快速同步更新。
本文提出了一种基于强化学习的低时延车联网群密钥分配管理技术,群首车辆观测周围车辆变化数目、车辆行驶速度等群集特征,结合之前时刻密钥更新决策与当前车联网通信安全情况构建群集状态,使用强化学习优化群密钥的更新频率和密钥长度,通过低时延群集密钥更新实现对密钥窃取和电子欺骗等攻击的抵抗,提升群集通信安全等级,降低群集内通信时延。仿真结果表明,与GKA[8]方案相比,本文提出的RLKA技术保证通信安全的同时,降低群密钥更新传输时延,减小群集内通信加密与解密的计算时延,提高群密钥保密性,提升群集通信服务质量。