第8章安全技术8.1无线传感器网络安全基本理论8.1.1无线传感器网络安全的限制因素8.1.2系统假设8.1.3无线传感器网络的安全问题分析8.1.4无线传感器网络安全要求第8章安全技术8.1.1无线传感器网络安全的限制因素实现传感器网络安全的限制因素包括两个方面:一是传感器节点本身的限制,包括电池能量的限制,节点CPU、内存、存储容量方面的限制,以及缺乏足够的篡改保护等;另一个方面是无线网络本身的限制,包括通信带宽、延时、数据包的大小等方面的限制。第8章安全技术具体的限制总结如下:1.信道的脆弱性不需要物理基础网络部件,恶意攻击者可以轻易地进行网络监听和发送伪造的数据报文。2.节点的脆弱性传感器节点一般布置在敌对或者无人看管的区域,传感器节点的物理安全没有很多保证,攻击者很容易攻占节点,且节点没有防篡改的安全部件,易十被攻击者利用。3.弱安全假设一般情况下,传感器节点很可能被攻击者获取,而且传感器网络的防护机制很弱,可能会泄露存放在节点上的密钥。因此,在传感器网络的安全设计中,需要考虑到这个方面,不同的密钥,安全级别不同,传送不同级别的数据。而且,密钥需要经常更新。第8章安全技术4.无固定结构从安全角度来看,没有固定的结构使得一些传统的安全技术难以应用。5.拓扑结构动态变化网络拓扑的频繁的动态变化,需要比较复杂的路由协议。6.局限十对称密钥技术由于节点功能的局限性,只能使用对称密钥技术,而不能采用公钥技术。7.性能因素无线传感器网络,在考虑安全的同时,必须考虑一些其它的限制因素,性能是一个重要方面。例如,为了可以进行数据汇聚,可能对数据不进行加密,或者使用组密钥,这两种方法都减弱了安全性。8.节点的电源能量有限一种最简单的攻击方法,可能是向网络中发送大量的伪造数据报,耗尽中间路由节点的电源能量,导致网络中大量节点不可用。可用性在传统密钥学中不是非常重要,但在无线传感器网络中,却是安全的重要部分。设计安全协议时候,应该充分考虑能量的消耗情况。第8章安全技术8.1.2系统假设[5]在分析WSN安全需求和安全基础设施之前,先给出一些假设。一般来说传感器节点使用RF(RadioFrequency)通信,因此广播是基本的通信原语。在部署之前,传感器和基站是任意分布的,没有任何的拓扑特征。在节点部署之后,节点是固定的。这些网络节点的假设如下。1.传感器2.基站3.命令节点4.时间同步第8章安全技术1.传感器每个传感器节点能够向前传输信息给基站,识别达到本节点的数据包,并且进行消息广播。对于节点不作任何的信任假设。2.基站基站是传感器网络与外部网络通信的接口。传感器节点以基站为根建立路由链路。这里假设基站也拥有传感器节点的能力,但是它拥有足够的电池能源支撑整个传感器网络的过程,足够的内存存储密钥,并且能够与外部网络通信。在基站之间的广播通信是可行的,并且是安全的组通信。集群算法[5]能够很容易地扩展用来建立安全的通信。基站能够为两个传感器节点生成临时的回话密钥。第8章安全技术3.命令节点假设命令节点是安全的,并且受信于传感器网络的所有节点。4.时间同步假设传感器网络的各种节点能够在允许的误差范围内保证时间同步。在WSN中通信模式可以分为如下几类:(1)传感器与传感器之间通信;(2)传感器与基站之间通信;(3)传感器与命令节点之间通信;(4)基站之间通信;(5)基站与命令节点之间通信。在无线传感器网络平台上,由于计算资源是有限的,不能使用非对称加密技术,因此使用对称加密技术来设计安全协议。第8章安全技术8.1.3无线传感器网络的安全问题分析WSN协议栈由物理层、数据链路层、网络层、传输层和应用层组成。物理层主要处理信号的调制,发射和接收。数据链路层主要负责数据流的多路传输,数据帧检测,媒介访问控制和错误控制。网络层主要考虑数据的路由。传输层用于维持给定的数据流。根据不同的应用,应用层上可使用不同的应用软件。第8章安全技术1.物理层的攻击与防御物理层中安全的主要问题由无线通信的干扰和节点的沦陷引起。无线通信的干扰所引起的安全问题是:一个攻击者可以用K个节点去干扰并阻塞N个节点的服务(KN)。其次,节点沦陷是另一种类型的物理攻击:攻击者取得节点的秘密信息,从而可以代替这个节点进行通信。物理层的攻击与防御具体情况如下。(1)拥塞攻击(2)物理破坏第8章安全技术(1)拥塞攻击:拥塞攻击对单频点无线通信网络非常有效,攻击节点通过在传感器网络工作频段上不断发送无用信号,可以使攻击节点通信半径内的传感器节点都不能正常工作。抵御单频点的拥塞攻击,可使用宽频和跳频方法;对于全频段持续拥塞攻击,转换通信模式是唯一能够使用的方法,光通信和红外线通信都是有效的备选方法。鉴于全频拥塞攻击实施困难,攻击者一般不采用的事实,传感器网络还可以采用不断降低自身工作的占空比来抵御使用能量有限持续的拥塞攻击;采用高优先级的数据包通知基站遭受局部拥塞攻击,由基站映射出受攻击地点的外部轮廓,并将拥塞区域通知整个网络,在进行数据通信时节点将拥塞区视为路由,洞绕过拥塞区将数据传到目的节点。第8章安全技术(2)物理破坏:敌方可以捕获节点,获取加密密钥等敏感信息,从而可以不受限制地访问上层的信息。针对无法避免的物理破坏可以采用的防御措施有:增加物理损害感知机制,节点在感知到被破坏后,可以销毁敏感数据、脱离网络、修改安全处理程序等,从而保护网络其他部分免受安全威胁;对敏感信息进行加密存储,通信加密密钥、认证密钥和各种安全启动密钥需要严密的保护,在实现的时候,敏感信息尽量放在易失存储器上,若不能,则采用轻量级的对称加密算法进行加密处理。第8章安全技术2.链路层的攻击与防御链路层的攻击与防御具体情况如下。(1)碰撞攻击:(2)耗尽攻击:(3)非公平竞争:第8章安全技术(1)碰撞攻击:由于无线网络的通信环境是开放的,当两个设备同时进行发送时,它们的输出信号会因为相互叠加而不能被分离出来。任何数据包只要有一个字节的数据在传输过程中发生了冲突,则整个数据包都会被丢弃。这种冲突在链路层协议中称为碰撞。针对碰撞攻击,可以采用纠错编码、信道监听和重传机制来对抗碰撞攻击。第8章安全技术(2)耗尽攻击:耗尽攻击指利用协议漏洞,通过持续通信的方式使节点能量资源耗尽。如利用链路层的错包重传机制,使节点不断重发上一数据包,耗尽节点资源。应对耗尽攻击的一种方法是限制网络节点发送速度,让节点自动忽略过多的请求不必应答每个请求;另一种方法是对同一数据包的重传次数进行限制。第8章安全技术(3)非公平竞争:如果网络数据包在通信机制中存在优先级控制,恶意节点或者被俘节点可能被用来不断在网络上发送高优先级的数据包占据信道,从而导致其它节点在通信过程中处于劣势。这是一种弱DoS攻击方式,一种缓解的方案是采用短包策略,即在MAC层中不允许使用过长的数据包,以缩短每包占用信道的时间;另外一种应对非公平竞争的方法是可以采用弱优先级之间的差异或不采用优先级策略,而采用竞争或时分复用的方式实现数据传输。第8章安全技术3.传感器网络路由层面临的安全威胁传感器网络路由层遭受的攻击可以归为以下几类:(1)虚假路由信息(2)选择转发(3)女巫(Sybil)攻击(4)槽洞(Sinkhole)攻击(5)虫洞(Wormholes)攻击(6)Helloflood攻击(7)告知收到欺骗第8章安全技术(1)虚假路由信息这是对路由协议的最直接的攻击方式,通过哄骗、修改或者重放路由信息,攻击者能够使传感器网络产生路由环、吸引或抑制网络流量、延伸或缩短源路由,产生虚假错误消息、分割网络、增加端到端的延迟等。这种攻击方式与网络层协议相关。对于层次式路由协议,可以使用输出过滤的方法,即对源路由进行认证,确认一个数据包是否是从它的合法子节点发送过来的,直接丢弃不能认证的数据包。第8章安全技术(2)选择转发无线传感器网络中每一个传感器节点既是终节点又是路由中继点要求每个传感器忠实地转发收到的消息,但攻击者节点在转发信息包的过程中会有意丢弃部分或全部信息包,使得信息包不能到达目的节点。该种攻击的一个简单做法是恶意节点拒绝转发经由它的任何数据包,即所谓“黑洞攻击”,但这种做法会使得邻居节点认为该恶意节点已失效,从而不再经由它转发信息包。一种比较具有迷惑性的做法是选择性地丢弃某些数据包。只要妥协节点存在,就可能引发选择转发攻击。解决办法就是使用多径路由,这样即使攻击者丢弃数据包,数据包仍然可以从其它路径到达目标节点;而且节点通过多径路由收到数据包和数据包的几个副本,通过对比可以发现某些中间数据包的丢失,从而推测选择转发攻击点。第8章安全技术(3)女巫(Sybil)攻击女巫(Sybil)攻击的目标是破坏依赖多节点合作和多路径路由的分布式解决方案。在女巫攻击中,恶意节点通过扮演其他节点或者通过声明虚假身份,从而对网络中其他节点表现出多重身份。在其他节点看来存在女巫节点伪造出来的一系列节点,但事实上那些节点都不存在,所有发往那些节点的数据,将被女巫节点获得。Sybil攻击能够明显降低路由方案对于诸如分布式存储、分散和多路径路由、拓扑结构保持的容错能力,对于基于位置信息的路由协议也构成很大的威胁。对于Sybil攻击可以采用基于密钥分配、加密和身份认证等方法来抵御。使用全局共享密钥使得一个内部攻击者可以化装成任何存在或不存在的节点,因此必须确认节点身份。一个解决办法是每个节点都与可信任的基站共享一个唯一的对称密钥,两个需要通信的节点可以使用类似Needham-Schroeder的协议确认对方身份和建立共享密钥。然后相邻节点可通过协商的密钥实现认证和加密链路。为防止一个内部攻击者试图与网络中的所有节点建立共享密钥,基站可以给每个节点允许拥有的邻居数目设一个阀值,当节点的邻居数目超出该阈值时,基站发送出错消息。第8章安全技术(4)槽洞(Sinkhole)攻击槽洞(Sinkhole)攻击的目标是通过一个妥协节点吸引一个特定区域的几乎所有流量,创建一个以敌手为中心的槽洞。攻击者利用收发能力强的特点可以在基站和攻击者之间形成单跳高质量路由,从而吸引附近大范围的流量。第8章安全技术(5)虫洞(Wormholes)攻击虫洞(Wormholes)攻击又可称为隧道攻击,两个或者多个节点合谋通过封装技术,压缩它们之间的路由,减少它们之间的路径长度,使之似乎是相邻节点。常见的虫洞攻击行为是:恶意节点将在某一区域网络中收到的信息包通过低延迟链路传到另一区域的恶意节点,并在该区域重放该信息包。虫洞攻击易转化为槽洞攻击,两个恶意节点之间有一条低延迟的高效隧道,其中一个位于基站附近,这样另一个较远的恶意节点可以使其周围的节点认为自己有一条到达基站的高质量路由,从而吸引其周围的流量。第8章安全技术这两种攻击很难防御,尤其是两者联合攻击的时候。虫洞攻击难以觉察是因为攻击者使用一个私有的、对传感器网络不可见的、超出频率范围的信道;槽洞攻击对于那些需要厂告某些信息(如剩余能量信息或估计端到端的可靠度以构造路由拓扑的信息)的协议很难防御,因为这些信息难以确认。地理路由协议可以解决虫洞和槽洞攻击。该协议中每个节点都保持自己绝对或是彼此相对的位置信息,节点之间按需形成地理位置拓扑结构,当虫洞攻击者妄图跨越物理拓扑时,局部节点可以通过彼此之间的拓扑信息来识破这种破坏,因为“邻居”节点将会注意到两者之间的距离远远超出正常的通信范围。另外由于流量自然地流向基站的物理位置,别的位置很难吸引流量因而不能创建槽洞。第8章安全技术(6)Helloflood攻击很多协议要求节点广播Hello信息包来确定邻居节点,认为接收到该Hello信息包的节点在发送者正常的无线通信范围内。然而一个膝上电脑级的攻击者能够以足够大的发射功率发送Hello信息包,使得网络中所有节点认为该恶意节点是其邻居节点。事实上,由于该节点离恶意节点距离较远,以普通的发射功率传输的信息包根本到不了目的地。对于该攻击的一个可能的解决办法是通过信任基站,使用身份确认协议认证每一个邻居的身份,基站限制节点的邻居个数,当攻击者试图发起Helloflood攻击时,必须被大