基于信誉机制的车联网恶意节点识别算法研究与实现
2022-08-29邹伟伟
戴 亮,曹 利,桑 烁,邹伟伟,顾 淳
(1. 江苏宽通无线通信科技有限公司,江苏 南通 226001;2. 南通大学 信息科学技术学院,江苏 南通 226001)
0 引 言
车联网(VANET)作为现代智能交通系统的重要组成部分,主要通过车载传感器获取车辆、车主、道路属性信息以及车辆行驶过程中的动、静态信息,并通过多种通信技术实现人与车、车与车、车与路侧基础设施之间的信息交流和共享,从而提高道路安全和交通运营效率。
VANET系统基本结构如图1所示,主要由交通管理中心(TRC)、路边单元(RSU)、车载单元(OBU)三个主体部分构成。
图1 VANET系统结构
(1)交通管理中心(TRC)是VANET中的最高权威机构,与路边单元(RSU)进行有线连接,主要负责交通参与者初始化、核心信息保存等;
(2)路边单元(RSU)分布在十字路口及道路两旁,提供车辆接入、身份验证等相关服务;
(3)车载单元(OBU)安装在车辆嵌入式设备中,作为车辆的通信模块,与周围车辆交互信息。
车联网和传统有线网络通信相比,具有信道开放、带宽有限、链路容量易变、快速移动和网络拓扑动态变化等特性,这些特性使车联网通信具有许多先天安全弱点。当前对车联网的安全研究主要是建立在传统的安全机制之上,如数据加密、可信路由、通信协议安全认证、隐私保护等。但车联网作为AD HOC网的一种特殊形态,网络节点成员时刻处于动态变化中,加密认证等传统机制虽然可以在一定程度上抵御外部节点的攻击,却对内部节点的恶意行为无能为力。
若网络中的恶意节点拒绝通信合作或者进行拒绝服务攻击,将会严重影响网络性能,威胁网络安全。基于此,需在研究车联网安全特性的基础上建立相应恶意节点识别和剔除机制。本文引入一种基于主观逻辑模型的信任机制,提出车联网恶意节点识别算法,该算法利用节点间相互分享的信誉信息,能快速检测出恶意节点的存在,并将其隔离。实验结果表明,该算法能有效抵制网络内部节点的攻击,保障车联网的安全。
1 相关工作
车联网允许车辆生成并广播车辆、车主、道路属性信息及车辆行驶过程中关于路面状况的消息,如交通堵塞、交通事故等。接收到这些消息的车辆可根据消息内容确认邻居节点和前面路段状况、了解当前交通环境,让车辆及时做出符合自身利益的行为。但车联网的优势必须基于车辆生成并广播出去的消息是可靠的。现实中,车联网内可能会存在恶意车辆,它们故意发送恶意消息,引发交通混乱。在大的车联网环境中,车辆间并非互相信任。由此引发的问题是,车辆是否可以相信其他车辆发来的消息。这涉及到车辆节点彼此的信任和恶意节点的检测问题,国内外学者提出了不同的研究方案。俞波等提出了基于 ACK 的恶意节点识别方法。该方法中正确接收数据包的节点会回送一个ACK给源节点或转发数据包的上一跳节点,以此来检查是否有不可靠通信连接,但此方法在某些特殊情况下,会导致节点判断错误。C.-Y. Tseng等提出了基于规范的恶意节点识别方法,以构建有限状态机为基础,利用这些状态机反映节点期望行为,该方法只是针对特定路由设计,具有一定的局限性。Ana Paula R.daSllva等提出基于统计的恶意节点识别方法,该方法学习周期长,误报率较高。还有一些学者提出基于激励机制的恶意节点识别方法,对表现良好的节点给予奖励,激励节点参与网络合作,识别网络中的恶意节点,如Nuglets方案和改进的Nuglets方案。
本文方案借鉴了传统无线传感器网络的信誉机制,并将它改进以适应车联网环境。在信誉机制中,网络节点可信直接影响通信结果。网络中的节点互相交流其他节点的行为信息,期待每个节点维护其他节点的信誉信息,节点将观察到的其他节点的信誉信息在网内广播。因此,当节点观察到一个新的邻居节点时,可能由于它已从其他节点处听说过该节点,因而有足够的信息判断该节点是否可信。车联网节点的特点是处于高速移动和频繁连接的变化中,一个节点很有可能需要与之前未通信过的节点进行合作,所以需要快速检测出恶意节点。目前基于信任机制的邻居行为研究的主要成果有:AmelLtifi等提出了一种基于信任方法的警告传播模型,设立了Communication,Management,Enhancement Cooperation,Security 4个模块,受看门狗机制启发,用13个数据包完成网络中邻居节点行为的检测;Michiardi等提出了强化节点合作的CORE方案,利用看门狗机制对下一跳节点的行为进行检测,并在本地保存一个信任值表,根据信任值表来判断是否与目标节点合作,但无法抵御恶意诽谤攻击。吴静等提出利用TPM芯片做可信计算,结合可信属性和可信等级提出可信值管理方案,但对于尚未普及TPM芯片的设备并不适用。
2 基于信誉机制的恶意节点识别模型
本文提出的基于信誉机制的恶意节点识别方案,基于主观逻辑模型对节点行为度量化,并检测节点行为动态更新其信誉值,根据节点信誉的临界值判定该节点是否为恶意节点。
2.1 主观逻辑模型和行为检测
在基于信任机制的评估模型中,根据节点行为来量化节点信誉是判断节点信誉的重要手段,合理的量化方法是决定信誉评估模型性能的先决条件。基于证据理论,Audun于1999年提出主观逻辑理论。主观逻辑引入事实空间和观念空间描述及度量信任关系,提出一个四维变量=(,,,)表示主观信任。
事实空间由若干实体产生的可观测到的事件组成,实体产生的事件被简单划分为肯定事件、否定事件。主观逻辑理论基于Beta分布函数描述二项事件后验概率的思想,给出一个基于观察到的确定事件数和否定事件数来确定事件概率的确定性密度函数pcdf。
表示概率变量,和分别表示肯定事件和否定事件数目,表示相对粒子度,pcdf函数如下所示:
式中,0≤≤1,≥0,≥0,0<<1。
观念空间由一系列对陈述的主观信任评估组成,用四维变量=(,,,)描述称为信誉观念,满足:
式中:表示对陈述的信任度(Belief);表示对陈述的不信任度(Disbelief);表示对陈述的不确定度(Uncertainty);代表相对例子度,表示对陈述的可信成熟的先验概率。
事实空间到观念空间的转换,将=(,,)表示为事实空间中肯定事件数和否定事件数的函数,成为观念映射函数。
本文利用主观逻辑模型,采用四维变量“信誉观念”表示主观信任,进而度量信任关系。
VANET中非邻居节点数据通过中继节点转发,恶意的中继节点往往由于自私等目的拒绝合作,所有转发到恶意节点的数据包被有选择性的转发,严重影响了网络正常通信。由于VANET采用无线广播通信,节点间数据传输情况完全暴露在网络环境中,因此,周围节点可以通过混杂监听检测邻居节点行为,记录邻居节点成功转发数据包的次数和通信失败次数。
2.2 车联网信任检测模型
建立合理有效的车联网信任检测模型的关键如下:
(1)依据节点行为计算信任信息;
(2)有效防止节点恶意贬低正常节点信誉信息;
(3)快速识别并隔离恶意节点;
(4)防止由于网络等原因造成正常节点被隔离。
方案的基本框架和流程如图2、图3所示。通过检测节点行为,根据信誉评估标准对节点信任值进行分析和判断,针对网络中存在恶意行为的节点加以处罚,达到识别恶意节点的效果。
图2 信任检测模型基本框架
图3 信任检测模型流程
车辆节点需线下在车辆管理中心注册身份,初始化并分配相关密钥。接入网络后验证身份并分配信任值,拥有信任值并且信任值处在正常范围内的节点允许使用网络。车辆在运行过程中时刻监听邻居节点的通信情况,同时被邻居节点时刻监听,邻居节点根据通信行为计算节点信任值,信任值过低向可信中心举报,可信中心核实之后做出处置;信任值过低的节点被隔离出网络,被隔离节点信任值处于正常范围内后允许重新接入网络,否则永久隔离出网络。
对VANET中节点信誉评估的结果是判定节点信任的重要依据,信誉度较低的节点被判定为恶意节点。对于识别出的恶意节点,一是直接将恶意节点隔离出网络,不再给予二次接入的机会;二是允许被隔离出网络的节点再次接入网络,但这种方式会造成恶意节点的重复攻击。
2.3 车联网信任检测模型实现
路边单元RSU通过有线网络与车辆管理中心直接相连,为VANET提供服务。一般认为RSU为可信节点,作为车辆管理中心在路边的分支节点提供网络服务。本方案所涉及的与可信中心的信息交互都指与RSU交互。
2.3.1 线下注册
本方案的车联网信任检测模型基于现有的车辆管理制度,依赖车辆管理中心。规定车辆购买之后在车辆管理所注册上牌时,生成数字名片保存在车辆管理中心的数据库。数字名片包括车辆ID,车辆基本信息,举报信任值和接入信任值,并赋予初值,生成密钥对。过程见表1所列。
表1 车辆注册
2.3.2 建立连接
(1)接入网络
车辆节点接入网络时,要宣告自己的存在,并发现邻居,本方案的邻居发现参考了梁俊斌等提出的SPND发现方法。该方法的思想是,在某一时刻,在苏醒时刻,节点持续向周围广播发现报文,同时接收发现报文,当两节点同时检测到彼此的发现报文时,则声明双方存在,并且商议下一个休眠时长,在休眠期结束之后,重新发送报文告知自身存在。SPAN方法主要应用于MANET中,由于节点能量限制,需要设置休眠期。在拓扑结构高速变化的车联网中,这将严重影响发现效率和性能。车联网中的节点无需考虑能量损耗问题,因此本方案对SPND算法进行了改进,改进后的算法为:当车辆节点接入网络后,向周围广播一条信标,告知自己的存在,时刻,在通信范围内的车辆、收到广播消息后,返回一条消息,告知对方存在,并且同步时钟,协商下一次发送存在报文的时间间隔。当新的车辆进入网络后,广播消息,告知自己的存在,在通信范围内的车辆收到广播消息返回一条存在消息,同步时钟,协商下一次存在报文发送时间间隔。改进算法的一个显著优点是,未规定特定的发送时间,当网络节点较多时,不会同一时间出现大量广播报文,造成网络拥塞。改进算法如图4所示。
图4 邻居发现改进算法
某车辆节点的网络接入过程见表2所列。
表2 接入网络
(2)身份认证
车辆首次接入网络时,由于未分配信任值,与所有邻居节点建立连接之后,不能进行数据通信,方案把未分配信任值的节点称为未知节点。未知节点入网后,首先在本地建立一个邻居列表,仅保存邻居节点的ID,同时向可信中心发送认证请求。对于未知节点,网络仅允许转发其认证信息,认证过程如下:
①→RSU(1||(PU,ID|||),车辆对可信中心的验证。
②RSU→(PU,||||),可信中心对车辆验证。
③→RSU(PU,||NeighborList||),确认验证信息并询问邻居节点信任值。
④RSU→(PU, NeighborListTrustedValuel||),回复信任值。
为未知节点,RSU为路边节点(可信中心)。PU为未知节点公钥,PU为可信中心公钥。报文(1||(PU,ID)||||)中的1表示消息类型为认证请求报文。
当认证通过之后,可信中心根据第三条报文传来的邻居节点列表,发出告知报文向邻居节点告知该节点的信任值。
车辆被分配初始通信信任值,同时分配举报信任值和接入信任值,通信信任值告知网络中的所有节点,另外2个信任值由可信中心保存,并与对应ID关联。
2.3.3 信任值计算
(1)行为检测
车辆根据邻居异常行为检测结果计算信任值,当信誉值低于“0”时向可信中心举报节点。可信中心收到举报后,向网络中广播询问信息。由于与被举报节点相邻的所有节点时刻监视着节点行为,此时,节点信任值理应相同,如果其余节点反馈结果多数一致,则该节点被拒绝服务,剔除出网络,一段时间后允许重连,并记录举报节点举报成功一次;反之,忽略举报,并记录举报失败一次。算法见表3所列。
表3 行为检测
(2)可信值计算
车联网通信中,节点通信行为的好坏直接决定了节点信誉信息,节点间若相距较远,受限于通信距离,无法进行直接通信,则采用传统信任值评估方法,利用间接信任值来判断通信节点是否可信。节点信任值在网络中多次传递,经过多次计算后最终得到某个节点对该节点的间接信任值,不仅会占用大量通信带宽,还会耗费一定的计算资源。同时,单个节点需要保存网络中所有节点的信任信息,占用了大量存储空间。本方案在计算可信值时,不采用间接信任值,所有数据来自于对邻居的直接观测。另外,恶意节点也可以通过恶意贬低正常节点信任值的行为攻击信任检测模型。从现实世界来看,信誉总是难于获得并且易于失去,从主观角度讲,否定事件的影响要大于肯定事件。结合事实空间统计函数,为降低恶意贬低类的否定事件对节点信任度的影响,本方案提出一种加权主观逻辑信任评估算法WSLT(Weighted Subjective Logic Trust Model, WSLT),该算法引入通信信任值,举报信任值,接入信任值,对节点行为进行评估,在一定程度上抵制了恶意贬低正常节点信任值行为对信誉机制的影响,提升了网络性能。
①通信可信值计算
当节点首次接入网络时,可信中心分配一个初始信任值,设初始信任值为T,监视时间周期为Δ。在监视周期Δ内设立2个计数器SUCCESS和FAIL,分别表示转发数据包数量和未转发数据包数量,算法如下:
当一个检测周期结束后,计算通信周期内的信任值:
式中:表示周期内可信程度;表示周期内不可信程度;表示不确定程度;T表示周期内信任值;和分别表示在计算中和所拥有的不同权值,且<。
对于实体信任模型而言,近期行为对信任值的影响要大于历史行为的影响,为尽可能减少历史行为对信任值的影响,同时避免近期行为对信任度影响过大,参考对时间加权的思想,本文提出一种平均算法。将通信信任值与单个检测周期信任值相加求平均值,有效降低了历史行为对节点信任值的影响。
式中:表示节点通信信任值;T表示第周期的信任值。
②举报可信值
WSLT模型信任值计算依赖于节点对邻居节点的行为检测,若节点对周围节点进行恶意举报,使得正常节点信任值降低以至于被隔离出网络,将对网络通信产生严重影响。本文设立举报信任值,结合异常行为检测,判断节点是否存在恶意举报行为;设立独立信任值,将信任值低于阈值的节点同样隔离出网络。根据节点行为计算可信值,算法如下:
和分别表示成功和失败的影响因子,并且规定(T,,)∈[0, 1),<,0表示完全不可信,1表示完全可信。
③接入信任值
VANET通信依赖于无线网络,不可避免的存在通信连接不稳定、异常掉线等情况,当出现异常之后,必然会被其他节点检测到并且误认为是恶意节点被剔出网络。设立连接信任值,保证因外围因素导致行为异常的节点在恢复正常之后能够重新连接网络,并且避免恶意节点无限重连。根据节点离线方式计算信任值,算法如下:
和分别表示隔离出网络和一般退出网络的影响因子,并且规定 (,)∈ [0, 1),<,0表示完全不可信,1表示完全可信。
2.3.4 识别并隔离节点
当节点通信可信值低于阈值时,网络中所有节点拒绝与之合作,并且在邻居列表中删除该节点的信任信息,断开连接,该节点变为未知节点。允许未知节点重新向可信中心发送接入认证请求,当接入可信值在正常区间时,被隔离节点可以重连,否则拒绝重连。异常节点处置见表4所列。
表4 异常节点处置
3 仿真结果及分析
本方案主要研究VANET网络中的信任管理问题,旨在寻找一种简单而有效的方法来评估节点的信誉,对网络中节点的信誉进行分析,识别并隔离恶意节点,保证网络的性能,提高网络的安全性。为了更好地仿真验证本方案提出的算法和模型的性能,在仿真过程中进行了相应的简化处理,暂时忽略车联网路由信息等问题,采用MATLAB仿真软件对模型进行仿真分析,仿真过程分为两个阶段:
第一阶段,仿真一对一节点之间的通信,目的是研究在采用了WSLT算法后正常节点与恶意节点通信成功率与信任值的关系;
第二阶段,仿真恶意节点在不同通信周期中被检测出的概率。
在第一阶段仿真过程中,随机选取节点对参与通信,并且一次通信中有且仅有一对节点参与通信。设置单个通信周期内节点通信20次,允许正常节点在特定网络条件下存在0~15%的通信失败率。单节点信任变化仿真参数设置见表5所列。
表5 单节点信任变化仿真参数设置
图5表明,采用WSLT模型后,设置节点通信成功率分别为85%、88%、90%、93%和95%后,随着通信周期数的增加,正常节点通信信任值在(0,1)内波动,一般节点参与通信过程时不会因为信任值过低导致通信被拒绝,但数据表明,某个周期内节点通信成功率过低,同样会导致信任值有较大程度下跌,甚至低于0。
图5 一般节点信任值
为进一步评估本算法对信任值的影响,同时降低偶然情况对信任值变化的影响,将单周期交互次数增加到150个周期。调整单周期节点交互成功率分别为85%、90%、95%、100%,并且根据设定的节点交互成功率随机生成单次交互失败或者成功。图6表明,相对于节点之间通信成功,节点通信失败对信任值的影响明显更大。
图6 周期节点信任值
当节点通信失败率超过15%后,设置每次通信有且仅有一对节点参与,每个通信周期节点交互20次,设置节点通信成功率分别为30%、50%、70%和80%。图7表明,当节点间通信成功率低于80%之后,节点信任值总是低于0。通信成功率越低,节点信任值相应也越低。
图7 恶意节点信任值
VANET引入信任模型,主要目的是根据恶意节点的行为检测并隔离恶意节点,恶意节点在网络中的生存周期是衡量信任模型最重要、最直接的指标。在第二阶段仿真过程中,信誉评估模型中参数的具体取值见表6所列。假设所有节点均为正常节点,并且都已经分配了信任值,节点对其余节点完全不了解,仅仅通过节点信任值判定节点是否为正常节点。
表6 恶意节点检测仿真参数设定
取不同的节点交互成功率分别测试隔离节点周期,隔离周期长短直接决定了模型检测恶意节点的能力。为减少偶然事件对实验结果的影响,每组实验测试1 000次取平均值。
图8与图9表明,网络中出现恶意节点后,利用本方案所建立的模型,当节点通信成功率处于较低水平时,能够在一个通信周期内检测出恶意节点,并且进行隔离。随着节点通信成功率的逐渐升高,恶意节点活跃周期也在逐渐上升,但交互成功率始终低于20%。相比较传统的信任值计算方法,本文方法识别并隔离恶意节点能力较强,反应周期更短。
图8 恶意节点检出周期
图9 恶意节点通信成功率
为进一步检验本方案恶意节点检出性能,设置通信周期为100,对比20周期内恶意节点交互成功概率。如图10所示,横坐标为单周期内节点通信成功率,纵坐标为恶意节点成功通信率,当车联网内的相关节点通信周期从20延长至100时,恶意节点通信成功概率显著降低,说明随着通信周期的增加,恶意节点检出性能也随之提高。同时也可以发现,当周期内通信成功率从80%向100%提升时,无论通信时长如何,整体通信成功率显著提高,原因是周期内通信成功率的提高意味着节点信任值的增加。
图10 恶意节点交互成功率(20周期,100周期)
4 结 语
车联网环境中,车辆节点是否可信是保证VANET安全的关键。为解决该问题,本文提出了一种加权主观逻辑信任模型(WSLT),根据车辆节点不同的行为引入了3个不同的信任值,对节点行为量化。结合主观逻辑模型,引入加权思想计算信任值。最终根据信任值判断节点是否可信,并对不可信节点进行隔离。在仿真实验中,通过评估不同交互成功率下车辆节点信任值的变化,表明WSLT模型可以快速检测出恶意节点的存在并且将其隔离。根据不同交互成功率下节点被隔离周期,对比传统方案,发现本文方案的灵敏度更高。而恶意节点通信成功率随着通信周期数的增加降低,说明本模型能够更快地识别恶意节点,维护车联网内部通信的安全。