基于反向检测的IPv6邻居缓存保护方法及其装置制造方法及图纸

技术编号:15695539 阅读:72 留言:0更新日期:2017-06-24 11:01
本发明专利技术涉及一种基于反向检测的IPv6邻居缓存保护方法及其装置,该方法包含:目标节点接收到ND报文,在存储队列中创建存储ND报文信息的表项记录;等待时间t后,从存储队列头部选取一个记录,向源节点发送IRD邻居请求报文;通过选取的记录中的Sequence字段和Timestamp字段对IRD邻居请求报文的IRD选项进行相应的数据填充,并将表项记录的Status字段置位;源节点发送IRD通告报文,在IRD选项中填充相同的Sequence字段及发送通告报文时的时间戳;目标节点针对收到的IRD通告报文,通过Sequence字段、Status字段及超时时间阈值进行检查,根据检查结果对邻居缓存和存储队列中的相应记录进行处理。本发明专利技术有效抵抗邻居缓存欺骗攻击和拒绝服务攻击,资源消耗少、协议兼容性强,能够较好地适应应用环境。

【技术实现步骤摘要】
基于反向检测的IPv6邻居缓存保护方法及其装置
本专利技术涉及IPv6网络安全通信
,特别涉及一种基于反向检测的IPv6邻居缓存保护方法及其装置。
技术介绍
邻居发现协议(NeighborDiscoveryProtocol,NDP)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进,解决了同一链路上不同节点之间的信息交互问题。由于其并没有针对链路内的安全威胁给出任何的安全机制,攻击者利用NDP存在的安全漏洞,可以对IPv6子网实施拒绝服务攻击和重定向攻击。IETF标准规定由IPSecAH来保证NDP中数据包的可靠性和完整性,但是并未给出使用方案。安全邻居发现协议(SEcureNeighborDiscovery,SEND)通过引入加密生成地址(CryptographicallyGeneratedAddress,CGA)和签名机制来保证NDP的安全,但其产生的计算开销过大,并没有得到广泛使用。邻居缓存是一组有关单个邻居的信息,它包括的信息有:邻居IP地址与邻居链路层地址映射、邻居可达性状态等。邻居缓存的更新是通过ND报文的交互实现的,而ND协议在设计时并未对报文进行有效保护,因此邻居缓存易遭受欺骗攻击和DoS攻击等。反向检测方法,虽然其一定程度上降低了邻居缓存受攻击的可能,由于反向探测报文没有任何保护机制,攻击者仍然可以发送大量的虚假应答报文,进而轻易绕过反向检测机制,因此,需要一种新的IPv6邻居缓存保护方法,以提高IPv6内网安全性。
技术实现思路
本专利技术提供一种基于反向检测的IPv6邻居缓存保护方法及其装置,确保邻居缓存的正确更新,有效抵抗邻居缓存欺骗攻击和拒绝服务攻击等,且资源消耗少,兼容性强。按照本专利技术所提供的设计方案,一种基于反向检测的IPv6邻居缓存保护方法,包含如下内容:目标节点接收到ND报文,在存储队列中创建存储ND报文信息的表项记录,其中,每个节点建立有一个用于ND报文信息存储的存储队列,表项记录中包含源节点的IP地址,源节点的MAC地址,向源节点发送IRD请求报文时间的Timestamp字段,向源节点发送IRD请求报文序号的Sequence字段,及标识是否已向源节点发送IRD请求报文状态的Status字段;等待时间t后,从存储队列头部选取一个记录,向源节点发送IRD邻居请求报文,其中,0<t<τ,IRD邻居请求报文的IRD选项包含:用于表示IRD报文的选项类型值的Type字段,整个选项长度的Length字段,用于显示报文匹配的IRD报文序号的Sequence字段,保留Reserved字段,及用于限制报文响应时长的时间戳的Timestamp字段;通过选取的记录中的Sequence字段和Timestamp字段对IRD邻居请求报文的IRD选项进行相应的数据填充,并将表项记录的Status字段置位;源节点发送IRD通告报文,在IRD选项中填充相同的Sequence字段及发送通告报文时的时间戳;目标节点针对收到的IRD通告报文,通过Sequence字段、Status字段及超时时间阈值进行检查,根据检查结果对邻居缓存和存储队列中的相应记录进行处理。上述的,通过Sequence字段、Status字段及超时时间阈值进行检查,并根据检查结果对邻居缓存和存储队列中的相应记录进行处理,包含内容如下:首先查询存储队列中是否存在相同Sequence字段的记录,如果不存在,则不更新邻居缓存,删除该记录并结束;若存在,则检查存储队列中Status字段是否置位,若未置位,则不更新邻居缓存,删除该记录并结束,若置位,则检验IRD通告报文是否在超时时间阈值内到达,若是,则更新邻居缓存并结束,否则,不更新邻居缓存,删除该记录并结束。上述的,还包含:通过基于时间戳的RED方法对节点存储队列进行管理,删除存储队列中的表项记录。优选的,通过基于时间戳的RED方法对节点存储队列进行管理,包含内容如下:对存储队列中每个Timestamp字段非零的表项启动定时器,根据定时器删除存储队列中的表项记录;并根据存储队列平均长度计算节点丢包概率,并根据节点丢包概率丢弃存储队列中的表项记录。上述的,对存储队列中每个Timestamp字段非零的表项启动定时器,根据定时器删除存储队列中的表项记录,内容如下:读取存储队列最小长度、最大长度,当前时间,存储队列表项记录集合,存储队列头部记录时间戳,超时时间阈值;根据存储队列表项记录集合中每个表项记录,判断其Timestamp字段是否大于零,若是,则通过超时时间阈值为对应表项记录设置定时器;若定时器超时还未收到相应的IRD通告报文,则删除对应的表项记录。优选的,根据存储队列平均长度计算节点丢包概率,内容如下:若存储队列平均长度小于存储队列最小长度,则设定丢包率为零;若存储队列平均长度大于存储队列最小长度且小于存储队列最大长度,则根据公式:,计算丢包率;否则,设定丢包率为1。优选的,超时时间阈值根据网络延迟情况做修正。一种基于反向检测的IPv6邻居缓存保护装置,包含:报文信息记录模块、记录选取模块及表项记录检测模块;其中,报文信息记录模块,目标节点根据接收到的报文信息,在节点存储队列中创建该报文信息的表项记录;记录选取模块,选取节点存储队列头部的记录,并向源节点发送IRD邻居请求报文,其中,IRD邻居请求报文及选取的记录填充相同的时间戳字段和报文序号字段,并将表项记录中标识是否已向源节点发送IRD请求报文状态的Status字段进行置位操作;表项记录检测模块,目标节点根据收到的IRD通告报文,通过时间戳字段、报文序号字段经及超时时间阈值对邻居缓存和存储队列中的记录进行更新处理。上述的装置,还包含队列管理模块,通过基于时间戳的RED方法对节点存储队列中的表项记录进行删除操作。上述的装置,还包含有:用于根据网络延迟情况对超时时间阈值进行调整的时间阈值修正模块。本专利技术的有益效果:本专利技术针对IPv6邻居缓存易遭受的欺骗攻击和拒绝服务攻击等问题,从邻居缓存更新过程入手,引入时间戳、报文序号和队列管理等保护机制,确保邻居缓存的正确更新;并通过具体实例的数值结果表明,该方法可以有效抵抗邻居缓存欺骗攻击和拒绝服务攻击,具有资源消耗少、协议兼容性强等特点;能够较好地适应应用环境,有效保护IPv6邻居缓存,具有很高的实用价值。附图说明:图1为本专利技术的方法流程图;图2为本专利技术的原理示意图;图3为本专利技术的存储队列示意图;图4为本专利技术的IRD选项示意图。图5为本专利技术的工作流程图;图6为本专利技术的装置框图;图7为实例的网络拓扑示意图。具体实施方式:为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。参见图1所示,本专利技术所提供的方法可以主要包括:目标节点接收到ND报文,在存储队列中创建存储ND报文信息的表项记录,其中,每个节点建立有一个用于ND报文信息存储的存储队列,表项记录中包含源节点的IP地址,源节点的MAC地址,向源节点发送IRD请求报文时间的Timestamp字段,向源节点发送IRD请求报文序号的Sequence字段,及标识是否已向源节点发送IRD请求报文状态的Status字段;等待时间t后,从存储队列头部选取一个记录,本文档来自技高网...
基于反向检测的IPv6邻居缓存保护方法及其装置

【技术保护点】
一种基于反向检测的IPv6邻居缓存保护方法,其特征在于,包含如下内容:目标节点接收到ND报文,在存储队列中创建存储ND报文信息的表项记录,其中,每个节点建立有一个用于ND报文信息存储的存储队列,表项记录中包含源节点的IP地址,源节点的MAC地址,向源节点发送IRD请求报文时间的Timestamp字段,向源节点发送IRD请求报文序号的Sequence字段,及标识是否已向源节点发送IRD请求报文状态的Status字段;等待时间t后,从存储队列头部选取一个记录,向源节点发送IRD邻居请求报文,其中,0<t<τ,IRD邻居请求报文的IRD选项包含:用于表示IRD报文的选项类型值的Type字段,整个选项长度的Length字段,用于显示报文匹配的IRD报文序号的Sequence字段,保留Reserved字段,及用于限制报文响应时长的时间戳的Timestamp字段;选取的记录中的Sequence字段和Timestamp字段对IRD邻居请求报文的IRD选项进行相应的数据填充,并将表项记录的Status字段置位;源节点发送IRD通告报文,在IRD选项中填充相同的Sequence字段及发送通告报文时的时间戳;目标节点针对收到的IRD通告报文,通过Sequence字段、Status字段及超时时间阈值进行检查,根据检查结果对邻居缓存和存储队列中的相应记录进行处理。...

【技术特征摘要】
1.一种基于反向检测的IPv6邻居缓存保护方法,其特征在于,包含如下内容:目标节点接收到ND报文,在存储队列中创建存储ND报文信息的表项记录,其中,每个节点建立有一个用于ND报文信息存储的存储队列,表项记录中包含源节点的IP地址,源节点的MAC地址,向源节点发送IRD请求报文时间的Timestamp字段,向源节点发送IRD请求报文序号的Sequence字段,及标识是否已向源节点发送IRD请求报文状态的Status字段;等待时间t后,从存储队列头部选取一个记录,向源节点发送IRD邻居请求报文,其中,0<t<τ,IRD邻居请求报文的IRD选项包含:用于表示IRD报文的选项类型值的Type字段,整个选项长度的Length字段,用于显示报文匹配的IRD报文序号的Sequence字段,保留Reserved字段,及用于限制报文响应时长的时间戳的Timestamp字段;选取的记录中的Sequence字段和Timestamp字段对IRD邻居请求报文的IRD选项进行相应的数据填充,并将表项记录的Status字段置位;源节点发送IRD通告报文,在IRD选项中填充相同的Sequence字段及发送通告报文时的时间戳;目标节点针对收到的IRD通告报文,通过Sequence字段、Status字段及超时时间阈值进行检查,根据检查结果对邻居缓存和存储队列中的相应记录进行处理。2.根据权利要求1所述的基于反向检测的IPv6邻居缓存保护方法,其特征在于,通过Sequence字段、Status字段及超时时间阈值进行检查,并根据检查结果对邻居缓存和存储队列中的相应记录进行处理,包含内容如下:首先查询存储队列中是否存在相同Sequence字段的记录,如果不存在,则不更新邻居缓存,删除该记录并结束;若存在,则检查存储队列中Status字段是否置位,若未置位,则不更新邻居缓存,删除该记录并结束,若置位,则检验IRD通告报文是否在超时时间阈值内到达,若是,则更新邻居缓存并结束,否则,不更新邻居缓存,删除该记录并结束。3.根据权利要求1所述的基于反向检测的IPv6邻居缓存保护方法,其特征在于,还包含:通过基于时间戳的RED方法对节点存储队列进行管理,删除存储队列中的表项记录。4.根据权利要求3所述的基于反向检测的IPv6邻居缓存保护方法,其特征在于,通过基于时间戳的RED方法对节点存储队列进行管理,包...

【专利技术属性】
技术研发人员:张连成孔亚洲王振兴郭毅王禹辜苛峻
申请(专利权)人:中国人民解放军信息工程大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1