首页> 中国专利> 基于DHCP监听的ISATAP隧道的认证方法和系统

基于DHCP监听的ISATAP隧道的认证方法和系统

摘要

本发明公开了基于动态主机配置协议(DHCP)监听的站内自动隧道寻址协议(ISATAP)隧道的认证方法和系统,所述方法包括:A、接入交换机监听IPv4/IPv6双协议栈主机的DHCP请求过程,建立包括所述双协议栈主机的MAC地址、IP地址、租期、虚拟局域网标识和端口号的绑定信息,将该绑定信息封装于绑定报文中发送给ISATAP路由器;B、要接入IPv6网络的双协议栈主机向ISATAP路由器发送路由器请求报文,请求全局IPv6地址前缀;C、ISATAP路由器根据所述路由器请求报文中的双协议栈主机IP地址查询绑定信息确定是否发送路由器公告告知所述双协议主机全局IPv6地址前缀。

著录项

  • 公开/公告号CN102546429A

    专利类型发明专利

  • 公开/公告日2012-07-04

    原文格式PDF

  • 申请/专利权人 神州数码网络(北京)有限公司;

    申请/专利号CN201210024450.5

  • 发明设计人 梁小冰;

    申请日2012-02-03

  • 分类号H04L12/56;H04L29/12;

  • 代理机构北京品源专利代理有限公司;

  • 代理人宋松

  • 地址 100085 北京市海淀区上地九街9号数码科技广场一段三层A区

  • 入库时间 2023-12-18 05:47:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-14

    授权

    授权

  • 2013-06-05

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20120203

    实质审查的生效

  • 2012-07-04

    公开

    公开

说明书

技术领域

本发明涉及计算机数据通信领域,尤其涉及一种基于DHCP监听(DHCP  Snooping)的ISATAP隧道的认证方法和系统。

背景技术

动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)是一 个从BOOTP协议发展而来网络协议,用于向主机动态分配IP地址及其它相关信 息。DHCP采用客户端/服务器模式DHCP客户端用于提出配置请求,DHCP服务器 响应于所述配置请求根据预定策略向DHCP客户端返回配置信息,所有的DHCP 报文均采用用户数据报文协议(User Datagram Protocol,UDP)封装。

DHCP监听(DHCP Snooping)功能指交换机监测DHCP客户端通过DHCP协议 获取IP的过程。它通过设置可信端口和非可信端口,来防止DHCP攻击及私设 DHCP服务器。从可信端口接收的DHCP报文无需校验即可转发。典型的设置是将 可信端口连接DHCP服务器或者DHCP中继代理(DHCP RELAY)。非可信端口连接 DHCP客户端,交换机将转发从非可信端口接收的DHCP请求报文,不转发从非可 信端口接收的DHCP回应报文。

站内自动隧道寻址协议(Intra-Site Automatic Tunnel Addressing  Protocol,ISATAP)是一种地址分配和主机到主机、主机到路由器和路由器到主 机的自动隧道技术,它为IPv6主机之间提供了跨越IPv4内部网络的单播IPv6 连通性。ISATAP一般用于IPv4网络中的IPv6/IPv4节点间的通信。ISATAP使 用本地管理的接口标识符::0:5EFE:w.x.y.z,其中:0:5EFE部分是由互联网号码 分配中心(IANA)所分配的固定的机构单元标识符(00-00-5E)和表示内嵌的 IPv4地址类型的类型号(FE)组合而成的。w.x.y.z部分是任意的单播IPv4地 址,既可以是私有地址,也可以是公共地址。任何有效的IPv6单播地址的64 位前缀都可以和ISATAP接口标识符相结合形成ISATAP地址,所述前缀包括链 路本地地址前缀(FE80::/64)、全球前缀(包括6to4前缀)和站点本地前缀。

IPv6/IPv4双协议栈主机(在后简称双协议栈主机)在与其他主机或路由器 通信之前,首先要获得一个ISATAP地址。双协议栈主机先向ISATAP服务器发 送路由请求,得到一个64位的IPv6地址前缀,然后再加上64位的接口标识符 ::0:5EFE:X.X.X.X(这里的X.X.X.X是双协议栈主机的IPv4单播地址),这样 就构成一个ISATAP地址。双协议栈主机配置了ISATAP地址后,就成了一个 ISATAP客户机,进而就可以在IPv4域内和其他的ISATAP客户机进行通信了。

同时,ISATAP隧道在目前IPv6网络应用初期使用很普遍,它使得远程双协 议栈主机节点可以透过IPv4网络到达本地IPv6接入网络路由器,获取IPv6地 址前缀,生成本地IPv6网络的合法地址,实现访问IPv6网络的目的。

ISATAP隧道既可以在企业网内部实施,也可以在网络外部实施。但ISATAP 隧道的一个缺陷是只要远程双协议栈主机节点在IPv4路由上可达接入IPv6网 络的ISATAP隧道路由器地址,无需身份验证就可以获得该IPv6接入网络的地 址,这在安全性上是不够的,恶意非授权用户很容易就可以借ISATAP隧道为跳 板对IPv6网络进行攻击。

发明内容

本发明的目的在于提供更具安全性的ISATAP隧道认证方法和系统,以纺织 恶意非授权用户通过ISATAP隧道接入IPv6网络。

本发明公开了一种基于动态主机配置协议(DHCP)监听的站内自动隧道寻 址协议(ISATAP)隧道的认证方法,包括:

A、接入交换机监听IPv4/IPv6双协议栈主机的DHCP请求过程,建立包括 所述双协议栈主机的MAC地址、IP地址、租期、虚拟局域网标识和端口号的绑 定信息,将该绑定信息封装于绑定报文中发送给ISATAP路由器;

B、要接入IPv6网络的双协议栈主机向ISATAP路由器发送路由器请求报文, 请求全局IPv6地址前缀;

C、ISATAP路由器根据所述路由器请求报文中的双协议栈主机IP地址查询 绑定信息确定是否发送路由器公告告知所述双协议主机全局IPv6地址前缀。

优选地,所述步骤A还包括:

所述ISATAP路由器从接收的绑定报文中提取所述绑定信息,根据所述绑定 信息建立并更新绑定信息表。

优选地,所述步骤C包括:

在接收到所述路由器请求报文后,ISATAP路由器验证所述路由请求报文的 源IPv6地址中包括的IPv4地址是否在ISATAP路由器的绑定信息表有记录,如 果有,则回应带有IPv6全局地址前缀的路由器公告报文(Router  Advertisement)告知双协议栈主机IPv6全局地址前缀,如果没有,则不回应, 由此使得未授权远程双协议栈主机就不能通过ISATAP路由器获得IPv6地址, 不能接入IPv6网络。

优选地,所述步骤A包括:

A01、接入交换机截获双协议栈主机的DHCP请求报文后建立包括该双协议 栈主机的MAC地址、接入端口和虚拟局域网标识的临时绑定;

A02、接入交换机截获发送给双协议栈主机的DHCP应答报文后根据该报文 中的MAC地址查询临时绑定提取所述DHCP应答报文IP地址和租期建立包括双 协议栈主机的MAC地址、IP地址、租期、虚拟局域网标识和端口号的绑定信息;

A03、接入交换机创建并保存绑定信息后,将绑定信息封装到绑定报文中, 根据预先配置的ISATAP路由器地址将绑定信息发送到ISATAP路由器;

A04、ISATAP路由器接收到绑定报文,从所述绑定报文中提取绑定信息保存 到本地的绑定信息表中。

优选地,所述步骤A03中所述接入交换机将所述绑定报文进行加密和散列 处理后再向ISATAP路由器发送。

优选地,所述加密处理为DES加密,所述散列处理为MD5散列处理。

本发明还公开了一种基于动态主机配置协议(DHCP)监听的站内自动隧道 寻址协议(ISATAP)隧道认证系统,所述系统包括双协议栈主机、接入交换机、 DHCP服务器和ISATAP路由器,其中:

所述双协议栈主机用于向DHCP服务器请求IPv4地址并在需要接入IPv6网 络时向所述ISATAP路由器发送路由器请求以请求全局IPv6地址前缀;

所述接入交换机用于监听IPv4/IPv6双协议栈主机的DHCP请求过程,建立 包括所述双协议栈主机的MAC地址、IP地址、租期、虚拟局域网标识和端口号 的绑定信息,将该绑定信息封装于绑定报文中发送给ISATAP路由器;

所述DHCP服务器用于响应于所述双协议栈主机的请求,向所述双协议栈主 机分配IPv4地址;

所述ISATAP路由器用于根据所述路由器请求报文中的双协议栈主机IP地 址查询绑定信息确定是否发送路由器公告告知所述双协议主机全局IPv6地址前 缀。

优选地,所述ISATAP路由器从接收的绑定报文中提取所述绑定信息,根据 所述绑定信息建立并更新绑定信息表。

优选地,在接收到所述路由器请求报文后,ISATAP路由器验证所述路由请 求报文的源IPv6地址中包括的IPv4地址是否在ISATAP路由器的绑定信息表有 记录,如果有,则回应带有IPv6全局地址前缀的路由器公告报文(Router  Advertisement)告知双协议栈主机IPv6全局地址前缀,如果没有,则不回应, 由此使得未授权远程双协议栈主机就不能通过ISATAP路由器获得IPv6地址, 不能接入IPv6网络。

本发明通过在接入交换机监听DHCP请求过程获取双协议栈主机的绑定信 息,并将绑定信息上传ISATAP路由器保存,使得ISATAP路由器在接收到双协 议栈主机的路由请求信息时,能够根据绑定信息表判定所述请求接入IPv6网络 的主机的合法性,从而避免了以此为跳板进行的各类网络攻击。

附图说明

图1是本发明实施例的基于DHCP监听的ISATAP隧道的认证系统的结构示 意图;

图2是本发明实施例的基于DHCP监听的ISATAP隧道的认证方法的方法流 程图;

图3是本发明实施例使用的绑定报文格式的示意图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

图1为本发明实施例的基于DHCP监听的ISATAP隧道的认证系统的结构示 意图。如图1所示,所述系统包括基于IPv4网络连接的双协议栈主机、接入交 换机、DHCP服务器以及用于使双协议栈主机接入IPv6网络的ISATAP路由器, 其中双协议栈主机连接到接入交换机,接入交换机通过IPv4网络与ISATAP路 由器和DHCP服务器连接,连接IPv4和IPv6网络。

在所述系统中,所述接入交换机包括DHCP监听绑定模块,所述DHCP监听 绑定模块用于监听双协议栈主机的DHCP请求过程,建立包括所述双协议栈主机 的MAC地址、IP地址、租期、虚拟局域网标识(VLAN ID)和端口号的绑定信息, 将该绑定信息封装于绑定报文中发送给ISATAP路由器。

当双协议栈主机希望从IPv4网络接入IPv6网络时双协议栈主机生成ISTAP 地址,即根据其IPv4地址w.x.y.z生成接口标识符::0:5EFE:w.x.y.z,然后加 上本地链路前缀fe80到自身的ISTAP地址fe80::0:5EFE:w.x.y.z,由此形成与 ISATAP路由器之间的IPv6连接。

如果要接入IPv6网络,则双协议栈主机需要获取全局的IPv6地址前缀, 因此双协议栈主机需要向所述ISATAP路由器发送路由器请求报文(Router  Solicitation)请求ISATAP路由器告知全局IPv6地址前缀。

ISATAP路由器根据绑定报文中的绑定信息建立并持续更新绑定信息表。在 接收到所述双协议栈主机发送的路由器请求报文后,ISATAP路由器验证所述路 由请求报文的源IPv6地址fe80::5efe:x.y.z.w中蕴含的IPv4地址x.y.z.w是 否在ISATAP路由器的绑定表有记录,如果有,则回应带有全局地址前缀的路由 器公告报文(Router Advertisement)告知双协议栈主机IPv6全局地址前缀, 如果没有,则不回应,这样未授权远程双协议栈主机就不能通过ISATAP路由器 获得IPv6地址,不能接入IPv6网络。

图2示出了本发明实施例的基于DHCP监听的ISATAP隧道的认证方法的方 法流程图。如图2所示,所述方法包括如下步骤:

步骤100、接入交换机监听双协议栈主机的DHCP请求过程,建立包括所述 双协议栈主机的MAC地址、IP地址、租期、虚拟局域网标识(VLAN ID)和端口 号的绑定信息。将该绑定信息封装于绑定报文中发送给ISATAP路由器。ISATAP 路由器根据绑定报文中的绑定信息建立并持续更新绑定信息表。

具体来说,在接入交换机上使能DHCP监听模块,设置可信端口,并配置接 收绑定信息的ISATAP路由器的IP地址,ISATAP路由器的接口上使能ISATAP隧 道认证模块。

接入交换机的DHCP监听模块下发DHCP报文重定向至交换机DHCP监听模块 的规则至交换芯片,交换机交换芯片收到DHCP报文后,不执行硬件转发行为, 而是将报文重定向至交换机DHCP监听模块。

接入交换机通过DHCP监听来监听双协议栈主机的DHCP请求过程,具体过 程如下:

101、接入交换机的DHCP监听模块截获双协议栈主机的DHCP请求报文后, 根据源MAC查询绑定表,如果该MAC在绑定表中存在,从预先配置的可信端口 转发出去;否则,交换机会创建一个临时绑定,记录所述主机的MAC,端口和VLAN ID,从预先配置的可信端口转发出去。

102、接入交换机的DHCP监听模块截获用户的DHCP应答报文(DHCP ACK) 后,根据报文中的chaddr字段查询临时绑定,如果临时绑定中存在相同用户MAC, 则创建一个绑定信息,根据所述临时绑定和所述DHCP应答报文中分配的IP地址 和租期记录所述双协议栈主机的MAC地址、IP地址、租期、VLAN号和端口号。

103、接入交换机创建并保存绑定信息后,将绑定信息封装到绑定报文中, 并对绑定报文进行加密和散列处理,根据预先配置的接收绑定信息的ISATAP路 由器的IP地址将绑定信息发送到ISATAP路由器;

将绑定信息加入到绑定报文中,再转发给ISATAP路由器。交换机和ISATAP 路由器之间的绑定报文利用UDP协议承载,其报文格式如图3所示,各字段解 释如下:

Version:版本号,目前为1

Type:类型,目前为1,表示包含绑定信息

SeqNo:序列号,每发送一个报文,加1

SecretLen:被加密报文的长度

Signature:DHCP SNOOPING绑定报文所有字段的MD5散列结果

SwitchIPAddr:交换机的IP地址

SwitchID:交换机ID,取交换机CPU MAC地址

Count:绑定数量

ClientMAC:租用地址的PC终端MAC地址

Reserved:保留,填0

ClientVlanId:DHCP用户接入交换机的VLAN ID

PortNum:DHCP用户所在的交换机端口号

ClientIP:用户IP地址

ClientMask:地址掩码

ClientGateway:网关参数

ClientLease:DHCP地址租期

bindingTimeStamp:分配地址的时间戳

为了防止用户信息泄露以及传输过程中被恶意篡改,可以对绑定报文进行 加密和散列处理,在本发明实施例中加密和散列处理选择DES加密和MD5散列 处理,DES密钥由用户配置,接入交换机与ISATAP路由器的密钥必须确保一致。

发送报文前,先进行加密,后进行散列处理,具体过程如下:

自SwitchIPAddr字段开始,一直到结尾的报文内容进行DES加密,密文与 明文等长,密文放入DHCP SNOOPING绑定报文中SwitchIPAddr字段开始的报文 区域,密文长度置于DHCP SNOOPING绑定报文的SecretLen字段,然后交给散 列处理模块。对于交换机DES加密后的DHCP SNOOPING绑定报文,计算MD5散 列时Signature字段先清零,然后对整个报文作散列运算,散列操作完成后散 列值填入Signature字段,这时报文可以发出交换机。

104、ISATAP路由器接收到绑定报文,从所述绑定报文中提取绑定信息保存 到本地的绑定信息表中。

收到绑定报文后,ISATAP路由器先进行散列计算,再解密,具体过程如下:

计算时先备份signature字段的值,然后signature字段清零,再计算整 个报文的MD5散列值,如果散列值与备份的signature字段的值一样,则散列 验证成功,继续对绑定报文作DES解密处理。如果散列验证失败,丢弃该绑定 报文。对于接收到的MD5散列验证成功的报文,交换机对从Signature字段之 后位置开始,长度由SecretLen字段指定的报文内容进行DES解密处理,还原 出自SwitchIPAddr字段开始的绑定报文内容。

步骤200、要接入IPv6网络的双协议栈主机向ISATAP路由器发送路由器请 求报文,请求全局IPv6地址前缀。

步骤300、在接收到所述双协议栈主机发送的路由器请求报文后,ISATAP 路由器验证所述路由请求报文的源IPv6地址中蕴含的IPv4地址是否在ISATAP 路由器的绑定信息表有记录,如果有,则回应带有全局地址前缀的路由器公告 报文(Router Advertisement)告知双协议栈主机IPv6全局地址前缀,如果没 有,则不回应,这样未授权远程双协议栈主机就不能通过ISATAP路由器获得IPv6 地址,不能接入IPv6网络。

本发明通过在接入交换机监听DHCP请求过程获取双协议栈主机的绑定信 息,并将绑定信息上传ISATAP路由器保存,使得ISATAP路由器在接收到双协 议栈主机的路由请求信息时,能够根据绑定信息表判定所述请求接入IPv6网络 的主机的合法性,从而避免了以此为跳板进行的各类网络攻击。

上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的 技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在 本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号