科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道移动IPv6路由关键技术及其优化

移动IPv6路由关键技术及其优化

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

移动IP路由技术及其优化是移动IP发展过程中需要重点解决的问题。简要讨论了移动IP路由技术的发展历程,重点论述了移动IPv6的返回路由可达过程和绑定过程,提出了今后要解决的问题。

作者:zdnet安全频道 来源:论坛整理 2008年10月6日

关键字: 路由 IPv6

  • 评论
  • 分享微博
  • 分享邮件

    移动IPv4“三角路由”问题的存在,不仅严重浪费了网络资源,造成了网络通信效率的极度下降,并使MN与CN的通信受到HA和家乡链路的巨大影响[1]。随着移动IPv6的提出,“三角路由”问题得到了解决,使得路由效率大大提高。然而该效率的提高是以更多的安全考虑和引入更多的移动信息为代价的。针对移动IPv6的问题,提出了一种新的思路与方法——OMIPv6,在移动IPv6的基础上对路由优化做进一步的改进。

    1移动IPv6路由优化模式

    1.1现有移动IPv6路由的不足

    IPv6的引入,使得IP地址短缺现象得到了解决,因而在移动IPv6里无需FA的存在,通过引入绑定机制,当CN在自己的绑定缓存里找到了MN的位置后,便可将发往MN的数据包无需经过HA而直接到达MN。CN和MN通过二者之间的直接路役交换数据包,避开了HA,极大地节约了网络资源,并减少了因HA和家乡链路故障而造成的影响[1],比移动IPv4大大前进了一步。其路由优化如图1所示。

    然而,移动IPv6的路由优化模式需要通信双方共同计算一个共享密钥,通过该共享密钥对BU(BindingUpdate)和BA(BindingAcknowledge)进行认证。出于安全考虑,该共享密钥有一个生存期。在生存期快到时,通信双方需要重新计算一个新的Kbm(bindingmanagement Key)。对MN而言,每次计算一个新的Kbm时,都需要与CN交换4个移动信息(CoTI&CoT,HoTI&HoT),以便RRP(Return Routability Procedure)的正常运行。4个信息如果任意丢失一个,MN都需要与CN交换至少两个以上的额外信息。这么多的移动信息的引入,给移动IPv6的通信带来了极大的负担。此外,从冗余度方面考虑,在移动IPv6的路由优化模式下,绑定更新认证过程使得MN与CN、MN与HA通信时分别需要1.5个和1个往返时延。这对于那些对时间敏感的应用是不可行的。最后,从安全的角度看,由于每次MN执行RR测试时,MN与CN通信时有两个信息是以明文方式进行传输,CN与HA通信有两个信息是以明文方式传送,这给攻击者进行攻击提供了可乘之机。综上所述,移动IPv6的路由优化模式在移动信息的数量、冗余度以及安全方面都付出了高昂的代价。

移动IPv6路由关键技术及其优化(图一)

    1.2返回路由可达过程(ReturnRoutabilityProcedure)

    移动IPv6定义了两种不同的模式解决移动问题:双向隧道模式与路由优化模式。前者因为其自身的局限性(如根本没有进行优化)限制了应用。而后者因为对路由进行了优化而得到了极大的发展。简单来说,路由优化模式通过引入一个新的移动报头和依靠MN移动时交换的移动信令来实现。

    在路由优化模式下,移动IPv6引入了一个返回路由可达过程(RRP),通过它保证MN与CN通信时的安全,其原理是通过对MN与CN之间交换的信令进行加密来对它们之间的登记进行认证。通过RRP,CN知道是否能够使用MN通告的转交地址和家乡地址访问MN;如果RRP测试失败,CN将既不能接收MN的绑定更新,也不能直接发送分组到MN的转交地址。其测试方法是通过两个消息对(HoTI和HoT,CoTI和CoT)分别测试目的地址是家乡地址和转交地址的分组是否能够到达MN,并最后决定是否可以据此接收来自MN的绑定。

    简单说来,MN发送绑定更新BU来更新CN的绑定缓存表项(BindingCacheEntry),总共需6条信息。MN与CN在二者直接相连的路径上交换CoTI&CoT,通过MN的HA交换HoTI&HoT,在这4条信息成功交换后,MN再发送BU至CN,CN发送BA给MN对BU进行确认。前4条信息就构成了RRP。具体过程如图2所示。

    从消息发出时序看,HoTI和CoTI消息同时发送。作为响应的HoT和CoT也几乎同时返回。

    HoTI用于把MN的家乡地址和Cookie通知CN,请求CN提供家乡密钥生成令牌。而CoTI主要是把MN的转交地址和Cookie通知CN,请求CN提供转交密钥生成令牌。家乡密钥生成令牌与转交密钥生成令牌的方法相似,其过程如下:

    Homekeygentoken:=

    First(64,HMAC_SHA1(Kcn,(homeaddress|nonce | 0)))

    CN结合自己的节点密钥,也就是Kcn,以及从MN接收到的发送给家乡地址,再结合产生的临时随机数Nonce,运用HMAC_SHA1算法产生一个家乡密钥生成令牌[1]。HMAC_SHA1是流行的用于创建数字签名的单向散列算法[2]。通过First函数,截取由HMAC_SHA1散列函数产生的160位的散列值的前64位。转交密钥生成令牌的产生过程也与此大抵相同,只是将家乡地址变成了转交地址,如下所示:

    Care-ofdeygentoken:=

    First(64,HMAC_SHA1(Kcn,(care-ofaddress| nonce | 1)))

    用该方法产生的家乡、转交密钥生成令牌用于验证随后接收到的由MN发来的BU也经过了CN的授权,只要节点密钥和Nonce是有效的,这样产生的密钥生成令牌也是有效的。

    HoT则是CN对HoTI消息的响应。HoT由于以MN的家乡地址为目的地址,需要通过HA的中转才能到达MN。此外,来自MN的家乡测试初始Cookie也在HoT消息中返还,以确保这些消息通过了家乡代理和CN的可达路径。发往MN的家乡临时随机数索引,也使CN随后可以迅速有效地找到它创建家乡Cookie所使用的临时随机数,因而是必不可少的。

    CoT消息是CN对CoTI消息的响应,CoT消息被直接发送到MN的转交地址,并且在其中包括转交测试初始Cookie,以便MN确信它们来自CN的可达路径。CoT消息中提供了转交临时随机数索引,主要是用于标示产生转交Cookie的临时随机数。转交和家乡临时随机数索引在CoT和HoT消息中通常是相同的。

    当MN接收到COT和HOT消息后,RRP过程就全部结束了。

移动IPv6路由关键技术及其优化(图二)

    1.3绑定过程

    ·RRP与绑定过程

    只有通过返回路由可达过程测试,CN才能接收来自MN的绑定更新。所以,RRP对于MN与CN之间的绑定更新和绑定确认具有非常重要的作用。在RRP过程结束之后,MN确信CN既可以通过家乡地址,也可以通过转交地址访问自己,并获得向CN发送BU所必须的数据。MN通过对家乡密钥生成令牌、转交密钥生成令牌进行SHA1散列运算可以得到一个绑定管理密钥Kbm(bindingmanagementKey),其过程如下:

    Kbm=SHA1(homekeygentoken|care-ofkeygen token)

    通过该Kbm,MN或以向CN发送一个BU,进行CN上的绑定。

    ·MN发送绑定更新信息

    携带绑定更新消息的分组,除了使用MN的转交地址作为源地址和使用CN作为目的地址外,还包括家乡地址、MAC(messageauthenticationcodes)、家乡和转交临时随机数索引、顺序号等参数。MN通过创建Kbm对消息的发送进行授权,通过临时随机数索引选项通知CN使用哪个家乡和转交密钥生成令牌进行Kbm的计算。计算MAC时使用的参数包括转交地址、CN地址以及移动报头数据,计算结果将用于产生认证者字段。顺序号字段用于匹配随后接收到的绑定确认。CN一旦验证了MAC的结果,将会为该绑定创建一个绑定缓存表项。

    ·CN响应绑定确认信息

    对于绑定确认信息,携带的参数主要是顺序号和一个MAC编码。顺序号字段来自相应的绑定更新。MAC编码的计算根据是转交地址、CN地址以及绑定确认消息的部分内容,与绑定更新消息中MAC编码的计算类似。

    因为移动节点在不断移动,所以转交地址也在不断变化,也就造成了转交密钥生成令牌的变化,最终使得Kbm不断变化。对于Kbm的更新可以与Nonce一同进行,这样一个Nonce索引可以同时标示这两个值。因此,老的Kbm也应该与老的Nonce一同保留。

    在发送BU之前,MN必须等待家乡和转交密钥生成令牌生成Kbm。然而,由于资源的限制、绑定的快速删除及节点的重新启动,当CN使用这些密钥生成令牌处理BU时,密钥生成令牌不能保证仍然是“新鲜”而且可以接受的。当它们变得太旧时,CN将在BU中使用一个错误的编码通知MN,使它重新深度RRP。移动IPv6协议规定了临时随机数有一个最大的生存期(MAX_TO-KEN_LIFETIME)。在该生存期内,临时随机数都是可用的,密钥生成令牌在该段时间内也被认为是可用的,所以,MN可以把它用于多次的RRP。一个典型的例子就是节点愉速移动时,在新的位置可以重复使用最近来自于CN的家乡密钥令牌,并且仅仅获得一个转交密钥生成令牌以表示它在新位置的可达性。虽然由于转交和家乡返回路径可达测试本质上是可行的,但通过HA中转的家乡测试通常会花费更长的时间。尽管如此,这种优化在很多情况下也是有用的。对于有多个家乡地址的MN,也可以为这些地址使用相同的转交密钥生成令牌。

    通过上述情况分析,RRP不仅能够防范有权访问互联网上某一特定路径的潜在攻击者,还能有效地防止重防攻击[6],因而给MN和CN的通信提供了安全保证。

    尽管移动IPv6的RRP机制能够使MN与CN的通信基本上安全可靠。然而,RRP机制同样给二者之间的通信带来了较大的负荷,使得移动信息大大增加。要在移动IPv6路由优化的基础上再进行优化,必须在保证安全的前提下尽可能减少移动信息量。在此基础上,人们又提出了OMIPv6的概念。OMIPv6与移IPv6路由优化模式相比,大大减少了移动信令并且使之更不易受外部的攻击,极大地提高了效率[3]。

    2OMIPv6优点及原理

    2.1OMIPv6优点

    OMIPv6与移动IPv6的路由优化模式相比,至少具有以下特点[3]:

    ·大大减少了恶意节点实施欺骗的可能性。通过将HoT和CoT灵活地结合在一起,将易受攻击的漏洞减少到最小。

    ·不需要对密钥的分发专门进行管理,因而减少了可扩展性问题。

    ·与传统移动IPv6相比,OMIPv6使用一个更长的共享密钥,破解更困难。

    ·OMIPv6大大减少了移动信息,使得HoTI/CoTI、HoT/CoT信息的交换较少依赖于网络切换过程。

    2.2OMIPv6原理

    从前面的分析可知,虽然移动IPv6的路由优化解决了移动IPv4的“三角路由”问题,但在移动信息的数量、冗余度以及安全方面都付出了高昂的代价。OMIPv6[5]正是在这样的前提下提出来的。它使MN与CN之间的绑定更新和绑定确认信息的交换更安全、更可靠。同时大大减少了需要交换的移动信息,并在一定程度上减少了因切换带来的冗余。

    首先,OMIPv6引入了一个更长的共享安全密钥。该共享安全密钥来源于Diffie-Hellman[4]算法交换,当MN成功地与CN的地址进行家乡和转交地址测试后,就会引发DH交换。在MH与CN之间交换的DH信息都会被最新的RR(ReturnRoutability)测试所产生的Kbm鉴定。DH交换允许通信双方都建立一条双向的安全关联,该安全关联独立于通常的公共密钥体系,而移动IPv6的路由优化模式并没有建立安全关联。

    其次,DH信息交换的路径必须与RR测试信息交换路径相同。所以,MN首先使用Kbm对每一个DH信息进行标记,然后发送给CN。MN通过使用家乡地址选项将家乡地址随同DH信息一同发出。CN使用同样的Kbm对第一个DH信息进行标记并复制一份。CN发出的第二个DH信息首先通过直接路径发送,同时,CN将第二个DH信息复制一份,将该信息经过MN的HA发送给MN。两条信息到达MN后进行比较,如果相同,MN发送第三个DH信息给CN,CN再在相同的路径上发送第四个DH信息给MN。该方法能有效防止中间人(MiTM)的攻击。DH处理使通信双方计算一个称之为Kabm(authenticatedbindinganagementkey)的长的共享安全秘钥。该Kabm的作用是对MN与CN之间的绑定更新/绑定确认信息进行认证。DH交换能够在通信双方会话期间随时发起,例如,在第一次RR测试后立刻发起DH交换。这样,极大地减少了通信双方需要交换的移动信息,大大提高了通信效率。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章