掌桥专利:专业的专利平台
掌桥专利
首页

一种改进的重定向传输方法

文献发布时间:2024-04-18 20:02:18


一种改进的重定向传输方法

技术领域

本发明涉及数据通信技术领域,更具体的说是涉及一种改进的重定向传输方法。

背景技术

ICMPv6即互联网控制信息协议版本六,ICMPv6为了与IPv6配套使用而开发的互联网控制信息协议,与IPv4一样,IPv6也需要使用ICMP,旧版本的ICMP不能满足IPv6全部要求,因此开发了新版本的ICMP,称为ICMPv6。

ICMPv6功能非常强大,可以进行邻居发现、重复地址检测、重定向等。其中,重定向功能是为了优化IPv6网络的传输性能以及数据传输的流量路径,是一个非常重要的功能。

现有的防重定向的方法,主要是在主机的上连交换设备上配置信任端口,人为把某个端口置为信任端口,该端口收到的重定向报文认为是可信的,就会执行相应的添加路由动作。如果遍历非信任端口列表,从非信任端口收到的重定向报文直接丢弃。或者是整个IPv6网络中,默认让网关关闭ICMPv6的重定向功能,主机默认收到重定向报文就直接丢弃。

现有技术存在以下问题:

1、协议栈不能自动校验重定向报文的安全可靠

信任端口的配置前提是网络管理员对整个网络拓扑很清楚,是通过人工配置。需要手工配置,配置效率差,灵活性较低,适用性不强,不能自动校验。尤其对于那些组网规模比较大的场景,手工配置映射关系是一项巨大而繁琐的工作;

2、固定信任端口无法对于网络变化进行自动更新

固定信任端口,无法自动更新调整。当网关更换端口或者更新网关,原来配置的信任端口就失败了;

3、默认关闭网关的重定向消息发送让重定向功能失去了意义

由于不能保证重定向消息的可靠性,许多组网中关闭了网关的重定向消息的发送,这样就不能提高整个网络的传输效率,不能优化数据传输路径,让IPv6重定向功能失去了意义。

对此本发明提供一种改进的重定向传输方法。

发明内容

针对现有技术存在的不足,本发明的目的在于提供一种改进的重定向传输方法,具有解决了IPv6网络中容易遭受重定向欺骗攻击的问题。

为实现上述目的,本发明提供了如下技术方案:

一种改进的重定向传输方法,对重定向报文进行改造并传输的方法包括以下步骤:

S1:定义新的重定向报文,在重定向报文中增加可选字段;

S2:主机收到重定向报文后,校验源链路本地地址、Target Address的MAC地址,以及新增的可选字段中的源全球单播地址。

作为本发明的进一步改进,所述步骤S1中还包括对重定向报文进行改造,改造的步骤包括:

网关路由器获取报文,并对报文进行筛选并转发;

发送重定向报文告知报文的发送者,并通知报文的发送者选择网关路由器,其中所述重定向报文承载于ICMPv6报文中;

所述重定向报文携带路径下一跳地址和需要重定向转发的报文的目的地址等信息;

主机或者设备收到重定向报文后进行安全检验流程,校验重定向报文的安全可靠。

作为本发明的进一步改进,所述改进的重定向报文包括增加了Flag标识位、路由器A发送的重定向报文中增加了可选字段,所述Flag标识位的赋值用于让主机收到重定向报文后判断是否执行校验流程,增加的所述可选字段承载了路由器A发送该报文接口的全球单播地址,用于让主机收到后校验该全球单播地址之前是否有ND表项。

作为本发明的进一步改进,所述改造步骤还包括重定向报文的交互过程,所述交互过程包括:

定义重定向报文的Flag值赋1时的交互过程为安全重定向的过程;

当设备配置要求防重定向欺骗时,设备开启安全重定向功能,协议栈对Flag值赋1,执行安全重定向交互过程。

作为本发明的进一步改进,所述网关路由器用于支持安全重定向处理重定向报文,对所述重定向报文处理的过程包括:

网关路由器设备检测用户是否开启安全重定向功能;

若没有开启安全重定向功能,则正常转发;

若开启了安全重定向功能,协议栈给Flag值赋1,协议栈查询触发重定向动作的接口信息,把该接口的首个全球单播地址填充到选项字段处。

作为本发明的进一步改进,还包括支持安全重定向的主机处理重定向报文的过程,其包括以下步骤:

主机获取网关路由器发送的重定向报文;

主机协议栈接收重定向报文;

检查重定向报文的Flag标识位是否赋值为1,若赋值为1,对重定向报文进行多次验证,否则,解析该报文并在路由表中增加下一跳为Target Address的主机路由。

作为本发明的进一步改进,所述多次验证包括一次验证、二次验证和三次验证,所述多次验证的步骤包括:

对通过一次验证的重定向报文进行二次验证,判断未通过一次验证的重定向报文为攻击实报文,丢弃此重定向报文,并在日志记录攻击记录;

对通过二次验证的重定向报文进行三次验证,对通过三次验证的重定向报文判定为真实报文,解析重定向报文并在路由表中增加下一跳为TargetAddress的主机路由,判断未通过二次验证的重定向报文为攻击实报文,丢弃此重定向报文,并在日志记录攻击记录。

作为本发明的进一步改进,所述一次验证的验证条件为:

检查收到的重定向报文的源链路本地地址是否在本地有邻居表项。

作为本发明的进一步改进,所述二次验证的验证条件为:

提取安全重定向过程报文中可选字段的Mac地址,检查该Mac地址是否已有表项。

作为本发明的进一步改进,所述三次验证的验证条件为:

提取安全重定向过程报文中可选字段的单播地址,检查该单播地址是否已有表项。

本发明的有益效果:

1.通过人工配置信任端口的方式防止重定向攻击,实现对重定向报文进行改造及通过三次校验的方式进行防重定向攻击,以及通过对重定向报文保留字段的改造和应用,通过标志位和选项选项字段实现定义的安全重定向交互过程;

2.定义了安全重定向流程,校验了重定向报文中源链路本地地址、TargetAddress的Mac地址以及源设备的全球单播地址,保证了重定向报文不是陌生攻击者发送的,防止伪造的重定向报文提供虚假的Target Address进行重定向欺骗攻击。

3.主要改进了重定向报文的格式及设备装置的处理流程,定义了安全重定向,实现了安全的重定向交互,让主机正确的添加路由从而修正转发路径,解决了IPv6中容易遭受重定向攻击的问题。

附图说明

图1为IPv6中重定向组网示意图;

图2为IPv6中重定向攻击组网示意图;

图3为原始重定向报文的结构;

图4为改进后重定向报文的结构;

图5为原始重定向交互过程;

图6为改进后安全重定向交互过程;

图7为支持安全重定向的设备协议栈发送重定向报文的处理过程;

图8为支持安全重定向的设备协议栈接收重定向报文的处理过程。

具体实施方式

下面结合附图和实施例,对本发明进一步详细说明。其中相同的零部件用相同的附图标记表示。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“底面”和“顶面”、“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。

参考图1至图8所示,为本发明一种改进的重定向传输方法的具体实施方式,IPv6是指(Internet Protocol Version6,互联网协议第6版):IP指网际互连协议,是TCP/IP体系中的网络层协议。

ICMPv6是指(Internet Control Message Protocol Version 6互联网控制信息协议第6版):ICMPv6向源节点报告关于目的地址传输IPv6包的错误和信息,具有差错报告、网络诊断、邻节点发现和多播实现等功能。

ARP是指(Address Resolution Protocol,地址解析协议):是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。

对重定向报文进行改造并传输的方法包括以下步骤:

S1:定义新的重定向报文,在重定向报文中增加可选字段;

S2:主机收到重定向报文后,校验源链路本地地址、Target Address的MAC地址,以及新增的可选字段中的源全球单播地址。

所述步骤S1中还包括对重定向报文进行改造,改造的步骤包括:

网关路由器获取报文,并对报文进行筛选并转发;

发送重定向报文告知报文的发送者,并通知报文的发送者选择网关路由器,其中所述重定向报文承载于ICMPv6报文中;

所述重定向报文携带路径下一跳地址和需要重定向转发的报文的目的地址等信息;

主机或者设备收到重定向报文后进行安全检验流程,校验重定向报文的安全可靠。

所述改进的重定向报文包括增加了Flag标识位、路由器A发送的重定向报文中增加了可选字段,所述Flag标识位的赋值用于让主机收到重定向报文后判断是否执行校验流程,增加的所述可选字段承载了路由器A发送该报文接口的全球单播地址,用于让主机收到后校验该全球单播地址之前是否有ND表项。

在此过程中当网关路由器发现报文从其他网关路由器转发更好,它就会发送重定向报文告知报文的发送者,让报文发送者选择另一个网关路由器,重定向报文也承载在ICMPv6报文中,其Type字段位137,报文中会携带更好的路径下一跳地址和需要重定向转发的报文的目的地址等信息。重定向报文是ICMPv6的一种,原始的RS报文如附图3所示。其中前4字节中Type=137,Code=0,第5到8字节是保留字段。第9到24字节是目标地址TargetAddress,标识的是更好的路径下一跳的链路本地地址。第25到40字节是目的地址Destination Address,标识触发网关进行重定向动作的数据包的目的IP地址。已定义的可选字段1携带的是目标地址的MAC地址,已定义的可选字段2携带的是触发重定向动作的IP数据包的头部信息。改造后的重定向报文,如附图4所示,定义原报文保留字段的前8个比特位为Flag标识位,Flag标识位是用来标识网关设备是否开启了安全重定向功能,如果Flag标识位F=0000001表示设备开启了安全重定向功能,主机或者设备收到该重定向报文后进行安全检验流程,校验重定向报文的安全可靠;如果F=00000000,代表设备没有开启安全重定向功能,主机收到重定向报文后做正常处理流量不做检验;同时,改造后的重定向报文增加了可选字段3,主要是携带网关的源全球单播地址,即该重定向报文是从网关的某个接口发送的,就在可选字段3中承载该接口的首个全球单播地址。

所述改造步骤还包括重定向报文的交互过程,所述交互过程包括:

定义重定向报文的Flag值赋1时的交互过程为安全重定向的过程;

当设备配置要求防重定向欺骗时,设备开启安全重定向功能,协议栈对Flag值赋1,执行安全重定向交互过程。

正常的重定向报文交互过程,如附图5所示,网关路由器A的MAC地址是Mac_A,链路本地地址是FE80:A,全球单播地址是IPv6_A。主机Host B的MAC地址是Mac_B,链路本地地址是FE80:B,全球单播地址是IPv6_B。网关路由器A感知到HostB的数据报文走的不是最优路径后,主动发出的重定向报文。重定向报文中,源MAC地址为Mac_A,目的MAC地址Mac_B,源IPv6地址为自己的链路本地FE80:A,目的IPv6地址为Host_B的链路本地FE80:B,目标地址是主机HostB的数据重定向后的网关链路本地地址FE80:C,目的地址是主机HostB发送的数据报文的目的地址IPv6_D,选项字段1是目标地址对应的Mac地址,选项字段2是主机HostB发送的数据报文的IP头信息。重定向报文的作用是网关路由器A告诉主机HostB,其发送的目的地址IPv6_D不应该发送给网关路由器A,而是应该发给更优的下一跳,这个更优的下一跳的链路本地地址是FE80:C,这个更优的下一跳的Mac地址是Mac_C,从而增加主机HostB的路由表项,让去往IPv6_D的数据报文发送到下一跳为FE80:C的网关设备上。改进的重定向报文,如附图6所示,增加了几点变化(1)报文增加了Flag标识位,F位的值可以让主机收到重定向报文是否执行校验流程。(2)网关路由器A发送的重定向报文中增加了可选字段3,承载了路由器A发送该报文接口的全球单播地址。这样做的作用,是为了让主机HostB收到后校验该全球单播地址之前是否有ND表项,防止欺骗发生。

所述网关路由器用于支持安全重定向处理重定向报文,对所述重定向报文处理的过程包括:

网关路由器设备检测用户是否开启安全重定向功能;

若没有开启安全重定向功能,则正常转发;

若开启了安全重定向功能,协议栈给Flag值赋1,协议栈查询触发重定向动作的接口信息,把该接口的首个全球单播地址填充到选项字段处。

还包括支持安全重定向的主机处理重定向报文的过程,其包括以下步骤:

主机获取网关路由器发送的重定向报文;

主机协议栈接收重定向报文;

检查重定向报文的Flag标识位是否赋值为1,若赋值为1,对重定向报文进行多次验证,否则,解析该报文并在路由表中增加下一跳为Target Address的主机路由。

所述多次验证包括一次验证、二次验证和三次验证,所述多次验证的步骤包括:

对通过一次验证的重定向报文进行二次验证,判断未通过一次验证的重定向报文为攻击实报文,丢弃此重定向报文,并在日志记录攻击记录;

对通过二次验证的重定向报文进行三次验证,对通过三次验证的重定向报文判定为真实报文,解析重定向报文并在路由表中增加下一跳为TargetAddress的主机路由,判断未通过二次验证的重定向报文为攻击实报文,丢弃此重定向报文,并在日志记录攻击记录。

所述一次验证的验证条件为:

检查收到的重定向报文的源链路本地地址是否在本地有邻居表项。

所述二次验证的验证条件为:

提取安全重定向过程报文中可选字段的Mac地址,检查该Mac地址是否已有表项。

所述三次验证的验证条件为:

提取安全重定向过程报文中可选字段的单播地址,检查该单播地址是否已有表项。三次校验的意义是,主机检测了收到重定向报文的源链路本地是不是之前已经有的邻居发送的,防止陌生攻击者发送重定向报文。检测收到报文的重定向后的目的网关的Mac地址是否是已知地址,防止攻击者把数据包定向到一个未知的网关设备上。检测收到报文的选项3的全球单播地址是否已知的网关全球单播地址,防止陌生攻击者。

通过人工配置信任端口的方式防止重定向攻击,实现对重定向报文进行改造及通过三次校验的方式进行防重定向攻击,以及通过对重定向报文保留字段的改造和应用,通过标志位和选项选项字段实现定义的安全重定向交互过程;

定义了安全重定向流程,校验了重定向报文中源链路本地地址、Target Address的Mac地址以及源设备的全球单播地址,保证了重定向报文不是陌生攻击者发送的,防止伪造的重定向报文提供虚假的Target Address进行重定向欺骗攻击。

主要改进了重定向报文的格式及设备装置的处理流程,定义了安全重定向,实现了安全的重定向交互,让主机正确的添加路由从而修正转发路径,解决了IPv6中容易遭受重定向攻击的问题。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种USB设备重定向数据传输方法、数据传输装置、本地装置和远程服务器
  • 一种剪切板重定向传输方法、装置、存储介质及电子设备
技术分类

06120116578397