APP下载

车联网中基于短期标识的Sybil攻击防御方法

2021-08-24张春花马竟宵

小型微型计算机系统 2021年8期
关键词:攻击者字节密钥

张春花,马竟宵

(同济大学 电子与信息工程学院,上海 201804)

1 引 言

借助无线通信技术、智能计算、传感技术等,车联网为用户提供超视距范围的道路环境感知,成为提高驾驶安全和改善交通效率的关键.其核心是支持基于V2V(Vehicle to Vehicle)和V2I(Vehicle to Infrastructure)通信的安全消息广播,从而提高驾驶安全和交通效率[1].安全消息可分为周期性广播的信标消息和安全事件触发的告警消息,包含车辆的身份、位置、速度等信息[2].

由于车辆处于开放的无线访问环境,基于假名的隐私保护是必要的安全措施,而由于车联网规模庞大、车辆高速移动等,车辆间通常难以建立长久固定的关系,导致攻击者易发起Sybil攻击,即攻击者在同一时刻或一段连续时间内使用多个无物理实体的虚假/有效假名身份发布安全消息[3].Sybil攻击会影响网络的正常运行,甚至导致严重的交通事故.例如,攻击者利用多个假名发送虚假交通事件消息,会误导正常用户对交通事件的判断;攻击者利用多个假名破坏基于车辆间协作的网络协议,如路由协议[3,4].为此,抗Sybil攻击的安全机制对车联网的发展至关重要[5].

研究人员提出的面向Sybil攻击的安全方法,可分为基于社交网络的方法、基于资源测试的方法、基于车辆移动性的方法和基于身份认证的方法.基于社交网络的方法[6]主要利用节点间的社交关系检测Sybil攻击,但在车联网中,由于车辆的快速移动性,在邻近车辆之间很难形成稳定的社交关系,从而使得此类方法在车联网中很难适用;基于资源测试的方法中验证者通过验证每个身份标识是否拥有与独立节点相同的被测资源(如计算资源和通信资源)[7],但车联网中,恶意车辆节点易获得计算资源,而通信测试易导致网络拥塞;基于车辆移动性的方法[8-11]通过利用车辆的位置、邻居、速度等信息的合理性,以检测Sybil攻击,但车联网环境复杂多变,给检测机制的普适性和准确性带来挑战;基于身份认证的方法[12-16]的基本思想是,通过验证签名或证书是否正确,以判断消息发送方身份的合法性,但签名验证计算代价高[17],攻击者通过随意制造身份标识发布消息,仍可能消耗正常车辆的大量计算资源,严重情况下会引发DoS(Denial of Service,拒绝服务)攻击,导致网络瘫痪,另外,合法车辆也会通过非法使用多个可通过身份认证的假名发起Sybil攻击.

为抵御伪造、冒用和滥用假名身份的Sybil攻击,本文在确保身份隐私保护的前提下,提出在划分区域的网络模型中为车辆分配命名为MAC(Medium Access Code,媒介访问码)的短期标识,并结合聚簇网络结构实现路测单元(Road Side Units,RSUs)辅助的在线MAC认证机制.本文主要工作如下:

1)提出了由RSU与车辆协商在特定区域内有效的车辆短期标识MAC和私有认证密钥Key,并利用通过聚簇算法确定的簇头(Cluster Head,CH)作为通信代理以实现车辆唯一性认证的系统架构;

2)通过结合椭圆曲线乘法、异或操作和哈希函数等计算操作,提出了具有抗冒用MAC和假冒RSU等攻击的安全和有效的MAC认证方法.通过MAC认证的邻近车辆组成合法簇,车辆建立对应的合法MACs列表RL.车辆借助RL检查安全消息携带的MAC是否合法,可高效地检测Sybil攻击.

另外,通过与现有Sybil攻击检测方法和典型车辆身份认证机制进行对比分析,本文方案在常规车载硬件配置条件下,可防御基于伪造、冒用和滥用假名的Sybil攻击,且在计算时间开销、通信开销、通信延迟和丢包率等方面,比现有相关工作更有效.

2 相关工作

针对车联网中的Sybil攻击,目前研究人员主要提出了基于车辆移动性的检测方法和基于身份认证的防御方法.

1)基于车辆移动性的Sybil攻击检测方法

在Sybil攻击中,攻击者在声称多个假名身份的同时,要为每个声称的假名身份伪造不同的位置、速度等信息.因此,研究人员提出了基于车辆移动信息合理性的Sybil攻击检测方法.

文献[4]利用匿名RSU发布的时间戳标识作为车辆的在该区域内的通信身份,通过验证收到的告警消息中是否包含相同的时间戳标识检测Sybil攻击.为防止车辆申请多个时间戳标识,TA需记录车辆前一次经过的RSU和时间戳.如文中所述,该方案的误报率和漏报率受时间戳标识的有效时间和RSUs间距的影响.

文献[8]基于宏观交通流理论,由每个车辆监控其邻居车辆,通过比较车辆的真实准确速度和基于交通流基本图的估计速度,以检测Sybil攻击.

文献[9-11]主要基于一个相对精确的位置只能有一辆车的事实.基于接收信号强度指示(Received Signal Strength Indication,RSSI)估计消息源位置的文献[10,11],易受多径、散射、障碍物、电磁干扰等因素的影响[9].文献[9]使用几何交叉模型和局部车辆位置偏差矩阵以识别Sybil车辆,但车辆密度和GPS误差会影响方案的检测率.

2)基于身份认证的Sybil攻击防御方法

车联网身份认证方法通常由车辆向TA申请可认证的假名、密钥或证书,车辆在发送消息时附带消息签名和证书.此类机制试图实现不可伪造和不可否认的消息签名,通过验证签名的正确性以认证消息发送方的身份合法性,从而抵御攻击者发起随意生成假名的Sybil攻击.

文献[12]提出的基于公钥基础设施(Public Key Infrastructure,PKI)的方案使用公钥证书为车辆颁发可认证的假名.为支持假名更换以抵抗基于轨迹追踪的隐私攻击,TA会为车辆颁发多个假名和证书,这导致恶意车辆会通过滥用假名和证书发起Sybil攻击.文献[13]提出为车辆分配在特定区域有效的临时证书以抵抗Sybil攻击,但需要配有摄像头的RSU为初次进入网络的车辆发放证书.

基于IBC(Identity-Based Cryptography,基于身份的密码学)的匿名认证方法[14-16]无需为车辆颁发假名证书.文献[14]将系统主密钥下载到理想型车载防篡改设备(Tamper-Proof Device,TPD),车辆基于系统主密钥、车辆真实身份和系统参数自生成假名.消息接收者通过验证消息签名即可确定消息发送方的身份是否合法.TA可根据签名追踪攻击者的真实身份,但不能阻止攻击者继续发送恶意消息[18],且理想型TPD的假设太强[15].DAPPA方法[15]使用现实型TPD,RSU为经TA在线认证通过的车辆分配与RSU私钥相关联的成员私钥,车辆基于hash函数、长期假名和时间戳生成临时假名,消息接收方利用RSU的公钥认证消息签名.正如文献[15]所述,现实型TPD在长期边信道攻击下,仍是不安全的,则一旦成员私钥泄露,攻击者即可生成带任意假名的有效消息.文献[16]中,车辆使用来自密钥生成中心(Key Generation Center,KGC)和自身的两部分私钥生成消息签名.但已成功注册的恶意车辆,通过使用其他车辆的假名,也可生成签名正确的消息.

3 SISD方法

SISD方法主要针对道路上行驶的车辆向附近车辆广播安全消息的场景,检测是否存在伪造、冒用和滥用假名身份的Sybil攻击.其中,伪造身份指随意生成假名;冒用身份指使用网络中其他正常车辆使用的假名;滥用身份指在短时间内同时使用多个可通过身份认证的假名.

SISD方法的主要思想是通过确保每个合法车辆仅有唯一有效的短期标识MAC和认证密钥Key,且攻击者无法伪造和冒用(MAC,Key),从而实现Sybil攻击防御.其中,MAC是由RSU分配的短比特序列随机数,是车辆的公开通信身份标识;Key是由车辆生成的私有长比特序列随机数.

3.1 模型、假设和方法流程

3.1.1 网络模型和假设

本文采用的网络模型包含3类实体:TA、智能车辆和RSUs[4],如图1所示.

图1 网络模型

TA具有最高的权限、通信、计算和存储能力,受到良好的保护,不会被任何攻击者攻破.

假设1.TA已通过某特定PKI密码学算法,为自己、RSUs和注册智能车辆生成了长期公/私密钥对和相应的身份证书.

智能车辆.具有计算、存储、通信和感知等功能,并安装了TPD用于安全存储密码学相关数据.每个智能车辆在使用车联网服务前,使用真实身份信息在TA注册.

假设2.智能车辆向TA申请了基于特定PKI密码学算法的若干短期公私密钥对和相应的假名证书,用于广播安全消息.

邻近的车辆可动态地组成簇,包括簇头(Cluster Head,CH)和簇员(Cluster Member,CM).在车联网中,聚簇对于信息收集和分发等网络功能具有重要意义[19,20].

RSUs的计算、存储和通信等能力高于车辆,通过无线信道与覆盖区域内的车辆通信,并通过有线信道与TA和其它RSUs实时交换消息.

假设3.为降低由于频繁更换MAC带来计算和网络资源消耗,假设若干RSUs组成一个自治网络[16],所有RSUs和覆盖区域内的所有车辆称为区域群组(Region Group,RG).

3.1.2 SISD方法的流程

SISD方法的流程如图2所示,主要包含3个阶段:1)为后期MAC认证做预备工作,配置椭圆曲线参数并初始化RSU;2)RSU与车辆协商短期车辆标识MAC和认证密钥Key;3)基于聚簇网络结构和MAC认证以防御Sybil攻击.

图2 SISD方法的流程图

车辆与RSU协商MAC和Key后,基于聚簇方法[20]动态地组成簇.每个簇包含一个簇头车辆CH和若干簇员车辆CMs.文献[20]提出的动态聚簇方法,考虑了车辆速度、方向、与其他车辆的连通度和车辆的移动模式,并通过仿真说明了方法的有效性.

CH通过与RSU通信以证明自身MAC的合法性并认证CMs的MACs.认证结束后,CH和CMs获得簇内有效MAC和对应车辆假名的列表RL.当车辆使用假名发送安全消息时,附上自己的MAC,接收车辆通过检查消息中的MAC和假名是否在RL中,可快速地检测Sybil攻击.

文中使用的主要符号及意义如表1所示.

表1 主要符号及意义

3.1.3 针对SISD方法的攻击模型

为设计安全的Sybil攻击防御方法,考虑攻击者针对本文提出的Sybil攻击防御方法可能发起以下2类攻击,并在SISD方法中设计了相应的安全策略:

图3 簇2中车辆试图冒用簇1中车辆Vi的MAC认证信息

2)假冒RSU攻击:CH作为代理与RSU通信以认证簇内所有车辆的MACs.由于是开放式无线通信环境,攻击者可能会试图伪装成RSU返回虚假的认证结果.

3.2 配置椭圆曲线参数并初始化RSU

SISD方法基于椭圆曲线离散对数(ECDLP)问题实现对车辆短期标识MAC的安全认证.在网络运行前,TA首先配置椭圆曲线参数并设置RSU的密钥信息和随机标识码(Random Identification Code,RIC).RIC是短比特序列随机数,是RSUs在区域群组内的短期标识,便于MAC认证过程中的信息传输.

3.2.1 配置椭圆曲线参数

加法循环群Gq具有以下属性[1,14]:

② ECDLP:给定两个随机点G和Q,计算整数x使得Q=x·G成立是困难的.

3.2.2 设置RSU的密钥信息和随机标识码

3.3 RSU与车辆协商短期车辆标识MAC和认证密钥Key

当车辆进入区域群组时,首先与邻近RSU执行基于PKI证书的相互身份认证,详细过程可参考文献[21].若双方身份都有效,RSU与车辆协商MAC和Key.

3.3.1 RSU为车辆分配MAC

3.3.2 车辆与RSU协商认证密钥Key

7. ComputeKi=ki·G

8. End if

9.End if

3.4 基于聚簇网络结构和MAC认证以防御Sybil攻击

车辆收到RSU返回的认证密钥确认消息后,通过执行聚簇算法组成簇,由簇头CH启动基于MAC的CH和CMs的认证,该过程如图4所示.认证结束后,CH和CMs通过有效MACs的列表过滤Sybil消息.详细步骤如下:

图4 CH和CMs认证过程

3.4.1 CH和CMs生成计算安全且不可冒用的认证信息

为抵抗冒用MAC的攻击,CH和CMs结合随机数、异或运算、哈希函数和ECDLP生成认证信息,该过程如算法2所示,其安全性分析见4.1.1节.

算法2.CH和CMs生成计算安全且不可冒用的认证信息

3.4.3 RSU基于椭圆曲线标量乘法运算认证CH和CMs

当收到消息Mj时,RSU首先认证簇头CH,以防止攻击者伪装成CH发送无效的认证消息而消耗RSU的资源,然后再认证CMs.

RSU认证CH的详细过程如算法3所示.

算法3.RSU认证CH

1.Verify(TC-Tj)<ΔT,whereTis the current time and ΔTis the maximum transmission delay.

2.IfTjis valid then

3. RSU search local database and find the registration record:{MACj,PKVj,Kj}according toMACj

10. Send the verifification information of CMs to corresponding to RSU according to the RIC inMj.

11. End if

12. End if

13.End if

RSU认证CMs的详细过程如算法4所示.

算法4.RSU认证CMs

1.Verify(TC-Ti)<ΔT,whereTis the current time and ΔTis the maximum transmission delay.

2.IfTiis valid then

3. RSU search local database and find the registration record {MACi,PKVi,Ki}according toMACi.

9. End if

10.End if

3.4.4 RSU返回MAC认证结果

为抵抗假冒RSU攻击,RSURi在向CHVj返回MAC认证结果时,SISD方法基于ECDLP、哈希函数和时间戳生成可证明认证结果权威性的信息,其安全分析见4.1.2节.

3.4.5 CH和CMs验证MAC认证结果

当收到RSU 返回的MAC认证结果时,CH和CMs需验证认证的权威性,详细过程如下:

3.4.6 基于有效MAC列表过滤Sybil消息

CH和CMs确认MAC认证结果的权威性后,将得到本簇内有效MAC和对应车辆假名的列表RL,如表2所示.

表2 簇内有效MAC和对应车辆假名的列表

车辆Vi使用假名PIDi发送安全消息时,附上MACi.当车辆Vp收到Vi发送的安全消息时,通过检查消息中的(MACi,PIDi)是否在列表RL内,以过滤基于伪造身份、冒用身份和滥用身份的Sybil消息.

4 安全分析与比较

本节分析SISD方法在抗冒用MAC攻击、抗假冒RSU攻击方面的安全性,并与其他相关工作比较了抗Sybil攻击方面的安全特征.

4.1 SISD 方法的安全性分析

4.1.1 抗冒用MAC攻击

SISD方法从以下2个方面抵抗冒用MAC攻击:

4.1.2 抗假冒RSU攻击

基于ECDLP,则在s未知的情况下,攻击者无法生成有效的(rR,RR),使得等式σR·G=S+RR成立的.因此通过验证σR·G=S+RR是否成立,可确认认证结果的权威性.

4.2 抗Sybil攻击的安全特征比较

SISD方法中,RSU为持有合法长期PKI证书的车辆颁发短期标识MAC.由4.1节安全性分析可见,本文方法可确保每个车辆在特定区域内仅有一个有效的MAC,且攻击者不可冒用正常车辆的MAC,因此可抵抗伪造身份、冒用身份和滥用身份的Sybil攻击.

将本文方法与基于时间戳标识的方法[4]和基于假名的代表性身份认证方法[15,16]在抗Sybil攻击、设备/设施需求和面向的安全应用等方面的安全特征进行对比分析,如表3所示,其中,√表示能够实现/需要对应的需求,×表示不能完成/不需要对应的需求.STARCS、DAPPA、EPFCA等方法的相关说明见第2节相关工作部分.可见,在车辆安装普通TPD的情况下,本文方法在车联网安全消息应用方面能提供更好的Sybil攻击防御能力.

表3 相关方法的安全特征比较

5 性能评估与仿真验证

本节从计算时间开销、通信开销、平均通信延迟和平均丢包率等4方面,将本文SISD方法与STARCS[4]、DAPPA[15]、EPFCA[16]进行性能对比分析.

5.1 计算时间代价

本节分析各方法在检测Sybil攻击方面的计算时间开销.假设TBP表示执行一次双线性配对运算需要的时间,TECM表示执行一次椭圆曲线乘法运算需要的时间,TMTP表示执行一次MapToPoint哈希运算需要的时间,TME表示执行一次指数幂运算所需要的时间.通过在配置Intel i7 3.07 GHz的机器上运行MIRACL密码库,获得密码学操作的执行时间如表4所示[4,22,23].由于字符串连接、异或、单向哈希函数和椭圆曲线加法等运算的计算开销非常小,本文在分析各方案的计算开销时只考虑TBP、TECM、TMTP和TME等参数.

表4 密码学操作的执行时间

STARCS通过验证消息签名和时间戳标识检测Sybil攻击;DAPPA和EPFCA通过验证消息签名判断消息发送方身份的合法性.本文方法中,当邻近车辆组成候选簇以及车辆加入簇时,需通过认证MAC以防御Sybil攻击,之后,车辆可通过认证的有效MAC列表RL快速检测Sybil攻击.

表5总结了4个方法检测Sybil攻击的计算开销,包含发送方车辆生成检测信息的计算开销和接收方车辆认证检测信息的计算开销.可见无论是对单个车辆进行Sybil攻击检测还是批量检测Sybil攻击,本文SISD方法所需的计算时间开销最小.

表5 检测Sybil攻击的计算时间开销

5.2 通信开销

为对比分析通信开销,假设消息时间戳的长度为8字节,与驾驶状态和交通事件相关的消息内容为100字节[2],哈希函数(SHA-1)的消息摘要占20字节,素数p和q为20字节,相应群组Gq的元素的长度为40字节[16].

STARCS通过在告警消息中携带时间戳标识检测Sybil攻击.告警消息内容包含消息的时间戳、车辆的临时公钥和假名、RSU的假名、告警事件的内容、从RSU获得的时间戳标识信息(包含请求时间戳和时间戳标识)和基于ECDSA算法[24]的消息签名,各字段的长度分别为8字节、42字节、44字节、100字节、48字节和40字节,共282字节.EPFCA中,安全消息包含消息的时间戳、车辆的临时假名、车辆行驶状态信息、车辆的公钥和消息签名,长度分别为8字节、64字节、100字节和160字节,共332字节.

表6总结了各方法对单个车辆和n(n≥2)个车辆执行Sybil攻击检测的通信开销,可见本文方法具有最小通信开销,且被认证的车辆数量越多时优势越明显.

表6 检测Sybil攻击的通信开销

5.3 仿真验证

仿真平台使用Veins5.0耦合交通仿真器SUMO1.2.0和网络仿真软件OMNeT++5.5.1.仿真参数如表7所示.

表7 仿真参数设置

图5是本文SISD方法、EPFCA方法和STARCS方法在Sybil攻击防御或检测中平均通信延迟随网络中车辆总数的变化情况.从图5可看出,SISD平均通信延迟约为3.4ms,EPFCA的平均通信延迟约3.2ms,STARCS的平均通信延迟约为8.9ms.可见,EPFCA的平均通信延迟最低,本文提出的SISD的平均通信延迟次之,且均优于STARCS的平均通信延迟.这是因为本文SISD在Sybil防御过程中,涉及簇员、簇头和RSU之间的通信过程,而STARCS检测Sybil攻击的过程涉及计算代价高的双线性对操作.但如4.2节安全分析可知,本文SISD方法在抗Sybil攻击方面的安全性优于EPFCA方法.

图5 平均通信延迟

图6是本文SISD方法、EPFCA方法和STARCS方法在Sybil攻击防御或检测中平均丢包率随网络中车辆总数的变化情况.从图6可看出,本文提出的SISD比EPFCA和STARCS具有较小的平均丢包率.当网络中车辆总数较少时,由于车辆节点比较稀疏,平均丢包率较高.随着网络中车辆总数的增加平均丢包率会降低,但当网络中车辆总数超过60时,平均丢包率会上升,这是因为网络通信资源受限,网络中存在许多车辆节点竞争发送消息而导致数据包丢失.

图6 平均丢包率

6 总 结

基于伪造、冒用和滥用假名的Sybil攻击严重威胁车联网安全.为此,本文提出了一种基于短期标识MAC的Sybil攻击防御方法SISD,分析了攻击者针对SISD方法可能发起的攻击并提出了相应的抵抗方法.安全分析与比较表明,SISD方法可抵抗冒用MAC攻击和假冒RSU攻击,并在常规硬件配置下,可防御Sybil攻击.并且,SISD方法在计算时间开销、通信开销、通信延迟和数据包丢失率方面优于现有相关工作.

猜你喜欢

攻击者字节密钥
No.11 字节跳动计划自研芯片:仅供内部使用
基于贝叶斯博弈的防御资源调配模型研究
幻中邂逅之金色密钥
幻中邂逅之金色密钥
No.8 字节跳动将推出独立出口电商APP
正面迎接批判
Android密钥库简析
正面迎接批判
人类进入“泽它时代”
一种新的动态批密钥更新算法