当前位置:首页 期刊杂志

低功耗有损网络安全路由协议研究综述

时间:2024-05-04

罗宇杰,张 健,唐彰国,李焕洲

(四川师范大学 物理与电子工程学院,成都 610066)(*通信作者电子邮箱dctscu07@163.com)

0 引言

近年来物联网安全研究已经成为信息科学研究的重点之一,随着物联网与IPv6网络应用的不断增加,各种物联网技术和产品不断更新换代,物联网终端与网络互联互通已经成为未来发展的必然趋势。低功耗有损网络(Low Power and Lossy Network, LLN)在医疗服务、智能家居、智能交通、智慧城市[1-2]以及高级计量架构(Advanced Metering Infrastructure, AMI)智能抄表[3]等领域均有广泛的应用。但由于节点自身内存、处理能力、能量等资源受限,每个节点所能提供的能力有限,很难满足IPv6网络的需要,因此,互联网工程任务组(the Internet Engineering Task Force, IETF)工作组提出的6LoWPAN(IPv6 over LoW-Power wireless personAl Network)[4-5]正好解决了这个问题。6LoWPAN使得IPv6能够用于LLN,对原有数据包进行分片压缩处理[6],在链路层和网络层之间加入一层适配层。6LoWPAN网络层使用低功耗路由工作组(Routing Over Lower-power and Lossy network, ROLL)提出的低功耗有损网络路由协议(Routing Protocol for Low-power and lossy network, RPL)[7],虽然在RPL中已经采取了一些安全方法和机制,但是其中仍然存在很多安全问题和威胁,无法满足RPL与日俱增的安全需要。通过大量调查研究,本文研究总结了目前RPL协议的主要安全威胁以及相关应对方法。

1 相关工作

1.1 6LoWPAN基本原理

6LoWPAN协议栈如图1所示:第一层媒体访问控制层(Medium Access Control, MAC)与第二层物理层(PHysical Layers, PHY)使用IEEE 802.15.4[6]原有标准,第三层为6LoWPAN适配层(6LoWPAN Adaption Layer)[6],第四层主要由IPv6、RPL、6LoWPAN-ND (Neighbor Discover of 6LoWPAN)等组成的网络层,第五层为用户数据报协议(User Datagram Protocol, UDP)、用户控制报文协议(Internet Control Message Protocol, ICMP)等组成的传输层,第六层为由COAP(COnstrained Application Protocol)、消息队列遥测传输(Message Queuing Telemetry Transport, MQTT)协议等组成的应用层。第三层适配层主要是提供头部压缩、数据包分片,以及部分路由算法[8]。

图1 6LoWPAN协议栈Fig. 1 6LoWPAN protocol stack

6LoWPAN中采用了多跳转发的数据传输机制以及自组织的邻居发现协议,根据路由策略和工作层次的不同,可以分为Route-Over路由[9]和Mesh-Under路由[10]两种路由机制,前者工作在网络层,后者是在6LoWPAN适配层。Mesh-Under路由机制代表包括按需距离矢量路由LOAD(6LoWPAN Ad Hoc on-demand Distance vector routing)[11]、E-Hilow(Extended-HiLow)[12]等算法。Router-Over路由机制主要是使用RPL以及在此基础上衍生出来的基于时间信任的安全RPL协议(Secure Trust-aware RPL, SecTrust-RPL)[13]、S-RPL(Secure-RPL)[14]等。6LoWPAN具有以下特性:1)支持16位或者64位扩展媒体访问控制地址;2)250/40/20 Kb/s带宽;3)设备能量、存储有限。

1.2 RPL协议

RPL是低功耗有损网络设计的一种距离矢量路由协议,而原有的开放式最短路径优先协议(Open Shortest Path First, OSPF)、路由信息协议(Routing Information Protocol, RIP)、AODV(Ad Hoc On-demend Distance Vector routing)[15]等都不再完全适用于LLN。RPL可以支持点到点(Point-to-Point)、点到多点(Point-to-Mutipoint)、多点到点(Mutipoint-to-Point)的通信,通过ICMPv6(Internet Control Management Protocol version 6)控制消息来实现节点间的交互。RPL过程[6]主要是包含路由的发现、建立、维护等方面。利用邻居发现协议,采用以目的地为导向的有向无环图(Destination Oriented Directed Acyclic Graph, DODAG)的网络结构,其中向上是靠近根(Root)节点,向下是远离根节点。在一个RPL实例[16]中,节点可以加入多个目的地通告消息DAO(DODAG Destination Advertisement Object)。其中信息对象消息DIO(DODAG Information Object)是由根节点来进行广播,允许其他节点发现并加入它,其中包含了实例ID、DODAG的版本号、目标函数(Objective Function, OF)[17]等路由度量标准[18]参数。DAO是节点根据自身情况是否加入路由并计算自身的到根节点的Rank值并回复给根节点的确认消息。请求消息DIS(DODAG Information Solicitation)主要是满足本地组播的请求,用于邻居发现,如图2所示。整个路由网络可以抽象结构组成一棵DODAG树,并为了减少控制包数量,RPL使用Trickle定时器算法来维护和修复整个拓扑。DODAG的这种树状结构可以有效避免环路问题,根节点可以通过广播来实现与其他节点交互信息,并在交互过程中通过目标函数将多个度量约束转换成Rank值,然后根据Rank值来确定路由选择。

RPL协议除了网络路由中的一般安全威胁[19]外还存在许多安全问题,比如选择转发攻击、水槽攻击、女巫和克隆攻击、拒绝服务攻击、Rank攻击、版本攻击、局部修复攻击、邻居攻击等。这些攻击会在不同程度上对正常的路由造成影响,轻则增加网络负载、扰乱破坏拓扑结构,重则导致网络瘫痪并且拒绝服务,甚至被控成为攻击其他网络的“工具”。

图2 RPL信息控制过程Fig. 2 RPL routig information control process

RPL在设计之初就考虑了一些安全机制[6]来保障路由安全,主要分为以下三种模式:

1)无安全模式:在这种模式下,RPL使用基本不含安全的控制信息,主要是通过其他层(链路层和适配层)安全机制来实现整体安全。

2)预装密钥模式:在控制消息加入了RPL instance,节点中预置了密钥,从而使用预装密钥来实现整个路由过程的保密性和安全性。

3)验证模式:同预装密钥模式基本相同,但是预装的密钥的节点只能作为叶子节点,如果需要作为路由加入时,则需要另外的密钥通过认证请求来实现验证加入。

IETF在RPL的安全威胁分析[20]中结合ISO 7498-2安全参考体系提出了几种安全机制:

1)认证:涉及在交换路由信息(对等认证)并确保路由数据的来源来自对等体(数据源认证)之前对路由对等体的相互认证。要求对新加入的开放和不可信端信道具有可用性,而且需要自动的身份验证,以便网络可以自动接受或拒绝新的加入者。

2)访问控制:能够提供防止未经授权使用并处理节点授权的保护。

3)机密性:机密性涉及路由信息的保护以及路由邻居维护交换机制,以便只有授权和预期的网络实体才能查看或访问它。

4)完整性:完整性需要保护路由信息和路由邻居维护交换机制,以及在数据库中维护的派生信息,以防未经授权的修改、插入、删除或重播而超出路由协议。

5)可用性:可用性确保路由信息交换和转发服务在网络运行所需时可用,能够保持路由和邻居发现交换(包括所需信息)和转发服务的高效性。

上述工作虽然提出了一些安全方法和原则,但是需要结合适当的安全策略和执行机制来保证RPL安全。RPL在安全方面仍然存在很多的威胁和问题[21],例如在无线传输的脆弱性、节点资源受限性、计算能力不足性、无人看管带来易破坏性、存储受限等,因此并太不适合直接采用高开销、高负载的方式来保障其路由安全,而是应该考虑其轻量化的设计[22]。同时,国内外众多研究人员对RPL安全问题进行研究,针对不同的攻击方面提出了不同的应对策略。

2 典型攻击及防范

2.1 典型攻击

由于LLN中的RPL在设计之初,更多是为实现更方便、更快速的功能考虑,再加上无线网络的开放性、脆弱性、不稳定性、易破坏性等,导致RPL很容易遭到各种攻击。因此针对RPL的攻击方式[23]以及安全威胁[24],主要可以分为以下几种:

1)Rank攻击。RPL中Rank值是从Root根节点逐渐增加到子节点的。攻击者通过篡改节点Rank值,攻击者可以通过对子节点的吸引来实现父节点更新或者改变原有拓扑,并且能够吸引大量的流量流向根节点。Rank攻击不仅会造成未经过验证的没有优化的路径,而且还会造成恶意节点周围拓扑变化,从而影响数据包传递,增加网络传输延迟,增加网络控制开销。

2)版本攻击。这种攻击是通过广播发布新DODAG树的更高版本号来实现,当节点收到更高节点的版本号时,它们就会开始形成新的DODAG树,同样也会导致非优化的拓扑,容易造成拓扑改变,网络信息被窃取。

3)本地修复攻击。这种攻击是攻击者周期性地发布正常的修复信息,当其他周围节点收到本地修复信息后就导致开始本地修复。这种攻击产生的影响比其他的更大,会导致整个网络中产生更多的控制数据包以及增加网络延迟及负载。

4)邻居攻击。恶意节点通过广播不包含自己信息的DIO信息,从而导致其他收到该DIO信息的节点误认为这是一个新的节点发送的,并且会更改部分路由拓扑。这种攻击类似于虫洞攻击,会极大地影响网络服务质量,增加网络延迟。

5)DIS攻击。DIS信息是在加入拓扑之前,用于新的节点获取路由拓扑信息。恶意节点定期向它周围邻居发送DIS信息,当其他节点收到DIS信息时,会重置DIO定时器,可能会导致周围拓扑发生改变,并增加延迟。

6)选择转发攻击。这种攻击主要是通过有选择地转发数据包实施,攻击的目的主要是破坏路由拓扑和过滤任何协议。攻击者可以转发所有的ICMP控制消息,降低其余流量,并且影响网络可用性,缩短网络生存时间,更容易实现拒绝服务(Denial of Service, DoS)攻击。

7)污水池攻击。攻击者声称自己有充足的能力、更好的路径,从而吸引周围节点改变传输,将发给其他节点的包转发给污水池攻击者,再由它传送出去,从而可以把收到的信息随意处理,甚至丢弃。

8)女巫和克隆攻击。类似于克隆ID攻击,恶意节点通过克隆或者在即在同一物理节点使用多个标识,使得受害节点会将数据包发送给攻击者,造成拓扑改变,网络负载增加,网络流量被窃取。

9)HELLO洪泛攻击。初始进行路由建立时,攻击者用HEELLO来广播自己,收到数据包的节点会认为发送者在自己通信范围内,并接受攻击节点,但在后续传输过程中会导致部分节点因为实际距离太远而无法传达,导致网络混乱。

10)虫洞攻击。如图3所示,在RPL过程中,恶意节点在两个攻击点间建立隧道,传送全部的流量数据包,能够吸引较大的网络流量,从而改变原有网络拓扑。

11)黑洞攻击。攻击节点能够把通过自身的所有数据以及流量延迟发送或者不发送,造成高丢包率、高控制流量以及路由流量开销。

12)拒绝服务攻击。可以借助之前所提到的攻击方式如洪泛攻击,进而让用户节点无法获得信息或资源,造成网络瘫痪。

13)拜占庭式攻击。如果某个节点被捕获或受到攻击,但仍持续运行一段具有有效网络安全证书的时间段,则可能存在路由信息被操纵的可能性。

图3 虫洞攻击示意图Fig. 3 Schematic diagram of wormhole attack

2.2 攻击威胁总结

针对路由的不同过程或阶段可能发动不同的攻击,通过不同攻击方式的组合和叠加,可能会对整个网络造成毁灭性的打击,并且导致与其相连的其他网络的沦陷,造成巨大的损失。因此基于对各种攻击的了解和分析[25],通过对RPL中已存在的攻击类型、危害影响、应对方法、存在不足归纳如表1所示,并针对不同的攻击方式,提出不同的解决思路。

2.3 应对攻击的方法

为了应对LLN中RPL协议的安全问题,国内外的研究人员已经提出了不同的应对方法,根据防御检测策略的不同,可以作以下分类:

1)应对机密性攻击的防范方法。路由拓扑泄露攻击、流量被动窃听攻击、流量分析攻击,以及远程访问攻击等,都是因为破坏了RPL的机密性,因此可以在路由发起节点和响应节点之间建立加强会话密钥以应对洪泛攻击。其次,只有经过验证和认证的节点关联完成后,才允许路由交换。加密整个原始数据包源/目的地址的全部。

2)应对完整性攻击的防范方法。为了应对未授权的攻击、欺骗攻击、女巫攻击、信息重放攻击、拜占庭路由信息攻击等,应实施对存储的访问控制和与历史路由/拓扑数据进行比较,提供特定的基于公共密钥的认证,提供授权。使用链路层安全认证,通常与某种计数器算法一起计算时间可靠性来确保消息的新鲜度,防止重放攻击。

3)应对可用性攻击的防范方法。应对洪泛攻击可以采用双向认证的方法,使用验证签名和发送加密消息的节点,在验证签名和加密消息时需要谨慎使用加密处理。应对选择性转发攻击可以通过不相交路径对相同消息进行多路径路由,或者从一组候选者中动态选择下一跳。

通过对主要RPL攻击的总结比较,对每种攻击有了充分的认识,然后针对几种典型的应对攻击方法,从类型、典型方法、可防御攻击类型、缺陷等方面进行了简单的分析和比较,如表2所示。

3 安全RPL协议

针对RPL中的安全问题,最早在RPL提出之时就考虑到了一些安全机制[26],例如RPL instance,可以在节点中预先加入密钥的方式来实现身份认证。将基础的AES(Advanced Encryption Standard)-128作为底层的密码算法,并在第二层中预留有安全报头部分以供后续改进,同时也可以通过全局修复和本地修复的策略来实现RPL的正常工作。但是这些都还不足以满足日益增长的安全需求。因此,经过近年研究人员的努力,基本形成了以信任、密码算法、层次结构、特定攻击等核心安全策略为基础的改进RPL协议,在不同方面上提高了协议的安全性,这些协议可以分为以下几类。

表1 攻击威胁总结Tab. 1 Summary of attack threat

3.1 基于信任的RPL安全协议

文献[53-54]中提出了一种基于信任度量的Trust-based-RPL安全协议,通过在RPL节点建立和维护路由,能够排除被恶意节点感染的节点,主要提出了基于度量的安全可靠的RPL方案(Metric-based RPL Trustworthiness Scheme, MRTS)来提高路由的安全性,MRTS在构建和维护每个点到边界路由器(Border Router)的路由过程中解决信任问题。为了解决这个问题,引入一个新的基于信任的度量标准即扩展RPL节点可信度(Extended RPL Node Trustworthiness, ERNT)和一个新的信任目标函数(Trust Objective Function, TOF)。事实上,ERNT代表网络中每个节点的信任值,其中包含直接可信度量和间接可信度量,直接可信度量是依据诚实、能量、无私等三个信任相关的权重来计算,而间接可信度量是根据相邻节点的协作来计算的。TOF就是把信任值映射到路径选择上,在MRTS中所有节点都考虑节点行为来计算ERNT,最后通过扩展分布式的Bellman-Ford算法来实现信任模型的;而且MRST只考虑可信节点,能够允许处于信任状态的节点自组织网络。但是只是通过扩展DIO来增加额外的计算和通信开销,并没有解决像黑洞攻击、Rank攻击、女巫攻击等已知攻击。

文献[55]中提出了一种基于RPL建立的可信平台的和密钥交换方法,该模块在经认证的节点间提供密钥以安全模式来实现网络可用性和完整性,防止篡改数据包来抵御攻击。通过使用可信平台模块(Trusted Platform Module, TPM)来实现在不安全的环境中提供精确的数据,同时保证接收到消息的完整性和真实性,能够减少处理器上的负载。但是该方案在很大程度上取决于TPM,并不能完全通用,而且还在受限的节点上额外增加了加密处理,造成了更多的损耗。

文献[56]中提出一种基于跨层信任的邻居不可达检测(Neighbor Unreachable Detection, NUD)机制,该方案通过使用信任管理系统指定来自邻居的请求,能在一定程度上提高可靠性和可用性。针对RPL中不可达的邻居检测,需要一种非常低通信开销的外部机制,这就排除了保持活动消息的主动机制。相反,在RPL中使用的IPv6的NUD,这是一种维护触发控制消息的定时器反应机制。但是,当使用固定的超时间隔时,NUD会遭受频繁的超时,并且开销很大。通过利用链路层上的监听机制,使用分组统计,然后基于已经存在的网络流量调整其超时间隔,而且不需要节点间过多协调。但是也存在没有针对特定的攻击进行检测,及网络动态变化而信任参数不能适应性调整等问题。

表2 几种典型应对方法比较Tab. 2 Comparison of several typical coping methods

文献[57]中提出了一个基于信任的节点评估阈值机制的安全路由协议,能够通过选择安全的父节点来应对Rank攻击。RPL是基于树的拓扑结构,因此攻击节点可能错误地申明对周围邻居节点的排名,以便被它们选为父节点,从而攻击目标。在基于信任节点评估阈值中,若每个节点存在多个父节点候选项时,依据攻击点错误声称比合法节点Rank低的情况,能够计算周围节点最大的和平均的Rank值来判断它的邻居节点是否是恶意节点。阈值是通过Rave(邻居节点Rank值)减去周围邻居Rank值的最大值(Rmax)的K倍,以此来作为信任评价的阈值。该方法能够应对Rank攻击,但是无法解决女巫攻击和黑洞攻击。

文献[58]中提出了基于链接可靠和信任的路由协议(Link reliable and Trustaware RPL, LT-RPL),主要包含信息收集、信任合成、信任数据库、信任应用等四个阶段,如图4所示。通过该四个阶段来实现:1)能够有效为维护网络路由拓扑提供服务质量保证;2)同时能够有效防止恶意节点的黑洞攻击。

文献[59]中总结了基于信任的路由框架。文献[60]提出了一个受信任的RPL协议实现。文献[13,61]提出了基于时间信任的安全RPL协议(SecTrust-RPL),该安全协议主要是将安全信任系统嵌入到RPL协议中,能够有效地检测和隔离攻击。节点的可依赖性是基于节点在网络中对其邻居的行为或服务来评价,因此可以从可靠性、可信度、完整性和可信任性等方面来进行量化,并且累计起来作为一个节点在网络中的信任等级。该安全协议是由信任值计算、信任监控和更新、检测恶意节点、信任值备份和恢复、信任评级等过程来实现一个完整的基于信任的安全RPL协议,最后利用SecTrust引擎来实现安全路由和一致性维护;同现有的RPL协议相比,SecTrust-RPL对Rank攻击和女巫攻击有较好的防御效果,同时也考虑了低电量的节点可以降低安全损耗,从而获得更大的效益。

图4 信任模型[58]Fig. 4 Trust model[58]

3.2 基于密钥认证的RPL安全协议

文献[62]中提出了基于认证和加密的身份验证机制,主要通过使用基于标识的密码体系(Identity-Based Cryptography, IBC)生成密钥并在节点间利用AES-128和SHA(Secure Hash Algorithm)-256对控制消息加密,同时密钥是配对管理的,可以确保节点能进行身份验证,而且所有节点预先就设置有密钥,从而攻击者无法窃取,以此来实现完整性和真实性,能够降低污水池攻击、虫洞攻击、防止欺骗攻击等造成的影响;但是会造成一定的开销,而且必须预先设置密钥,缺乏通用性。

文献[63]在基于RPL协议的适配层安全机制的研究中提出通过控制报文实现身份认证与密钥管理,通过调用AES-128和SHA-1来进行加密,实现基础是在全网完成所有节点的初始身份认证之前网络处于一个相对安全环境,进行全网初始化公共密钥,以此来进行身份认证和密钥管理。通过初始分配标识和密钥、组网阶段、密钥分配与轮换解读,最后形成完整的安全机制。但是该机制对于初始化阶段不存在恶意节点要求比较苛刻,适用面较窄。

文献[30]中提出的VeRA主要是通过认证的方式来实现抵御节点版本攻击和Rank攻击。VeRA主要是在初始阶段中通过DODAG根中使用随机数来生成版本号哈希列,然后基于该随机数生成Rank哈希链,通过生成的这两者在每次版本号变动时进行认证,从而实现了解决版本攻击,但是同时也增加了开销问题。

3.3 基于层次结构的RPL安全协议

文献[64]中提出了一种基于分层多簇的安全路由协议(Multi-RPL),采用了多路径路由策略,保证了网络数据的传输。该协议主要是通过将路由分层:最高层为网关节点可实现异构网络通信;第二层为簇头节点能够实现簇内组网、信息转发;而最下层为普通节点。在每个普通节点建立路由被分配到某一簇时,同时建立一条到另一个簇的备份路径,在节点发送数据时,能够提供数据转发的多跳路径,通过增加冗余来提高数据传输的可达性,增加了额外开销,在应对黑洞攻击、虫洞攻击方面有一定的效果。

文献[65]中提出了一种基于分层DODAG的RPL(Hierarchical DODAG based RPL, H-RPL),其中每个节点的网络地址对应于在分层网络内的位置。整个网络按层次进行初始化,候选的子节点使用临时地址对选定的候选父节点作出响应,而候选父节点确认选择并在传输过程中将子节点的分层地址传送到临时地址,子节点将自身地址改为来自父节点的分层地址。当发生改变父节点的时候,先向原父节点解除,后用临时地址向新父节点发送申请。

文献[32]中提出了一种基于分簇的IDS检测方法,主要是应对Rank攻击、邻居攻击等。通过将合法的协议状态、传输过程和统计安全信息转换为一组入侵检测的规则,在整个网络中以簇头的方式来传播,各个簇成员只能将自己和邻居信息发送给簇头,而不是通过广播的方式让所有的簇头都知道。然后,某个成员的信息将由簇头进行交叉检查,以此来实现在每个监控的节点中进行恶意检测,对路由操作进行检测,建立一套入侵检测系统,只消耗了合理的开销;但是存在检测节点容易发生虚假警报的误报行为,簇头头可能受到恶意攻击危害。通过仿真发现该方法虽然增加了负载,但是具有一定的有效性。

3.4 基于特定攻击的RPL安全协议

文献[14]中提出一种新的安全路由协议(Secure-RPL, SRPL),主要目的是防止非正常的断点和恶意节点通过更改控制消息来创建一个虚假拓扑来扰乱网络。引入了Rank阈值和哈希散列链认证技术来解决内部的攻击问题,该方案并不能阻止节点通过DODAG移动,但是抑制恶意节点利用该机制来进行Rank攻击。当节点移动时,SRPL需要在通过DODAG时进行基于散列值的身份验证,对部分超过阈值的进行干预,从而丢弃过多的Rank变更请求。该方案能在一定程度上能够应对天坑、黑洞等攻击,但是如果丢失的流量过大,或者节点数过少时,则干预可能会出现过多或者较小的情况,因此SRPL在较密集的情况下更为适用。

文献[43]中提出了一种安全监控策略来应对RPL中的版本攻击,主要通过分布式的监控节点收集检测信息,然后汇总到根节点执行检测。该策略主要是用来应对RPL中广播版本号带来的版本攻击,这种攻击可能会导致拓扑重构,对节点的能源、数据包丢失、以及通信开销带来影响,而且很难在本地检测出来。该分布式的监控方法中包含正常执行路由的被监控节点和更高级一些的监控节点,由监控节点来执行检测功能,而且不会影响它们在网络中的路由信息能力,但是可以拦截和分析被监控节点发出的数据包,并记录相关信息。监控节点只能检测其邻域内的节点,这些监控节点定期把监控数据发送给接收器或者服务器,由这些监控节点组成的网络称为监控网络。但是该方法会增加系统的额外开销,增加延迟。

TRAIL[29]主要是一种拓扑路径认证解决方案,完全依赖于两种RPL基础,首先是利用根节点是充当可信锚,然后每个节点都是层次化结构的一部分并且连接到根节点。TRAIL中主要是利用往返消息来验证到DODAG的上行链路,节点可以利用递归来计算Rank值,并几乎没有使用加密,主要加密工作是由根节点来完成,而不需要像在VeRA中是利用节点哈希列来认证。虽然增加了根节点的工作强度,但是降低了其他节点的消耗。通过仿真测试能够对版本攻击有比较好的效果。

文献[66]基于攻击图的漏洞检测思路,可以检测到Rank的弱点,通过模拟不同的攻击如Rank攻击、选择转发攻击等来对研究攻击网络性能、网络拓扑和网络资源,在研究中发现在攻击进行中会消耗很多不必要的资源。

3.5 各类安全协议比较

通过前面内容对现有主流的安全RPL协议进行了分类介绍和简单分析,在此基础上,对以上的各类协议进行比较分析,从而更加具体地了解不同的差异,如表3所示,按照协议类别、典型协议、可抵御攻击,以及主要缺陷等进行了综合比较。

4 RPL安全路由研究发展方向

随着IPv6网络基础设施建设的不断推进,相关研究迅猛增长;同时,路由安全需求也在逐渐增长,研究与设计安全路由协议越来越重要,除了协议基本标准和要求之外,还需要考虑机密性、完整性、可用性等安全策略。因此,根据所研究内容,提出以下一些问题与发展趋势。

1)RPL原有的路由存在各种安全威胁,因此需要不断的改进与研究才能增强路由安全。比如文献[67]中提出的改进Trickle算法,能够提高公平性和服务质量。文献[68]中提出了一种基于轻量级信任的RPL安全算法,称为TmRPL++,并且实现了TmRPL++路由协议,并将其集成到6LoWPAN/RPL协议栈中,通过大量的仿真验证了它的功能。RPL安全路由协议改进需要保证在安全前提下轻量化设计,而且能够实现低开销的安全措施,更安全的邻居发现算法、更轻量化端到端、点到点的加密与认证等。只有提高从节点传输到终点完整过程的可信与抗欺骗能力,才能更好地应对安全威胁。

2)RPL的安全研究也需要同低能耗、高可用性、以及低复杂性结合,同时将能量约束[69]以及提高服务质量等情况综合考虑,形成更加完备的路由安全体系,健全安全路由机制。也可以考虑结合一些新技术和新方法来增强RPL安全,例如,结合模糊逻辑原理[70]的改进算法来实现降低延迟和低丢包率来提高服务质量。通过同新技术的融合与突破,不断促进原有路由协议发展进化。

3)目前RPL安全研究都是基于某一种同构的网络形态,并没有考虑异构的情况。同一个终端节点需要跟不同的异构网络进行安全通信,而在自身能力受限的情况下,难以满足通信质量、细粒度控制需求,需要有保障多种类型的异构网转换安全的新路由机制,文献[71]中提出了一种C-RPL(Cooperative-RPL)能在不同节点之间有一定的合作策略。

4)对于安全路由协议大部分都是基于仿真模拟实验来验证该协议的可用性与有效性,具有一定的特异性,例如针对DAG攻击[38]、虫洞[50]等,在实用性和兼容性方面稍显不足。因此,需要考虑各种安全路由机制在应用性、通用性、兼容性等有机结合,形成相对完整、适用范围较为广泛的安全路由协议。

5)针对RPL的自组织操作安全性、通信通道和节点资源的可用性和有限的物理安全性等问题都需要不断创新的研究来满足日益增长的安全需要。

表3 RPL安全协议比较Tab. 3 Comparison of RPL security protocols

5 结语

随着物联网技术的不断发展,越来越多的智能节点接入网络,各种路由安全问题层出不穷,通过控制僵尸网络来实现大范围分布式拒接服务攻击的例子也越来越多,路由安全威胁已成为亟待解决的重要问题之一。LLN中RPL更重要在于安全机制的完备性和整体性。因此,本文总结了RPL协议可能受到的攻击和应对方法,分析和比较了现有RPL安全协议,提出了一些问题和发展趋势。随着技术的不断发展,RPL安全性也会不断增强,该领域的研究也将不断地深入下去。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!