论文部分内容阅读
摘要:针对无线传感网络中低功耗分簇型路由协议LEACH易遭受Sybil攻击的问题,提出一种基于接收信号强度值的轻量级检测算法。在充分分析无线传感网络自身特点与LEACH协议原理的基础上,采用信号强度值比较以低成本、快速检测Sybil攻击。仿真实验证明,算法可以以较低代价有效检测Sybil恶意攻击,保证网络正常运行。
关键词: 无线传感网络; Sybil攻击;接收信号强度值
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)36-0053-02
1 概述
LEACH协议是第一个分层分簇无线传感网络路由协议,采用分布式动态簇头轮转机制均衡网络能耗,网络寿命比平面型理由协议至少延长15%,现代许多路由协议都是在此基础上发展起来的。但该协议缺乏必要的安全措施与认证机制,存在很大的安全隐患。如Sybil攻击、HELLO flood攻击、黑洞攻击、DoS攻击等等[1]。如何解决这些安全问题是目前的一大研究热点。
在LEACH协议中,发起Sybil攻击的恶意节点会同时发布多重虚假身份信息扰乱正常组网,对WSN造成极大安全危害。对此本文提出一种基于接收信号强度(Received Signal Strength Indication, RSSI)的轻量级Sybil攻击检测算法——LEACH-SADA(Sybil Attack Detection Algorithm Based on LEACH Protocol),可以以极小的功耗代价实现Sybil攻击检测。
2 相关研究
2.1 LEACH协议中的Sybil攻击
LEACH协议采用分布式动态分簇思想,以“轮”为单位,将数据传输划分为簇建立阶段与数据传输阶段。在簇建立阶段各节点通过簇头选举算法产生簇头,随后各簇头发布自己的信息,其余节点选择最佳簇头加入该簇。后续簇头会根据成员节點数量分配TDMA时隙给各成员,进行数据传输。
Sybil攻击主要通过恶意节点伪造并发布多个虚假节点ID信息,在网络中表现出多重身份参与网络路由,所有接入这些虚假ID的节点数据将都被恶意节点捕获。对基于簇头的LEACH协议,Sybil攻击往往通过伪造簇头信息利用其能量优势,同时向网络中发布多个虚假簇头信息,增加其成为簇头的几率,进而非法获取整簇节点的数据。而LEACH协议中簇建立过程缺乏必要的双向认证机制,难以鉴别Sybil攻击。
2.2 研究现状分析
目前,无线传感网络中Sybil攻击检测算法大致可分为基于密码的和非密码的两种方式。其中基于密码的防御方案大致可分为基于秘钥预分配、基于非对称秘钥、基于Merkle哈希树等方案。这些方案可以实现较好的安全防护,但是却对节点存储空间、计算能力等提出更高要求,同时密码计算与传递需要额外消耗更多能量,这将给资源极为有限的无线传感网络节点带来极重的负担。
基于非密码的方案主要通过检测与计算接收信号强度RSSI值的方式,文献[2]提出一种基于RSSI比值的算法,通过辅助节点比较各自接收到源节点发送信号强度的比值关系,确认节点是否发生Sybil攻击行为。
但该算法每两个源节点都需要进行多次除法与比较运算,当网络规模扩大簇头增多时,运算量将成倍迅速增加不利于大规模网络中实施。
对此,本文提出一种基于LEACH的轻量级Sybil攻击检测算法——LEACH-SADA,可直接根据接收到的簇头广播包的RSSI值比较得出可以节点,并通过多节点验证防止误判,该算法可以具有更加高效节能的优点。
3 LEACH-SADA算法
在LEACH协议中簇建立阶段,各簇头会以相同初始功率发送自己的信息,由于普通节点与各簇头不同接收到的广播包RSSI值不同。而Sybil攻击为一个恶意节点同时发送不同ID的簇头信息广播包,故普通节点接收到的Sybil攻击数据包RSSI值相同,考虑到无线传感网络的复杂性,可以认定差值极小的两个RSSI值相同,将该值定义为差异安全界限[σ]。所以,可得Sybil攻击鉴定算法公式如下:
[|RSSIi-RSSIj|≤σ, (i≠j)]
则可认为这些簇头节点物理位置过近,极有可能为Sybil攻击节点发出的虚假信息。并将对应的源节点ID放入广播包内,广播协议格式如图1所示:
带所有接收到的簇头数据包检测完成后向全网广播该Sybil攻击检测数据包,同时接收其他节点的广播包。若在簇建立阶段收到两个以上含有相同疑似攻击节点ID的广播包,则认定该ID的源节点为Sybil恶意攻击节点。将该ID号列入黑名单,同时全网广播该黑名单,并在后续通信中隔离存在于该黑名单中的ID节点。
算法流程图如下:
4 实验结果与分析
为验证算法性能,本文在MATLAB仿真环境下分别对有、无Sybil攻击的LEACH协议与Sybil攻击下LEACH-SADA算法性能进行对比分析,实验参数如表1所述。
由图3可以看出,在网络遭受Sybil攻击下,LEACH-SADA算法的基站接收数据量明显高于LEACH算法,即,该算法可以有效监测并隔离Sybil攻击。对比LEACH算法在后期数据接收量有所下降,是因为安全监测过程较LEACH协议需要额外消耗部分能量,从两者的微弱差别,可以得出LEACH-SADA算法可以以较低功耗代价实现Sybil攻击的隔离。
5 总结
本文针对LEACH协议易遭受的Sybil攻击问题及当前解决方案进行分析,克服传统非密码攻击检测算法计算量大、不适宜大规模应用的缺陷,提出一种轻量级的Sybil攻击检测算法LEACH-SADA。实验结果表明,算法能够以极低的能耗代价识别并隔离Sybil攻击,保证网络。
参考文献:
[1] 杨光,耿贵宁,都婧,等.物联网安全威胁与措施[J].清华大学学报:自然科学版, 2011,51(10):1335-1340.
[2] Muart D,Young S.An RSSI-based scheme for sybil attack detection in wireless geosor networks[C].IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.2006: 564-570.
关键词: 无线传感网络; Sybil攻击;接收信号强度值
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)36-0053-02
1 概述
LEACH协议是第一个分层分簇无线传感网络路由协议,采用分布式动态簇头轮转机制均衡网络能耗,网络寿命比平面型理由协议至少延长15%,现代许多路由协议都是在此基础上发展起来的。但该协议缺乏必要的安全措施与认证机制,存在很大的安全隐患。如Sybil攻击、HELLO flood攻击、黑洞攻击、DoS攻击等等[1]。如何解决这些安全问题是目前的一大研究热点。
在LEACH协议中,发起Sybil攻击的恶意节点会同时发布多重虚假身份信息扰乱正常组网,对WSN造成极大安全危害。对此本文提出一种基于接收信号强度(Received Signal Strength Indication, RSSI)的轻量级Sybil攻击检测算法——LEACH-SADA(Sybil Attack Detection Algorithm Based on LEACH Protocol),可以以极小的功耗代价实现Sybil攻击检测。
2 相关研究
2.1 LEACH协议中的Sybil攻击
LEACH协议采用分布式动态分簇思想,以“轮”为单位,将数据传输划分为簇建立阶段与数据传输阶段。在簇建立阶段各节点通过簇头选举算法产生簇头,随后各簇头发布自己的信息,其余节点选择最佳簇头加入该簇。后续簇头会根据成员节點数量分配TDMA时隙给各成员,进行数据传输。
Sybil攻击主要通过恶意节点伪造并发布多个虚假节点ID信息,在网络中表现出多重身份参与网络路由,所有接入这些虚假ID的节点数据将都被恶意节点捕获。对基于簇头的LEACH协议,Sybil攻击往往通过伪造簇头信息利用其能量优势,同时向网络中发布多个虚假簇头信息,增加其成为簇头的几率,进而非法获取整簇节点的数据。而LEACH协议中簇建立过程缺乏必要的双向认证机制,难以鉴别Sybil攻击。
2.2 研究现状分析
目前,无线传感网络中Sybil攻击检测算法大致可分为基于密码的和非密码的两种方式。其中基于密码的防御方案大致可分为基于秘钥预分配、基于非对称秘钥、基于Merkle哈希树等方案。这些方案可以实现较好的安全防护,但是却对节点存储空间、计算能力等提出更高要求,同时密码计算与传递需要额外消耗更多能量,这将给资源极为有限的无线传感网络节点带来极重的负担。
基于非密码的方案主要通过检测与计算接收信号强度RSSI值的方式,文献[2]提出一种基于RSSI比值的算法,通过辅助节点比较各自接收到源节点发送信号强度的比值关系,确认节点是否发生Sybil攻击行为。
但该算法每两个源节点都需要进行多次除法与比较运算,当网络规模扩大簇头增多时,运算量将成倍迅速增加不利于大规模网络中实施。
对此,本文提出一种基于LEACH的轻量级Sybil攻击检测算法——LEACH-SADA,可直接根据接收到的簇头广播包的RSSI值比较得出可以节点,并通过多节点验证防止误判,该算法可以具有更加高效节能的优点。
3 LEACH-SADA算法
在LEACH协议中簇建立阶段,各簇头会以相同初始功率发送自己的信息,由于普通节点与各簇头不同接收到的广播包RSSI值不同。而Sybil攻击为一个恶意节点同时发送不同ID的簇头信息广播包,故普通节点接收到的Sybil攻击数据包RSSI值相同,考虑到无线传感网络的复杂性,可以认定差值极小的两个RSSI值相同,将该值定义为差异安全界限[σ]。所以,可得Sybil攻击鉴定算法公式如下:
[|RSSIi-RSSIj|≤σ, (i≠j)]
则可认为这些簇头节点物理位置过近,极有可能为Sybil攻击节点发出的虚假信息。并将对应的源节点ID放入广播包内,广播协议格式如图1所示:
带所有接收到的簇头数据包检测完成后向全网广播该Sybil攻击检测数据包,同时接收其他节点的广播包。若在簇建立阶段收到两个以上含有相同疑似攻击节点ID的广播包,则认定该ID的源节点为Sybil恶意攻击节点。将该ID号列入黑名单,同时全网广播该黑名单,并在后续通信中隔离存在于该黑名单中的ID节点。
算法流程图如下:
4 实验结果与分析
为验证算法性能,本文在MATLAB仿真环境下分别对有、无Sybil攻击的LEACH协议与Sybil攻击下LEACH-SADA算法性能进行对比分析,实验参数如表1所述。
由图3可以看出,在网络遭受Sybil攻击下,LEACH-SADA算法的基站接收数据量明显高于LEACH算法,即,该算法可以有效监测并隔离Sybil攻击。对比LEACH算法在后期数据接收量有所下降,是因为安全监测过程较LEACH协议需要额外消耗部分能量,从两者的微弱差别,可以得出LEACH-SADA算法可以以较低功耗代价实现Sybil攻击的隔离。
5 总结
本文针对LEACH协议易遭受的Sybil攻击问题及当前解决方案进行分析,克服传统非密码攻击检测算法计算量大、不适宜大规模应用的缺陷,提出一种轻量级的Sybil攻击检测算法LEACH-SADA。实验结果表明,算法能够以极低的能耗代价识别并隔离Sybil攻击,保证网络。
参考文献:
[1] 杨光,耿贵宁,都婧,等.物联网安全威胁与措施[J].清华大学学报:自然科学版, 2011,51(10):1335-1340.
[2] Muart D,Young S.An RSSI-based scheme for sybil attack detection in wireless geosor networks[C].IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.2006: 564-570.