【无线传感网】无线传感器网络安全

文章目录

WSN安全问题概述

WSN通常部署在无人维护、不可控制的环境中,除了具有一般无线网络所面临的信息泄露、信息篡改、重放攻击、拒绝服务 等多种威胁外,WSN还面临传感器节点容易被攻击者物理操纵,并获取存储在传感器节点中的所有信息,从而控制部分网络的威胁

用户不可能接受并部署一个没有解决好安全和隐私问题的传感网络,因此在进行WSN协议和软件设计时,必须充分考虑WSN可能面临的安全问题,并把安全机制集成到系统设计中

WSN的安全需求

WSN的安全需求主要有以下几个方面:

机密性

机密性要求对WSN节点间传输的信息进行加密,让任何人在截获节点间的物理通信信号后不能直接获得其所携带的消息内容

在许多应用中(如密钥分发等),节点之间传递的高度敏感数据一旦被攻击者获取,整个网络的安全将无法得到保障,因而通过密钥管理协议建立的的机密信息,必须保证仅对授权用户公开

同时,密钥泄露造成的影响应当控制在一个小的范围内,从而使得一个密钥的泄露不至于影响整个网络的安全

数据机密性的最常用方法是使用通信双方共享的会话密钥来加密待传递的消息,该密钥不为第三方所知
*

真实性

节点身份认证或数据源认证在传感器网络中非常重要

在传感器网络中,攻击者极易向网络注入信息,接收者只有通过数据源认证才能确信消息是从正确合法的节点处发送过来的

传统的有线网络 中,通常使用数字签名数字证书 来进行身份认证,但这种公钥算法不适用于计算速度和存储空间都相当有限的传感器节点。传感器网络通常使用共享唯一的对称密钥来进行数据源的认证
*

完整性

在通信过程中,数据完整性能够保证接收者收到信息在传输过程中没有被攻击者篡改或替换

在基于公钥的密码体制中,数据完整性一般是通过数字签名来完成的,但资源有限的传感器网络无法支持这种密码算法

在传感器网络中,通常使用++消息认证码++来进行数据完整性的检验 ,它使用的是一种带有共享密钥的散列算法,即将共享密钥和待检验的消息连接在一起进行散列运算,对数据的任何细微改动都会对消息认证码的值产生较大影响
*

新鲜性

新鲜性是指发送方传给接收者的数据是在最近时间内生成的最新数据

由于密钥可能需要进行更新,因此新鲜性还体现在密钥建立过程中,即通信双方所共享的密钥是最新的

在传感器网络中,基站和簇头需要处理很多节点发送过来的采集信息,为防止攻击者进行任何形式的重放攻击(将过时消息重复发送给接收者,耗费其资源使其不能提供正常服务),必须保证每条消息是新鲜的
*

扩展性

传感器网络的可扩展性表现++在传感器数量、网络覆盖区域、生命周期、时间延迟、感知精度等方面的可扩展极限尺度++ 。因此,给定传感器网络的可扩展性级别,安全解决方案必须提供支持该可扩展性级别的安全机制和算法,来使传感器网络保持良好的工作状态
*

可用性

可用性要求WSN能够按预先设定的工作方式向合法的用户提供信息访问服务

一个合理的安全方案应当具有节能的特点 ,各种安全协议和算法的设计不应当太复杂 ,并尽可能地避开公钥运算,计算开销、存储容量和通信能力也应当充分考虑传感器网络资源有限的特点,从而使得能耗最小化,最终延长网络的生命周期

同时,安全性设计方案不应当限制网络的可用性,并能够有效防止攻击者对传感器节点资源的恶意消耗
*

自组织性

由于传感器网络是由一组传感器以Ad Hoc方式构成的无线网络,它是以自组织的方式进行组网的,这就决定了相应的安全解决方案也应当是自组织的,即在传感器网络配置之前很难确定节点的任何位置信息和网络的拓扑结构,也很难确定某个节点的邻近节点集

有计划的部署除外
*

鲁棒性

传感器网络一般配置在恶劣环境、无人区域或敌方阵地中,环境条件、现实威胁和当前任务具有很大的不确定性。这要求传感器节点能够灵活地加入或去除、传感器网络之间能够进行合并或拆分,因而安全解决方案应当具有鲁棒性和自适应性,能够随着应用背景的变化而灵活拓展,来为所有可能的应用环境和条件提供安全解决方案

此外,当某个或某些节点被攻击者控制后,安全解决方案应当限制其影响范围,保证整个网络不会因此而瘫痪或失效

攻击与威胁

按照攻击者的能力来分,可以分为 Mote-class 攻击和 Laptop-class(便携式电脑)攻击

  • 在前一种情况下,攻击者的资源和普通的节点相当 ,而在后一种攻击中,攻击者拥有更强的设备和资源
  • 也就是说,在Laptop-class攻击中,恶意节点拥有的资源,包括能量、CPU、内存和无线电发射器等,优于普通节点。显然,Laptop-class攻击所带来的危害更大

按照攻击者的类型来分,可以分为内部攻击外部攻击

  • 外部攻击:攻击者不知道传感器网络内部信息(包括网络的密钥信息等),不能访问网络的节点
  • 内部攻击:是指网络中合法的参与者进行的攻击,攻击者可以是已被攻陷的传感器节点,也可以是获得合法节点信息(包括密钥信息、代码、数据)的传感器节点

显然,内部攻击更难检测和预防,其危害性也更大

常见攻击

DoS(Denial of Service)攻击

DoS攻击是指任何能够削弱或消除传感器网络正常工作能力的行为或事件,硬件失效、软件漏洞、资源耗尽、环境干扰及这些因素之间的相互作用都有可能导致DoS攻击

攻击者可以发起快速消耗传感器节点能量的攻击

例如向目标节点连续发送大量无用信息,目标节点就会消耗能量处理这些信息,并把这些信息传送给其他节点

如果攻击者捕获了传感器节点,那么它还可以伪造或伪装成合法节点发起DoS攻击

例如,它可以产生循环路由,从而耗尽这个循环中节点的能量
*

Sybil(女巫)攻击

在无线网络中,单一攻击节点具有多个身份标识,使其更易于成为路由路径中的节点,然后和其他攻击方法结合使用,达到攻击的目的

解决方案:使用可信证书中心来验证通信实体身份以防止Sybil攻击的方案,但这种解决方案并不适用于传感器网络
*

Sinkhole攻击

在Sinkhole攻击中,攻击者的目标是吸引所有的数据流通过攻击者所控制的节点进行传输,从而形成以攻击者为中心的黑洞

Sinkhole攻击通常使用功能强大的处理器来代替受控节点,使其传输功率、通信能力和路由质量大大提高,进而使得通过它路由到基站的可靠性大大提高,以此吸引其他节点选择通过它的路由

对于传感器网络中存在的Sinkhole攻击,目前++一般通过对路由协议进行精心的安全设计来进行有效的防止++
*

Wormhole(虫洞)攻击

Wormhole(虫洞)攻击最为常见的形式是两个相距较远的恶意节点相互串通,合谋进行攻击

一般情况下,一个恶意节点位于基站附近,另一个恶意节点离基站较远,较远的那个节点声称自己和基站附近的节点可以建立低时延、高带宽的链路,从而吸引周围节点将其数据包发到它这里,在这种情况下,远离基站的那个恶意节点其实也是一个Sinkhole

Wormhole攻击可以和其他攻击(如选择转发、Sybil攻击等)结合使用
*

Hello泛洪攻击

Hello泛洪攻击是针对传感器网络的新型攻击,攻击原理是许多协议要求节点广播Hello数据包来发现其邻近节点

假如++攻击者使用大功率无线设备来广播、路由,它能够使网络中的部分甚至全部节点确信它是邻近节点++。网络中的每个节点都试图使用这条路由与基站进行通信,但一部分节点离它相当远,发送的消息根本不可能被攻击者接收而造成数据包丢失、网络混乱

最简单地对付Hello泛洪攻击是通过通信双方采取有效措施进行相互的身份验证
*

选择转发攻击

WSN通常是++基于参与节点可靠地转发其收到信息这一假设的++

在选择转发攻击中,恶意节点可能拒绝转发特定的消息并将其丢弃,以使得这些数据包不再进行任何传播。然而,这种攻击可能被邻近节点发现这条路由失败并寻找新路由的危险

另一种表现形式是攻击者修改节点传送来的数据包,并将其可靠地转发给其他节点,从而降低被人怀疑的程度

解决方案是由节点进行概率否决投票并由基站或簇头对恶意节点进行撤销。多径路由也是对付选择转发攻击比较有效的方法

跨层的安全框架

WSN中,各协议层有不同的安全方法:

  • 物理层:主要通过考虑安全编码来增加机密性
  • 链路层和网络层:考虑的是数据帧和路由信息的加密技术
  • 应用层:着重于密钥的管理和交换,为下层加解密提供安全支持

传统的安全设计主要采用分层的方法,不能较好地解决WSN中的安全问题。因为各层研究的侧重点各不相同,不同层的安全和网络性能不同,用跨层设计可以平衡这两个因素,可以在安全需求及网络性能 上有一个良好的折中

WSN中的密码学理论

密码算法的选择

在选择和设计WSN网络的加密算法时,应考虑以下原则:

  • 加密算法要快
  • 算法占用存储空间要小
  • 算法通信开销要小
  • 易于实现
  • 加密算法需要多样化,以便应对不同的应用和需求

目前WSN网络的几种常用的加密算法:

RC5/RC6分组加密算法

RC5 是一种对称的快速加密算法,比较适用于廉价的传感器网络

RC6对RC5进行了改进,弥补了 RC5 在扩散速度上的不足

RC5/RC6 两者的性能对比:

这两种算法只使用了常见的初等运算,算法速度快,占用存储空间小,实践证明其符合无线传感器网络节点的要求
*

非对称椭圆曲线加密

在已有的对无线传感器网络安全加密算法的研究中,部分采用了基于轻量级椭圆曲线的算法

通过性能仿真表明轻量级椭圆曲线加密相比于对称加密,提高了安全性;而与其他非对称密钥算法相比,节省了能耗和存储空间

ECC算法在传感器网络中受到了极大的重视,也成为了其他公钥方案无法突破的瓶颈
*

基于ID或Hash函数的加密方式

一方面为了保证加密算法的简单性和低能耗 ,另一方面为了便于节点之间相互认证 ,跳出了对称密钥体制和公钥密码体制的束缚,利用混合密码体制或者其他密码基础技术来实现无线传感器网络中的通信机制

其中,研究最为广泛和深入的是基于ID身份或者Hash函数加密的方法

类加密算法的简单比较

  • 对称密钥体制的加密方法,具有密钥长度短、计算和通信开销小 等优点,可是安全性不高,且难以实现认证功能
  • 非对称加密算法具有较高的安全性 ,而且可以实现认证,但是需要消耗较大的计算和通信,所以其较难适应于传感器网络
  • 基于Hash函数的方法,具有较高的安全性,而且计算小,是比较流行的方法,但是它仍存在私钥托管的问题

密匙管理

WSN不同于传统计算机网络,它具有传统计算机网络所不具备的特性。因此,除了要具备传统网络密钥管理的一些基本需求,如保密性、完整性、真实性或可验证性等,也提出了一些特别的要求

WSN的安全需求

  • 密钥生成或更新算法的安全性:破解代价不能过于容易
  • 前向私密性:退出或被俘的节点,不能再进入网络
  • 后向私密性和可扩展性新加入的节点具有合法性
  • 一定程度上的抗同谋破解 :被俘节点泄密不危害全网
  • 源端认证性和新鲜性 :可追溯、有限延迟可送达

WSN的性能需求

  • 密钥的链接性和可用性
    • 链接性:指网络中任何一个节点都能与其它节点、或只与邻居节点、簇头节点建立安全的密钥通信
    • 可用性:不能干扰网络其他通信协议的执行
  • 轻量级和低开销:受限于节点的资源有限

密钥管理方案分类

按密码学基础分类:对称非对称

按网络逻辑结构:分布式层簇式

按照密钥是否更新:静态动态

按密钥链接性程度:随机型确定型

对称与非对称密钥管理方案

在对称密钥管理方面,通信双方使用相同的密钥对数据进行加密、解密,具有密钥长度较短,计算、通信和存储开销相对较小 等特点,但是安全性不高,比较适用于无线传感器网络


在非对称密钥管理方面,节点拥有不同的加密和解密密钥,同时非对称密钥管理对节点的计算、存储和通信等要求比较高
*

分布式和层簇式的密钥管理方案

分布式的密钥管理方案并不多见,它一般认为网络中的节点具有相同的通信能力和计算能力,是完全对等的关系,密钥的生成、发布和更新往往由节点相互协商完成,具有较好的分布特性

针对分布式的无线传感器网络,现已经提出预置全局密钥预置所有对密钥随机预分配密钥等密钥管理方案


层簇式密钥管理方案是WSN网络密钥管理方案研究的主流

这类方案首先将全网的节点划分为若干个簇每一簇拥有一个或者多个簇头,协助基站节点共同管理整个传感器网络。一般密钥的初始化、分发和管理都由簇头节点主持,协同簇内节点共同完成。这样的管理方式对普通节点的计算、存储能力要求较低


相比较而言,完全分布式的密钥管理方案中,所有的密钥均需要节点协商完成,通信开销较大,且由于节点对等,难以实现集中管理和认证机制,不适合大规模的传感器网络

层簇式密钥管理方案克服上述缺陷,强化了集中管理,利用簇头节点作为二级管理者进行密钥信息的相关操作,但是簇头节点易成为网络局部的瓶颈,而且簇头的受损可能导致严重的安全威胁
*

静态密钥管理与动态密钥管理

静态密钥管理方案中,节点在部署前预分配一定数量的密钥,部署后通过协商生成通信密钥,网络运行稳定后,不再考虑密钥的更新和撤回

随机密钥预分配是当前最有效的密钥管理机制,但目前该方案存在潜在挑战:无法同时获取理想的网络安全连通性和网络抗毁性

基于散列链的随机密钥预分发方案 ,++通过有效调节散列链长度、公共辅助节点数、散列链数量等参数,节点仅需预分发数量较少的密钥信息++,就能够以较高的概率建立对偶密钥。而且,即使存在大量的受损节点仍能保持较强的网络抗毁性


在动态密钥管理方案中,安全通信更多依赖于网络运行后密钥动态地分发、协商和撤销,并且这一过程将会周期性的进行

代表性的方案有**基于EBS(互斥基底系统)**系统的两级密钥动态管理策略。该策略从网络部署开始,在整个生命周期内对节点内的密钥进行动态管理


静态密钥管理的优点是通信密钥无需频繁更新,不会导致更多的计算和通信开销,缺点是一定数量节点被俘获后,网络的安全性将受到威胁

动态密钥管理的实时更新使得攻击者难以获取最新的密钥,但是计算和通信开销较大


静态和动态密钥管理方案比较


*

随机型密钥管理与确定型密钥管理

在随机分配的密钥管理方案中,节点的密钥通过随机概率方式获得,如节点是从一个大的密钥池中随机选取一部分密钥来生成节点间的共享密钥,或是从多个密钥空间中选取若干个密钥进行分发共享。从连通概率的角度来看,这种方案的密钥安全链接性介于[0,1]之间

如q-composite随机密钥分配方案,节点从密钥池里预随机选取 m 个 不同的密钥,部署后两个相邻节点至少需要共享 q 个 密钥才能直接建立共享密钥。随着共享密钥阈值的增大,攻击者能够破坏安全链路的难度呈指数增加,但同时对节点的存储空间需求也增大。因此,q的选取是该方案需要考虑的一个重要因素


在确定分配的密钥管理方案中,节点密钥是以确定的方式获得的,可能预置全局共享密钥,也可能预置全网所有的密钥

例如,可以使用地理信息来产生确定的密钥信息,或使用对称多项式等特殊的结构来进行密钥的存储。代表性的方案有基于栅格结构的确定密钥预分配方案 就具有高度的连通性。该方案可利用事前部署好的密钥信息来建立节点间相同的密钥对和组密钥,并且可以保证网络的可扩展性,即便有许多新的节点加入传感器网络,也能实现密钥的高连通性


  • 随机分配的密钥管理
    • 优点:密钥分配简便,部署不受限制;
    • 缺点:密钥分配具有盲目性,无法保证较好的密钥链接性,且节点需要较大的存储空间来存储可能冗余的密钥信息;
  • 确定分配的密钥管理
    • 优点:密钥分发具有较强的针对性,节点的空间利用率高,并非全网所有节点都有必要共享一对密钥;
    • 缺点:可能需要其他信息的支持,降低了灵活性,密钥协商的计算和通信开销相对较大

WSN安全防护技术

一般情况下,无线传感器网络安全攻击来源于如下方面:被动的数据收集、节点的背叛、虚假节点、节点故障、节点能量耗尽、信息的破坏、拒绝服务以及流量分析等

因此,无线传感器网络的安全需求分为两个方面:通信安全信息安全

安全认证技术

安全认证是实现网络安全的一个关键技术,一般分为:

  • 节点身份认证:是在网络中一方根据某种协议确认另一方身份的过程
  • 信息认证 :主要是确认信息源的合法身份 以及保证信息的完整性

初始化认证阶段:为所有节点接入这个自组织网络提供安全准入机制,通过认证即可成为可信任的合法节点

数据采集阶段 :基站向周围广播采集任务命令时,必须引入认证机制对控制信息发布源进行身份验证、控制信息认证

传统网络以及无线自组网的认证方案并不能简单移植到无线传感器网络中

比较突出的约束因素有:

① 无线传感网的无线通信、节点分散开放的网络环境

② 节点自身的资源局限性

目前比较著名的认证协议有: 安全框架协议SPINS、局部加密和认证协议LEAP

  • SPINS仅只是一个安全协议框架,还不能成为无线传感器网络认证的最佳解决方案
  • LEAP协议是一个专为传感器网络设计的用来支持网内数据处理的密钥管理协议。提出了分类密钥的建立机制。该协议的通信开销和能量消耗都较低

访问控制技术

访问控制机制用于保护传感器网络的数据,控制合法用户的访问权限,禁止非法用户的访问

衡量一个无线传感器网络中的访问控制机制的优劣,主要有两个技术指标,即安全性网络开销

  • 安全性:准确判断用户访问的合法性及请求的有效期。能够抵抗节点被攻击者所俘获后产生的恶意行为;还需将用户与节点以及节点间的通信全部加密,保障通信数据的保密性和完整性
  • 网络开销:通信开销、存储开销、计算开销

现有的无线传感器网络访问控制机制大致可以分为三类:

  1. 基于公钥密码体制的访问控制策略

    缺点:开销大、认证时延长、对DoS攻击非常脆弱;

  2. 基于对称密码体制的访问控制策略

    优缺点:运算效率高、无额外开销,但需要密钥预分配技术的支撑;

  3. 其他类型的访问控制策略

    如动态用户认证方案等

安全通信与路由技术

一个WSN节点不仅是一个主机,而且是一个路由器

WSN路由协议的首要任务是在一对节点中建立正确、有效的路由,实时地发送消息

如果路由被误导,整个网络可能陷于瘫痪

无线传感器网络中主要的路由协议容易遭受的攻击:


*

入侵检测、容侵容错技术

  • 被动的防范措施:密钥管理、身份认证和安全路由等
  • 主动的防范措施:入侵检测 ( IDS )
相关推荐
星轨初途15 分钟前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉34 分钟前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
love530love3 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
愚戏师3 小时前
MySQL 数据导出
数据库·笔记·mysql
摇滚侠4 小时前
2025最新 SpringCloud 教程,教程简介,笔记01
笔记·spring cloud
RickyWasYoung5 小时前
【笔记】智能汽车、电动汽车政策文件
笔记·汽车
love530love8 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
草莓熊Lotso10 小时前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划
FFF团团员90917 小时前
树莓派学习笔记3:LED和Button
笔记·学习
碧海潮生_CC17 小时前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda