[发明专利]基于IPv6编址的无线传感器网络安全路由方法有效
申请号: | 201510126419.6 | 申请日: | 2015-05-13 |
公开(公告)号: | CN104811934B | 公开(公告)日: | 2018-03-02 |
发明(设计)人: | 黄海平;宫天何;陈征宇;沙超;王汝传;杨静平;贾明伟;沈天呈 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04W12/02 | 分类号: | H04W12/02;H04W12/06;H04W40/02;H04L29/12 |
代理公司: | 南京知识律师事务所32207 | 代理人: | 汪旭东 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于IPv6编址的无线传感器网络安全路由方法,针对数据在无线传感器网络中需要进行安全传输的实际需求,提出了基于树拓扑结构的网络IP编址以及节点加入和离开网络的规则,大量地节约了IP地址、路由表的存放空间,提高了时间、空间利用效率;同时设计了基于单播和组播的消息安全路由传输策略,其中加解密、散列运算与时间戳相结合的特点可以使得网络能够抵御重放、俘获等攻击手段。 | ||
搜索关键词: | 基于 ipv6 无线 传感器 网络安全 路由 方法 | ||
【主权项】:
一种基于IPv6编址的无线传感器网络安全路由方法,其特征在于,Sink节点的全局路由前缀96bit位由人工分配,其剩余32bit位是ID位,全设置为0;其余节点的全局路由前缀与Sink节点相同,对剩余32bit位ID进行IP地址编址:Sink节点有0~15个子节点,子节点IP地址网络号的前1‑4bit位分别为十六进制的1~F,其余bit位为0;每个子节点又有0~15个二层子节点,二层子节点的IP地址网络号的前1‑4bit位与其父节点相同,5‑8bit位分别为十六进制的1~F,其余bit位为0;每个二层子节点有0~15个三层子节点,三层子节点的IP地址网络号的前1‑8bit位与其父节点相同,9‑12bit位分别为十六进制的1~F,其余bit位为0;每个三层子节点有0~15个四层子节点,四层子节点的IP地址网络号的前1‑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‑32bit位分别为十六进制的1~F,其余bit位为0;节点加入网络和离开网络的过程;节点加入网络步骤如下:S11、节点A向周围节点广播加入消息;S12、广播范围内的节点B收到加入消息后,查看自己是否可以接收子节点,如果可以,则返回响应消息,其负载消息为预分配IP地址和物理位置;S13、若节点A没有接收到任何消息,则继续广播;A接收到响应消息后,根据预分配IP地址计算响应节点的层数,选择层数最少的节点作为自己的父节点C,并向其发送确认消息;S14、父节点C收到A的确认消息后,将节点A作为自己的子节点,并将地址控制字段的相应比特位进行标记避免重复分配,同时回复加入成功消息,负载消息为节点A的IP地址;S15、节点A收到加入成功消息之后,将IP地址设置成节点C所分配的值;节点离开网络的步骤如下:S21、欲离开网络的节点A向其父节点发送离开消息;S22、若A为叶子节点,则进入睡眠状态,父节点收到离开消息后释放节点A所占的空间和IP地址;若A不是叶子节点,则将自己的IP地址、子孙节点层数、直接子节点E的物理坐标信息向非子孙节点广播,节点B收到广播信息后计算自己与E的距离,如果在通信范围内,则看是否满足以下条件:(1)自己的子节点未满,(2)能携带的层数大于等于E的子节点层数,若满足这两个条件,则节点B认领A的直接子节点E,B将认领的直接子节点E和给E预分配的IP地址发送给节点A;S23、节点A接收到多个认领信息之后,计算认领节点E的所有节点的层数,选择层数最少的节点G作为E新的父节点,并向节点E发送节点G给E分配的IP地址;S24、节点E收到节点A的消息后,向节点G发送确认消息;S25、节点G收到确认消息后,将节点E加入自己的子节点,并标志相应比特位,返回确认信息,负载消息为节点E的正式IP地址;S26、节点E收到消息后,向其子孙节点发送自己新父节点的IP地址,由自己的子孙节点自行更改IP地址;S27、重复S22~S26,节点A为自己的每一个直接子节点选择新的父节点;S28、对于节点A未被认领的直接子节点F,则通知子节点F断开网络,自行重新加入网络;单播和组播过程;其中单播过程为:S31、假设节点S需要向节点D发送信息,执行算法Send(S,D),那么(1)如果节点S、D是父子关系,则通过直接执行Send(S,D)进行消息传播;(2)如果D∈CS(S),即D是S的子孙节点但不是直接子节点,则递归执行Send(S,FS(D)∩CD(S)),Send(FS(D)∩CD(S),D),其中CD(x)表示某一节点的直接子节点的集合,FS(x)表示某节点的祖先节点的集合,下一次递归时令S=FS(D)∩CD(S)直至Send(FS(D)∩CD(S),D)中FS(D)∩CD(S)和D是父子关系为止;(3)如果D∈FS(S)‑FD(S),则递归执行Send(S,FD(S)),Send(FD(S),D),FD(x)表示某一节点的父节点,下一次递归时令S=FD(S)直至Send(FD(S),D)中FD(S)和D是父子关系为止;(4)如果节点D和S没有祖先和子孙关系,则计算X=FH(S,D),Y=CD(X)且满足D∈CS(Y),其中FH(x...)表示某一系列节点的层数最低的共同祖先,CS(x)表示某一节点的子孙节点的集合,递归执行Send(X,Y),Send(Y,D),下一次递归时令X=CD(X),Y=CD(X)且满足D∈CS(Y)直至满足X和Y或者Send(Y,D)中的Y和D为父子关系;显然有X∈FS(S),此时再根据(1)或(3)的方法直至找到S的父节点;S32、建立会话时的密钥管理方案,节点S和节点D拥有一对会话密钥Key,用于秘密通信并认证双方的身份;S33、节点S产生随机数r,并记录当前的时间戳T,节点S计算Cipher=E(Message||r,Key)和MAC=hash(Message||r||T),其中Message为S要发送的明文消息,Cipher为会话密钥加密后的密文,MAC为消息授权码;S34、节点S将Cipher||MAC||T通过单跳或多跳发送给节点D;S35、节点D进行解密运算D(Cipher,Key),得到(Message,r);节点D比较MAC是否与hash(Message||r||T)相等,如果相等且时间戳T有效则接收,否则丢弃;组播过程为:S41、假设节点S需要向节点集合{D...}发送信息,执行算法Send(S,{D...}),步骤如下:(1)对于节点集合{D1...}={D...}∩CD(S)&&{D...}∩FD(S),{D1...}集合中每个元素都是S的直接子节点或者直接父节点,S将执行n(n=NB({D1...}))次Send(S,D1)单跳传播,其中NB({x...})表示某一节点集合的元素个数;(2)对于节点集合{D2...}={D...}∩CS(S)‑CD(S),考虑CD(S)中的每一个元素Z,若CS(Z)∩{D2...}≠Φ,则递归执行Send(Z,CD(Z)),下一次递归时令Z=CD(Z)直至所有Send(Z,CD(Z))函数中的两个变量均为父子关系;(3)对于节点集合{D3...}={D...}∩FS(S)‑FD(S),递归执行Send(S,FD(S)),Send(FD(S),{D3...}),下一次递归时令S=FD(S)直至所有Send(FD(S),{D3...})中FD(S)和D3是父子关系;(4)对于不属于上述任何一种情况的即节点D4和S没有祖先和子孙关系,计算X=FH(S,D4),Y=CD(X)且满足D4∈CS(Y),其中FH(x…)表示某一系列节点的层数最低的共同祖先递归执行Send(X,Y),Send(Y,D4),下一次递归时令X=CD(X),Y=CD(X)且满足D4∈CS(Y)直至满足X和Y或者Send(Y,D4)中的Y和D4为父子关系结束递归;显然有X∈FS(S),此时再根据(1)或(3)的方法直至找到S的父节点,建立S和D4之间的路由;S42、建立会话时的密钥管理方案,节点S和集合{D...}中的每一个节点拥有一对会话密钥Key,用于秘密通信并认证双方的身份;S43、节点S产生随机数r,并记录当前的时间戳T,节点S计算Cipher=E(Message||r,Key)和MAC=hash(Message||r||T),其中Message为S要发送的明文消息,Cipher为会话密钥加密后的密文,MAC为消息授权码;S44、节点S将Cipher||MAC||T通过单跳或多跳组播发送给集合{D...}中的每一节点;S45、集合{D...}中的节点收到消息Cipher||MAC||T后进行解密运算D(Cipher,Key),得到(Message,r);比较MAC是否与hash(Message||r||T)相等,如果相等且时间戳T有效则接收,否则丢弃。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510126419.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能支架
- 下一篇:移动信号特定传输系统