基于IPv6编址的无线传感器网络安全路由方法

文档序号:8490401阅读:305来源:国知局
基于IPv6编址的无线传感器网络安全路由方法
【技术领域】
[0001] 本发明属于信息安全与IPv6技术的交叉领域,具体设及一种支持IPv6编址的传 感器节点的数据安全通信问题。
【背景技术】
[000引 无线传感器网络(WirelessSensorNetworks,WSN)是当今备受关注的、多学科 交叉的领域,在未来人类生活中的方方面面将起着不可或缺的作用,推动了现代化社会的 进程。随着无线通信技术的飞速发展及无线应用领域的扩大,无线传感器网络日渐成为互 联网领域研究的热点之一。IPv6是下一代网络发展的重点,将IPv6引入无线传感器网络, 是无线传感器网络发展的一个重要方向。基于IPv6的无线传感器网络不仅可实现其与 Internet的互联互通,还能成为IPv6的杀手级应用,进而大力推进IPv6的发展。随着物联 网和无线传感网应用的日益成熟和普及,越来越多的设及个人或公司的隐私信息需要通过 无线传感器网络来传送,针对无线传感器网络的移动节点攻击方式越来越多样化,规模也 越来越大。
[0003] 无线传感器网络现有的移动节点具有很大的安全漏洞。攻击者可W将合法的移动 节点的本地地址与攻击者的IP地址绑定,从而可W使得原本的发送节点发送给合法节点 的数据流向攻击者期望的节点。由于无线传感器网络的可移动性,当网络中加入新节点时, 攻击者可W将自己的本地IP地址作为Sink节点地址发送给传输数据的双方,通信双方都 W攻击者作为通信的中间地址,攻击者得W成功窃取双方数据。攻击者也可W先和一个流 量非常大的服务器(如图像服务器)建立连接,然后将服务器发送的目的地址设为需要攻 击的节点地址,由于不经验证,服务器会认为刚刚发起会话的是现在的目的地址,并将大量 该节点无法承受的数据发送至节点,从而导致节点拒绝服务。
[0004] WSN中的路由协议是网络攻击的主要目标,其安全性方面存在很多问题。典型的路 由安全问题主要有数据在传输过程中被非法获取、未经授权的用户介入无线网、无线信道 上传输的数据被非法修改等3个方面。解决该些问题的方法主要有;加密,保证没有密钥的 用户无法还原处理信息;身份认证,保证没有非法用户使用网络;数据完整性校验,保证无 线信道上传输的数据没被非法修改过。用户不可能接受并部署一个没有解决好安全和隐私 问题的传感网络,因此在进行WSN协议和软件设计时,必须充分考虑WSN可能面临的安全问 题,并把安全防范和检测机制集成到系统设计中去。只有该样,才能促进传感器网络的广泛 应用,否则,传感器网络只能部署在有限、受控的环境中,该和传感器的最终目标一一实现 普遍性计算并成为人们生活中的重要组成部分是违背的。

【发明内容】

[0005] 针对数据在无线传感器网络中需要进行安全传输的实际需求,本发明提出了一种 基于IP编址的安全路由方法,包括了节点加入和离开网络的规则,W及在数据包的单播和 多播过程中利用对数据包进行加密和认证的手段来实现路由的安全性。
[0006] 本发明中的无线传感器网络节点具有W下功能:
[0007] 1.支持IPV6协议找W及化owPAN体系;
[000引 2.具备数据采集和无线通信模块,可支持安全加解密算法。
[0009] 本发明的具体方案如下:一种基于IPv6编址的无线传感器网络安全路由方法,其 特征在于,
[0010] Sink节点的全局路由前缀96bit位由人工分配,其剩余32bit位是ID位,全设置 为0;其余节点的全局路由前缀与Sink节点相同,对剩余32bit位ID进行IP地址编址: Sink节点有0~15个子节点,子节点IP地址网络号的前l-4bit位分别为十六进制的1~ F,其余bit位为0;每个子节点又有0~15个二层子节点,二层子节点的IP地址网络号的 前l-4bit位与其父节点相同,5-8bit位分别为十六进制的1~F,其余bit位为0;每个二 层子节点有0~15个S层子节点,S层子节点的IP地址网络号的前l-8bit位与其父节点 相同,9-^bit位分别为十六进制的1~F,其余bit位为0;每个S层子节点有0~15个四 层子节点,四层子节点的IP地址网络号的前l-12bit位与其父节点相同,13-16bit位分别 为十六进制的1~F,其余bit位为0;每个四层子节点有0~15个五层子节点,五层子节 点的IP地址网络号的前1~16bit位与其父节点相同,17-20bit位分别为十六进制的1~ F,其余bit位为0 ;每个五层子节点有0~15个六层子节点,六层子节点的IP地址网络号 的前1~20bit位与其父节点相同,21-24bit位分别为十六进制的1~F,其余bit位为0 ; 每个六层子节点有0~15个走层子节点,走层子节点的IP地址网络号的前1~24bit位 与其父节点相同,25-28bit位分别为十六进制的1~F,其余bit位为0 ;每个走层子节点 有0~15个八层子节点,八层子节点的IP地址网络号的前1~28bit位与其父节点相同, 29-3化it位分别为十六进制的1~F,其余bit位为0 ;
[0011] 基于上述编址方法的节点加入网络和离开网络的过程;
[0012] 基于上述编址方法的单播和组播过程。
[0013] 节点加入网络的具体步骤为:
[0014]S11、节点A向周围节点广播加入消息;
[0015]S12、广播范围内的节点B收到加入消息后,查看自己是否可W接收子节点,如果 可W,则返回响应消息,其负载消息为预分配IP地址和物理位置;
[0016]S13、若节点A没有接收到任何消息,则继续广播;A接收到响应消息后,根据预分 配IP地址计算响应节点的层数,选择层数最少的节点作为自己的父节点C,并向其发送确 认消息;
[0017]S14、父节点C收到A的确认消息后,将节点A作为自己的子节点,并将地址控制字 段的相应比特位进行标记避免重复分配,同时回复加入成功消息,负载消息为节点A的IP 地址;
[0018]S15、节点A收到加入成功消息之后,将IP地址设置成节点C所分配的值。
[0019] 节点离开网络的具体步骤为:
[0020] S21、欲离开网络的节点A向其父节点发送离开消息;
[002US22、若A为叶子节点,则进入睡眠状态,父节点收到离开消息后释放节点A所占的 空间和IP地址;
[002引若A不是叶子节点,则将自己的IP地址、子孙节点层数、直接子节点E的物理坐标 信息向非子孙节点广播,节点B收到广播信息后计算自己与E的距离,如果在通信范围内, 则看是否满足W下条件;(1)自己的子节点未满,(2)能携带的层数大于等于E的子节点层 数,若满足该两个条件,则节点B认领A的直接子节点E,B将认领的直接子节点E和给E预 分配的IP地址发送给节点A;
[0023]S23、节点A接收到多个认领信息之后,计算认领节点E的所有节点的层数,选择层 数最少的节点G作为E新的父节点,并向节点E发送节点G给E分配的IP地址;
[0024]S24、节点E收到节点A的消息后,向节点G发送确认消息;
[0025]S25、节点G收到确认消息后,将节点E加入自己的子节点,并标志相应比特位,返 回确认信息,负载消息为节点E的正式IP地址;
[0026]S26、节点E收到消息后,向其子孙节点发送自己新父节点的IP地址,由自己的子 孙节点自行更改IP地址;
[0027]S27、重复S22~S26,节点A为自己的每一个直接子节点选择新的父节点;
[002引 S28、对于节点A未被认领的直接子节点F,则通知子节点F断开网络,自行重新加 入网络。
[0029] 为了更好地描述问题,定义如下的符号来描述节点之间的逻辑关系:
[0030] 用X来表示某个节点;
[0031] 集合{X. :表示一系列节点的集合;
[0032] CD(X);某一节点的直接子节点的集合;
[003引CS(x);某一节点的子孙节点的集合,CD(x)'呈CS(x);
[0034]FH(x...);某一系列节点的层数最低的共同祖先;
[003引抑(X);某一节点的父节点;
[0036]FS(x);某节点的祖先节点的集合;
[0037]NB({X.. . });某一节点集合的元素个数;
[003引 AD(IPad化ess);由某一IP地址确定的节点;
[0039]LN(x);某一节点IP地址非零bit位除W4;
[0040]表示差集运算。
[0041] 单播的过程具体为:
[0042] S31、假设节点S需要向节点D发送信息,执行算法SencKS,D),那么
[0043] (1)如果节点S、D是父子关系,则通过直接执行SencKS,D)进行消息传播;
[0044] (2)如果DGCS(S),即D是S的子孙节点但不是直接子节点,则递归执行 Send(S,FS值)nCD(S)),Send(FS值)nCD(S),D),下一次递归时令S=FS值)nCD(巧直 至Send(FS值)nCD做,D)中FS做nCD做和D是
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1