背景技术
现今,很多装置使用网际协议(IP)而彼此通信。为了对移动装置提供移动性支持,因特网工程任务组(IETF)已开发了“IPv6中的移动性支持”[非专利文献1]。在移动IP中,每个移动节点具有永久归属域(home domain)。当移动节点附接到其归属网络时,其被分配称为归属地址(HoA)的主全局地址。当移动节点离开时,即当其附接到其它外部网络(foreign network)时,通常,其被分配被称为转交地址(care-of-address,CoA)的临时全局地址。移动性支持的思想在于,使得移动节点既使在附接到其它外部网络时,也能以HoA到达该移动节点。在[非专利文献1]中,这通过在归属网络引入被称为归属代理(home agent)的实体而完成。移动节点使用被称为绑定更新(BU)的消息,向归属代理注册其CoA。这允许归属代理创建移动节点的HoA和CoA之间的绑定。归属代理负责截取(intercept)寻址到移动节点的HoA的消息,并使用分组封装(即,放置一个分组作为新分组的有效负载,也被称为分组隧穿(packet tunneling)),而将分组转发到移动节点的CoA。
尽管这允许移动性支持,但出现了被称为次优化路由(sub-optimal routing)的问题。这是因为,当移动节点与对方节点(correspondent node,CN)通信时,在它们之间发送的分组必须通过归属代理。为此原因,[非专利文献1]规定了:移动节点可向对方节点发送BU。一旦对方节点知晓移动节点的HoA和CoA之间的绑定,便可将在它们之间往返的分组直接路由到移动节点的CoA,或从移动节点的CoA直接路由所述分组(而不通过归属代理)。然而,现在,安全性是所关心的。可保证从移动节点发送到归属代理的BU的安全性,这是因为,假定移动节点及其归属代理共享安全关联。对于移动节点与对方节点来说,这样的假定变为不实际。
为此,[非专利文献1]规定了被称为返回路由能力(return routability,RR)过程的过程,其允许对方节点确定在BU中指定的HoA和CoA真正搭配(collocate)。本质上,RR过程需要移动节点在向对方节点发送BU之前、从对方节点得到两个安全生成的令牌。为初始化RR过程,首先,移动节点向对方节点发送两个不同的消息:归属测试初始化(Home-Test-Init,HoTI)消息、以及转交测试初始化(Care-Of-Test-Init,CoTI)消息。用移动节点的HoA作为分组源经由归属代理发送HoTI,并且,用移动节点的CoA作为分组源直接发送CoTI。一旦接收到HoTI,对方节点便将利用发送到移动节点的HoA的归属测试(Home-Test,HoT)消息来应答,其中,Home-Test消息包含被称为Home Keygen Token(HoK)的、使用私钥而基于移动节点的HoA加密地生成的安全令牌。类似地,一旦接收到CoTI,对方节点便将利用发送到移动节点的CoA的转交测试(Care-Of-Test,CoT)消息来应答,其中,Care-Of-Test消息包含被称为Care-OfKeygen Token(CoK)的、使用私钥而基于移动节点的CoA加密地生成的安全令牌。一旦移动节点接收到HoT和CoT消息两者,其便可向对方节点发送包含验证符(Authenticator)的BU。此验证符是使用作为HoK和CoK的级联的密钥而加密地生成的BU的校验和(checksum)。这样,当对方节点接收到该BU时,其可独立地计算校验和,并检验该校验和是否等于在验证符中携带的校验和。这验证了:在BU中指定的CoA和HoA真正搭配。
已出现了批评由返回路由能力过程提供的保护的强度的评论。攻击者有可能能够截取CoT和HoT消息两者,并且,由此,获得通过返回路由能力过程建立的移动性密钥的秘密。甚至更糟地,这样的攻击者能够容易地构造假冒的CoTI和HoTI消息,并欺骗对方节点将移动节点的HoA绑定到错误的CoA。这允许攻击者向移动节点发起拒绝服务(denial-of-service)攻击,或使对方节点无意地参加到针对所指定的CoA的真实所有者的淹没攻击(flooding attack)。为此,[美国专利申请20050041634A1]和[美国专利申请20030211842A1]指定加密地生成的证书的使用,其验证在移动节点向对方节点发送BU时要使用的地址的所有权。在这些现有技术的一个方面,使用例如在[美国专利申请20020133607A1]中公开的那些技术的技术,加密地生成HoA和/或CoA自身,以便将HoA和/或CoA与在BU内发送的证书加密地关联,从而使得地址的劫持近于不可能。
随着无线装置的持续不断地激增,可以预见,将出现新一类移动技术:网络移动性,其中,节点的整个网络以整体的方式改变其附接点。通过将对单个主机的移动性支持的概念扩展到对节点的网络的移动性支持,移动解决方案中的网络的目的在于,提供这样的机制,其中,移动网络中的节点可通过它们的主全局地址而到达,不论移动网络附接到因特网上的何处。存在基于移动IP来解决移动中网络的问题的一些现有的尝试。所提出的用于移动中网络的一种解决方案为移动路由器支持[美国专利6636498]。这里,控制移动网络的移动路由器在其处于其归属域时、使用某些路由协议而执行向和从移动网络的分组的路由。当移动路由器及其移动网络移动到外部域时,移动路由器向其归属代理注册其CoA。随后,在移动路由器及归属代理之间建立隧道。在该隧道上再次执行在移动路由器处于其归属域时使用的路由协议。这意味着,将通过归属代理来截取前往移动网络的每一个分组,并通过该隧道而将其转发到移动路由器。随后,移动路由器将该分组转发到其移动网络中的主机。当移动网络中的节点希望将分组发送出网络时,移动路由器截取该分组,并通过隧道而将该分组转发到归属代理。随后,归属代理将该分组发出到所期望的接收方。除了仅仅明确声明支持IPv6支外,在[美国专利申请US20030117965A1]中公开的另一个解决方案很大程度上是类似的。在[美国专利申请US20030095523A1]中,公开了使用多播地址作为移动路由器的CoA的方法。这允许移动路由器即使在其已移动到新的接入网络之后、也能够使用相同的CoA而被访问到。如[非专利文献2]中所公开的,IETF当前也正在开发用于网络移动性的解决方案。在[非专利文献2]中,规定了:当向归属代理发送BU时,移动路由器将指定移动网络中的节点正在使用的网络前缀(prefix)。使用要被插入到BU的被称为网络前缀选项的特定选项而指定所述这些。这些允许归属代理构建基于前缀的路由表,使得归属节点将把利用这些前缀而发送到目的地的任意分组转发到移动路由器的CoA。
[非专利文献1]Johnson,D.B.,Perkins,C.E.,and Arkko,J.,″Mobility Support in IPv6″,Internet Engineering Task Force Request For Comments 3775,June 2004。
[非专利文献2]Devarapalli,V.,et.al.,″NEMO Basic Support Protocol″,Internet Engineering Task Force Request For Comments 3963,January 2005。
[非专利文献3]Arkko,J.,et.al.,″Secure Neighbor Discovery(SEND)″,Internet Engineering Task Force Request For Comments 3971,March 2005。
[非专利文献4]Ng,C.W.,and Hirano,J.,″Extending Return Routability Procedure for Network Prefix(RRNP)″,Internet Engineering Task Force Internet Draft:draft-ng-nemo-rrnp-00.txt,Oct 2004,Work In Progress。
[专利文献1](美国专利申请20050041634A1)Aura,A.T.,″Verifying location of a mobile node″,美国专利申请20050041634A1,February 2005。
[专利文献2](美国专利申请20030211842A1)Kempf,J.,et.al.,″Securing Binding Update Using Address Based Keys″,美国专利申请20030211842A1,November 2003。
[专利文献3](美国专利申请20020133607A1)Nikander,P.,“Address Mechanism in Internet Protocol”,美国专利申请20020133607A 1,September 2002。
[专利文献4](美国专利6636498)Leung,K.K.,″Mobile IP mobile router″,美国专利6,636,498,Oct 2003。
[专利文献5](美国专利申请20030117965A1)Markki,O.E.,et.al.,″Mobile Router Support for IPv6″,美国专利申请20030117965A1,Mar 2002。
[专利文献6](美国专利申请20030095523A1)Korus et.al.,″Method and Apparatus for providing IP mobility for mobile network″,美国专利申请20030095523A1,May 2003。
在[美国专利6636498]、[美国专利申请US20030117965A1]和[非专利文献2]中,没有对要直接从移动网络发送到对方节点、而不通过归属代理的分组作出规定。这导致在移动IPv6中的次优化路由的相同的问题,从而产生较高的分组等待时间。尽管[美国专利申请20030095523A1]提及了向对方节点发送将多播CoA绑定到移动路由器的HoA的BU的手段,但不清楚对方节点如何能够将移动路由器之后的移动网络中的移动网络节点的地址与移动路由器的HoA相关联。
一种单纯的解决方案为:在发送到对方节点的BU消息中简单地包括如在[非专利文献2]中提及的单个或多个网络前缀选项。这样的BU消息在现有技术中被称为前缀范围(prefix-scoped)BU消息、或简称为PSBU消息。这样,对方节点将把来自指定的网络前缀的地址与移动路由器相关联,并且,随后可将具有来自这些前缀的目的地的分组直接发送到移动路由器的CoA。尽管这看起来似乎是合理的解决方案,但本领域的技术人员的细心分析将会揭示:RR过程仅确保CoA与移动路由器的HoA搭配。通过简单地在BU消息中添加网络前缀选项,对方节点无法确定特定的网络前缀确实由具有特定的HoA的移动路由器处理。在没有这样的确保的情况下,恶意的攻击者可向对方节点提供其自己的(有效的)HoA和CoA,但在BU中宣称其正在处理其实际上不拥有的前缀。这将打开拒绝服务和电子欺骗(spoofing)攻击的大门,其中,对方节点将意图用于具有来自被攻击的前缀的地址的其他节点的分组发送到该攻击者。
尽管[美国专利申请20050041634A1]和[美国专利申请20030211842A1]规定了加密地证实(certify)BU消息中的CoA和HoA,但不覆盖存储在PSBU消息中的前缀信息的验证。[非专利文献3]描述了使用IPv6的邻居发现(Neighbor Discovery)协议来提供用于验证路由器、以及它们要求管理的前缀的真实性(authenticity)的证书的方法。这使用被称为邻居发现选项的特定选项来散布(disseminate)证书。然而,其限于允许与路由器相同的网段上的节点验证路由器的权限(authority)。不清楚邻居发现选项的概念能够如何被用于保护PSBU消息。
发明内容
由此,本发明的主要目的在于,提供用来允许PSBU消息的接收方确定移动路由器实际上拥有在PSBU消息中指定的网络前缀的机制。一旦接收方进行了验证,则其随后可建立用来通过分组封装或其它方式、而将目的地为来自网络前缀的地址的分组直接转发到移动路由器的CoA,而不通过归属代理。
根据本发明的一个方面,提供了在分组交换数据通信网络中的通信系统,其包括:管理移动网络的移动路由器,其进行用于建立在所述移动网络中的节点与移动网络外部的对方节点之间的通信会话的路由优化,所述移动路由器将绑定更新消息发送到对方节点,所述绑定更新消息包含所述移动路由器的归属地址、所述移动路由器的转交地址和所述移动网络的一个或多个地址前缀,所述绑定更新消息还包含验证参数、以及验证路径信息,所述验证参数能够使所述对方节点验证绑定更新消息的发送方是移动网络的指定的一个或多个地址前缀的真实的所有者,所述验证路径信息包含绑定更新消息的接收方用来得到所述验证参数的验证所需的信息,所述移动路由器包括:安全单元,其负责维护移动路由器所得到的证书,并根据需要生成移动路由器的证书;以及路由优化单元,其负责建立并维护移动路由器和由移动路由器管理的移动网络之外的对方节点之间的路由优化会话。
在本发明的优选实施例中,所述验证参数是加密证书、加密证书的一部分、或加密证书的派生物(derivation),所述加密证书由信任锚点(trust anchor)发行,其特征在于,该加密证书包括包含移动路由器的识别信息和移动路由器对移动网络的一个或多个地址前缀的所有权的信息部分、以及包含信息部分的加密生成的校验和的签名部分,该加密证书使除所述信任锚点之外的节点可根据签名部分来验证信息部分的有效性,但不能从该信息部分生成签名部分。
优选地,移动路由器通过以下步骤:(i)由手动地构成所述加密证书、并被存储在所述移动路由器中;(ii)所述移动路由器为了从所述信任锚点检索所述加密证书,通过在与所述移动路由器的归属代理之间建立的双向隧道上执行现有的适合的协议;(iii)所述移动路由器在被发送到所述归属代理的绑定更新消息中嵌入信号,所述归属代理一旦检测到这样的信号,便从信任锚点检索所述加密证书,并在传送回到所述移动路由器的绑定确认内传送所检索到的证书;或(iv)当所述移动路由器从其归属网络请求前缀委派时,通过将加密证书连同前缀信息一起传送到所述移动路由器;来得到所述加密证书。
在另一个优选实施例中,提供了用以验证由根据本发明一个方面的所述通信系统的移动路由器发送的、由对端节点所接收到的绑定更新消息的方法,其中该绑定更新消息包含由移动路由器管理的移动网络的一个或多个地址前缀、加密证书和验证路径信息,该方法包括以下步骤:检验在绑定更新消息中指定的一个或多个地址前缀与在加密证书的信息部分中指定的地址前缀是否一致;从信任锚点检索密钥,所述信任锚点通过在绑定更新消息中包含的验证路径信息来识别;以及使用所述密钥来检验加密证书的有效性。
另一个优选实施例提供了用以验证由根据本发明一个方面的所述通信系统的移动路由器发送的、由对端节点所接收的绑定更新消息的方法,其中该绑定更新消息包含由移动路由器管理的移动网络的一个或多个地址前缀、加密证书的签名部分和验证路径信息,该方法包括以下步骤:基于在绑定更新消息中指定的一个或多个地址前缀而导出加密证书的信息部分;
从信任锚点检索密钥,所述信任锚点通过在绑定更新消息中包含的验证路径信息来识别;以及基于所接收的加密证书的签名部分,使用密钥来检验导出的加密证书的信息部分的有效性。
另一个优选实施例提供了用以验证由根据本发明一个方面的所述通信系统的移动路由器发送的、由对方节点所接收的绑定更新消息的方法,其中所述对方节点为了执行包含移动网络的一个或多个地址前缀的绑定更新消息中包含的加密证书、或所述加密证书的导出参数的验证联系第三方,所述第三方代替对方节点执行所述验证,并且向对方节点通知验证的结果。
另一个优选实施例向移动路由器提供了用来通过将其能力的描述嵌入在所述对方节点的分组中,以建立路由优化会话,通过使移动路由器的能力的描述包括移动路由器所支持的方法,向对方节点验证宣称所述移动路由器拥有的移动网络的一个或多个地址前缀。
同样地,该实施例还向对方节点提供了一旦接收到由移动路由器发送的包含移动路由器的能力的描述的分组、便利用包含所述对方节点的能力的分组来响应的手段,其被布置为使得对方节点的能力的描述包括对方节点所支持的方法,以验证宣称移动路由器拥有的一个或多个地址前缀。
另一个优选实施例提供了根据本发明一个方面的所述通信系统中的移动路由器设备,其包括:低层网络接口,其具有能够使移动路由器与移动网络外部的对方节点进行通信所需的所有连网硬件、软件和协议;路由单元,其进行对于在网络互连层中的路由的所有处理;隧穿单元,其负责用于建立并维护所述移动路由器及所述移动路由器的归属代理之间的双向隧穿、以及用于路由优化会话的双向隧道的建立和维护;安全单元,其负责维护所述移动路由器所得到的证书,并根据需要生成所述移动路由器的证书;以及路由优化单元,其负责建立并维护所述移动路由器和由所述移动路由器管理的移动网络之外的其他的对方节点之间的路由优化会话。
具体实施方式
本发明规定了连接到全球分组交换数据通信网络(例如,如图1所示的因特网100)的通信节点的系统。移动路由器MR 140通过附接到接入网络104的接入路由器AR 130,而获得对因特网100的接入。移动路由器MR 140管理移动网络108。图1中示出了一个移动网络节点MNN 150。移动路由器MR 140属于归属网络102,其中,HA 110用作其归属代理。信任锚点(anchor)TA 120是归属网络102的权威机构(authority),其向路由器发出路由器证书,从而证实路由器的权限和真实性,以便管理归属网络102中的前缀。优选地,这样的路由器证书由TA 120生成,并包含信息部分和签名部分。信息部分详述了路由器的身份、以及所识别的路由器的一个或多个前缀的所有权。优选地,签名部分是加密生成的信息部分的校验和。
生成这样的校验和的一种途径为使得信任锚点拥有以这样的方式相关的一对加密密钥,该方式即,一个密钥提供加密功能,而另一个密钥提供对应的解密功能。随后,可使用信任锚点的加密密钥来加密校验和,并可利用关联的解密密钥来验证该校验和。这个加密的校验和形成签名部分。在操作中,使信任锚点的加密密钥保密,而将关联的解密密钥自由分发到请求该密钥的任意节点。这样,任意实体可验证签名部分(由于公众可以得到解密密钥),但是,除了信任锚点之外的实体均不能生成这样的签名部分(由于使加密密钥保密)。在现有技术中,这一对密钥也被称为公共-私钥对。在[非专利文献3]中详述了生成并散布这样的路由器证书的优选途径。
为更佳地说明本发明,考虑当MNN 150与因特网100中的对方节点(被称为CN 160)具有通信会话时的情况。根据[美国专利6636498]、[美国专利申请US20030117965A1]、以及[非专利文献2]所教导的现有技术,在MNN 150和CN 160之间发送的分组将必须沿着如图2所示的路径210、212和214。这是由于在移动路由器MR 140及其归属代理HA 110之间建立的双向隧道。为避免这样的次优化路由,并使在MNN 150和CN 160之间发送的分组沿着更直接的路径,实现此的一个可能的方式为,使移动路由器MR 140向CN 160发送前缀范围绑定更新(PSBU)消息。PSBU将包含移动路由器MR 140的HoA和CoA、以及MR 140所管理的移动网络前缀。这样,CN 160将在其路由表中建立路由条目,其指定:发送到落入MR 140所管理的移动网络前缀内的地址的任何分组均应当直接隧穿(tunnel)到MR 140的CoA。由于MNN 150具有落入MR 140所管理的移动网络前缀内的地址,所以,在MNN 150和CN 160之间发送的分组将跳过路径212和214,并且,相反,沿着图2中示出的更直接的路由210和220。
如果对方节点使用外部代理来代表其自身执行路由优化,则可应用相同的路由优化的概念。例如,考虑图1中图解的对方网络106内的对方节点CN162。对方路由器CR 170能够代表对方网络106内的任意节点来执行路由优化。考虑当MNN 150具有与CN 162的通信会话时的情况。如果不使用路由优化,则如图3所示,在MNN 150和CN 162之间发送的分组沿着路径310、312、314、以及316。假定MR 140知晓CR 170能够执行用于CN 162的路由优化。那么,MR 140可向CR 170发送PSBU消息,以在MR 140和CR 170之间建立双向隧道。在适当的位置利用该双向隧道,如图3所示,在MNN 150和CN 162之间流动的流量可沿着更直接的路径310、320和316的路由。
尽管将PSBU发送到对方节点或对方路由器(为了易于说明,之后将使用术语“对方实体”及其简称CE表示具有终止与移动路由器的路由优化会话的能力的对方节点或对方路由器)具有优化移动网络节点和对方节点之间的路由的优点,但对方实体将被暴露于安全风险。这是因为,如果对方实体无法验证在PSBU消息中包含的信息的真实性,则其可能被欺骗建立错误的路由,导致将被发送到移动网络节点的分组不知不觉地被重新导向到某个其它节点。本发明旨在向对方实体提供验证在PSBU消息中包含的信息的手段。
回想一下,信任锚点TA 120是在管理归属网络102内的前缀时、向归属网络102内的路由器发出路由器证书、以证实它们的真实性的权威机构。移动路由器MR 140可经由移动路由器MR 140与归属代理HA 110维持的双向隧道,而从TA 120得到路由器证书。在得到这样的路由器证书之后,移动路由器MR 140可使用该路由器证书、来证明该路由器MR对其在PSBU消息中指定的移动网络前缀的所有权。
移动路由器MR 140可得到路由器证书的一种方式为:使得对于系统手动地配置该路由器证书、并将其存储在移动路由器的次级存储装置中。在此情况下,优选地,该路由器证书最好应具有较长的有效周期(例如数周或数月)。在相关技术领域中,总是存在假定的预先存在的移动路由器及其归属代理之间的安全关系。这个预先存在的安全关系被用来保护由移动路由器发送到其归属代理的BU消息。当被手动地配置到移动路由器的系统中时,路由器证书可为这个“预先存在的安全关系”的一部分。事实上,路由器证书可为“预先存在的安全关系”。移动路由器MR 140可使用该路由器证书,来对其发送到归属代理HA 110的BU消息进行签名。一旦接收到该BU消息,归属代理HA 110便可检索归属网络中的TA 110的公共密钥,并验证该BU消息的真实性。本领域的技术人员应理解,归属代理HA 110和信任锚点TA 120事实上可驻留在同一实体上(即,它们是同一节点)。
得到路由器证书的另一个方式为,移动路由器在移动路由器MR 140和HA 110之间建立的双向隧道上,使用如在[非专利文献3]中指定的邻居发现选项。优选地,MR 140将在建立了与其归属代理HA 110的双向隧道之后的短时间内,开始从TA 120得到路由器证书。
移动路由器MR 140可得到路由器证书的另一种途径为通过归属代理HA 110的协助。这里,当移动路由器MR 140向其归属代理HA 110发送BU消息用于归属注册时,其可将一信号嵌入该BU消息。此信号向归属代理HA 110通知:移动路由器MR 140需要归属代理HA 110得到用于移动路由器MR 140管理的路由器证书。优选地,可将此信号实现为在BU消息的标志中设置一位,或者可替换地,实现为被插入BU消息的额外移动性选项。一旦归属代理HA 110检测到此信号,其便将代表移动路由器而从信任锚点TA 120得到路由器证书。在任意情况下,由于归属代理HA 110需要截取用于移动网络前缀的分组,所以,无论如何,其将必须得到某个形式的路由器证书。一旦得到,便可通过将路由器证书置入绑定确认消息选项,而将路由器证书传送回到移动路由器MR 140。这样的选项可为将在此说明书中的后面描述的图4中示出的证书选项。
另外,相关技术领域中的某些建议暗示了用来将移动网络前缀委派(delegation)给移动路由器的前缀委派的使用。这样的前缀委派机制可为在移动路由器及其归属代理之间建立的双向隧道上执行的标准的动态主机配置协议(DHCP),或被合并到绑定更新过程中。在后者中,将特殊信号嵌入移动路由器所发送的BU消息,以向归属代理通知:移动路由器需要委派移动网络前缀。随后,归属代理将通过将这样的信息嵌入发送到移动路由器的绑定确认中,而向移动路由器通知委派的前缀。可在委派前缀的同时分发用于委派的前缀的路由器证书。如果使用了DHCP,则可在相关的DHCP消息中委派前缀的同时,将用于委派的前缀的路由器证书传递到移动路由器。如果将前缀委派嵌入绑定更新和确认消息,则可将附加的信号插入到绑定更新消息,以向归属代理通知:除了网络前缀之外,还需要路由器证书。随后,归属代理可将路由器证书与委派的前缀一起插入到被传送到移动路由器的绑定确认消息中。
存在移动路由器可向在PSBU消息中指定的网络前缀的验证并入路由器证书的各种方式。将在之后描述一些更优选的途径。
优选的操作模式将为:移动路由器MR 140在发送到对方实体(CN 160或CR 170)的PSBU消息中插入从由信任锚点TA 120签名的路由器证书导出的一些参数。图4示出了PSBU消息400的格式。PSBU消息400的源地址字段402和目标地址字段404应分别包含MR 140的CoA、以及对方实体的地址。PSBU消息应包含归属地址选项410,以传达MR 140的HoA。PSBU的实际内容被存储在移动报头(mobility header)420中。类型字段422将此消息指定为绑定更新消息,并且,长度字段指定移动报头420的大小。序列号字段426是单调增长的数目,用来识别BU消息,并且保护不受重放攻击(replay attack)。生命期字段428指示在BU消息中指定的绑定有效的时间长度。BU消息400还包含一系列标志430至436。在MR 140请求接收方利用绑定确认消息来响应时设置A标志430。清空H标志432,以指示这不是归属注册。清空M标志434,以指示这不是移动锚点注册。设置R标志,以指示发送方(即,MR 140)用作路由器,并且,BU消息400将包含一个或多个网络前缀选项440。每个网络前缀选项440将包含有关移动路由器MR 140所管理的一个移动网络前缀的信息。长度字段442以位数的方式指示前缀长度,而前缀字段444包含实际的前缀。
BU消息400的前述字段在现有技术中为公知的。此发明引入了用于MR 140的新的证书选项450,以包括用于验证其对于拥有在网络前缀选项440中指定的前缀的主张的安全参数。参数字段452包含从自TA 120得到的路由器证书导出的参数。验证路径字段454包含识别信任锚点TA 120的信息,使得接收方知晓要联系那个实体,以便验证参数字段452的真实性。
优选地,参数字段454可包含实际的路由器证书自身(部分或整体)。一旦接收到具有路由器证书的PSBU消息,对方实体(CN 160或CR 170)便可基于在PSBU消息中存储的信息,而验证PSBU消息的真实性。这在图5中被图解。首先,在如步骤510所示、接收到PSBU消息之后,对方实体应验证在PSBU消息的网络前缀选项中指定的前缀信息是否与在伴随PSBU消息的路由器证书中指定的前缀相同或者是整个包含在所述指定的前缀内的子范围,如步骤520所示。如果在网络前缀选项中指定的前缀与在路由器证书中所述的前缀不匹配,则如步骤525和550所示,对方实体应拒绝该PSBU消息。如果所述前缀匹配,则进行步骤530,其中,对方节点验证证书自身的真实性。这可包括(但不限于)检查路由器证书是否包含有效的签名部分。如果路由器证书被验证为有效,则进行步骤540,其中,对方实体接受该PSBU消息。否则,进行步骤550,其中,对方实体拒绝该PSBU消息。
可替换地,参数字段454可仅包含路由器证书的签名部分。在此情况下,对方实体需要基于从所接收的PSBU消息提取的内容,独立地导出路由器证书的信息部分。这在图6中被图解。首先,在如步骤610所示、接收到PSBU消息之后,对方实体基于所接收的PSBU消息的内容而构造路由器证书的信息部分。这需要TA 120和对方实体用来构造路由器证书的信息部分的标准化方法。例如,诸如因特网工程任务组的标准化体可制定路由器证书的信息部分的内容。他们可指定,该信息部分利用移动路由器的HoA、之后跟随以与关联的网络前缀选项在PSBU消息中的出现次序相同的次序排列的移动网络前缀来构成。
在任意情况下,对方实体将基于来自所接收的PSBU消息的内容,而在步骤620中构造路由器证书的信息部分。随后,在步骤630中,对方实体验证在PSBU消息的签名部分中传达的路由器证书的签名部分。如果该签名部分被验证为有效,则将进行步骤635和640,其中,对方实体接受PSBU消息。否则,进行步骤640,其中,对方实体拒绝PSBU消息。
两个前述方法两者均需要对方实体验证在所接收的PSBU消息中传送的签名部分。对方实体可通过首先从PSBU消息的验证路径选项中识别信任锚点而完成该操作。优选地,验证路径选项指定用来识别和定位信任锚点的方式,如通过提供信任锚点的完全合格的域名(FQDN)、或通过提供信任锚点的IP地址。通过这样,对方实体可确定其是否想要首先信任此信任锚点,并且,如果它这样做,则对方实体可联系该信任锚点,以得到用于验证路由器证书的签名部分的手段。优选地,这可包括用于解密从信息部分的加密校验和的加密构造的签名部分的、信任锚点的公共密钥。
可替换地,对方实体可将验证任务传递到某些其它节点。例如,图1中的信任锚点TA 122可用于执行这样的验证任务。这暗含地意味着:对方实体信任该信任锚点122以正确地执行验证过程。可实现此的一种方式为:信任锚点TA 122也是在对方实体驻留的域中发出证书的权威机构。在另一个优选部署中,可能存在全球中央权威机构,其可验证不同的信任锚点的签名。在后一模型中,整个因特网基础结构具有信任锚点的分级,以提供信任关系链,这与如何部署当前的域名解析服务几乎一样。每个信任锚点可验证分级在其自身之下的任何信任锚点的签名。由此,当对方实体希望检查签名的有效性时,其将所接收的验证路径选项的签名加内容、或其中的一部分转发到该对方实体域中的信任锚点。如果信任锚点可验证签名的有效性,则信任锚点将响应该对方实体。否则,信任锚点将把它传递到其下一个较高级别的信任锚点,以便验证。重复此过程,直到该分级中的信任锚点能够提供响应为止。
在将PSBU消息发送到对方实体之前,优选地,移动路由器MR 140应完成返回路由能力(RR)过程。这是因为,路由器证书的使用仅验证其对于管理在PSBU消息中指定的网络前缀的主张。仍将需要返回路由能力来允许对方实体验证如在PSBU消息中指定的MR 140的CoA和HoA的搭配。
可替换地,如果移动路由器MR 140当前附接的接入网络104提供信任锚点TA 124,则可省略RR过程。在此情况下,移动路由器MR 140可从信任锚点TA 124得到地址证书,以验证MR 140对其当前CoA的所有权。这可以以多种方式来完成。一种优选途径为,使用如在[非专利文献3]中指定的邻居发现(Neighbor Discovery)选项,来散布这样的地址证书。移动路由器MR 140也可在PSBU消息中附加地址证书、其一部分、或地址证书的衍生物。这样,由于接收方(即,对方实体)可验证在PSBU消息中包含的所有信息,所以,可省略返回路由能力过程。可使用路由器证书来验证MR 140的HoA、以及所指定的网络前缀。可使用TA 124发出的地址证书来验证MR 140的CoA。
由于本发明公开了新的机制,其中,对方实体可验证在PSBU消息中包含的信息,所以,某种后退(fallback)机制是必要的,以在MR 140联系不理解PSBU中的证书的对方实体时允许适当的降级(degradation)。完成此的一种优选方式为移动路由器MR 140启动与对方实体的能力交换过程。在能力交换期间,移动路由器MR 140和对方实体将彼此通知它们拥有何种额外能力,如使用路由器证书来验证移动网络前缀选项的能力、使用地址证书来验证CoA的能力等。这样,移动路由器MR 140和对方实体将知晓彼此的能力,并且,它们可从它们均拥有的公共能力集合中进行选择。
较敏感的读者将认识到,具有能力交换过程的额外步骤将引发附加的往返延迟,这是由于移动路由器和对方节点将需要向彼此发送至少一个分组。为此原因,优选地,可在执行返回路由能力过程的同时完成能力交换。实现其的一种方式为,在HoTI和HoT消息中嵌入能力(或者,可替换地,可将能力嵌入CoTI和CoT消息中)。图7示出了用于完成其的消息格式。消息700可为HoTI、HoT、CoT或CoTI消息中的任一个,其具有适当的源地址字段702和目标地址字段704。该消息包含移动报头710,其具有将此消息识别为HoTI、HoT、CoT或CoTI消息中的任一个的消息类型字段712。本发明引入了要被插入移动报头710的新的能力选项720。在这个新的能力选项720内,存在将此选项识别为能力选项的选项类型字段722、以及一个或多个能力标志字段724。能力标志字段724描述发送方的能力。可向每个能力分配唯一代码,并且在能力标志字段724中包括该代码指示发送方具有关联的能力。可替换地,能力标志字段724中的每一位可对应于特定的能力。能力标志字段724中的位的设置指示:发送方拥有对应的能力。
例如,考虑移动路由器MR 140希望建立与对方路由器CR 170的路由优化会话的情形。图8a示出了消息序列图,其中,对方路由器CR 170用路由器证书来实现验证PSBU消息的能力。首先,MR 140通过向CR 170发送HoTI消息,而利用能力交换来发起返回路由能力过程。由于HoTI消息应携带发送方的归属地址,所以,将其隧穿到MR 140的归属代理HA 110。这在图8a中被示出为隧穿的HoTI消息810。HA 110将把该分组解包(decapsulate),并将HoTI消息811转发到CR 170。在此HoTI消息811中,MR 140将指示其下述能力,即包括用于验证网络前缀信息的路由器证书、包括用于验证CoA的地址证书、以及使用用于验证PSBU信息的扩展的返回路由能力过程(如在[非专利文献4]中公开的过程)的能力。当CR 170接收到此HoTI消息811时,其利用HoT消息812来响应。由于所接收的HoTI消息811包括能力选项,所以,CR 170还在HoT消息812中包括新的能力选项。这里,CR 170将指示:其仅能够使用路由器证书来验证网络前缀信息。HoT消息812被发送到MR 140的CoA,并且因此将被归属代理HA110拦截,该归属代理110随后以隧道分组813将该消息转送到MR140的CoA。
由于HoT消息813指示CR 170仅具有使用路由器证书来验证网络前缀的能力,所以,MR 140必须通过发送CoTI消息814来完成返回路由能力过程,使得CR 170可使用返回路由能力过程所提供的继承手段(legacy means)来验证MR 140的CoA。CR 170将利用CoT消息815来响应CoTI消息814。这完成返回路由能力过程,并且,现在,MR 140可将PSBU消息816连同路由器证书以及从HoT消息812和CoT消息815导出的令牌一起发送到CR170。一旦接收到此PSBU消息816,CR 170便将在接受所指定的绑定之前验证PSBU消息816的内容。这包括如在标准的返回路由能力过程中那样,通过检查必要的令牌,而验证在PSBU消息816中指定的CoA和HoA的搭配。CR 170还需要验证在PSBU消息816中包括的证书选项、以及网络前缀选项的内容。为此,作为例子,CR 170需要获得在证书选项中识别的信任锚点TA120的公共密钥。为此,CR 170联系TA 120,以请求其公共密钥,如在图8a中用GetKey消息817图解的那样。TA 120在KeyResponse(密钥响应)消息818中用其公共密钥来应答。利用TA 120的公共密钥,CR 170可验证在PSBU消息816中指定的网络前缀确实是被MR 140所管理。由此,CR 170接受绑定更新,并用绑定确认消息BA 819来响应。
图8a图解了这样的例子,其中,对方实体(CR 170)仅支持通过路由器证书来验证。图8b图解了这样的例子,其中,对方实体(CN 160)支持通过路由器证书和地址证书来验证。首先,MR 140通过向CN 160发送HoTI消息,利用能力交换来发起返回路由能力过程。由于HoTI消息应携带发送方的归属地址,所以,将其隧穿到MR 140的归属代理110。这在图8b中被示出为隧穿的HoTI消息830。HA 110将把该分组解包,并将HoTI消息831转发到CN 160。在此HoTI消息831中。MR 140指示其下述能力,即:包括用于验证网络前缀信息的路由器证书、包括用于验证CoA的地址证书、以及使用用于验证PSBU信息的扩展的返回路由能力过程(如在[非专利文献4]中公开的过程)。当CN 160接收到此HoTI消息831时,其利用此HoT消息832来响应。由于所接收的HoTI消息831包括能力选项,所以,CN 160还在HoT消息832中包括新的能力选项。这里,CN 160指示其能够使用路由器证书来验证网络前缀信息、以及使用地址证书来验证CoA的有效性。将HoT消息832发送到MR 140的HoA,并且,由此,归属代理HA 110将截取HoT消息832,并且归属代理HA 110将以隧道分组833把该消息转发到MR 140的CoA。
由于HoT消息833指示CN 160具有使用路由器证书来验证网络前缀、以及使用地址证书来验证CoA的能力,所以,MR 140不必完成返回路由能力过程。相反,MR 140将PSBU消息834连同包含由TA 120签名的路由器证书的证书选项、以及由TA 120签名的地址证书一起发送到CN 160。一旦接收到PSBU消息834,CN 160便继续PSBU消息的验证。在此例子中,我们说明了CN 160采用TA 122的服务来代表其执行实际验证的情况。在图8b中,这通过CN 160将VerifyKeys(验证密钥)消息835发送到TA 122来图解。在消息835内,CN 160包括需要验证的路由器证书和地址证书。一旦接收到此请求消息835,TA 122便继续取出(fetch)所识别的信任锚点TA 120和TA 124的公共密钥。这在图8被示出为GetKey(取密钥)消息836和838。一旦分别经由KeyResponse消息837和839而从TA 120和TA 124得到公共密钥,TA 122便继续识别证书的有效性。随后,在VerifyResponse消息840中,将结果返回到CN 160。假定证书被验证为真实,那么,CN 160接受在PSBU消息834中指定的绑定,并利用绑定确认消息BA 841来响应。
注意,图8b示出了TA 122在从TA 120得到密钥之后联系TA 124。这仅用于说明的目的。本领域的技术人员将理解,在实践中,可同时传送GetKey消息836和838。另外,图8a和图8b中图解的两个例子均假定执行验证过程的实体(即,CR 170和TA 122)不处理公共密钥的任何缓存的副本。在实际的实践中,需要执行签名的验证的任何节点可能已经拥有相关的公共密钥(例如,通过先前的验证的缓存的副本)。在这样的情况下,图中图解的从密钥所有者取出公共密钥的步骤是多余的。此外,在公共密钥基础结构可用,从而使得中央权威机构可针对公共密钥签名、以便验证它们的真实性的部署情形中,移动路由器MR 140可提供由中央权威机构签名的信任锚点的公共密钥,以省去对方实体独立取出密钥的需要。
在图8a和图8b中示出的先前的例子中,对方实体全部支持使用来自信任锚点的验证的某些能力。图8c图解了这样的情形,其中对方实体(CN 162)仅支持基于返回路由能力的验证过程,所述返回路由能力例如在[非专利文献4]中描述的用于网络前缀的返回路由能力(RRNP)。首先,MR 140通过向CN 162发送HoTI消息,而利用能力交换来发起RRNP过程。由于HoTI消息应携带发送方的归属地址,所以,将其隧穿到MR 140的归属代理HA 110。这在图8c中被示出为隧穿的HoTI消息850。HA 110将把该分组解包,并将HoTI消息851转发到CN 162。在此HoTI消息851中,MR 140将指示其下述能力,即包括用于验证网络前缀信息的路由器证书、包括用于验证CoA的地址证书、以及使用用于验证PSBU信息的RRNP过程。当CN 162接收到此HoTI消息851时,其利用HoT消息852来响应。由于所接收的HoTI消息851包括能力选项,所以,CN 162还在HoT消息852中包括新的能力选项。这里,CN 162将指示:其能够使用RRNP来验证网络前缀信息。HoT消息852被发送到MR 140的CoA,并且,由此被归属代理HA 110截取,该归属代理HA 110将以隧道分组853把该消息转发到MR 140的CoA。
由于HoT消息852指示CN 162仅能够使用RRNP来验证PSBU信息的内容,所以,MR 140通过向CN 162发送CoTI消息854来完成RRNP过程。CN 162利用CoT消息855来响应此CoTI消息。另外,根据RRNP规范,CN162还发送网络前缀测试消息NPT 856,以测试在HoTI消息851中指定的网络前缀的有效性。此NPT消息856将被发送到从在HoTI消息851中指定的网络前缀中选择的随机地址,并且,MR 140必须截取此NPT消息856,以证明其对网络前缀的所有权。由于NPT消息856具有来自移动网络104的网络前缀的目标地址,所以,其首先被HA 110截取。随后,HA 110将以隧道分组857把NPT消息856转发到MR 140的CoA。
一旦MR 140已接收到所有RRNP消息HoT 853、CoT 855、以及NPT 857,则其可导出要被包括在要被发送到CN 162的PSBU消息858中的必要的安全令牌。这完成RRNP过程,并且随后,CN 162将利用绑定确认消息BA 859来响应。
图9示出了根据本发明的移动路由器MR 140的优选的功能架构,其包括低层网络接口910、路由单元920、安全单元930、隧穿单元940、以及路由优化单元950。低级网络接口910为代表允许MR 140与分组交换数据通信网络上的其它节点通信所需的所有联网硬件、软件和协议的功能块。例如,在国际标准组织(ISO)的开放系统互连(OSI)7层模型中,低层网络接口910将包含物理和数据链路层。从网络104或108接收的分组将通过分组路径962或964,以被低层网络接口910处理。如果该分组意欲通过物理地址而用于MR 140,则将经由分组路径966而把其传递到路由单元920。
路由单元920操纵针对于网络互联层中的路由的所有处理。在OSI模型下,其包含网络层的所有功能。路由单元920负责基于分组的最终目的地、将分组转发到它们的下一个中继段(hop)。为正确地完成此工作,路由单元920将需要经由信号路径974和976来与隧穿(turneling)单元940、以及路由优化单元950协商。这包括检查分组是否应当通过任何双向隧道,或者,分组是否应当通过路由优化会话。
隧穿单元940负责建立并维护移动路由器MR 140及其归属代理之间的双向隧穿。当路由优化会话也需要双向隧道的建立时,隧穿单元940还负责建立并维护这样的隧道。
安全单元930负责维护移动路由器MR 140所得到的证书,并在必要时生成移动路由器MR 140的证书。安全单元930所维护的证书应包括但不限于:从移动路由器MR 140的归属域的信任锚点得到的路由器证书、以及从移动路由器MR 140当前附接的外部地址网络的信任锚点得到的地址证书。
路由优化单元950负责建立并维护移动路由器MR 140和对方实体之间的路由优化会话。这包括:确定给定的对方节点是否期望路由优化、检测对方实体的能力、基于对方实体的能力而建立路由优化、以及发送更新的PSBU消息以便维持正在进行的路由优化会话。
尽管在这里、已在被构思为是最实际且优选的实施例中示出并描述了本发明,但本领域的技术人员将理解,可在设计和参数的细节中作出各种修改,而不会背离本发明的范围和界限。例如,已在本发明中描述了,移动路由器将使用路由器证书来验证PSBU消息中的网络前缀的有效性。本领域的技术人员将理解,只要存在远程实体验证前缀的所有权的需要,便可使用同样的概念。例如,在图1中,对方路由器CR 170可向移动路由器和移动节点主张其能够代表对方网络106内的任意对方节点来执行路由优化。对于此主张,对方路由器CR 170可指定其能够利用落入对方网络106的网络前缀内的任意地址来管理路由优化会话。接收到这样的主张的移动路由器和移动节点可期望验证对方网络106的前缀实际上是由对方路由器使用在本发明内公开的技术来管理的。