1、物联网信息安全之物联网信息安全之传感器网络安全传感器网络安全1目录1.传感器网络安全概述传感器网络安全概述2.传感器网络面临的安全攻击传感器网络面临的安全攻击3.传感器网络节点安全传感器网络节点安全4.WSN密钥管理密钥管理5.WSN链路层安全和路由安全链路层安全和路由安全2目录1.传感器网络安全概述传感器网络安全概述2.传感器网络面临的安全攻击传感器网络面临的安全攻击3.传感器网络节点安全传感器网络节点安全4.WSN密钥管理密钥管理5.WSN链路层安全和路由安全链路层安全和路由安全31 概述n传感器网络技术特点传感器网络技术特点n传感器网络是由大量具有感知能力、计算能力和通信能力传感器网络是
2、由大量具有感知能力、计算能力和通信能力的微型传感器节点构成的自组织分布式网络系统。的微型传感器节点构成的自组织分布式网络系统。n搭载各类集成化微型传感器的传感器节点协同实时监测、搭载各类集成化微型传感器的传感器节点协同实时监测、感知和采集各种环境或监测对象的信息,并对其进行有限感知和采集各种环境或监测对象的信息,并对其进行有限处理,最终通过处理,最终通过自组织无线网络以多跳中继方式自组织无线网络以多跳中继方式将所感知将所感知的信息结果传到基站节点或者基站,最终借助长距离或临的信息结果传到基站节点或者基站,最终借助长距离或临时建立的基站节点链路将整个区域内的数据传到远程中心时建立的基站节点链路将
3、整个区域内的数据传到远程中心进行集成处理。进行集成处理。n节点对监控区域进行数据采集;节点对监控区域进行数据采集;n节点与网络内节点进行信息交互;节点与网络内节点进行信息交互;n连接网关节点,并通过网关节点连接到互联网;连接网关节点,并通过网关节点连接到互联网;n数据汇集与融合;数据汇集与融合;n管理系统根据采集到的数据对节点进行管理和控制。管理系统根据采集到的数据对节点进行管理和控制。41 概述n传感器网络技术特点传感器网络技术特点n技术标准不统一技术标准不统一nIEEE 802.15.4、IEEE 802.15.4C、ZigBee及及IEEE 1451等标准层出不穷。等标准层出不穷。n技术
4、不成熟技术不成熟n综合了传感器、嵌入式计算、网络及无线通信、分布综合了传感器、嵌入式计算、网络及无线通信、分布式系统等多领域的技术,现有的路由协议、传感器节式系统等多领域的技术,现有的路由协议、传感器节点行为管理,密钥管理等技术还不成熟,无法保证大点行为管理,密钥管理等技术还不成熟,无法保证大规模规模WSN应用。应用。n成本制约了成本制约了WSN的应用推广。的应用推广。51 概述n资源节点特性资源节点特性n传感器节点一般由传感器节点一般由传感、数据处理、通信和电源传感、数据处理、通信和电源4部分组成。部分组成。n为降低成本,典型的传感器节点通常只有几兆或为降低成本,典型的传感器节点通常只有几兆
5、或十几兆赫兹的处理能力及几十十几兆赫兹的处理能力及几十K字节的存储空间。字节的存储空间。n例如,例如,MICA2只有只有4KB的的RAM和和128KB的的flash。n节点体积微小,电量有限,而且通常无法重新充节点体积微小,电量有限,而且通常无法重新充电。电。n例如,例如,Imote使用三节使用三节AAA电池供电电池供电61 概述n网络特性网络特性n自组织网络和动态路由。自组织网络和动态路由。n为减轻整个传感器网络的负担,降低通信冲突量和延迟,减少通为减轻整个传感器网络的负担,降低通信冲突量和延迟,减少通信冗余,通常对传感器网络进行区域划分,以簇进行管理,每个信冗余,通常对传感器网络进行区域划
6、分,以簇进行管理,每个簇通过基站负责簇内数据的过滤转发以及与其它簇的通信。基站簇通过基站负责簇内数据的过滤转发以及与其它簇的通信。基站本身也是网络中的节点,也具有自组织和动态路由特性。本身也是网络中的节点,也具有自组织和动态路由特性。n不可靠的通信。不可靠的通信。n无线通信的不可靠特性会导致数据丢失及易受到干扰。无线通信的不可靠特性会导致数据丢失及易受到干扰。n冲突和延迟。冲突和延迟。n可能同时有几十个或者上百个传感器发送数据包,可能导致数据可能同时有几十个或者上百个传感器发送数据包,可能导致数据通信冲突和延迟。通信冲突和延迟。71 概述n物理特性物理特性n无人值守环境。无人值守环境。n传感器
7、常部署在无人值守环境,可能受到人为破坏或传感器常部署在无人值守环境,可能受到人为破坏或自然环境的破坏。自然环境的破坏。n远程监控。远程监控。n通过远程监控的方式难以及时有效地发现传感器的物通过远程监控的方式难以及时有效地发现传感器的物理损坏,也不能够及时给传感器更换电池。理损坏,也不能够及时给传感器更换电池。8传感器网络的安全威胁n传感器网络的安全威胁主要有四种类型:传感器网络的安全威胁主要有四种类型:n干扰、干扰、n截取、截取、n篡改、篡改、n假冒。假冒。9传感器网络的安全防护手段n传感器网络的安全防护手段:传感器网络的安全防护手段:n信息加密信息加密n数据校验(消息认证)数据校验(消息认证
8、)n身份认证(实体认证)身份认证(实体认证)n扩频与跳频扩频与跳频n安全路由安全路由n入侵检测入侵检测10传感器网络的安全防护手段11传感器网络的安全体系结构传感器网络的安全体系结构n传感器网络安全体系结构包括传感器网络安全体系结构包括4个部分:个部分:n加密算法及密码分析、加密算法及密码分析、n密钥管理及访问控制、密钥管理及访问控制、n认证及安全路由、认证及安全路由、n安全数据融合及安全定位。安全数据融合及安全定位。12WSN协议栈安全nWSN协议栈包括物理层、数据链路层、网络层、传输层和应协议栈包括物理层、数据链路层、网络层、传输层和应用层,与互联网协议栈的五层协议相对应。用层,与互联网协
9、议栈的五层协议相对应。nWSN协议栈与互联网协议栈的不同之处在于,它还需包含能协议栈与互联网协议栈的不同之处在于,它还需包含能量管理、移动管理和任务管理。量管理、移动管理和任务管理。n使得传感器节点能够按照能源高效的方式协同工作,在节点移动的无使得传感器节点能够按照能源高效的方式协同工作,在节点移动的无线传感器网络中转发数据,并支持多任务和资源共享。线传感器网络中转发数据,并支持多任务和资源共享。n通信安全一体化的传感器网络协议栈,是保证通信安全一体化的传感器网络协议栈,是保证WSN安全性的安全性的关键。关键。n安全一体化网络协议栈能够整体上应对传感器网络面临的各种安全危安全一体化网络协议栈能
10、够整体上应对传感器网络面临的各种安全危胁,并通过整体设计、优化考虑将传感器网络的各类安全问题统一解胁,并通过整体设计、优化考虑将传感器网络的各类安全问题统一解决,包括认证鉴权、密钥管理、安全路由等。决,包括认证鉴权、密钥管理、安全路由等。13目录1.传感器网络安全概述传感器网络安全概述2.传感器网络面临的安全攻击传感器网络面临的安全攻击3.传感器网络节点安全传感器网络节点安全4.WSN密钥管理密钥管理5.WSN链路层安全和路由安全链路层安全和路由安全142 传感器网络面临的主要攻击n传感器网络常见的攻击有:传感器网络常见的攻击有:n窃听、伪造、重放、窃听、伪造、重放、DOS、物理攻击、发射攻击
11、、物理攻击、发射攻击、预言攻击、交叉攻击、损坏;预言攻击、交叉攻击、损坏;n分布式被动攻击、主动攻击、拒绝服务攻击、虫分布式被动攻击、主动攻击、拒绝服务攻击、虫孔攻击、洪泛攻击、伪装攻击、重放攻击、信息孔攻击、洪泛攻击、伪装攻击、重放攻击、信息操纵攻击、延迟攻击、操纵攻击、延迟攻击、Sybil攻击等。攻击等。15被动攻击n例如:例如:n未授权的路由包偷听;未授权的路由包偷听;n安静地拒绝执行请求的功能。安静地拒绝执行请求的功能。n可能是试图获得路由信息,攻击者可可能是试图获得路由信息,攻击者可利用路利用路由信息由信息可以预测每个节点相对于其他节点的可以预测每个节点相对于其他节点的位置信息。位置
12、信息。n这样的攻击这样的攻击通常不可能被发现通常不可能被发现,因为攻击者,因为攻击者并未扰乱路由协议的操作,仅仅是试图通过并未扰乱路由协议的操作,仅仅是试图通过偷听路由传输来发现有用的信息。偷听路由传输来发现有用的信息。16主动攻击n主动攻击意味着降低或者阻止节点间的信息主动攻击意味着降低或者阻止节点间的信息传输。传输。n可导致节点间通信恶化甚至完全终止。可导致节点间通信恶化甚至完全终止。n例如:例如:n敌方执行的行为;敌方执行的行为;n重放攻击;重放攻击;n篡改和删除交换数据。篡改和删除交换数据。17拒绝服务攻击n攻击者攻击者利用无用传输使节点过载利用无用传输使节点过载,合法请求,合法请求无
13、法得到处理,无法访问资源。无法得到处理,无法访问资源。n发送到目标节点的包将会随机选择返回地址,发送到目标节点的包将会随机选择返回地址,源地址经常被伪造源地址经常被伪造,因此目标节点很难发现,因此目标节点很难发现精确的攻击者位置。精确的攻击者位置。nWSN的的DOS攻击有两种基本形式:攻击有两种基本形式:n多个攻击者相互合作,可设定某个指定的节点作多个攻击者相互合作,可设定某个指定的节点作为攻击目标,以耗尽它的资源。为攻击目标,以耗尽它的资源。n一个有足够能量的攻击者可设置多个节点作为攻一个有足够能量的攻击者可设置多个节点作为攻击目标。击目标。18虫孔攻击n攻击者记录网络一个位置的攻击者记录网
14、络一个位置的一个包,通过高质量的带外一个包,通过高质量的带外链接将这个包发送到另外一链接将这个包发送到另外一个位置。个位置。n这个带外链接称为这个带外链接称为隧道隧道,建,建立在网络中的攻击者之间。立在网络中的攻击者之间。n如攻击者在节点如攻击者在节点I2上重放节上重放节点点I1收到的包。收到的包。n图中,攻击者可通过转发路图中,攻击者可通过转发路由信息使由信息使S和和D相信它们是相信它们是邻居,然后有选择性地丢弃邻居,然后有选择性地丢弃数据包使它们之间的通信中数据包使它们之间的通信中断。断。19虫孔攻击n节点节点S将会宣告一个到达将会宣告一个到达D的一跳的一跳路径,因此路径,因此C将会通过将
15、会通过S将包转发将包转发给给D。n在几乎所有的基于需求的路由协议在几乎所有的基于需求的路由协议中,虫孔攻击能够通过隧道将路由中,虫孔攻击能够通过隧道将路由请求信息直接发送到邻近目的节点请求信息直接发送到邻近目的节点的节点。因为它比其他请求更早到的节点。因为它比其他请求更早到达。达。n根据协议,收到的为相同的路由发根据协议,收到的为相同的路由发送的其它路由请求信息将会被丢弃,送的其它路由请求信息将会被丢弃,因此这个攻击防止了其他路由被发因此这个攻击防止了其他路由被发现,虫孔将完全控制路由。现,虫孔将完全控制路由。n战略性地放置虫孔端点能够中断几战略性地放置虫孔端点能够中断几乎所有的到达或者来自于
16、一个特定乎所有的到达或者来自于一个特定节点和所有网络中其他节点的通信。节点和所有网络中其他节点的通信。20洪泛攻击n在洪泛攻击中,攻击者利用路由发现的在洪泛攻击中,攻击者利用路由发现的操作特性:操作特性:n现存的基于请求的路由协议在每次路由现存的基于请求的路由协议在每次路由发现中转发一个最先到达的请求包。发现中转发一个最先到达的请求包。n如果被攻击者转发的这次路由发现的路如果被攻击者转发的这次路由发现的路由请求是第一个到达每个目标的邻居,由请求是第一个到达每个目标的邻居,那么通过这次路由发现而发现的任何路那么通过这次路由发现而发现的任何路由都将包括通过攻击者的这一跳。由都将包括通过攻击者的这一
17、跳。n即,当目标节点的邻居突然收到来自攻即,当目标节点的邻居突然收到来自攻击者的请求时,它转发这一请求,但是击者的请求时,它转发这一请求,但是不会进一步转发来自这个路由发现的请不会进一步转发来自这个路由发现的请求。求。n当非攻击者的请求晚一点到达这些节点当非攻击者的请求晚一点到达这些节点时,它们将被丢弃。时,它们将被丢弃。n因此,发起者将不能发现任何包含至两因此,发起者将不能发现任何包含至两跳的可用路由(即不包括攻击者的路跳的可用路由(即不包括攻击者的路由)。由)。21伪装攻击n一个系统实体非法伪一个系统实体非法伪装成另一个实体。装成另一个实体。n假设节点假设节点A发送一个参发送一个参考信号到
18、它的两个邻考信号到它的两个邻居居B和和C。攻击者伪装。攻击者伪装成成B,之后和,之后和C之间交之间交换错误的时间信息,换错误的时间信息,中断真正的中断真正的B和和C之间之间的时间同步处理。的时间同步处理。22重放攻击n一个有效数据传输被恶意地或者不正当地重复或延一个有效数据传输被恶意地或者不正当地重复或延迟。迟。n例如,例如,Alice向向Bob证明身份,并出示了口令。证明身份,并出示了口令。Eve偷听了该会话,记住了该口令。偷听了该会话,记住了该口令。n交互结束后,交互结束后,Eve伪装成伪装成Alice向向Bob发出连接请求,发出连接请求,发送上次偷听的口令,使发送上次偷听的口令,使Bob
19、接受。接受。23信息操纵攻击n对路由协议最直接的攻对路由协议最直接的攻击是瞄准节点间交换的击是瞄准节点间交换的路由信息。路由信息。n通过欺诈、篡改或者重通过欺诈、篡改或者重放路由信息,攻击者能放路由信息,攻击者能够建立路由回路,扩展够建立路由回路,扩展或者缩短源路由,继而或者缩短源路由,继而攻击或者排斥网络通信,攻击或者排斥网络通信,产生假的错误信息,划产生假的错误信息,划分网络,增加端到端延分网络,增加端到端延迟等。迟等。24延迟攻击n攻击者故意延迟一些时间信息,例如在攻击者故意延迟一些时间信息,例如在参考广播同参考广播同步机制(步机制(Reference Broadcast Synchro
20、nization,RBS)中的信标信息,这样来使时间同步处理失中的信标信息,这样来使时间同步处理失效。效。25Sybil攻击n在在Sybil(女巫)攻击中,网络中一个单一节(女巫)攻击中,网络中一个单一节点扮演了多重身份。点扮演了多重身份。nSybil攻击会明显降低容错模式的效力,例如攻击会明显降低容错模式的效力,例如分布式存储、系统一致性性、多路径路由、分布式存储、系统一致性性、多路径路由、拓扑维护等。拓扑维护等。nSybil攻击对攻击对地理路由协议地理路由协议构成严重的威胁。构成严重的威胁。位置感知路由位置感知路由通常需要节点与邻居之间交换通常需要节点与邻居之间交换协调信息来有效地路由地理
21、地址包。协调信息来有效地路由地理地址包。26拜占庭攻击n起源:起源:n拜占庭位于现在土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当拜占庭位于现在土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。远,将军与将军之间只能靠信差传消息。n在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,军队可能有叛徒和决定是否有赢的机会才去攻打敌人的阵营
22、。但是,军队可能有叛徒和敌军间谍,左右将军们的决定,扰乱军队整体的秩序。在进行共识时,敌军间谍,左右将军们的决定,扰乱军队整体的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。题就此形成。n拜占庭将军问题(拜占庭将军问题(Byzantine failures)又称两军问题,是由)又称两军问题,是由莱斯利莱斯利兰伯特提出的点对点通信中的基本问题:兰伯特提出的点对点通信中的
23、基本问题:n在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。是不可能的。27拜占庭攻击n军队与军队之间分隔很远,传讯息的信差可能在途军队与军队之间分隔很远,传讯息的信差可能在途中路上阵亡,或因军队距离,不能在得到消息后即中路上阵亡,或因军队距离,不能在得到消息后即时回复,发送方也无法确认消息确实丢失的情形,时回复,发送方也无法确认消息确实丢失的情形,导致不可能达到一致性。导致不可能达到一致性。n在分布式计算上,系统上协调节点在分布式计算上,系统上协调节点(Coordinator/Commander)或成员节点或
24、成员节点(Member/Lieutanent)可能可能因系统错误并交换错的信息,导致影响最终的系统一致性。因系统错误并交换错的信息,导致影响最终的系统一致性。n实际上,试图在异步系统和不可靠的通道上达到一致性是实际上,试图在异步系统和不可靠的通道上达到一致性是不可能的。不可能的。n因此对一致性的研究一般假设信道是可靠的。因此对一致性的研究一般假设信道是可靠的。n拜占庭将军问题根据错误节点的数量,寻找可能的拜占庭将军问题根据错误节点的数量,寻找可能的解决办法解决办法(但无法找到一个绝对的答案,只可以用(但无法找到一个绝对的答案,只可以用来验证一个机制的有效程度)。来验证一个机制的有效程度)。28
25、拜占庭攻击n解决拜占庭将军问题的算法必须保证:解决拜占庭将军问题的算法必须保证:nA所有忠诚的将军必须基于相同的行动计划做所有忠诚的将军必须基于相同的行动计划做出决策。出决策。n忠诚的将军按算法的要求行动,而叛徒则按他们自己忠诚的将军按算法的要求行动,而叛徒则按他们自己的意志行动。算法要保证不管叛徒怎么做,条件的意志行动。算法要保证不管叛徒怎么做,条件A都能都能得到保证。得到保证。n忠诚的将军们不但要能达成一致,而且要同意一个合忠诚的将军们不但要能达成一致,而且要同意一个合理的计划。这就要求条件理的计划。这就要求条件B。nB少数叛徒不能使忠诚的将军做出错误的计划。少数叛徒不能使忠诚的将军做出错
26、误的计划。n这一条是很难做到的,因为这一条是很难做到的,因为“错误的计划错误的计划”很难形式很难形式地加以定义。地加以定义。29拜占庭攻击n简化的拜占庭将军问题:简化的拜占庭将军问题:n一个司令要送一个命令给他的一个司令要送一个命令给他的n-1个副官,使得:个副官,使得:nIC1:所有忠诚的副官遵守同一个命令。:所有忠诚的副官遵守同一个命令。nIC2:假如司令是忠诚的,则每一个忠诚的副官遵守他送出的该命:假如司令是忠诚的,则每一个忠诚的副官遵守他送出的该命令。令。n条件条件IC1和和IC2称为交互一致性条件。称为交互一致性条件。n注意,如果司令是忠诚的,注意,如果司令是忠诚的,IC1可以从可以
27、从IC2推出来。但是,推出来。但是,司令并不一定是忠诚的。司令并不一定是忠诚的。n这个问题比一般的容错问题更困难。这个问题比一般的容错问题更困难。n容错针对那样一些软硬件故障,其故障效果是固定的。而容错针对那样一些软硬件故障,其故障效果是固定的。而拜占庭故障却假定故障节点是鲜活的,它可以做坏事。拜占庭故障却假定故障节点是鲜活的,它可以做坏事。30拜占庭攻击n拜占庭将军问题可能的解决办法:拜占庭将军问题可能的解决办法:nN:节点总数:节点总数nF:有问题节点总数:有问题节点总数n信息在节点间互相交换后,各节点列出所有得到信息在节点间互相交换后,各节点列出所有得到的信息,以大多数的结果作为解决办法
28、。的信息,以大多数的结果作为解决办法。n条件在条件在 N 3F+1 的情况下一致性是可能解决。的情况下一致性是可能解决。31WSN路由层攻击小结n可以看到,路由层攻击是传感器网络攻击中最重要的一类。可以看到,路由层攻击是传感器网络攻击中最重要的一类。n传感器网络中的每个节点既是终端节点,也是路由节点。节传感器网络中的每个节点既是终端节点,也是路由节点。节点之间的通信一般要经过很多跳,这样恶意节点就有更多的点之间的通信一般要经过很多跳,这样恶意节点就有更多的机会破坏节点间的正常通信。机会破坏节点间的正常通信。n路由层可能遭受到的攻击类型包括:路由层可能遭受到的攻击类型包括:n1、欺骗、改变或重放
29、路由信息、欺骗、改变或重放路由信息n锁定节点间交换的路由信息进行攻击。锁定节点间交换的路由信息进行攻击。n通过伪造、篡改或重放路由信息,敌方人员能够造成通过伪造、篡改或重放路由信息,敌方人员能够造成路由环路路由环路、吸引吸引或阻塞网络流量或阻塞网络流量、延长或缩短源路径延长或缩短源路径,形成虚假错误消息,以达到,形成虚假错误消息,以达到分分割网络、增加端到端的时延割网络、增加端到端的时延等目的。等目的。32WSN路由层攻击n2、HELLO 泛洪攻击泛洪攻击 n攻击者使用能量足够大的信号来广播路由或其他信息,使得网络中的攻击者使用能量足够大的信号来广播路由或其他信息,使得网络中的每个节点都认为攻
30、击者是其直接邻居,并试图将其报文转发给攻击节每个节点都认为攻击者是其直接邻居,并试图将其报文转发给攻击节点,这将导致随后的网络陷入混乱之中。点,这将导致随后的网络陷入混乱之中。n3、选择转发攻击、选择转发攻击 n节点收到数据包后,有选择地转发或者根本不转发收到的数据包,导节点收到数据包后,有选择地转发或者根本不转发收到的数据包,导致数据包不能到达目的地。致数据包不能到达目的地。n另一种简单方式是另一种简单方式是:恶意节点扮演一个黑洞的角色,丢弃所有收到的恶意节点扮演一个黑洞的角色,丢弃所有收到的数据包。不过,这种攻击者冒着一定的风险,因为它们很可能会被邻数据包。不过,这种攻击者冒着一定的风险,
31、因为它们很可能会被邻节点认为该路由失败,而寻找另外的有效路由。节点认为该路由失败,而寻找另外的有效路由。n敌方人员只对破坏少数特定节点的正常通信感兴趣,它便可以压制或敌方人员只对破坏少数特定节点的正常通信感兴趣,它便可以压制或篡改这些节点发出的数据包,而完全正常的转发其余节点发送来的消篡改这些节点发出的数据包,而完全正常的转发其余节点发送来的消息,这样,攻击者便减少了因自己非法行为而被发现的可能性。息,这样,攻击者便减少了因自己非法行为而被发现的可能性。33WSN路由层攻击n4、Sinkhole 攻击攻击n攻击者的目标是吸引特定区域的几乎所有的数据流通过一攻击者的目标是吸引特定区域的几乎所有的
32、数据流通过一个已经受到入侵的节点,或者通过已被攻击者控制的被俘个已经受到入侵的节点,或者通过已被攻击者控制的被俘获节点,产生以该节点为中心的一个获节点,产生以该节点为中心的一个 Sinkhole。n由于基站附近区域往往交换的数据信息量最大,因此这个由于基站附近区域往往交换的数据信息量最大,因此这个特定区域常常在基站附近。特定区域常常在基站附近。n因为通向因为通向 Sinkhole 的数据包传送路径上的节点或路径附的数据包传送路径上的节点或路径附近的节点有很多机会来篡改数据,能够吸引数据流,因此近的节点有很多机会来篡改数据,能够吸引数据流,因此能为很多其他形式的攻击提供便利,比如选择转发攻击。能
33、为很多其他形式的攻击提供便利,比如选择转发攻击。34WSN路由层攻击n5、虫洞攻击(、虫洞攻击(Wormhole)n这种攻击通常需要两个恶意节点相互串通,合谋进行攻击。这种攻击通常需要两个恶意节点相互串通,合谋进行攻击。n一般情况下,一个恶意节点位于基站附近,另一个恶意节一般情况下,一个恶意节点位于基站附近,另一个恶意节点离开基站较远,较远的那个节点声称自己和基站附近的点离开基站较远,较远的那个节点声称自己和基站附近的节点可以建立低时延,高带宽的链路,从而吸引周围节点节点可以建立低时延,高带宽的链路,从而吸引周围节点将其数据包发到它这里。将其数据包发到它这里。n在这种情况下,远离基站的那个恶意
34、节点其实也是一个在这种情况下,远离基站的那个恶意节点其实也是一个 Sinkhole。Wormhole 攻击可以和其他攻击,如选择转发、攻击可以和其他攻击,如选择转发、Sybil 攻击等结合使用。攻击等结合使用。35WSN路由层攻击n5、虫洞攻击(、虫洞攻击(Wormhole)n这种攻击通常需要两个恶意节点相互串通,合谋进行攻击。这种攻击通常需要两个恶意节点相互串通,合谋进行攻击。n一般情况下,一个恶意节点位于基站附近,另一个恶意节一般情况下,一个恶意节点位于基站附近,另一个恶意节点离开基站较远,较远的那个节点声称自己和基站附近的点离开基站较远,较远的那个节点声称自己和基站附近的节点可以建立低时
35、延,高带宽的链路,从而吸引周围节点节点可以建立低时延,高带宽的链路,从而吸引周围节点将其数据包发到它这里。将其数据包发到它这里。n在这种情况下,远离基站的那个恶意节点其实也是一个在这种情况下,远离基站的那个恶意节点其实也是一个 Sinkhole。Wormhole 攻击可以和其他攻击,如选择转发,攻击可以和其他攻击,如选择转发,Sybil 攻击等结合使用。攻击等结合使用。36目录1.传感器网络安全概述传感器网络安全概述2.传感器网络面临的安全攻击传感器网络面临的安全攻击3.传感器网络节点安全传感器网络节点安全4.WSN密钥管理密钥管理5.WSN链路层安全和路由安全链路层安全和路由安全37导例:基
36、于WSN的节点定位n安全需求安全需求n私密性要求,保证信标节点或传感器节点的位置消息不会私密性要求,保证信标节点或传感器节点的位置消息不会暴露给未授权实体。暴露给未授权实体。n可采用的方法是加密可采用的方法是加密/信息隐藏,采用被动接收方式或保持无线电信息隐藏,采用被动接收方式或保持无线电静默。静默。n完整性要求,确保定位消息在传递中未被篡改。完整性要求,确保定位消息在传递中未被篡改。n可用的方法如可用的方法如MAC、数字签名,此外还要确保信标的相关物理属、数字签名,此外还要确保信标的相关物理属性在传递中未被篡改,如采用距离界限协议、基于传输时间或覆性在传递中未被篡改,如采用距离界限协议、基于
37、传输时间或覆盖范围的校验等手段;盖范围的校验等手段;n真实性要求:通过身份认证确保定位消息源的真实性。真实性要求:通过身份认证确保定位消息源的真实性。n通过位置校验机制确保定位消息的真实性。通过位置校验机制确保定位消息的真实性。n可用性要求,确保节点能按照需求及时完成定位计算,即可用性要求,确保节点能按照需求及时完成定位计算,即使遭受攻击和发生故障仍能正常使用。使遭受攻击和发生故障仍能正常使用。n可采用的技术包括鲁棒计算、资源冗余以及重配置等。可采用的技术包括鲁棒计算、资源冗余以及重配置等。38WSN节点安全设计n一般而言,安全一般而言,安全WSN节点主要由节点主要由数据采集数据采集单单元、元
38、、数据处理数据处理单元及单元及数据传输数据传输单元三部分组单元三部分组成。成。n工作时,每个节点通过数据采集单元,将周围环工作时,每个节点通过数据采集单元,将周围环境的特定信号转换成电信号;境的特定信号转换成电信号;n然后将得到的电信号传输到整形滤波电路和然后将得到的电信号传输到整形滤波电路和AD转转换电路,进入数据处理单元进行数据处理;换电路,进入数据处理单元进行数据处理;n最后由数据传输单元将从数据处理单元中得到的最后由数据传输单元将从数据处理单元中得到的有用信号以无线方式传输出去。有用信号以无线方式传输出去。39WSN节点安全设计n传感节点,如传感节点,如Mica2、Mote等,一般由等
39、,一般由8位位CPU、传感器、低功率的无线收发器、片外、传感器、低功率的无线收发器、片外存储器、存储器、LED、I/O 接口、编程接口等组成。接口、编程接口等组成。n其中其中CPU内部含有内部含有Flash 程序存储器、程序存储器、EEPROM数据存储器、数据存储器、SRAM、寄存器、定时器、计数器、寄存器、定时器、计数器、算术逻辑单元、模数转换器(算术逻辑单元、模数转换器(ADC)等。等。40WSN节点安全设计n传感器传感器节点电路和天线节点电路和天线部分是传感器网络物理层的部分是传感器网络物理层的主要部分。主要部分。n安全安全WSN节点通常采用电池对节点提供能量,然后电池节点通常采用电池对
40、节点提供能量,然后电池能量有限,可能造成节点在电能耗尽时退出网络,如果大能量有限,可能造成节点在电能耗尽时退出网络,如果大量节点退出网络,网络将失去作用。量节点退出网络,网络将失去作用。n应在已有节点的基本功能基础上分析其他电路组成,应在已有节点的基本功能基础上分析其他电路组成,测试测试已经有的节点的功耗及各个器件的功耗比例已经有的节点的功耗及各个器件的功耗比例。n综合各种节点的优点,以设计低功耗多传感器的稳定工作综合各种节点的优点,以设计低功耗多传感器的稳定工作节点,并分析各种传感器节点的天线架构,测试其性能并节点,并分析各种传感器节点的天线架构,测试其性能并进行性价比分析,以设计进行性价比
41、分析,以设计可抗干扰的通信质量好的天线可抗干扰的通信质量好的天线。41WSN节点安全设计n为保证节点的物理层安全,还需解决节点的为保证节点的物理层安全,还需解决节点的身份认证和通信安全身份认证和通信安全问题,目的是保证合法问题,目的是保证合法的各个节点间及基站和节点间可以有效地互的各个节点间及基站和节点间可以有效地互相通信,不被干扰或窃听。相通信,不被干扰或窃听。n同时需研究多信道问题,防范专门针对物理同时需研究多信道问题,防范专门针对物理层的层的侧信道攻击侧信道攻击。42WSN节点安全设计n由于传感节点应用非常广泛,为了提高传感节点的灵活性,由于传感节点应用非常广泛,为了提高传感节点的灵活性
42、,传感节点都有一个传感节点都有一个编程接口编程接口(JTAG 接口),以便对传感节接口),以便对传感节点重新编程,这为传感节点留下了重大安全隐患。点重新编程,这为传感节点留下了重大安全隐患。n攻击者可利用简单的工具(攻击者可利用简单的工具(ISP 软件,即在线仿真编程软件,软件,即在线仿真编程软件,如如UISP)在很短的时间内就可以把)在很短的时间内就可以把EEPROM、Flash 和和SRAM中的信息传输到计算机中。中的信息传输到计算机中。n攻击者利用此漏洞,可:攻击者利用此漏洞,可:n通过汇编软件方便地把获取的信息转换成通过汇编软件方便地把获取的信息转换成汇编文件汇编文件格式,格式,从而分
43、析从而分析出传感节点所存储的程序代码、路由协议及密钥等机密信息,出传感节点所存储的程序代码、路由协议及密钥等机密信息,n可以可以修改程序代码修改程序代码,并加载到传感节点中,从而伪造或伪装成合法节,并加载到传感节点中,从而伪造或伪装成合法节点加入到传感网络中,以达到监听、篡改传感信息,点加入到传感网络中,以达到监听、篡改传感信息,甚至是破坏整甚至是破坏整个网络可用性的目的。个网络可用性的目的。43WSN节点安全设计n解决方案通常是在传感节点上引入一个解决方案通常是在传感节点上引入一个安全存储模块安全存储模块SSM(Security Storage Module),用于),用于安全安全地地存储存
44、储用于安全通信的机密信息,并且对用于安全通信的机密信息,并且对传感节点上传感节点上关键应用代码的合法性进行验证关键应用代码的合法性进行验证,SSM可通过智能卡芯片来可通过智能卡芯片来实现。实现。n优点一:智能卡具有简单的安全存储及验证功能,结构简单,成本低廉。优点一:智能卡具有简单的安全存储及验证功能,结构简单,成本低廉。n优点二:对现有传感节点的系统结构基本上不作任何改动,设计方便。优点二:对现有传感节点的系统结构基本上不作任何改动,设计方便。n若攻击者可修改传感器节点的启动代码,企图旁路若攻击者可修改传感器节点的启动代码,企图旁路SSM模块,可考虑在模块,可考虑在SSM加入自锁功能,使得传
45、感节点无法在传感网络中进行正常的通信。加入自锁功能,使得传感节点无法在传感网络中进行正常的通信。n加入验证程序,以密文的形式存储在节点的加入验证程序,以密文的形式存储在节点的EEPROM中,攻击者无法获中,攻击者无法获取或修改其对应的内容,否则验证程序将无法运行,因而也就无法调用取或修改其对应的内容,否则验证程序将无法运行,因而也就无法调用SSM模块。模块。n由于攻击者无法知道由于攻击者无法知道SSM将验证应用程序的哪部分代码,因此也就无法将验证应用程序的哪部分代码,因此也就无法有效地进行代码修改攻击。有效地进行代码修改攻击。n如果对整个应用程序代码可进行完整性校验,需要考虑计算量和节点的如果
46、对整个应用程序代码可进行完整性校验,需要考虑计算量和节点的能量消耗。能量消耗。44WSN节点算法安全设计n受环境限制,传感器网络节点的安全算法更多使用受环境限制,传感器网络节点的安全算法更多使用ECC算法,而不是算法,而不是RSA算法。算法。nTinyEcc是北卡罗莱纳州立大学开发提供的一个基于是北卡罗莱纳州立大学开发提供的一个基于TinyOS,由,由NesC编写的椭圆编写的椭圆曲线密码体制的基本运算库,提供在域曲线密码体制的基本运算库,提供在域Fp上的椭圆曲线的运算。上的椭圆曲线的运算。nTinyEcc密码库提供的接口有:密码库提供的接口有:nNN模块,实现了基本大数运算,同时也为模块,实现
47、了基本大数运算,同时也为 ECC提供了一些经过优化了的基本模数运提供了一些经过优化了的基本模数运算;算;nECC模块提供了基本的椭圆曲线运算,如初始化一条椭圆曲线、点加、标量乘和基于模块提供了基本的椭圆曲线运算,如初始化一条椭圆曲线、点加、标量乘和基于滑动窗口优化的椭圆曲线运算等;操作中可调用滑动窗口优化的椭圆曲线运算等;操作中可调用call ECC.win_mul()方法实现滑动()方法实现滑动窗口标量乘,它是窗口标量乘,它是ECC各类算法的主要运算部分。各类算法的主要运算部分。nECDSA模块则提供了签名产生和验证,实现了模块则提供了签名产生和验证,实现了ECDSA签名协议。签名协议。n椭
48、圆曲线密码库的工作过程分为初始化和基本操作两部分。椭圆曲线密码库的工作过程分为初始化和基本操作两部分。nTinyEcc系统提供了初始化椭圆曲线参数的接口系统提供了初始化椭圆曲线参数的接口CurveParam,定义了,定义了128位、位、160位和位和192位的椭圆曲线,我们可根据传感器节点的环境资源和安全要求选择。位的椭圆曲线,我们可根据传感器节点的环境资源和安全要求选择。45WSN节点算法安全设计nTinyTate是由巴西坎皮纳斯大学五位学者在传是由巴西坎皮纳斯大学五位学者在传感器上的感器上的Tate对运算的一个实现。对运算的一个实现。n基于基于TinyEcc所提供的椭圆曲线的基本运算,利用
49、所提供的椭圆曲线的基本运算,利用优化的优化的Miller算法,在传感器网络上实现了算法,在传感器网络上实现了Tate双双线性对的运算,可用于属性加密算法中。线性对的运算,可用于属性加密算法中。46传感器节点认证nWSN常见的实体认证主要分为两类常见的实体认证主要分为两类n一类是基于对称密钥密码体制认证方案;一类是基于对称密钥密码体制认证方案;n一类是基于公钥的认证体制。一类是基于公钥的认证体制。nKerberos是基于对称密钥的认证协议。它是由是基于对称密钥的认证协议。它是由MIT开发的一种基于可信开发的一种基于可信赖的第三方公证的认证方案。赖的第三方公证的认证方案。n Kerberos密钥管
50、理采取了密钥管理采取了KDC的方式,包括用户初始认证服务器的方式,包括用户初始认证服务器 AS和和许可证认证服务器许可证认证服务器TGS。nKerberos可以提供三种安全级别:可以提供三种安全级别:nl)仅在连接初始化时进行认证;)仅在连接初始化时进行认证;n2)何条信息都认证;)何条信息都认证;n3)每条消息既加密,又认证。)每条消息既加密,又认证。nKerberos在传感器网络感知层实现不太方便。在传感器网络感知层实现不太方便。47传感器节点认证n基于公钥的认证体制要求认证双方持有第三方的认证授权中基于公钥的认证体制要求认证双方持有第三方的认证授权中心(心(CA)为客户签发的身份证明。)