关键词:无线传感器网络;协议;攻击;安全性
Abstract: Recent advancement in wireless communications and electronics has enabled the development and application of low-cost, energy efficient and multi-function wireless sensor networks (WSN). Since most sensor network applications have strict security requirements, security is a critical issue in wireless sensor networks. Most traditional security standards and protocols are unavailable for wireless sensor networks due to their characteristics, thus wireless sensor networks are facing more challenges of security than traditional networks. This paper analyzes the security problems faced by each layer of the protocol stack of WSN, and discusses the key techniques to solve these problems.
Key words: wireless sensor networks; protocol; attack; security
0 引言
无线传感器网络(WSN,Wireless Sensor Network)是一种自组织网络,由大量具有无线通信、数据采集和处理、协同合作等功能的节点协同组织构成。WSN在军事、环境、工控和交通等方面有着广阔的应用前景。由于大多数用户对WSN的安全性有较高要求,而WSN有着与传统的Ad hoc网络不同的特点,大多数传统的安全机制和安全协议难以直接应用于WSN,因此有必要设计适合WSN的安全性方案。
无线传感器网络与传统的ad hoc网络相比有如下独有的特点[1]:
(1) 传感器节点数量巨大,网络规模庞大;
(2) 节点密集分布在目标区域;
(3) 节点的能量、存储空间及计算能力受限,容易失效;
(4) 动态的网络拓扑结构;
(5) 通常节点不具有统一的身份(ID)。
1 WSN的安全性问题
WSN中,最小的资源消耗和最大的安全性能之间的矛盾,是传感器网络安全性的首要问题。通常两者之间的平衡需要考虑到有限的能量、有限的存储空间、有限的计算能力、有限的通信带宽和通信距离这五个方面的问题。
WSN在空间上的开放性,使得攻击者可以很容易地窃听、拦截、篡改、重播数据包。网络中的节点能量有限,使得WSN易受到资源消耗型攻击。而且由于节点部署区域的特殊性,攻击者可能捕获节点并对节点本身进行破坏或破解。
另外,WSN是以数据通信为中心的,将相邻节点采集到的相同或相近的数据发送至基站前要进行数据融合,中间节点要能访问数据包的内容,因此不适合使用传统端到端的安全机制。通常采用链路层的安全机制来满足WSN的要求。
2 常见的攻击和解决方案
在WSN协议栈的不同层次上,会受到不同的攻击,需要不同的防御措施和安全机制。
2.1 物理层
物理层完成频率选择、载波生成、信号检测和数据加密的功能。所受到的攻击通常有:
1)拥塞攻击:攻击节点在WSN的工作频段上不断的发送无用信号,可以使在攻击节点通信半径内的节点不能正常工作。如这种攻击节点达到一定的密度,整个网络将面临瘫痪。
拥塞攻击对单频点无线通信网络影响很大,采用扩频和跳频的方法可很好地解决它。
2)物理破坏:WSN节点分布在一个很大的区域内,很难保证每个节点都是物理安全的。攻击者可能俘获一些节点,对它进行物理上的分析和修改,并利用它干扰网络的正常功能。甚至可以通过分析其内部敏感信息和上层协议机制,破坏网络的安全性。
对抗物理破坏可在节点设计时采用抗窜改硬件,同时增加物理损害感知机制。另外,可对敏感信息采用轻量级的对称加密算法进行加密存储。
2.2 MAC层
MAC层为相邻节点提供可靠的通信通道。MAC协议分3类:确定性分配、竞争占用和随机访问。其中随机访问模式比较适合无线传感网络的节能要求。
随机访问模式中,节点通过载波监听的方式来确定自身是否能访问信道,因此易遭到拒绝服务攻击(Distributed Denial of Service,DOS)[2]。一旦信道发生冲突,节点使用二进指数倒退算法确定重发数据的时机。攻击者只需产生一个字节的冲突就可以破坏整个数据包的发送,这时接收者回送数据冲突的应答ACK,发送节点则倒退并重新选择发送时机。如此这般反复冲突,节点不断倒退,导致信道阻塞,且很快耗尽节点有限的能量。
目前对抗这种DOS攻击没有很好的解决方案,可采用信道监听机制降低冲突率。若攻击者只是瞬间攻击,只影响个别数据位,可采用纠错码来对抗这种攻击。
如MAC层协议采用时分多路复用算法为每个节点分配传输时间片,不需要在数据传输前进行协商,可避免冲突,但也会受到DOS攻击。恶意节点会利用MAC协议的交互特性来实施攻击。例如,基于IEEE 802.11的MAC协议用RTS、CTS和DATA ACK消息来预定信道、传输数据。如果恶意节点向某节点持续地用RTS消息来申请信道,则目的节点不断地CTS回应。这种持续不断的请求最终导致目的节点能量耗尽。
访问控制可对抗这种攻击。让节点自动忽略过多的请求,不必应答每个请求。同时在协议中添加策略,对过度频繁的请求不予理睬,或限制同一数据包的重传次数。
2.3 网络层
路由协议在网络层实现。WSN中的路由协议有很多种,主要可以分为3类,分别是以数据为中心的路由协议、层次式路由协议以及基于地理位置的路由协议[3]。而大多数路由协议都没有考虑安全的需求,使得这些路由协议都易遭到攻击,从而使整个WSN崩溃。在网络层WSN受到的主要攻击有:
1. 虚假路由信息
恶意节点在接收到一个数据包后,除了丢弃该数据包外,还可能通过修改源和目的地址,选择一条错误的路径发送出去,从而导致网络的路由的混乱。如果恶意的节点将收到的数据包全部转向网络中的某一个固定节点,该节点可能会通信阻塞和能量耗尽而失效。
这种攻击方式与网络层协议相关。对于层次式路由协议,可以使用输出过滤的方法,即对源路由进行认证,确认一个数据包是否是从它的合法子节点发送过来的,直接丢弃不能认证的数据包。
2. 选择性转发/不转发
恶意节点在转发数据包过程中丢弃部分或全部数据包,使得数据包不能到达目的节点。另外恶意节点也可能将自己的数据包以很高的优先级发送,破坏网络通信秩序。
通常采用多径路由来解决这个问题。即使恶意节点丢弃了数据包,数据包仍然可以通过其它的路径到达到目的节点。虽然多径路由方式增加了数据传输的可靠性,但是也引入了新的安全问题。
3. 贪婪转发
即黑洞(sinkhole)攻击。攻击者利用收发能力强的特点吸引一个特定区域的几乎所有流量,创建一个以攻击者为中心的槽洞。基于距离向量的路由机制通过计算路径长短进行路由选择,这样收发能力强的恶意节点通过发送0距离(表明自己到达目标节点的距离为0)公告,吸引周围节点所有的数据包,在网络中形成一个路由黑洞,使数据包不能到达正确的目标节点。
黑洞攻击破坏性大,但较易被感知。通过认证、多路径路由等方法可以抵御黑洞攻击。
4. Sybil攻击[4]
在Sybil攻击中,一个节点以多个身份出现在网络中的其它节点面前,使其更易于成为路由路径中的节点,然后与其他攻击方法结合达到攻击目的。Sybil攻击能够明显地降低路由方案对于诸如分布式存储、分散和多路径路由、拓扑结构保持的容错能力。它对于基于位置信息的路由协议构成很大的威胁。这类位置敏感的路由为了高效地为用地理地址标识的包选路,通常要求节点与它们的邻居交换坐标信息。一个节点对于相邻节点来说应该只有唯一的一组合理坐标,但攻击者可以同时处在不同的坐标上。
对抗Sybil攻击,通常采用基于密钥分配、加密和身份认证等方法。
5. Wormholes攻击
Wormholes攻击通常需要两个恶意节点互相串通,合谋攻击。一个恶意节点在基站附近,另一个离基站较远。较远的节点声称自己和基站附近的节点可以建立低时延高带宽的链路,吸引周围节点的数据包。Wormholes攻击很可能与选择性转发或Sybil攻击相结合。当它与Sybil攻击相结合的时候,通常很难探测出。
在路由设计中加入安全等级策略可对抗wormholes攻击。文献[5]中给出了Ad hoc网络路由设计中添加安全等级的方法,可对之稍作改进,采用基站来完成监听和检测下一个节点信道的任务。改进后的路由协议可对抗sinkhole和wormhole攻击。基于地理位置类的路由协议,如Greedy Perimeter Stateless Routing[6],通过定期广播探测帧来检测黑洞区域,可有效地发现和抵御sinkhole攻击和wormholes攻击。
6. HELLO flood
很多路由协议需要节点定时发送HELLO包,以声明自己是其他节点的邻居节点。攻击者用足够大的发射功率广播HELLO包,使得网络中所有节点认为其是邻居节点,实际上却相距甚远。如其他节点以普通的发射功率向它发送数据包,则根本到达不了目的地,从而造成网络混乱。
在路由设计中加入广播半径的限制可对抗HELLO flood。限制节点的数据发送半径,使它只能对这个半径区域内的节点发送数据,而不是对全网广播,避免高能的攻击者在整个网络区域不断发送数据包,使得网络节点不停地处理这些数据,造成DOS和能源耗尽攻击。
2.4 传输层
传输层用于建立WSN与Internet或者其他外部网络的端到端的连接。目前在WSN大多数应用中,都没有对于传输层的需求,传输层协议一般采用传统网络协议。
2.5 应用层
应用层提供了WSN的各种实际应用,因此也面临各种安全问题。密钥管理和安全组播为整个WSN的安全机制提供了安全支撑。
WSN中采用对称加密算法、低能耗的认证机制和hash函数。目前普遍认为可行的密钥分配方案是预分配,即在节点在部署之前,将密钥预先配置在节点中。实现方法有多种:
l 基于密钥池的预配置方案。每个节点在部署前,从事先生成的密钥池中随机选取一定数目的密钥子集,节点部署到指定区域后,只与具有相同密钥的节点通信。
l 基于多项式的预配置方案。由C Blundo等人提出 [7],能有效地抵御节点被捕获,扩展性强,但计算开销大,也不支持邻居节点的身份认证。
l 利用节点部署信息的预配置方案。文献[8,9]均是将节点按照地理位置关系分组,给处于相同组或是相邻组的节点之间分配共享密钥,使节点的分组模式和查询更符合节点广播特征,提高密钥利用率,减少了密钥分配和维护代价。
4 结论
作为一种新的信息获取和处理技术,WSN在某些领域有着传统技术不可比拟的优势,但由于传感器网络和节点自身的一些限制,给它的安全性设计带来新的挑战。高效加密算法、安全的MAC协议和路由协议以及密钥管理和安全组播等都是值得深入研究的领域。
本文作者创新点在于从WSN协议栈的不同层次上探讨了安全性问题,对物理层的拥塞攻击提出了扩频的方法,以及完善传感器节点以对抗物理破坏。链路层的DOS攻击,可采用纠错码、访问控制和限制重传等抵御方法。网络层的路由协议中增加安全机制,可采用层次路由、多径传输、安全等级和广播半径限制等方法。密钥管理和安全组播为整个WSN提供了安全支撑。
参考文献:
[1] LAN F, AKYILDIZ, SU WEILIAN, YOGESH SANKARASUBRAMANIAM, ERDAL CAYIRCI. A Survey on Sensor Networks [J]. IEEE Communications Magazine,2002, 8.
[2] WOOD D, STANKOVIC J A. Denial of Service in Sensor Networks [J].Computer, 2002,35(10):54- 62.
[3]刘昌鑫,夏春和.无线传感器网络路由协议比较研究[J],微计算机信息,2006,9-1:205-207.
[4]金群,张建明.无线传感器网络中的Sybil攻击检测[J],计算机应用,2006,vol(26)12: 2899-2902.
[5] HU Y C, PERRIG A, JOHNSON D B. Packet Leashes : A Defense Against Wormhole Attacks in Wireless Ad hoc Networks[C]. IEEE Infocom , 2003:1976-1986.
[6] KARP B, KUNG H T. GPSR: Greedy Perimeter Stateless Routing for Wireless Networks [C]. The 6th Ann. Int. Conf. Mobile Computing and Networking (MobiCom 2000), ACM Press, New York, 2000:243-254.
[7] BLUNDO C, SANTIS A D. Perfectly Secure Key Distribution for Dynamic Conferences [J]. Information and Computation, 1995,146(1):1-23.
[8] LIU D, NING P. Location Based Pairwise Key Establishments for Static Sensor Networks [A]. In 2003 ACM Workshop on Security in Ad Hoc and Sensor Networks(SASN‘03)[C].2003.72-82.
[9] 刘河,万润泽.无线传感器网络密钥预分配蜂窝模型[J],微电子学与计算机,2006,vol(23):215-217.