CN106790097B - 基于跳数差异和局部监听的安全邻居发现方法 - Google Patents

基于跳数差异和局部监听的安全邻居发现方法 Download PDF

Info

Publication number
CN106790097B
CN106790097B CN201611214785.8A CN201611214785A CN106790097B CN 106790097 B CN106790097 B CN 106790097B CN 201611214785 A CN201611214785 A CN 201611214785A CN 106790097 B CN106790097 B CN 106790097B
Authority
CN
China
Prior art keywords
neighbor
node
wormhole
nodes
neighbors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611214785.8A
Other languages
English (en)
Other versions
CN106790097A (zh
Inventor
陈良银
李淼
张靖宇
程艳红
王浩
刘诗佳
李旭
孙伟杰
张斯尚
陈海祥
卢峰
郑伟超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN201611214785.8A priority Critical patent/CN106790097B/zh
Publication of CN106790097A publication Critical patent/CN106790097A/zh
Application granted granted Critical
Publication of CN106790097B publication Critical patent/CN106790097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于跳数差异和局部监听的安全邻居发现方法。根据虫洞形成的不同原因分析其特点,将虫洞分为外部恶意节点形成的链路较长的虫洞和内部恶意节点形成的链路较短的虫洞。针对外部恶意节点形成的虫洞,本发明将跳数差异应用到节点的特有邻居来进行检测并进行虫洞关系的修正;针对内部恶意节点形成的虫洞,本发明利用局部监听的方式,通过证人节点的投票来检测并进行邻居关系的修正。本发明解决了现有无需额外硬件的安全邻居发现技术检测虫洞成功率不高的问题,大幅提升了安全邻居发现的性能。

Description

基于跳数差异和局部监听的安全邻居发现方法
一、技术领域
本发明涉及无线传感网技术领域,尤其涉及传感网中的安全邻居发现,具体是一种基于跳数差异和局部监听的无线传感器网路安全邻居发现方法。
二、背景技术
由于无线传感器网络所具有的低成本、易于部署、可以实时监测目标的一些物理信息,并且可以代替人类长时间工作在恶劣环境中的优点,得到了广泛的应用。无线传感器网络最初起源于军队,通过将大量无线传感器节点部署到敌人阵地使军方可以实时监视敌人的行动以及敌人军火分布等重要信息,有利于军方采取及时有效的行动措施。但是将无线传感器网络部署到敌人阵地等恶劣环境中使其面临着众多的安全问题。从安全的角度来说,需要格外注意的协议就是邻居(在本发明中提到的邻居是直接邻居、一跳邻居)发现。这是因为无线传感器网络大多是自组织的,在组网前,节点缺乏周围邻居的信息,因此邻居发现是网络构建的第一步和路由的前提。安全可信的邻居发现是保证物理层和网路层的接入控制、数据包的路由和节点定位等高层网络协议安全和系统功能正常的基石。当邻居发现出现错误或失败,无线传感器网络的通信和其他应用就会受到影响。以下两个因素增加了确保安全正确的邻居发现的难度。一是,由于无线传感器网络使用的是无线信道,而该信道直接暴露在外界环境中,且传感器节点之间使用广播的方式进行通信,这就增加了通信信息被窃听和伪造的风险。二是,由于传感器节点受到存储空间、计算能力等各种资源限制,使得现有的一些安全技术如非对称密钥技术不能直接应用到无线传感器网络中。因此,如何保证安全正确的邻居发现是设计无线传感器网络面临的一项重要的挑战。
虫洞攻击是无线传感器网络中威胁邻居发现的最主要的攻击之一,它不但会引导正常节点之间建立错误的邻居关系而且会吸引大量的数据流,可以对流经的数据包选择性的丢弃。所谓虫洞攻击是指恶意节点在相距很远的不同网络区域内通过建立高速链路来将这些区域进行连接,使得原本相距很远、跳距很大的两个区域表现为相距很近、跳距很小,从而虫洞链路可以吸引大量的数据流。根据发动虫洞攻击的恶意节点的不同,也可以将虫洞攻击分为外部虫洞攻击和内部虫洞攻击。外部虫洞攻击,顾名思义就是由外部恶意节点建立的虫洞发起的攻击。由于外部恶意节点不拥有传感器网络中的密钥,不属于传感器网络,它们对传感器网络来说是透明的,因此其只能通过转发包的方式形成虫洞链路。虫洞链路的端点在窃听到信息包后,可以通过它们之间建立的通信链路将数据包转发到虫洞的另一端(比如物理层转发),这种通信链路可以是带外信道或有线网络,这就使得其不易被检测。内部虫洞攻击的发起者一般是传感器网络中的节点(被敌人挟持的节点)或是拥有传感器网络密钥的节点。这些节点之间相互串通形成虫洞链路,并且可以简单将数据包进行转发,也可以伪造、篡改数据包,其危害性更大,也更难检测。对于外部恶意节点形成的虫洞攻击来说,要想很成功的影响到整个网络,那么虫洞必须能够通过提供更短的路径来吸引大量的数据包,因此从源点出发到目的节点并且绕过虫洞的跳距一定远大于经过虫洞表现出来的跳距。而对于内部节点形成的虫洞攻击,如果敌人想制造很长的虫洞链路,则需要挟持很多的正常节点,然后这些被挟持的正常节点之间相互协助形成虫洞链路。但是由于邻居发现的时间通常很短,因此被挟持的节点的数量是少量的,这就使得内部恶意节点形成的虫洞的链路长度较短。
由于安全邻居发现的重要性,吸引了不少学者的注意,同时也有不少安全邻居发现方法被提出。根据方法中所利用的资源的不同,一般可以将安全邻居发现分为三类:基于时间的方法、基于位置的方法和基于连接的方法。其中基于时间的安全邻居发现方法都是在准确的时间测量的基础上展开的,这需要节点具备比较精准的同步时钟,比如TTM方法(Van Tran P,Le Xuan Hung Y K L,Lee S,et al.TTM:An efficient mechanism todetect wormhole attacks in wireless ad-hoc networks[C].ConsumerCommunications and Networking Conference,2007,pp.593-598.)。但是精准的时钟同步对延迟比较高的无线传感器网络来说是比较苛刻的条件。在节点的位置关系能安全的通知其他节点以及节点通信范围可知的条件下,基于位置的安全邻居发现方法能比较有效的确保正确的邻居发现。在知道对方节点的位置之后,节点将会检查信息包在它们之间传递所经过的跳数或时间来检测它们之间是否存在虫洞,如端到端的虫洞检测方法(Wang X andWong J.An end-to-end detection of wormhole attack in wireless ad-hoc networks[C].Computer Software and Applications Conference 2007,COMPSAC2007,31stAnnual International IEEE,2007,1:39-48.)。但是该类方法需要节点配备GPS或其他定位设备,增加了传感器网络的成本。由于基于连接的方法一般不需要额外的硬件设备,可以在现有节点硬件基础上实现,该类方法吸引了不少研究者的目光。TRM方法(Wu G,Chen X,Yao L,et al.An efficient wormhole attack detection method in wireless sensornetworks[J].Computer Science&Information Systems,2014,11(3):1127-1141.)的思想是:在进行邻居发现之后,节点通过将自己的通信半径扩大一倍的方式查看其所有二跳邻居是否成为了其直接邻居,如果不是,则说明存在虫洞。但是这种方法也不太容易实现,首先,有的节点是不能够改变其通信辐射功率的;其次,即便是将节点的辐射功率增大一倍,由于环境的影响,也不能保证节点的通信半径一定增加一倍。RiteshMaheshwari(Maheshwari R,Gao J,Das S R.Detecting Wormhole Attacks in Wireless NetworksUsing Connectivity Information[J].Proceedings-IEEE INFOCOM,2007,pp.107-115.)等人提出了利用节点之间的连接将网络抽象成连通图,通过寻求连通图中是否存在不合理的子图的方式来检测虫洞的方法。该方法需要传感器网络是高度连通的;另外该算法只适用于集中式的传感器网络。SEDINE方法(Hariharan S,Shroff N B and Bagchi S.Secureneighbor discovery through overhearing in static multihop wireless networks[J].Computer Networks,2011,55(6):1229–1241.)是通过监听的方式来判断静态网络中数据包是否被其他节点转发,利用直接邻居节点作为某一条链路的证人,从而判断该链路是否存在虫洞。但是该方法不能应对恶意节点使用带外信道或者有线网络的方式转发数据包,而这种虫洞攻击方式也是比较常见的。还有的方法采用定向天线来进行虫洞检测,虽然这种方式也具有较好的效果,但是这种方法要求节点配备定向天线设备;另一方面,采用定向天线会降低整个网络的连通度。HayajnehThaier等提出的SECUND方法(Hayajneh T,Krishnamurthy P,Tipper D,et al.Secure Neighborhood Creation in Wireless AdHoc Networks using Hop Count Discrepancies[J].Mobile Networks&Applications,2012,17(3):415-430.)是利用节点之间的跳数差异来实现安全邻居发现的。其主要思想是通过寻找两个直接邻居节点彼此的邻居节点(除去共有邻居节点)之间的新的链路上所经过的跳距是否大于一定阈值来检查两个节点之间是否存在虫洞,如果存在则移除虚假的链路。
我们研究发现SECUND不能检测短距离的虫洞,而且传感器网络中未受虫洞影响的节点对一般是占绝大部分,而对于这些节点对,SECUND也需要经过很多跳来进行判断,导致其有一大部分不必要的能耗。因此,我们在SECUND和SEDINE的基础上提出了“基于跳数差异和局部监听的安全邻居发现方法”。在该方法中我们提出了“特有邻居”的概念,特有邻居是一个相对的概念,对于两个一跳邻居节点A和B来说,节点A的特有邻居节点是那些属于A的邻居但不是B的邻居的节点。通过检测节点特有邻居节点之间的跳数差异来判断是否存在虫洞。对于未受到虫洞影响的邻居对来说,它们的特有的邻居节点都是分布在通信范围中的一侧,相距比较近,因此通过特有邻居节点之间的跳数差异来检测虫洞相较于SECUND方法节省了较大部分能量。通过跳数差异和局部监听,我们的方法有着较好的虫洞检测性能。
三、发明内容
本发明的目的在于解决现有无需硬件设备的安全邻居发现技术虫洞检测性能不够好的问题。针对现有技术不能检测使用带外信道和有线网通信的虫洞或不能检测虫洞链路较短的虫洞的情况,将跳数差异应用于特有邻居来检测虫洞,同时将跳数差异与局部监听相结合提高虫洞检测成功率。
本发明的目的是这样达到的:
通过利用跳数差异来检测虫洞链路较长的外部虫洞,然后利用局部监听的方法来检测内部恶意节点形成的链路长度较短的虫洞。
具体做法是:
在进行外部虫洞检测时,每对邻居节点(比如A和B)首先计算出它们的共有邻居,然后可以得出它们的特有邻居节点。然后在A(B)的特有邻居节点之间寻找新的避开B(A)的邻居的链路,并计算该链路的跳数与一定阈值的大小,如果跳数大于阈值则认为存在虫洞,否则不存在。在进行内部虫洞检测时,要检测的每对邻居节点将它们自己和它们的共有邻居作为证人来监听它们之间的通信验证信息,如果它们自己或者超过一半的共有邻居节点监听到信息被转发,则认为存在虫洞,否则不存在。
在实施中具体步骤是:
第一步,进行邻居发现,可以使用其他低占空比的邻居发现方法来发现邻居,进而进行组网。在节点发现自己的一跳邻居时,目标区域的传感器节点广播加密的Hello消息,接收到Hello数据包的传感器节点将源点的ID加入邻居表中并记录收到的Hello包的信号强度,然后接收到消息的节点向源点发送经过认证的回复报文。源点接收所有在时间τ(τ为传感器网络中两个相邻的节点之间的最大通信延迟)内经过认证的回复,同时源点对这些收到的信息包进行验证并将验证通过的节点的ID加入到自己的邻居表中并记录收到的相应的信号强度。传感器节点进行完一跳邻居发现之后接着进行二跳邻居的发现,节点将自己的邻居表进行加密并广播给其邻居。同样的,接收到该数据包的邻居节点验证该信息包是否真实合法,若是,则进行相应的存储;然后接收节点将它自己的邻居表加密并回复给源点。源点在τ时间内收到其他节点的回复后进行验证,若验证通过,将节点的邻居表存储起来。如果在τ时间内,源点没有接收到其邻居表中的一些节点发来它们的邻居表,则源点将这些节点从其邻居表中删除。最后,如果源点确实将一些节点从其邻居表中删除了,则源点将其删除的邻居信息加密通知其他邻居节点,直到所有节点的邻居表不再发生变化。
第二步,利用跳数差异进行外部虫洞检测及邻居关系的修正。如图1所示,对于邻居关系A和B,节点A的直接邻居集合NA={B,C,D,E,I,J,K,L,N,O,P,Q},A的特有邻居集合为{I,J,K,P,Q}。对节点A来说,若不存在虫洞,如图2a所示,则A认为其特有邻居均分布在其通信范围的一侧,且这些特有的邻居节点之间的距离较小且跳距不会太大。但事实却是{I,J,K}与{P,Q}相距很远。A、B中的一个节点,比如A,通知其特有邻居集合中的节点寻找到该集合中其他节点绕过B的直接邻居节点的新的最短路径,并判断该路径的跳距是否超过一定阈值(虫洞阈值)来判断虫洞的存在。如果存在跳距大于虫洞阈值,如图3所示,则认为存在虫洞;若存在虫洞,则从直接邻居表中删除对方并通知其邻居。当两节点的特有邻居数量均小于2时,这种情况下节点A和B各自先计算其直接邻居节点平均的邻居数目h1,其次再计算其所有二跳邻居节点平均每个节点的邻居的数目h2,然后计算h1与h2的比值,所得结果与邻居比阈值的关系来判断是否存在虫洞(邻居比阈值是存在虫洞和不存在虫洞两种情况下节点的直接邻居数量的比值,由于虫洞的存在,其值大于1。经过实验验证,其值取为1.2可以取得较好的效果。),如果两节点计算的该比值均大于邻居比阈值则认为该节点附近存在虫洞,否则认为不存在虫洞。
其中虫洞阈值的计算如图2b所示,在没受虫洞影响的情况下,节点A与B是直接邻居关系,它们之间的距离为d(0<d≤r),节点A的两个特有邻居之间的绕过B的邻居节点的链路跳距最大的情况是两节点分别在E和F处,因此我们可以计算从E到F的绕过B的通信范围的距离来近似计算跳距。其中O是线段AB的中点,线段BE的长度为节点通信半径r,∠α为ΔBOE的内角,
Figure BDA0001191474520000061
那么
Figure BDA0001191474520000062
在ΔBEM中,线段EM的长度为
Figure BDA0001191474520000063
由对称性,从E经过M、N到达F的折线的长度为
Figure BDA0001191474520000064
可以通过该折线近似计算跳距。节点通信圆的半径为r,则从E到F的跳距大约为
Figure BDA0001191474520000065
Figure BDA0001191474520000066
对f(d)求导得:
Figure BDA0001191474520000067
则f(d)是单调递减的,当d无限趋近于0时,
Figure BDA0001191474520000068
趋近4。当d等于r时,f(d)最小,f(d)向上取整得3。因此虫洞阈值可以取值4。
第三步,利用局部监听的方式检测内部恶意节点形成的虫洞并进行邻居关系的修正。经过邻居发现阶段和外部恶意节点形成的虫洞的检测和邻居关系的修正后,每个节点可以知道它与其直接邻居形成的一跳链路上的证人;同时,每个节点也能确定其自身是哪些节点对形成的通信链路的证人。为了减少不必要的检测,节省能量,对邻居关系(比如AB)先要进行如下判断。首先,节点A和B中特有邻居集合不为空的节点,比如节点A,如图4所示(由于恶意节点M1的存在,使得A、B误以为是彼此的直接邻居),A收到的B的RSSI值为RSSIBA,A先计算其与节点B的共有邻居数量hAB,然后通知其特有邻居节点计算它们与它们收到RSSI值为RSSIBA±ω(ω为RSSI允许浮动的范围,ω一般取值为5dbm,对应的距离变化大约为1米)范围内的邻居节点之间公共邻居数目。A收到其特有邻居反馈的邻居数目后求平均值
Figure BDA0001191474520000071
然后求hAB
Figure BDA0001191474520000072
的比值,通过判断所得结果与邻居比阈值之间的关系来判断是否需要进行内部虫洞的验证,如果大于邻居比阈值,则需要进行内部虫洞检测。进行检测时,要验证的节点对要先获得验证权。所谓验证权就是节点对在验证时该节点通信范围内其他节点不能发送消息以防冲突。验证时,两者中的一个节点,比如A,发送一个验证包,将目的地址设为B。然后A以及A和B的公共邻居作为证人进入监听状态。这些证人节点根据监听到的信息对AB之间的链路设标识,如果监听到信息被转发,则标识为-1;若监听到B的回复则标识为1,否则标识为0。验证阶段结束后,若节点A置标识为-1,则认为存在虫洞;否则,A向B及其与B的公共邻居发起标识收集,并求标识的和,若和小于或等于0,则认为存在虫洞,其过程类似于投票。若存在虫洞,A删除与B的邻居关系并通知其邻居。
到此,无论是外部恶意节点还是内部恶意节点形成的虫洞,都差不多被检测过了,安全邻居发现算法也就结束了。
本发明的积极效果是:
1、根据虫洞形成的原因将虫洞分为两类:外部虫洞和内部虫洞。并分别根据虫洞的特点寻找应对策略,细化了虫洞检测过程,提高了虫洞检测的成功率。
2、在检测外部虫洞时,将跳数差异应用于特有邻居集合,相较于其他使用跳数差异的方法,该方法可以大大减少跳数差异检测时的能量消耗。
3、利用邻居比阈值来检查是否需要进行内部虫洞检测,由于受虫洞影响的是少数节点对,因此使用该方法可以使大部分节点对避免能量消耗大的局部监听检测,减少不必要的能量损耗。
四、附图说明
图1是外部恶意节点形成的虫洞。
图2a是节点的特有邻居节点示意图,图2b是计算虫洞阈值的理论值的示意图。
图3是本发明使用跳数差异检测虫洞的示例图。
图4是本发明使用局部监听检测内部虫洞的示例图。
图5是本发明的总的流程图。
图6是利用跳数差异检测外部虫洞的流程图。
图7是利用局部监听检测内部虫洞的流程图。
图8是本发明在节点的度变化的情况下与其他方法的对比效果。
五、具体实施方式
本发明采用跳数差异与局部监听的方法来检测虫洞,具体分为利用跳数差异对外部恶意节点形成虫洞进行检测,利用局部监听对内部恶意节点形成虫洞进行检测。下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明大略可以分为两阶段,分别是邻居发现阶段和邻居验证阶段。其中,邻居验证阶段又可以分为外部虫洞检测及邻居关系修正和内部虫洞检测及邻居关系修正。
首先是第一阶段。
在将节点部署之后,所有节点将进行邻居发现。由于可能存在虫洞,所以该阶段的邻居发现结果可能不是正确的。在节点发现自己的一跳邻居时,目标区域的传感器节点比如节点A进行邻居发现,通过广播密钥Kbroad加密后向外广播Hello数据包(一跳广播),接收到Hello数据包的传感器节点比如B将A的ID加入邻居表中并记录其收到的Hello包的信号强度,然后B向A发送经过认证的回复报文。节点A接收所有在时间τ内经过认证的回复,同时A对这些收到的信息包进行验证并将验证通过的这些回复信息的节点的ID加入到自己的邻居表中并记录收到的相应的信号强度。传感器节点进行完一跳邻居发现之后接着进行二跳邻居的发现,比如节点A,A使用广播密钥Kbroad将自己的邻居表信息(包括每个邻居节点的ID以及收到的RSSI值)加密并广播给其邻居;同样的,接收到该数据包的节点比如B,验证该信息包是否真实合法,若是,则进行相应的存储;然后节点B将它自己的邻居表使用KBA进行加密并回复给节点A。节点A在τ时间内收到B的回复后进行验证,若验证通过,将节点B的邻居表存储起来。如果在τ时间内,节点A没有接收到其邻居表中的一些节点发来它们的邻居表,则节点A将这些节点从其邻居表中删除。最后,如果节点A确实将一些节点从其邻居表中删除了,则节点A继续使用广播密钥Kbroad将其删除的邻居信息加密并进行一跳广播,通知其邻居节点。
接下来是第二阶段。
首先是外部恶意节点形成的虫洞的检测及邻居关系的修正。如图1所示,由于恶意节点的存在,使得A、B误认为是彼此的邻居。此时,节点A的特有邻居集合为{I,J,K,P,Q}。首先节点A、B计算各自的特有邻居的数量,发现A的特有邻居数量大于2,于是A通知其特有邻居集合中的节点寻找到该集合中其他节点绕过B的直接邻居节点的新的最短路径,并判断该路径的跳距是否大于虫洞阈值。如果存在跳距大于虫洞阈值,如图3所示,则认为存在虫洞;若存在虫洞,则从直接邻居表中删除对方并通知其邻居。
接着,进行内部恶意节点形成的虫洞的检测及邻居关系的修正。如图7所示,A收到的B的RSSI值为RSSIBA,B收到A的RSSI值为RSSIAB。A先计算其与节点B的公共邻居数量hAB,然后通知其特有邻居节点计算它们与它们收到RSSI值在[R(ij)-ω,R(ij)+ω]区间范围内的邻居节点之间公共邻居数目。A收到其特有邻居反馈的邻居数目后求平均值
Figure BDA0001191474520000091
然后求hAB
Figure BDA0001191474520000092
的比值。如果该比值大于邻居比阈值,则需要进行内部虫洞检测。获得验证权之后,节点A发送一个验证包,将目的地址设为B。然后A以及A和B的公共邻居作为证人进入监听状态。这些证人节点如果监听到信息被转发,则标识为-1,;若监听到B的回复则标识为1,否则标识为0。验证阶段结束后,节点A检查其所置标识,若标识为-1,则认为存在虫洞;否则,A向B及其与B的公共邻居发起标识收集,并求标识的和,若和小于等于0,则认为存在虫洞。若存在虫洞,A删除与B的邻居关系并通知其邻居。
实验的仿真图如图8所示,其中虫洞阈值取值为4,邻居比阈值取值为1.2,实验运行20次,然后求平均值。这幅图描述的是本发明方法与其他两种经典安全邻居发现方法的错误邻居数目随节点的度的变化情况。由于本发明详细分析了虫洞的特点,根据虫洞的特点寻找应对策略,细化了虫洞检测过程,提高了虫洞检测的成功率。从图8中明显的可以看到本发明方法要优于其他两种方法。
本发明的用户使用场景举例:
场景一:红军、蓝军两军对垒。为监视敌方情况,了解敌方行动,红军通过炮弹向蓝军阵地发射了一些传感器节点。蓝军已经想到红军可能会利用传感器节点来监视自己,因此,事先在自己的阵地中安置了一些传感器节点,为了干扰、误导红军的传感器的工作,蓝军将自己部署的传感器节点通过高速有线网络连接,并将这些节点的通信频道设置成和红军的一样。在这种场景下,红军可以利用该方法来保护自己的传感器节点正常工作。
在上述场景中,本发明的方法取得了好的效果。

Claims (4)

1.一种基于跳数差异和局部监听的安全邻居发现方法,其特征在于:
根据虫洞形成的不同原因分析其特点,将虫洞分为外部恶意节点形成的链路较长的虫洞和内部恶意节点形成的链路较短的虫洞;针对外部恶意节点形成的虫洞,将跳数差异应用到节点的特有邻居来进行检测并进行邻居关系的修正,其中特有邻居的含义为:对于两个一跳邻居节点i和j来说,那些属于i的邻居但不是j的邻居的节点,即称为节点i的特有邻居节点;针对内部恶意节点形成的虫洞,本发明利用局部监听的方式,通过证人节点的投票来检测并进行邻居关系的修正;
具体做法是:
在进行外部恶意节点形成的虫洞检测及邻居关系的修正时,每对邻居通过其特有邻居之间的新链路的跳距与虫洞阈值相比较的方式来判断是否存在虫洞,若存在虫洞则删除邻居关系并通知其他邻居;
在进行内部恶意节点形成的虫洞检测及邻居关系的修正时,每对邻居先要判断是否需要进行内部虫洞检测,如果需要检测,则通过投票的方式对邻居关系进行验证,验证时,邻居对中的源点发送验证包到目标节点,然后源点以及源点与目标节点的公共邻居作为证人进入监听状态;这些证人节点根据监听到的信息对源点、目标节点之间的链路设标识,如果监听到信息被转发,则标识为-1,若监听到目标节点的回复则标识为1,否则标识为0;验证结束后,若源点置标识为-1,则认为存在虫洞,否则,源点向目的节点及其目的节点的公共邻居发起标识收集,并求标识的和,若和小于或等于0,则认为存在虫洞;若存在虫洞,则删除邻居关系并通知其邻居。
2.如权利要求1所述的一种基于跳数差异和局部监听的安全邻居发现方法,其特征在于:在进行外部虫洞检测及邻居关系的修正时:
第一步,邻居对计算它们各自的特有邻居数量并判断是否小于2,若是,执行第五步;否则,将特有邻居数量多的节点的特有邻居作为使用跳数差异检测虫洞的节点集合;
第二步,从上述集合中选取一个节点作为源点;
第三步,判断剩余节点是否为空,若是,则结束;若否,则从剩余的节点中选取一个节点作为目标节点;
第四步,源点寻找到目标节点的避开节点对中另一个节点的直接邻居的最短路径,并判断路径的跳距是否大于虫洞阈值,若是,则存在虫洞,删除邻居关系并通知邻居,结束;若否,则返回第三步;
第五步,节点对计算它们的一跳邻居与二跳邻居数量的比值,并判断两节点计算的比值是否均大于邻居比阈值,若是,则存在虫洞,删除邻居关系并通知邻居,结束;若否,则结束。
3.如权利要求1所述的一种基于跳数差异和局部监听的安全邻居发现方法,其特征在于:在计算虫洞阈值的理论值时,将节点分布及节点通信范围抽象成平面图形并寻找节点的特有邻居相距最远的情形来进行计算;其具体过程,
第一步,寻找两个特有邻居节点相距最远的情形;
第二步,计算两节点避开要验证节点对中另外一个节点的通信范围的折线距离;
第三步,将第二步计算出的距离除以节点通信半径,将此结果作为虫洞阈值;
由于两个特有邻居节点的新链路的跳距受要验证的节点对之间的距离影响较大,当要验证节点对相距较远时计算出的虫洞阈值较大,即当d=0时,虫洞阈值为4时;当要验证节点对相距较近时计算出的虫洞阈值较小,即当d=r时,虫洞阈值为3时;因此,在实际中,可以根据要验证节点对的特有邻居数量和其总邻居数量的比值来决定,当比值大于0.5时,说明要验证的节点对相距较远,此时可以选取较小的虫洞阈值;反之,选取较大的虫洞阈值。
4.如权利要求1所述的一种基于跳数差异和局部监听的安全邻居发现方法,其特征在于:在判断是否需要进行内部虫洞检测及邻居关系修正时,如下,
第一步,邻居对节点i和j,i接收到的j的RSSI值为R(ij),j接收到i的RSSI值为R(ji)计算它们的公共邻居数量count;
第二步,对在判断节点i是否需要进行内部虫洞检测及邻居关系修正时,通知节点i的特有邻居计算它们与它们收到RSSI在[R(ij)-ω,R(ij)+ω]区间的邻居的公共邻居数量的平均值
Figure FDA0002339994430000021
其中ω表示RSSI值允许浮动的变化范围,其取值设定为5dbm;
第三步,在判断节点i是否需要进行内部节点i虫洞检测及邻居关系修正时,利用第二步中计算的节点i的公共邻居数量的平均值
Figure FDA0002339994430000031
求count与
Figure FDA0002339994430000032
的比值;
第四步,判断count与
Figure FDA0002339994430000033
的比值是否大于邻居比阈值,若是,则需要进行内部虫洞检测及邻居关系修正,结束;若否,则结束。
CN201611214785.8A 2016-12-26 2016-12-26 基于跳数差异和局部监听的安全邻居发现方法 Active CN106790097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611214785.8A CN106790097B (zh) 2016-12-26 2016-12-26 基于跳数差异和局部监听的安全邻居发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611214785.8A CN106790097B (zh) 2016-12-26 2016-12-26 基于跳数差异和局部监听的安全邻居发现方法

Publications (2)

Publication Number Publication Date
CN106790097A CN106790097A (zh) 2017-05-31
CN106790097B true CN106790097B (zh) 2020-04-21

Family

ID=58920604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611214785.8A Active CN106790097B (zh) 2016-12-26 2016-12-26 基于跳数差异和局部监听的安全邻居发现方法

Country Status (1)

Country Link
CN (1) CN106790097B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447899A (zh) * 2008-11-14 2009-06-03 北京工业大学 无线Mesh网络中基于端到端的虫洞攻击检测方法
CN101494570A (zh) * 2009-02-23 2009-07-29 东南大学 基于邻居关系的分布式隐型虫洞检测方法
CN102769845A (zh) * 2012-06-15 2012-11-07 哈尔滨工程大学 无线传感器网络中基于特定3跳路径的虫洞检测方法
CN103118362A (zh) * 2013-02-22 2013-05-22 中国人民解放军国防科学技术大学 基于多维尺度变换的虫洞拓扑识别方法
AU2013101209A4 (en) * 2013-09-11 2013-10-10 Huang, Xu PROF Trustability Based on Beta Distribution Detecting Abnormal Behaviour Nodes in WSN

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447899A (zh) * 2008-11-14 2009-06-03 北京工业大学 无线Mesh网络中基于端到端的虫洞攻击检测方法
CN101494570A (zh) * 2009-02-23 2009-07-29 东南大学 基于邻居关系的分布式隐型虫洞检测方法
CN102769845A (zh) * 2012-06-15 2012-11-07 哈尔滨工程大学 无线传感器网络中基于特定3跳路径的虫洞检测方法
CN103118362A (zh) * 2013-02-22 2013-05-22 中国人民解放军国防科学技术大学 基于多维尺度变换的虫洞拓扑识别方法
AU2013101209A4 (en) * 2013-09-11 2013-10-10 Huang, Xu PROF Trustability Based on Beta Distribution Detecting Abnormal Behaviour Nodes in WSN

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种无线传感器网络中的虫洞攻击检测算法;董晓梅;《东北大学学报(自然科学版)》;20120915;第33卷(第9期);全文 *
一种无线传感器网络抗虫洞攻击DV-HOP定位算法;邓平;《西南交通大学学报》;20150215;第50卷(第1期);全文 *

Also Published As

Publication number Publication date
CN106790097A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
Meghdadi et al. A survey of wormhole-based attacks and their countermeasures in wireless sensor networks
Tun et al. Wormhole attack detection in wireless sensor networks
Luo et al. CREDND: A novel secure neighbor discovery algorithm for wormhole attack
Zhao et al. Detecting wormhole attacks in wireless sensor networks with statistical analysis
Zhang et al. TOHIP: A topology-hiding multipath routing protocol in mobile ad hoc networks
Nagrath et al. Wormhole attacks in wireless adhoc networks and their counter measurements: A survey
Sarma et al. A survey of black hole attack detection in manet
Biswas et al. WADP: a wormhole attack detection and prevention technique in MANET using modified AODV routing protocol
Fotohi et al. A comprehensive study on defence against wormhole attack methods in mobile Ad hoc networks
Alam et al. RTT-TC: A topological comparison based method to detect wormhole attacks in MANET
Raju et al. A simple and efficient mechanism to detect and avoid wormhole attacks in mobile ad hoc networks
Sakthivel et al. Detection and prevention of wormhole attacks in MANETs using path tracing approach
Anju et al. An improved clustering-based approach for wormhole attack detection in MANET
Ahamad Detection and defense against packet drop attack in MANET
Terence Secure route discovery against wormhole attacks in sensor networks using mobile agents
Gurung et al. Mitigating impact of blackhole attack in MANET
CN106790097B (zh) 基于跳数差异和局部监听的安全邻居发现方法
Wen et al. Wormhole Attacks Detection and Prevention Based on 2-Hop Neighbor in Wireless Mesh Networks
Dwivedi et al. An efficient approach for detection of wormhole attack in mobile ad-hoc network
Rani A hybrid and secure clustering technique for isolation of black hole attack in MANET
Yadav et al. Identification and removal of black hole attack for secure communication in MANETs
Sarigiannidis et al. Analysing indirect Sybil attacks in randomly deployed wireless sensor networks
Yadav et al. A review on black hole attack in MANETs
Patel et al. A survey on detecting wormhole attack in MANET
Wani et al. Security Model to Detect and Avoid Wormhole Attack Using AODV Protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant