ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:19.46KB ,
资源ID:6687251      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6687251.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Sybil攻击防范算法研究.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Sybil攻击防范算法研究.docx

1、Sybil攻击防范算法研究Sybil攻击防范算法研究Study of the Guarding Algorithm against Sybil Attack ZHAN Jie?k,LIU Hong-li,LIU Shu-gang (College of Electrical and Information Engineering, Hunan Univ,Changsha,Hunan 410082, China) Abstract: The increasing application of WSN (Wireless Sensor Network) brings forward higher

2、and higher requirements on the security of the network. The Sybil is one of the multitudinous security attacks thatWSN has to face now and is one of the most ruinous. Based on the analysis of its attacking principle, a type of dispersing guarding algorithm linked with network localization was propos

3、ed. The algorithm was used for the measurement of the consistency and the calculation of two methods for the detection of attack nodes, which is different from the traditional centralized guarding mode. The emulation of the algorithm and the experiment results indicate that the algorithm has very go

4、od pertinence and robustness against Sybil attack. Key words:Sybil attack; wireless sensor networks; attack defense;ranging ? 无线传感节点的资源受限和网络通常部署在无人维护、不可控制的环境中,使得无线传感器网络的安全问题变得非常重要.Sybil是存在于WSN或自组网中一种恶性病毒,是无线传感器网络中非常有害的攻击方式中的一种,它表现为在网络层使一个攻击节点非法地以多种身份出现,从而对网络的定位、路由等一些协议和应用产生破坏1.Sybil有多种攻击形式和手段2,可以总结为

5、:一个身份多个地理位置、多个身份一个地理位置和多个身份多个地理位置3. 近年来,如何防范与检测Sybil攻击受到越来越多学者的关注.目前国内外研究的防御和检测措施主要有4种4-6:第1种是基于地理定位的检测方法7-8,这种方法通过准确的地理定位来检测攻击,但需要全局坐标.第2种是基于密钥系统进行身份验证的方法,如Boneh等9提出基于身份的加密方法,Zhang等10提出的节点对间的互相认证协议等,这类算法的计算量都较大,不太适合能量有限的无线传感器网络.第3种是通过检测节点各种资源来检测攻击的方法,如Newsome等11提出的分配信道射频测试,但如果攻击者资源更强,方法将失效.第4种是基于可靠

6、的验证中心对节点身份进行验证,如果验证中心被攻破,整个网络将失去防护.本文针对Sybil攻击的特点提出了一种新的分散式防范算法,将网络中的正常节点都参与到算法验证中来,能高效地检测到Sybil攻击,并能滤除Sybil攻击生成的虚节点,保证网络安全. 1 Sybil攻击防范算法 1.1 预备知识 假定网络中所有正常节点的通信都是双向的,采用全向天线,网络密度一般(通信范围内10个以上节点),节点分布在二维平面内,采用基于RSSI测距的定位协议,算法符号定义如下: V为发起测距的节点;Nbr(v)为由v的邻居节点组成的集合;Pk为节点k在实平面上的位置;N为邻居节点的数目;M为交互进行RSSI测量

7、的节点数目;Dij为节点i和j的实际距离;dij为节点i和j的测量距离;Cij为节点i和j的计算距离. 定义1 若节点仅知道它与邻居节点的距离,而不知道邻居节点的位置,则节点无法确定自己的位置. 证明略. Sybil攻击将产生不存在的虚节点,攻击能否生效,取决于正常节点是否确认这些不存在的虚节点.算法将从节点是否拥有合法位置来判断是否为虚节点.图1为算法表述示意图,由图1可知,在二维坐标中,将相邻的邻居节点之间的距离作为输入,节点的位置作为输出,如果攻击生成Sybil节点,通过我们的算法,在二维平面上很难生成合适的Sybil节点的位置信息,测距数据的输入只会导致更高维的位置信息输出,则这样的节

8、点是Sybil节点,可以滤除. 1.2 Sybil攻击防范算法 算法分为2阶段:安全测距阶段和滤除Sybil节点阶段.在第1阶段,每个节点使用安全测距算法测量它和邻居节点的距离.在第2阶段,创建平面,经过安全测距后,每个节点都将和邻居节点中测距一致性的节点连接成簇,在该集合中选择包含节点最多的簇,这个簇所在的平面即为排除了Sybil攻击的簇平面. 1.2.1 安全测距算法 安全测距算法可以运用多种测距技术,这里我们采用RSSI测距. 第1步 RSSI强度信号加密发送.簇头节点首先以全功率发送射频信号给所有邻居节点uNbr(v),通知发起测距操作,然后邻居节点相互之间开始测距操作,节点v以一个随

9、机的RSSI强度ptx发送测距包给节点u,接收节点u记录接收到的功率值puv. 在预定时间内或者是收集了Nbr(v)中每个节点的射频强度信号后,采用对称加密协议,用随机的密钥k加密ptx,对每个uNbr(v)的节点,u广播这个加密包给邻居节点,直到uNbr(v)中所有节点都相互进行了测距包的加密接收操作,邻居节点中有些非法节点不能对加密的测量数据包作回复,将会排除出uNbr(v)集合. 第2步 RSSI解密测量.Nbr(v)中的节点在预定时间内或者是收集了邻居节点加密的信息后,解密k.收到Nbr(v)中每个节点的密钥k后,可分别解密出邻居节点的ptx,在一个簇内,节点相互之间结合测距公式计算出

10、与邻居节点的距离dij.收集了邻居节点的距离信息以后,Nbr(v)中节点比较收集到的数据,在误差范围内有dij|dij=dji,i,jNbr(v),ij,则保留节点i,j以及这两个节点之间的测量数据. 安全测距算法阻止了部分Sybil节点计算与邻居节点的距离,若只知道自已的puv值,而不知道ptx值,则无法计算距离.而知道ptx值则需要解密算法和密钥k,故一部分Sybil节点将无法完成测距操作. 1.2.2 Sybil节点滤除算法 安全测距算法并不能很好地滤除Sybil节点,这只是算法的第一道屏障.它只对两个点之间作了测距处理,而RSSI测距有较大的误差,一些Sybil节点完全可能生成误差范围

11、以内测距数据.在定义1的基础上,我们提出Sybil节点滤除算法. 经过安全测距算法后,节点v随机选取两个邻居节点i和j确定一个平面(这里的邻居节点是指能通过安全测距算法的节点),由这3个节点、3个边建立本地的坐标系统L,在节点v的坐标系统中,我们用G(V,E)来构建集合,V表示节点v和它的邻居节点集合,E表示集合内任意两个节点之间测量距离和计算距离一致的节点的集合.最初,G为空集,G更新过程为: 对每个邻居节点kNbr(t),计算节点的k位置Pk(邻居节点k的位置通过v,i,j3个节点用三边测量法确定,采用坐标系统L中的测量距离dkv,dki,dkj). 对任意节点i,jNbr(t),找出i,

12、j之间的测量距离dij,并根据它们在该坐标系的坐标,求出两点间的计算距离cij=PiPj,如果dijcij,则可将这两个点的链路边e(i,j)加入E中. 由这3个发起定位节点所形成的G(V,E)集合用簇C来表示,此时的V是测量与计算一致性的邻居节点的集合,E为测量与计算一致性的节点链路的集合. 对V中每个邻居节点都重复进行该算法,将形成多个簇C的集合,找出其中最大的簇C,此时簇C就为滤除了Sybil节点的簇. 1.2.3 算法证明 定义2 在集合G(V,E)中,如果随机选择创建簇的顶点都是实节点,那么经过算法处理后所选择的簇C中不会有Sybil节点. 证 图2为滤除Sybil节点示意图.由图2

13、(a)可知,节点v在位置P1,选择了两个在P2,P3位置的实节点,以v为簇头组建簇C.经过安全测距算法后,E中将包含符合条件的邻居节点之间的链路.因为事先攻击节点并不知道3个创建簇顶点的坐标位置,根据定义1,它无法生成与这3个节点达成测量一致性的Sybil节点位置,生成的位置只有可能是原攻击节点位置或不在该平面上的位置,这样的Sybil节点将无法进入簇内,它只会出现在平面P,上,不会到簇C中来,所以由正常节点组成的簇平面C中不会有Sybil节点. 定义3 如果发起平面定位所选的顶点至少有一个虚节点,那么经过算法后所形成的簇平面C中所含节点的数比全由实节点发起所形成的簇平面C所含的节点数要少.

14、证 由图2(b)可知,节点v在位置P1和其他两个位于P2,P3的节点创建了平面P,其中至少有一个是Sybil节点,假设P2是Sybil节点,在平面P,上形成簇C,.由于P2是Sybil节点,那么很多实节点和P2将有不一致的测量距离,将会被排除出簇C,C,中只会存在和P2共谋的Sybil节点以及误差范围内的实节点.一般情况下,网络中实节点数要大于虚节点数,在实平面P上的簇中所包含的实节点都能满足算法一致性的要求,所以C中所含的节点数将大于簇C,中所包含的节点数. 如果在平面P,上Sybil节点数大于合法节点数,而且攻击节点产生的Sybil节点能达成测量一致性,那么在平面P,上,簇C,中的节点数大

15、于实平面C中的节点数,但出现这种情况的概率很小,因为发起定位的节点v,P2,P3是随机选择的,攻击节点生成的Sybil节点不一定都会在某一个平面P,上,并且满足相互之间的测距一致性要求.因此,在簇C,中所含节点数小于簇C所含节点数的概率很高. 1.2.4 算法特例说明 我们提出的Sybil防范算法由正常节点发起操作.但如果由Sybil节点发起操作,并且建立一个簇平面,如图2(b)所示的P,平面,而且Sybil节点数足够多,那么该平面可经过防范算法保留下来,在该平面上的正常节点将被欺骗,但是,这种欺骗的影响只会发生在实平面和虚平面的交线上,因为实节点总会在自己的实平面上.同理,还有一些实节点也可

16、能被另外的虚平面欺骗,同样处于两个平面的交线上.这个情况说明,即使Sybil攻击得逞,它也仅仅能损害分布在两个面相交线上的节点.假定有n个实节点在实平面P,没有3个节点是共线的,Sybil要能生效,虚节点的数量至少要超过3C2n个,这将比实节点的数量大得多,代价将会很大.这说明了该算法在大量Sybil节点存在的情况下也能工作. 2 算法仿真与实验 图3为算法效果仿真示意图.我们设计了15个随机分布的节点仿真(见图3(a),其中大圆形点为恶意节点,攻击生成了10个不存在的Sybil节点(见图3(b)),这些Sybil节点由一个攻击节点生成,相互之间可以合谋攻击而组成簇平面,实节点可通过算法创建簇

17、平面,组成的2个平面如图3(c)所示,两平面经过算法后合并.由于Sybil节点和实节点除攻击点之外,节点之间不会有正确的测距信息,所以两个簇将进行节点数量的比较,最终生成的簇平面如图3(d)所示,除了攻击节点外,Sybil节点都被滤除,Sybil攻击不会产生后果. 2.1 实验验证 在100 m100 m的区域内(见图3(a)),随机分布15个节点.我们设计如下实验:采用CC2430射频模块,通过RF寄存器TXCTRLL中PA-LEVEL控制0xF7,0xFB,0xFF三级输出功率,对应的通信变化为5580 m.恶意节点生成了10个Sybil节点,随机分布在这个区域内(用随机函数生成坐标,然后

18、根据坐标布置节点),每个Sybil节点都有自己的位置,但是发布RSSI信息的只有一个攻击节点.一共设计了10组实验(采集了1.6万个RSSI信号),每一组实验保持普通节点的位置不变,但产生的Sybil节点位置变化,重复10次,得到如图4所示的实验结果(这里设计的误差门限值为10 m). 由图4(a)可知,算法的效率很高,一组10次实验,Sybil攻击共产生100个Sybil节点,绝大多数Sybil节点都能被滤除,最多的一组也只留下8个Sybil节点(如果门限值设置小一点,效果会更好,当然,也会有一部分正常节点会由于测距误差被误滤除). 由Sybil滤除算法可知,Sybil攻击要影响正常节点必须

19、一次有3个以上的虚节点组成一个虚平面,上述实验中,其攻击生效的结果如图4(b)所示.在100次实验中,只有一次影响了18%的实节点的位置,从而产生攻击后果. 3 算法性能分析 3.1 滤除算法重复次数讨论 若所选择三边定位的顶点都是实节点,则只要运行一次就能滤除Sybil节点;若所选的顶点中有Sybil节点,则需要重复多次进行比较,找出最大的簇,这样才能滤除虚节点.即算法的重复次数i和实虚节点的比例相关. 假定q是t的邻居节点,而且是Sybil节点的概率,那么至少一个顶点是虚节点的概率是1-(1-q)2,在运算过程中,选择的顶点都是实节点的概率为1-(1-(1-q)2)i.图5为Sybil节点的比例、迭代次数以及滤除成功率的关系图,图6为特定滤除成功率下迭代次数和Sybil节点比例的关系图.由图5和图6可知,当Sybil节点数量占的比例较小时,重复算法很少次就能达到很高的滤除率;当Sybil节点数量占的比例较大时,则需增加反复运行的次数.由图6可知,即使50%的节点是Sybil节点,重复的次数也只需要16次就能达到99%的虚节点滤除率.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1