3.2.5 传感器网络节点安全设计

3.2.5 传感器网络节点安全设计

1.无线传感器网络的安全目标

(1)机密性

机密性指信息只能被合法实体看到,无论通过网络窃听还是读取内存中的数据,其他任何实体都不能对其进行访问。机密性一般通过加密技术实现,在传感器网络中,如果数据没有通过加密保护,攻击者就能轻易地利用简单的无线接收器访问网络中的信息。由于传感器节点仅具备有限的计算资源,目前公钥加密算法(也称非对称加密算法)并不适用,因此通常采用对称加密算法来保护数据。但是,传感器网络中密钥的发布、管理和信任的确立非常复杂,在节点中预设密钥会破坏传感器网络固有的灵活性,如果预设所有密钥,添加或移除节点将变得困难,同时也会存在风险,因为其中只要有一个节点被俘获,整个网络将不再安全。与传统网络相比,传感器网络中的节点被俘获更加常见,因为后者节点数目众多且很容易被接触,实际上,要阻止对传感器网络节点的物理访问几乎是不可能的。解决密钥问题的主要方法是使用合适的安全协议,比如SPINS协议,测试结果表明该协议在某些情况下工作得很好。防止恶意用户对节点物理访问唯一可行的方法是增强节点封装的健壮性,确保任何进入节点内部的企图都将导致对节点安全至关重要的组成部分的自我毁坏;但自我毁坏可能会导致拒绝服务攻击(DoS),因此,这种自我保护机制不能太敏感。

(2)数据完整性

数据完整性指数据在传输过程中不被修改。理想情况下,数据是可靠的并能提供有用信息。在传感器网络中,攻击者可能直接发送错误信息,或者通过操纵传感器环境让传感器得到错误信息。错误数据可能是无意义的噪声、以前数据的重放和以传感器网络正在使用的协议为攻击目标的数据。保证数据完整性的方法与传统网络一致,仍然采用密码技术,典型的做法如消息认证码(MAC),能够通过对数据的加密来保证数据的完整性。此外,在设计网络协议时,要确保它能检测出发送错误数据的节点并对其做出适当的处理。

(3)身份验证

身份验证也叫认证,主要指确认通信实体的身份。任何实体在请求一个服务、触发一个事件、发送数据包时,都必须能够被唯一地标识出来,以确认这个实体的身份。在传感器网络中,攻击者会模拟普通节点或者汇聚节点,扰乱路由协议的正常工作,也可能模仿一个汇聚节点或者控制节点,获得对传感器网络的控制以实现自己的目的。身份验证可以识别伪装者,身份验证的有效方法仍然是密码技术,比如数字签名。身份验证算法应能够确保数字签名不可伪造,并且确保消息发送者就是它所声称的那个对象。传感器网络中的节点要具备彼此验证对方身份,同时避免恶意节点执行身份验证的技术特点。

(4)可用性

可用性是指让合法实体访问相应的资源,非法实体却不能影响合法实体对资源的访问。在传感器网络中,拒绝服务(使合法实体无法访问资源)是网络无法正常工作的最常见攻击。它可以通过多种方式来实现,比如破坏一定数量的传感器节点、攻击网络协议等。无线电频道干扰也是最多用于实施拒绝服务攻击的方法。恶意节点通常拥有强大的电力和发射功率,能够持续地进行干扰。路由协议通常要求节点达到一定密度才能正常工作,因此损毁一定数量的传感器节点具有与无线电干扰一样的效果。攻击者也可能针对无线频道协议的节能特征进行攻击,利用协议的某些特点,让传感器节点经常处于活动状态,从而很快耗尽节点的电力,如果有足够多的节点被欺骗并耗尽电力,整个网络将无法工作。攻击者若能访问传输中的数据,有可能会通过修改数据而使路由协议混乱。因此,可用性需要依赖多重安全措施,但是必须清楚绝对安全的可用性无法获得。对于无线电频道访问的强健性,最有效的技术是扩频通信技术,如超宽频通信(UWB)。由于UWB发送脉冲信号需要很宽的频带,所以攻击者必须消耗大量的电力来阻塞整个频段。另外,UWB还具有天然的安全特性。UWB一般把信号能量弥散在极宽的频带范围内,对一般通信系统来说,UWB信号相当于白噪声信号,并且大多数情况下UWB信号的功率谱密度低于自然的电子噪声,目前要从自然的电子噪声中将脉冲信号检测出来非常困难。

(5)访问控制

访问控制指被授权的实体才能够访问服务或者信息。攻击者会想方设法地获取传感器网络的访问权限,它可以通过物理方式获取,或者通过操纵某个节点或节点之间的通信获取。因此,必须限制攻击者对节点的物理访问,至少要保护汇聚节点和控制节点不被攻击者物理访问。合适的安全协议能够防止攻击者操纵通信数据或者俘获节点,但是应用层安全对实现网络的访问控制目标非常重要。如果应用层对非授权用户开放,则低级安全协议将不再有效。

2.传感器网络典型的安全技术

(1)拓扑控制技术

拓扑控制技术是无线传感器网络中最重要的技术之一。在由无线传感器网络生成的网络拓扑中,可以直接通信的两个节点之间存在一条拓扑边。如果没有拓扑控制,所有节点都会以最大无线传输功率工作。在这种情况下,一方面,节点有限的能量将被通信部件快速消耗,降低了网络的生命周期,同时,网络中每个节点的无线信号将覆盖大量其他节点,造成无线信号冲突频繁,影响节点的无线通信质量,降低网络的吞吐率。另一方面,在生成的网络拓扑中将存在大量的边,从而导致网络拓扑信息量大,路由计算复杂,浪费了宝贵的计算资源。因此,需要研究无线传感器网络中的拓扑控制问题,在维持拓扑的某些全局性质的前提下,通过调整节点的发送功率来延长网络生命周期,提高网络吞吐量,降低网络干扰,节约节点资源。目前对拓扑控制的研究可以分为两大类:一类是计算集合方法,以某些几何结构为基础来构建网络的拓扑,以满足某些性质;另一类是概率分析方法,在节点按照某种概率密度分布的情况下,计算当拓扑以大概率满足某些性质时节点所需的最小传输功率和最小邻居个数。

(2)MAC协议

传统的蜂窝网络中存在中心控制的基站,由基站保持全网同步,调度节点接入信道。而无线传感器网络是一种多跳无线网络,很难保持全网同步,这与单跳的蜂窝网络有着本质的区别。因此,传统的基于同步的、单跳的、静态的MAC协议并不能直接搬到无线传感器网络中来,这些都使得无线传感器网络中MAC协议的设计面临新的挑战。与所有共享介质的网络一样,媒体访问控制是使得无线传感器网络(WSN)能够正常运作的重要技术。MAC协议最主要的一个任务就是避免冲突,使两个节点不会同时发送消息。在设计一个出色的无线传感器网络MAC协议时,还应该考虑以下几点。首先,能量有限。就像前面所说,网络中的传感器节点是由电池来提供能量的,并且很难为这些节点更换电池,事实上,我们也希望这些传感器节点更加便宜,可以在用完之后随时丢弃,而不是重复使用。因此,怎样通过节点延长网络的使用周期是设计MAC协议的一个关键问题。另一个重要因素就是MAC协议对网络规模、节点密度和拓扑结构的适应性。在无线传感器网络中,节点随时可能因电池耗尽而死亡,也有一些节点会加入网络,还有一些节点会移动到其他的区域。网络的拓扑结构因为各种原因在不断地变化。一个好的MAC协议应该可以轻松地适应这些变化。另外,绝大多数MAC协议通常认为低层的通信信道是双向的。但是在WSN中,由于发射功率或地理位置等因素,可能存在单向信道,这将对MAC协议的性能带来严重的影响。除此之外,网络的公平性、延迟、吞吐量,以及有限的带宽都是设计MAC协议时要考虑的问题。

(3)路由协议

无线传感器网络自身的特点使得它的通信与当前一般网络的通信和无线Ad Hoc网络有着很大的区别,也使WSN路由协议的设计面临很大的挑战。首先,由于传感器网络节点数众多,不太可能对其建立一种全局的地址机制,因此传统的基于IP地址的协议不能应用于传感器网络。其次,与典型的通信网络不同,几乎所有传感器网络的应用都要求所有的传感数据送到某一个或几个汇聚节点,由它们将数据进行处理,再传送到远程的控制中心。然后,由于传感器节点的监测区域可能重叠,产生的数据会有大量的冗余,这就要求路由协议能够发现并消除冗余,有效地利用能量和带宽。最后,传感器受到传送功率、能量、处理能力和存储能力的严格限制,需要对能量进行有效管理。因此,在对WSN路由协议,甚至对整个网络的系统结构进行设计时,需要对网络的动态性、网络节点的放置、能量、数据传送方式、节点能力以及数据聚集和融合等方面进行详细的分析。总之,无线传感器网络路由协议设计的基本特点可以概括为:能量低、规模大、拓扑易变化、使用数据融合技术。因此,无线传感器网络路由协议面临的问题和挑战有以下几方面。

①传感器网络的低能量特点使节能成为路由协议最重要的优化目标。低能量包括两方面的含义,第一是指节点能量储备低,第二是指能源一般不能补充。MANET(无线自组织网络)的节点无论是车载还是手持,电源一般都是可维护的,而传感器网络节点通常是一次部署、独立工作,所以可维护性很低。相对于传感器节点的储能,无线通信部件的功耗很高,通信功耗占了节点总功耗的绝大部分。因此,研究低功耗的通信协议特别是路由协议极为迫切。

②传感器网络的大规模,要求其路由协议必须具有较高的可扩展性。通常认为MANET支持的网络规模是数百个节点,而传感器网络则应能支持上千个节点。网络规模更大意味着路由协议收敛时间更长。网络规模越大,主动(Proactive)路由协议的路由收敛时间和按需(On-demand)路由协议的路由发现时间就越长,而网络拓扑保持不变的时间间隔则越短。在MANET中工作很好的路由协议,在传感器网络中性能却可能显著下降,甚至根本无法使用。

③传感器网络拓扑变化性强,通常Hitemet路由协议不能适应这种快速的拓扑变化,而这种变化又不像MANET那样是由节点移动造成的,因此,为MANET设计的路由协议也不适用于传感器网络。这就需要为传感器网络设计专门的路由协议,既能适应高度的拓扑时变,又不引入过多的协议开销或过长的路由发现延迟。

④使用数据融合技术是传感器网络的一大特点,这使得传感器网络的路由不同于一般网络路由。在一般的数据传输网络(如Internet或ANET)中,网络层协议提供点到点的报文转发,以支持传输层实现端到端的分组传输。而在传感器网络中,感知节点没有必要将数据以端到端的形式传送给中心处理节点(Sink)或网关节点,只要有效数据最终汇集到Sink就达到了目的。因此,为了减少流量和能耗,传输过程中的转发节点经常将不同的入口报文融合成数目更少的出口报文转发给下一跳,这就是数据融合的基本含义。采用数据融合技术意味着路由协议需要做出相应的调整。

数据融合是关于协同利用多传感器信息进行多级别、多方面、多层次的信息检测、相关、估计和综合,以获得目标的状态和特征估计以及态势和威胁评价的一种多级自动信息处理过程,它利用计算机技术对按时序获得的多传感器的观测信息在一定的准则下加以自动分析和综合,从而产生新的有意义的信息,而这种信息是任何单一传感器所无法获得的。

数据融合研究中存在的问题主要有以下几个。

1)未形成基本的理论框架和有效的广义模型及算法

虽然数据融合的应用研究相当广泛,但是,数据融合问题本身至今未形成基本的理论框架和有效的广义融合模型及算法。目前对数据融合问题的研究都是根据问题的种类,各自建立直观认识原理(融合准则),并在此基础上形成所谓的最佳融合方案,如典型的分布式监测融合,已从理论上解决了最优融合准则、最优局部决策准则和局部决策门限的最优协调方法,并给出了相应的算法。但是这些研究反映的只是数据融合所固有的面向对象的特点,难以构成数据融合这一独立学科所必需的完整理论体系,使得融合系统的设计具有一定的盲目性。

2)关联的二义性是数据融合中的主要障碍

在进行融合处理前,必须对信息进行关联,以保证所融合的数据来自同一目标和事件,即保证数据融合信息的一致性。如果对不同目标或事件的信息进行融合,将难以使系统得出正确的结论,这一问题被称为关联的二义性,是数据融合中要克服的主要障碍。由于在多传感器信息系统中引起关联二义性的原因很多,例如传感器测量不精确、干扰等,因此,怎样建立信息可融合性的判断准则,如何进一步降低关联的二义性已经成为数据融合研究领域中迫切需要解决的问题。

3)融合系统的容错性或稳健性没有得到很好的解决

冲突(矛盾)信息或传感器故障所产生的错误信息等的有效处理,即系统的容错性或稳健性也是数据融合理论研究中必须要考虑的问题。

3.传感器网络安全防护手段

(1)链路层加密与验证

通过链路层加密和使用全局共享密钥验证可以防止对大多数路由协议的外部攻击,攻击者很难加入到网络拓扑中,所以Sybil攻击、选择性转发、Sinkhole攻击很难达到攻击目的。但是,Wormhole攻击和Hello泛洪攻击不受链路层加密和验证机制的限制。在内部攻击或“叛变”节点存在的情况下,使用全局共享密钥的链路层安全机制将完全无效。

(2)身份验证

Sybil攻击使攻击者利用“叛变”节点的身份加入网络,并且可利用全局共享密钥将其伪装成任何节点(这些节点可能不存在)。因此,必须对节点身份进行验证。按照传统方法,可以使用公共密钥加密来实现,但数字签名的产生和验证将超出传感器节点的能力范围。

一种解决方案是使用可信任的基站使每个节点共享唯一的对称密钥,两个节点之间可使用像Needham-Schroeder这样的协议来相互验证身份,并建立一个共享密钥。为了防止内部攻击在固定网络周围漫游,并与网络中的每个节点建立共享密钥,基站可合理限制其邻近节点的数量,当数量超过限制数量时则发送错误消息告警,并采取一定的防御措施。

(3)链路双向验证

最简单的防御Hello泛洪攻击的方法是在对接收消息采取动作之前,对链路进行双向验证。这种协议不仅能够对两个节点之间的链路进行双向验证,而且即使对于接收机高度敏感或在网络多个位置有Wormhole的攻击者,当少量节点“叛变”时,可信任的基站仍可以通过限制节点验证邻近节点的数目来防止Hello泛洪攻击。

(4)多径路由

如果“叛变”节点位于基站附近,即使协议能防止Sinkhole、Wormhole和Sybil攻击,“叛变”节点也很可能对其数据流发起选择性转发攻击。可使用多径路由对抗选择性转发攻击。该方法可以完全防止最多n个“叛变”节点和节点完全不相交(Disjoint)的n条路径上路由的消息被选择转发攻击,而且在n个节点完全“叛变”时这种方法也能提供一些防护。但是,很难得到n条完全不相交的路径。在网状路径上有共用节点,但没有共用链路(即没有两个连续的共用节点)。使用多个网状路径可以为选择性转发提供可能的防护,而且只需要局部的信息。如果允许节点从一组可能的“跳”中动态地随机选择包的下一跳,则可以进一步减少攻击者对数据流完全控制的机会。

(5)Wormhole和Sinkhole的对抗策略

Wormhole和Sinkhole攻击是安全路由协议设计面临的最大挑战。目前存在的路由协议中,防御这些攻击的有效措施很少。预防这些攻击是相当困难的,最好的办法是设计使Wormhole和Sinkhole攻击无效的路由协议。例如,基于地理位置的路由协议就是一种阻止这些攻击的协议。基于地理位置的路由协议只需要使用局部交互信息,而不需要基站的初始化信息就可以构建路由拓扑。使用基于地理位置的路由协议很容易探测Wormhole和虚假链路,因为“邻居”节点将会注意到它们之间的距离超过了正常的无线通信距离。

(6)全局消息平衡机制

网络固有的自组织和分布性是大型传感器网络安全面临的重大挑战。当网络规模有限、拓扑结构良好或可控时,可使用全局消息平衡机制。以一个具有较小规模的网络为例,如果该网络在部署时没有“叛变”节点,则可以构成一个初始路由拓扑,每个节点能够将邻近节点信息和节点本身的地理位置信息发回基站。基站可以使用这种信息来绘制整个网络的拓扑。

考虑到由于无线干扰或节点失效引起的拓扑变化,网络应该定期进行拓扑更新。拓扑的急剧或可疑变化可能表示有节点“叛变”,由此可以采取一些相应的防护措施。