代理移动IP的安全机制建立方法、安全系统及相关设备
技术领域
本发明涉及无线通信领域,特别涉及移动IP技术。
背景技术
码分多址2000(Code Division Multiple Access 2000,简称“CDMA2000”)是国际电信联盟(International Telecommunications Union,简称“ITU”)确定的3G通信的三大主流无线接口标准之一,其余两种标准分别是宽带码分多址(Wideband Code Division Multiple Access,简称“WCDMA”)和时分同步码分多址(Time Division Synchronous Code Division Multiple Access,简称“TD-SCDMA”)。
现有CDMA2000网络,包括CDMA20001x和高速分组数据(High RatePacket Data,简称“HRPD”)系统,都要求其分组域支持移动IP技术,具体地说,包括移动IPv4和移动IPv6两种情况。
下面对移动IP技术进行简要说明。
在移动IP技术中,移动节点(Mobile Node,简称“MN”)有两种地址:家乡地址(Home Address,简称“HoA”)和转交地址(Care-of Address,简称“CoA”)。
其中,HoA一直保持不变,因此在MN移动到外地网络时,仍旧使用该地址保持通信的连续性和可达性。而CoA不同,它是由外地网络给MN分配的,当MN得到新的CoA时,需要将这个地址与HoA在家乡代理(HomeAgent,简称“HA”)上做绑定,以便HA将其他实体发给MN的报文利用MN与HA间的隧道转发给MN,以及将MN发送给其他实体的报文转发过去。
对于移动IPv4(MIP4),所使用的消息是MN发给HA的“RRQ-Registration Request(注册请求)”消息和HA回送的“RRP-RegistrationReply(注册应答)”消息。
对于移动IPv6(MIP6),这个绑定流程所使用的消息是MN发给HA的“BU-Binding Update(绑定更新)”消息和HA回送的“BA-BindingAcknowledgement(绑定确认)”消息。
现有CDMA的规范《X.S0011 cdma2000 Wireless IP Network Standard》(暂译为《X.S0011CDMA2000无线IP网络标准》)所定义的MIP6场景下,移动终端MS在获得了HA的地址以及HoA后,就可以进行地址绑定流程。
需要指出的是,在MIP6的主要标准RFC3775中要求,MS和HA间先建立IPsec SA(Ipsec安全联盟),BU和BA消息用该SA进行保护。
但是图1所示的绑定过程未遵循上述要求,取而代之的是使用了RFC4285所定义的认证协议,具体过程参见图1。
如图所示,步骤101,MS执行链路层建立过程。MS借助分组数据服务节点(Packet Data Serving Node,简称“PDSN”)从RADIUS服务器中获得有关MIP的自举(bootstrap)信息;步骤102,如果在步骤a中给MS分配了一个新的HoA,MS将使用这个HoA。否则,MS将根据步骤101中获得的家乡链路前缀自动生成一个全局的单播地址作为HoA;步骤103,MS发送绑定更新到HA,该BU消息中,包含了用MS与认证、授权、计费协议服务器(Authentication、Authorization、Account,简称“AAA”)共享的密钥计算的消息摘要-MN-AAA移动认证选项,用于让HA检查消息的完整性;MS的NAI(网络接入标识)也包含在BU中。步骤104,HA从BU消息中获得了MS的NAI,MN-AAA认证选项等参数,HA将这些参数利用RADIUS的“Access Request(接入请求)”消息发给归属网络的RADIUS服务器;步骤105,归属网络的RADIUS服务器将使用MS和服务器间共享的密钥验证MN-AAA移动认证选项的正确性,如果正确,说明消息没有篡改,MS是合法用户。因此执行绑定操作,接着RADIUS服务器会计算用于保护后续MS和HA间绑定流程的密钥IK;与此同时,MS也可以执行相同的计算得到IK;步骤106,RADIUS服务器发送“Access Accept(接受接入)”消息给HA,该消息的“MIP6-Session Key”扩展中包含了步骤105中计算的密钥IK;步骤107,HA保存所收到的密钥IK。HA根据BU中的Mesg-ID移动选项执行重放攻击检查;步骤108,HA发送BA消息给MS。这个消息中包含了用IK计算的MN-HA移动消息认证选项、MN-NAI移动选项以及Mesg-ID移动选项。步骤109,MS在收到BA时,会用IK检查消息的完整性。
需要补充的是,在此后的通信流程中,如果MN的CoA发生改变,需要再次执行绑定流程,它将使用与HA共享的密钥IK对消息进行保护。
目前,正在制订的规范《X.P0044Mobile IPv4Enhancements》(暂译为《X.P0044移动IPv4增强版》)是对X.S0011中MIP4提出的增强。该规范主要定义了如何在拜访网络为MS动态分配HA,如何进行MIP注册,以及注册的安全机制。
参见图2,首先,在步骤201中,MS和PDSN间建立点到点协议(PointTo Point Protocal,简称“PPP”)连接;在步骤202,PDSN向MS发送“AgentAdvertisements”消息,其中包括MN-FA Challenge扩展(MN与外地代理FA的挑战扩展);步骤203,MS发送RRQ到PDSN,其中包含MN-NAI Extension(MN与NAI的扩展)、MN-FA Challenge Extension以及MN-AAAAuthentication Extension(MN与AAA的认证扩展)。MN-AAA认证扩展是利用MS与HAAA(家乡AAA)间预共享的密钥计算的。RRQ中的HA和HoA的地址设为0.0.0.0,表示MS希望请求动态的HA和HoA;步骤204,PDSN向VAAA(拜访AAA)发送“RADIUS Access-Request(无线接入请求)”消息,再由VAAA转发给HAAA。目的是为了认证MS发送的MN-AAA认证扩展。此外,PDSN还在请求中表示支持本地,也就是在拜访网络分配HA的能力;步骤205,HAAA校验MN-AAA成功,因此发送“RADIUSAccess-Accept(接受无线接入)”消息给PDSN,该消息中还包含授权PDSN在本地分配HA的指示;步骤206,基于拜访网络的策略,PDSN为MS分配HA;步骤207,PDSN将RRQ又发给所分配的HA,并且在消息中仍然包括MN-AAA认证扩展;步骤208,HA为MS分配HoA;步骤209,HA向HAAA发送“RADIUS Access-Request”消息,再次对MS发送的MN-AAAauthenticator(MN-AAA认证)进行校验。消息中还包含了MN-HA SPI(安全参数索引)VSA,用来请求MN-HA密钥。计算密钥的参数还包括HoA,以及RRQ中的Identification field(鉴定字段),即时间戳,这个值放在MIP4-Mesg-ID VSA中;步骤210,HAAA再次验证MN-AAA authenticator。若成功,HAAA会计算MN-HA密钥,也就是IK,用于MS和HA保护后续的注册消息;步骤211,HAAA将MN-HA密钥利用“RADIUS Access-Accept”消息发给HA;步骤212,HA将MS的HoA和CoA绑定。并生成RRQ,其中MN-HA认证扩展是利用MN-HA密钥计算的。HA发送RRQ给MS;步骤213,MS也用与HAAA相同的方面计算MN-HA密钥,并且校验收到的RRP中的MN-HA认证扩展,如果成功,则绑定流程结束。
以上参照图2,介绍了根据规范《X.P0044Mobile IPv4 Enhancements》,拜访网络为MS动态分配HA,以及进行MIP注册的过程和注册的安全机制。
在以前的1x系统的PDSN间的切换中,当MS移动到目标PDSN时,目标PDSN和服务PDSN间建立P-P(点对点)连接,使得业务数据在源PDSN和目标PDSN间传递,由此保证PPP端点仍然在源PDSN,MS的地址不更新,从而维持业务的连续性。
但是,这会产生另外的问题。具体的说,如果点到点协议的端点维持在源PDSN而不改变,会导致在活动分组会话期间,A10连接和PDSN间P-P连接同时存在,从而增加了源PDSN的负担,消耗了源PDSN的处理资源和PDSN间的链路资源。
有鉴于此,目前3GPP2正在制订HRPD的快速切换流程。
在HRPD网络的PDSN间切换过程中,将源PDSN的会话状态转移到切换后的目标PDSN上来,使得MS的网络接入点变成目标PDSN。
图3示出HRPD快速切换参考架构。
如图所示,其中的HA为移动IP中的家乡代理。S-PDSN为源PDSN,T-PDSN为目标PDSN。S-AN为源接入网设备,T-AN为目标接入网设备。
快速切换由三部分构成:P-P隧道建立、MS的上下文转移和执行代理移动IP,以及转换数据接入点。其中,MS的上下文转移和执行代理移动IP是可选的过程。
具体的说,图3中的P-P接口用来在快速切换过程中将用户数据隧道封装后在AGW(接入网关)间传递。执行上下文转移过程后MS在源接入网关的会话状态将转移到目标接入网络,目标接入网关成为数据会话的端点,在使用点到点协议作为数据链路层时,也就是点到点协议的端点。转移后,接入网关和MS之间的信令将由切换后的目标接入网关处理。MS的会话状态包括点到点协议状态、QoS(服务质量)参数、移动性状态等。
执行代理移动IP是PDSN代替终端用移动IP信令向HA进行注册绑定的过程。用来更新HA到PDSN的路由。
图4示出3GPP2正在制订的HRPD的快速切换流程。如图所示:首先,步骤401,MS与源PDSN建立点对点协议连接,如果MS支持移动IP,还需要获得注册移动IP所需的信息,如HA地址,HoA等。源PDSN执行代理移动IP,将MS的地址与自己的地址绑定(对于移动IP4的MS不执行代理移动IP)。PDSN给MS分配IP地址;步骤402,MS处于激活态,并且源AN发现需要执行切换,因此向目标AN发送切换所需的参数;步骤403,目标AN与目标PDSN建立A10连接;步骤404,目标PDSN向源PDSN发起建立点对点连接的请求,源PDSN接受请求,并将MS的上下文传给目标PDSN,上下文包括点对点协议状态,移动IP状态,移动IP安全参数,QoS参数等;这时业务数据流在HA-源PDSN-目标PDSN-T-AN间传递;步骤405,目标PDSN执行代理移动IP的绑定,将MS的地址和自己的地址绑定,改变数据的路由。
这时业务数据在HA-目标PDSN-T-AN间传递。
PDSN执行代理移动IP是代替终端执行绑定,这样可以保证简单IP情况下,终端发生PDSN间切换时,地址保持不变。根据代理移动IP绑定的变化,业务数据从源PDSN切换到目标PDSN,从而维护会话的连续性。对于支持移动IP的MS,这样也可以保证MS切换后,不会自己发起移动IP绑定,减少时延。
但是目前仍然有两个问题值得注意,一是尚未确定对于代理移动IP的安全性的保证机制;二是代理移动IP在除无线蜂窝通信以外的其他领域也被涉及到,例如通过代理移动IP提供本地移动性等,但是对这些应用的最终规范尚未确定,在这些规范中,可想而知的是安全机制将是其中的重要组成部分。
图5示出一种已经提出的代理移动IP安全机制,该流程中的MS只支持简单IPv6(SIPv6),如图所示:首先,
步骤501,PDSN和MS建立链路层连接,PDSN发起对MS的认证,并且MS返回认证信息;
步骤502,PDSN向AAA发送“RADIUS Access-Request”消息,以检查MS返回的认证响应,并且PDSN指示它可以支持代理移动IP;
步骤503,AAA返回“Access-Accept”消息,该消息中包含所分配的HA的地址,以及用于衍生PMN-HA密钥的根密钥PMN-HA-RK。PMN-HA用于代理IP客户端(这里就是PDSN)和HA间的消息保护;PMN-HA由PMN-HA-RK、HA的地址、PDSN的地址计算生成。
步骤504,PDSN发送“Initial Proxy Binding Update(初始的代理绑定更新)”消息到HA,PDSN使用PMN-HA密钥生成PMN-HA Mobility MessageAuthentication Option(PMN-HA移动信息认证选项),该选项中的SPI是PMN-SPI,这个值是一个固定值;
步骤505,HA上没有针对该MS的绑定,因此HA发送“RADIUSAccess-Request”消息到HAAA,请求根密钥PMN-HA-RK;
步骤506,AAA发送响应,返回PMN-HA-RK,使得HA可以根据这个密钥计算PMN-HA密钥;
步骤507,HA收到响应后,计算PMN-HA密钥,验证BU的完整性,如果成功,则发送BA消息给PDSN。BA消息中包括了HA生成的新的SPI值PMIP SPI、用PMN-HA密钥计算的MN-HA Mobility MessageAuthentication option(MN-HA移动信息认证选项),以及所分配的HomeAddress option(家乡地址选项);
步骤508,PDSN收到BA后,用PMN-HA密钥校验BA消息的完整性。并保存HA发送的SPI值,以便在后续的绑定中使用;PDSN还根据HomeAddress option的内容发送RA(router advertisement)给MS,MS根据RA中的前缀值自动配置地址;
步骤509,MS的业务数据通过PDSN和HA传递;
补充说明一下,对于支持MIP6的终端,流程与简单IPv6类似,但PDSN对MS进行认证过程中,AAA返回认证结果时,还会携带两套注册移动IP所需的信息,一套用于客户端移动IP的注册,另一套用于代理移动IP的注册,每套移动IP信息中包括了HA地址、HoA、HL(家乡位置)。两个HA的地址是不同的。PDSN在执行代理移动IP的注册时,会使用代理移动IP的相关信息。除了执行上述流程,MS在获取了客户端HoA和HA地址后还会自己发起与HA的BU/BA。
当SIPv6和MIP6的终端发生切换时,目标PDSN从源PDSN获得PMN-HA-RK,并根据自己的IP地址和HA的IP地址计算新的PMN-HA密钥,并发送BU消息到HA,所使用的SPI也是前面提到的PMN-SPI,当HA接到BU后,会重新计算新的PMN-HA。在发送BA时也携带了新生成的SPI值。
对于简单IPv4的终端,与上述流程类似,PDSN也会代替MS执行代理MIP,所需要的密钥PMN-HA-RK也通过接入认证过程中从HAAA获得。并用PMN-HA-RK计算PMN-HA密钥。
对于支持MIP4的终端,为了简化处理,目前考虑不支持代理移动IP。
当SIPv4的终端发生切换时,过程和IPv6类似,目标PDSN也从源PDSN得到PMN-HA-RK,计算新的PMN-HA,并执行绑定。
在上述方案中,源PDSN以及目标PDSN在向HA发起初始的移动IP绑定时使用了固定值的SPI,即PMN-SPI,这个值是0-255的保留值中的某个值。HA在收到这样的绑定请求后,会触发更新PMN-HA的密钥。
但是,问题在于在目前的技术中并没有一个合适的值可以使用,换句话说,没有给MN-HA认证选项/扩展分配一个固定的SPI值。此外,如果申请一个新的值,对现有技术改动比较大,会延长方案的实施。
除了上述方案之外,在MS第一次接入网络时,源PDSN也在接入认证过程中,从HAAA得到所需的密钥PMN-HA-RK,此外还会获得AAA生成的SPI。源PDSN在执行代理移动IP时,会使用这个SPI值。当发生切换时,源PDSN将PMN-HA-RK和SPI都传给目标PDSN。当目标PDSN发送BU/RRQ时,继续使用源PDSN发来的SPI。
这种方式的问题在于,由于目标PDSN发送BU/RRQ时,密钥已使用新生成的PMN-HA,如果继续使用原来的SPI,在HA侧会使用旧的密钥进行校验,但校验不会通过。这时HA才会更新PMN-HA密钥。或者HA发现PDSN的地址变化后,主动更新PMN-HA密钥。这些方法都与目前HA的处理不同,都需要修改HA。
发明内容
本发明各实施方式要解决的主要技术问题是提供一种代理移动IP的安全机制建立方法、安全系统及相关设备。
为解决上述技术问题,本发明提供了一种代理移动IP的安全机制建立方法,包含以下步骤:
移动IP的代理在初次执行代理移动IP绑定时,使用家乡认证、授权、计费服务器HAAA与代理之间的PMN-AAA密钥保护向家乡代理HA发送的用于注册移动IP的绑定请求,并根据所述PMN-AAA密钥生成所述代理与所述HA之间的PMN-HA密钥;
所述HA通过与所述HAAA的交互,验证所述绑定请求并获得所述代理和HA间的PMN-HA密钥,在验证通过后向所述代理返回绑定响应,并在该绑定响应中携带用于索引PMN-HA密钥的安全参数索引SPI;
所述代理与所述HA通过所述PMN-HA密钥和SPI对后续的移动IP消息的完整性进行保护。
本发明还提供了一种代理移动IP的安全系统,包含移动IP的代理、HAAA、和HA,所述代理包含:绑定请求模块,用于在初次执行代理移动IP绑定时,使用HAAA与代理之间的PMN-AAA密钥保护向HA发送的用于注册移动IP的绑定请求;和
密钥生成模块,用于根据所述PMN-AAA密钥生成所述代理与所述HA之间的PMN-HA密钥;
所述HA包含:验证请求模块,用于通过与所述HAAA的交互,验证所述绑定请求;
密钥获取模块,用于通过与所述HAAA的交互,获取所述PMN-HA密钥;和
绑定响应模块,用于在验证通过后向所述代理返回绑定响应,并在该绑定响应中携带用于索引PMN-HA密钥的安全参数索引SPI;
所述HAAA包含:交互模块,用于与HA进行关于所述绑定请求的验证和该HA获取PMN-HA密钥的相关交互;
所述代理和所述HA根据所述PMN-HA密钥和SPI对后续的移动IP消息的完整性进行保护。
本发明还提供了一种移动IP的代理,包含:
绑定请求模块,用于在初次执行代理移动IP绑定时,使用HAAA与代理之间的PMN-AAA密钥保护向HA发送的用于注册移动IP的绑定请求;和
密钥生成模块,用于根据所述PMN-AAA密钥生成所述代理与所述HA之间的PMN-HA密钥;
所述代理根据所述PMN-HA密钥和HA返回的绑定响应中携带的SPI对后续的移动IP消息的完整性进行保护。
本发明还提供了一种家乡代理,包含:
验证请求模块,用于通过与HAAA的交互,验证来自移动IP的代理的绑定请求;
密钥获取模块,用于通过与所述HAAA的交互,获取所述代理与本HA之间的PMN-HA密钥;
绑定响应模块,用于在所述绑定请求的验证通过后向所述代理返回绑定响应,并在该绑定响应中携带用于索引PMN-HA密钥的安全参数索引SPI;和
所述HA根据所述PMN-HA密钥和SPI对后续的移动IP消息的完整性进行保护。
本发明还提供了一种家乡认证、授权、计费服务器,包含:
交互模块,用于与HA进行关于验证移动IP的代理发送的绑定请求和该HA获取PMN-HA密钥的相关交互。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,由移动IP的代理如PDSN、接入网关、或控制接入节点,在初次执行代理移动IP绑定时,如建立与MS的连接或MS切换到本代理时,使用HAAA与本代理之间的PMN-AAA密钥来保护向HA发送的用于注册移动IP的绑定请求,并根据PMN-AAA密钥生成本代理与HA之间的密钥PMN-HA密钥。HA通过与HAAA的交互,对绑定请求进行验证并获得PMN-HA密钥,在验证通过后向该代理返回绑定响应,并在该绑定响应中携带用于索引PMN-HA密钥的SPI。该代理与该HA通过PMN-HA密钥和SPI对后续的移动IP消息的完整性进行保护。使得HA能在不修改现有协议的前提下,正确处理所有合法的绑定请求,根据不同情况更新密钥和生成对应的SPI,保证了代理与HA之间消息验证的准确性,满足了移动IP的安全性。
而且,由于代理使用PMN-AAA密钥对绑定请求进行完整性保护,因此HA可通过HAAA对绑定请求进行验证,在HAAA中也可以利用MS的身份标识索引到相应的PMN-AAA密钥,对该绑定请求进行验证,使得代理移动IP的注册无需对现有设备(尤其是HA)作出较大改动,进而使得本发明具有较大的应用价值。
MS在第一次建立与代理的连接时,该代理需将该MS的认证信息发送给HAAA,由该HAAA对该认证信息的鉴权通过后向该代理发送PMN-AAA密钥(或PMN-AAA密钥的根密钥,由代理根据该根密钥得到PMN-AAA密钥),和代理移动IP注册和客户端移动IP注册所需的信息。在代理移动IP的注册完成后,如果该MS支持移动IP,则可以向该代理请求客户端移动IP注册所需的信息,并根据该信息完成客户端移动IP的注册,使得本发明能进一步与现有技术相兼容。
附图说明
图1是《X.S0011cdma2000Wireless IP Network Standard》所定义的MIP6场景下的对于IPv6的绑定流程示意图;
图2为正在制定的《X.P0044Mobile IPv4Enhancements》中涉及的,在拜访网络为MS动态分配HA,MIP注册以及注册的安全机制的示意图;
图3示出3GPP2正在制订的HRPD的快速切换流程的参考架构;
图4是3GPP2正在制订的HRPD的快速切换流程示意图;
图5是目前已经提出的一种代理移动IP的安全机制流程示意图;
图6是根据本发明的密钥衍生和传递的关系示意图;
图7是根据本发明第一实施方式的代理移动IP的安全机制建立方法流程图;
图8是根据本发明第五实施方式的代理移动IP的安全机制建立方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
在本发明中,当MS第一次接入网络时,由移动IP的代理如PDSN,从HAAA处获取PMN-AAA密钥(或获取PMN-AAA根密钥,根据该根密钥得到PMN-AAA密钥),而非PMN-HA密钥,PDSN使用该PMN-AAA密钥向HA发送用于注册移动IP的绑定请求BU或RRQ消息,该PMN-AAA密钥用于计算BU或RRQ消息中的MN-AAA认证扩展(MIP4中使用)或认证选项(MIP6中使用),并在该BU或RRQ消息中携带已经分配给这些扩展或选项的固定的SPI值。HA接到BU或RRQ消息后,通过HAAA对BU或RRQ消息中的MN-AAA认证扩展或认证选项进行验证,如果验证成功则HAAA会为HA和PDSN生成PMN-HA密钥,用于后续的绑定,并将PMN-HA发给HA,PDSN可根据PMN-AAA密钥和其他的一些参数(如PDSN地址,HA地址等)计算得到PMN-HA密钥。
HA在向PDSN发送绑定响应BA或RRP消息时,会使用PMN-HA密钥计算MN-HA认证扩展/认证选项。同时HA也会在BA或RRP消息中包含SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值,也可以是与该PDSN约定的固定值。PDSN接到BA或RRP消息后,根据自己计算的PMN-HA密钥校验BA或RRP消息。如果校验成功则保存HA发来的SPI值。PDSN和HA在后续的绑定中使用MIP-HA密钥和绑定响应中携带的SPI对后续的移动IP消息的完整性进行保护。
当发生PDSN的切换后,源PDSN将PMN-AAA密钥(或PMN-AAA根密钥)发送给目标PDSN,目标PDSN仍然用PMN-AAA(如果从源PDSN处获得的是MN-HAAA根密钥,则根据该根密钥得到PMN-AAA密钥)计算MN-AAA认证扩展/认证选项,向HA发送BU或RRQ消息。用于索引的SPI也是协议中定义的固定值。当HA收到BU或RRQ消息时,仍然会利用HAAA去校验消息和生成新的PMN-HA密钥。HA收到新的PMN-HA密钥后,会用PMN-HA密钥计算MN-HA认证扩展/认证选项,并回送BA或RRP消息,消息中包含了新的SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值,也可以是与PDSN约定的固定值。在后续的绑定中,目标PDSN和HA可使用PMN-HA密钥和SPI值对后续的移动IP消息的完整性进行保护。
其中,密钥的衍生和传递的关系如图6所示。HAAA根据MS和HAAA间的共享密钥为代理MIP客户端PMIP Client(如PDSN)和HA衍生PMN-HA密钥,或者静态保存一个PMN-AAA密钥。HAAA将把PMN-AAA密钥传给第一个代理MIP客户端(PMIP Client1)。PMIP Client1初始执行移动IP的绑定时,使用PMN-AAA密钥,后续HA可以从HAAA获得PMN-HA1密钥。而PMIP Client1也可以自己计算和使用PMN-HA1密钥。当切换发生后,PMIPClient1将PMN-AAA密钥传给PMIP Client2(如源PDSN将PMN-AAA密钥传给目标PDSN)。PMIP Client2的初始注册也使用PMN-AAA密钥,HAAA会生成PMN-HA2传给HA,后续HA和PMIP Client2使用PMN-HA2。
以上给出了密钥衍生的一种实例,但也存在其他可能。如HAAA传给PMIP Client的是PMN-AAA的根密钥PMN-AAA-RK。PMIP Client执行初始绑定时,需要自己从PMN-AAA-RK衍生PMN-AAA。另外HAAA也可以将PMN-AAA直接传给HA,这样HA可以自己计算所需的PMN-HA,不用每次通过HAAA计算。
当然,移动IP的代理也可以是接入网关或控制接入点等其他网络实体。
下面对本发明的第一实施方式进行详细阐述,本实施方式涉及代理移动IP的安全机制建立方法,在本实施方式中,MS同时支持简单IPv6和移动IPv6,移动IP的代理为PDSN,PDSN采用MIP6,具体流程如图7所示。
在步骤701中,MS第一次与PDSN建立连接,该PDSN发起对MS的认证,MS返回认证响应。
接着,进入步骤702,该PDSN将MS的认证响应发给HAAA,同时表示自己支持代理移动IP的功能。
接着,进入步骤703,HAAA认证MS,如果成功,并且允许该PDSN执行代理移动IP的功能,则返回授权该PDSN执行代理移动IP的指示。HAAA还给该PDSN发送用于注册代理移动IP需要的PDSN与HAAA之间的PMN-AAA密钥。在本实施方式中,MS同时支持移动IP和简单IP,因此,HAAA还将代理移动IP注册和客户端移动IP注册所需要的HA地址、HoA、HL等信息也发给该PDSN。需要说明的是,在本步骤中,HAAA还可以不把PMN-AAA密钥发送给该PDSN,而是将PMN-AAA密钥的根密钥发送给该PDSN,由该PDSN根据该根密钥计算得到PMN-AAA密钥,以进一步提高代理移动IP的安全性。
HAAA在对该MS认证信息的鉴权通过后除了向该PDSN发送PMN-AAA密钥(或PMN-AAA密钥的根密钥,由该PDSN根据该根密钥得到PMN-AAA密钥),还向该PDSN发送代理移动IP注册和客户端移动IP注册所需的信息。以便在代理移动IP的注册完成后,该MS可向该PDSN请求客户端移动IP注册所需的信息,并根据该信息完成客户端移动IP的注册,使得本发明能进一步与现有技术相兼容。其中,代理移动IP注册和客户端移动IP注册所需信息中的HA地址信息不同,通过不同的HA地址区分移动IP的注册是代理移动IP注册或客户端移动IP注册。
接着,进入步骤704,该PDSN执行代理移动IP的绑定注册过程。具体地说,该PDSN使用在步骤703中得到的PMN-AAA密钥对用于注册移动IP的绑定请求BU消息进行完整性保护,即在该消息中包含了MN-AAA认证选项,所携带的SPI值是协议中已定义的固定值。
接着,进入步骤705,HA接到绑定请求BU消息后,需要利用HAAA验证MN-AAA认证选项的正确性,因此向HAAA转发请求,请求该HAAA对该BU消息进行验证。
接着,进入步骤706,HAAA接到HA的请求后,利用MS的身份标识索引到相应的PMN-AAA密钥,对该消息进行验证,如果成功,则计算PMN-HA密钥,这个密钥可标为PMN-HA1。HAAA将返回验证成功的消息,消息中包含了密钥PMN-HA1。这样无需对现有设备(尤其是HA)作出较大改动,进而使得本发明具有较大的应用价值。
接着,进入步骤707,HA向该PDSN发送绑定响应BA消息,该消息用PMN-HA1进行完整性保护,同时在该消息中还包含了新的SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值,也可以是与PDSN约定的固定值。该PDSN收到应答后,用自己计算的PMN-HA密钥验证PMN-HA认证选项,该PMN-HA密钥根据在步骤703中得到的PMN-AAA密钥、和其它的一些参数(如PDSN地址,HA地址等)计算出来。如果PMN-HA认证选项验证正确,则绑定注册过程结束,该PDSN保存收到的SPI值。该PDSN在以后的绑定中使用PMN-HA1和HA分配的SPI值对后续的移动IP消息进行完整性保护。
接着,进入步骤708,该PDSN根据从HAAA得到的代理移动IP信息执行对MS分配地址的流程。
接着,进入步骤709,MS和该PDSN执行动态主机配置协议(DynamicHost Configuration Protocol,简称“DHCP”),完成MS请求客户端移动IP注册所需信息的过程,以便该MS根据该信息,完成客户端移动IP的注册,使得本发明能进一步与现有技术相兼容。
接着,进入步骤710,MS根据得到的客户端移动IP注册所需信息,与HA完成MIP的绑定注册过程。
接着,进入步骤711,MS发生移动,需要执行PDSN间的切换,即从该PDSN(源PDSN)切换到目标PDSN。
接着,进入步骤712,源PDSN与目标PDSN建立P-P接口,源PDSN将MS的所有上下文信息转发给目标PDSN,其中MIP安全方面相关的参数主要是PMN-AAA密钥,也就是说,目标PDSN从源PDSN处获取到PMN-AAA密钥。当然,源PDSN也可以不直接将PMN-AAA密钥发送给目标PDSN,而是将PMN-AAA密钥的根密钥发送给目标PDSN,由该目标PDSN根据该根密钥得到PMN-AAA密钥,以进一步提高代理移动IP的安全性。
接着,进入步骤713,目标PDSN完成上下文的安装。
接着,进入步骤714,目标PDSN执行代理移动IP的绑定注册过程,仍然使用PMN-AAA密钥计算MN-AAA认证选项,对用于注册移动IP的绑定请求BU消息进行完整性保护,即在该BU消息中包含了使用PMN-AAA密钥计算的MN-AAA认证选项,所携带的SPI值是协议中已定义的固定值。
接着,进入步骤715,HA收到目标PDSN的绑定请求BU消息后,发现消息中没有包含MN-HA认证选项,而是MN-AAA认证选项,因此向HAAA转发请求,请求该HAAA对该BU消息进行验证。
接着,进入步骤716,HAAA接到HA的请求后,验证BU请求消息的正确性,如果正确,则为HA计算新的PMN-HA密钥,即PMN-HA2,该HAAA将PMN-HA2传给目标PDSN。
接着,进入步骤717,HA向目标PDSN发送绑定应答BA消息,该消息用新的PMN-HA2密钥进行完整性保护,同时在该BA消息中还包含了新的SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值,也可以是与PDSN约定的固定值;目标PDSN收到应答后,用自己计算的PMN-HA密钥验证应答消息,该PMN-HA密钥根据在步骤712中得到的PMN-AAA密钥、和其它的一些参数(如PDSN地址,HA地址等)计算出来。如果成功,则目标PDSN保存收到的SPI值。目标PDSN在以后的绑定中使用PMN-HA2和HA分配的SPI值对后续的移动IP消息进行完整性保护。
接着,进入步骤718,此时数据从源PDSN切换到了目标PDSN,因此册除P-P接口。
由此可见,在本实施方式中,通过使用PMN-AAA对BU消息进行完整性保护,使得HA能在不修改现有协议的前提下,正确处理所有合法的绑定请求,根据不同情况更新密钥和生成对应的SPI,保证了代理与HA之间消息验证的准确性,满足了移动IP的安全性。
本发明的第二实施方式涉及代理移动IP的安全机制建立方法,本实施方式与第一实施方式大致相同,其区别仅在于,在第一实施方式中,由HAAA验证来自PDSN的BU消息,并向该HA发送PMN-HA密钥。而在本实施方式中,由HA利用MS的身份标识向HAAA请求下发相应的PMN-AAA密钥,HA利用该PMN-AAA密钥,对该BU消息进行验证,并且,由该HA根据PMN-AAA密钥得到PMN-HA密钥。因此,在发生PDSN的切换时,可由HA在后续的处理中独立完成消息验证和密钥更新,而不再需要与HAAA进行交互,简化了流程。
本发明的第三实施方式涉及代理移动IP的安全机制建立方法,本实施方式与第一实施方式大致相同,其区别仅在于,在第一实施方式中,HAAA在对MS认证信息的鉴权通过后,向PDSN发送的代理移动IP注册和客户端移动IP注册所需信息中,HA地址信息不同,通过不同的HA地址区分移动IP的注册是代理移动IP注册或客户端移动IP注册。而在本实施方式中,仍可使用相同的HA地址信息,也就是说,不需要HAAA给PDSN发送两个HA地址的信息,而是使用一个HA地址。但PDSN与MS发送的BU和HA响应的BA消息中,用不同的标识来区分移动IP的注册是代理移动IP注册或客户端移动IP注册。
本发明的第四实施方式涉及代理移动IP的安全机制建立方法,本实施方式与第一实施方式大致相同,其区别仅在于,本实施例中MS只支持简单IPv6,因此HAAA在对MS认证信息的鉴权通过后,不用发送两套移动IP信息,只需向PDSN发送代理移动IP注册需要的信息,并且MS不需要执行客户端的移动IP的注册绑定流程。
本发明的第五实施方式涉及代理移动IP的安全机制建立方法,在本实施方式中,MS支持简单Ipv4,移动IP的代理为PDSN,PDSN采用MIP4,具体流程如图8所示。
在步骤801中,MS第一次与PDSN建立连接,该PDSN发起对MS的认证,MS返回认证响应。
接着,进入步骤802,该PDSN将MS的认证响应发给HAAA,同时表示自己支持代理移动IP的功能。
接着,进入步骤803,HAAA认证MS,如果成功,并且允许该PDSN执行代理移动IP的功能,则返回授权该PDSN执行代理移动IP的指示。HAAA还给该PDSN发送用于注册代理移动IP需要的PDSN与HAAA之间的PMN-AAA密钥和其他信息(如HA地址)。需要说明的是,在本步骤中,HAAA还可以不把PMN-AAA密钥发送给该PDSN,而是将PMN-AAA密钥的根密钥发送给该PDSN,由该PDSN根据该根密钥计算得到PMN-AAA密钥,以进一步提高代理移动IP的安全性。
接着,进入步骤804,该PDSN执行代理移动IP的绑定注册过程。具体地说,该PDSN使用在步骤803中得到的PMN-AAA密钥对用于注册移动IP的绑定请求RRQ消息进行完整性保护,即在该消息中包含了MN-AAA认证扩展,其中的SPI是协议中已定义的固定值,HoA为全0。
接着,进入步骤805,HA接到绑定请求消息RRQ后,需要利用HAAA验证MN-AAA认证扩展的正确性,因此向HAAA转发请求,请求该HAAA对该RRQ消息进行验证。
接着,进入步骤806,HAAA接到HA的请求后,利用MS的身份标识索引到相应的PMN-AAA密钥,对该消息进行验证,如果成功,则计算PMN-HA密钥,这个密钥可标为PMN-HA1。HAAA将返回验证成功的消息,消息包含了密钥PMN-HA1。这样可以使得代理移动IP的注册无需对现有设备(尤其是HA)作出较大改动,进而使得本发明具有较大的应用价值。
接着,进入步骤807,HA分配HoA,并向该PDSN发送绑定响应RRP消息,该消息用PMN-HA1进行完整性保护,同时在该消息中还包含了新的SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值。该PDSN收到应答后,用自己计算的PMN-HA密钥验证PMN-HA认证扩展。如果正确,则绑定结束,该PDSN保存收到的HoA和SPI值。该PDSN在以后的绑定中使用PMN-HA1和HA分配的SPI值对后续的移动IP消息进行完整性保护。
接着,进入步骤808,该PDSN为MS分配地址,这个地址就是该PDSN从HAAA得到的HoA。
接着,进入步骤809,MS发生移动,需要执行PDSN间的切换,即从该PDSN(源PDSN)切换到目标PDSN。
接着,进入步骤810,源PDSN与目标PDSN建立P-P接口,源PDSN将MS的所有上下文信息转发给目标PDSN,其中MIP安全方面相关的参数主要是PMN-AAA密钥。也就是说,目标PDSN从源PDSN处获取到PMN-AAA密钥。当然,源PDSN也可以不直接将PMN-AAA密钥发送给目标PDSN,而是将PMN-AAA密钥的根密钥发送给目标PDSN,由该目标PDSN根据该根密钥得到PMN-AAA密钥,以进一步提高代理移动IP的安全性。
接着,进入步骤811,目标PDSN完成上下文的安装。
接着,进入步骤812,目标PDSN执行代理移动IP的绑定注册过程,仍然使用PMN-AAA密钥计算MN-AAA认证扩展,对绑定请求RRQ消息进行完整性保护,即在该RRQ消息中包含了使用PMN-AAA密钥计算的MN-AAA认证扩展,所携带的SPI值是协议中已定义的固定值。
接着,进入步骤813,HA收到目标PDSN的绑定请求RRQ消息后,发现消息中没有包含MN-HA认证扩展,而是MN-AAA认证扩展,因此向HAAA转发请求,请求该HAAA对该RRQ消息进行验证。
接着,进入步骤814,HAAA接到HA的请求后,验证RRQ消息的正确性,如果正确,则为HA计算新的PMN-HA密钥,即PMN-HA2,该HAAA将PMN-HA2传给目标PDSN。
接着,进入步骤815,HA向目标PDSN发送绑定应答RRP消息,该消息用新的PMN-HA2密钥进行完整性保护,同时在该RRP消息中还包含了新的SPI值,该SPI可以是HA生成的一个随机的并保证唯一性的值;目标PDSN收到应答后,用自己计算的PMN-HA密钥验证应答消息。如果成功,则目标PDSN保存收到的SPI值。目标PDSN在以后的绑定中使用PMN-HA2和HA分配的SPI值对后续的移动IP消息进行完整性保护。
接着,进入步骤816,此时数据从源PDSN切换到了目标PDSN,因此删除P-P接口。
由此可见,在本实施方式中,通过使用PMN-AAA对RRQ消息进行完整性保护,使得HA能在不修改现有协议的前提下,正确处理所有合法的绑定请求,根据不同情况更新密钥和生成对应的SPI,保证了代理与HA之间消息验证的准确性,满足了移动IP的安全性。
本发明的第六实施方式涉及代理移动IP的安全机制建立方法,本实施方式与第五实施方式大致相同,其区别仅在于,在第五实施方式中,由HAAA验证来自PDSN的RRQ消息,并向该HA发送PMN-HA密钥。而在本实施方式中,由HA利用MS的身份标识向HAAA请求下发相应的PMN-AAA密钥,HA利用该PMN-AAA密钥,对该RRQ消息进行验证,并且,由该HA根据PMN-AAA密钥得到PMN-HA密钥。因此,在发生PDSN的切换时,可由HA在后续的处理中独立完成消息验证和密钥更新,而不再需要与HAAA进行交互,简化了流程。
本发明的第七实施方式涉及代理移动IP的安全系统,包含移动IP的代理、HAAA、和HA。
在移动IP的代理中包含:绑定请求模块,用于在初次执行代理移动IP绑定时,如在建立与MS的连接或MS切换到本代理时,使用HAAA与代理之间的PMN-AAA密钥保护向HA发送的用于注册移动IP的绑定请求;和密钥生成模块,用于根据PMN-AAA密钥生成本代理与HA之间的PMN-HA密钥。
在HA中包含:验证请求模块,用于通过与HAAA的交互,验证来自代理的绑定请求;密钥获取模块,用于通过与HAAA的交互,获取PMN-HA密钥;和绑定响应模块,用于在验证通过后向代理返回绑定响应,并在该绑定响应中携带用于索引PMN-HA密钥的安全参数索引SPI。
在HAAA中包含:交互模块,用于与HA进行关于绑定请求的验证和该HA获取PMN-HA密钥的相关交互。
在移动IP的代理和HA根据PMN-HA密钥和SPI对后续的移动IP消息的完整性进行保护。
由此可见,HA可以在不修改现有协议的前提下,正确处理所有合法的绑定请求,根据不同情况更新密钥和生成对应的SPI,保证了代理与HA之间消息验证的准确性,满足了移动IP的安全性。
具体地说,移动IP的代理可通过以下方式获得PMN-AAA密钥:
如果绑定请求模块在与移动终端建立连接时需发送绑定请求,则该代理通过将MS的认证信息转发给HAAA,由该HAAA对该认证信息的鉴权通过后向该代理发送PMN-AAA密钥,获得该PMN-AAA密钥;或者,由该HAAA对该认证信息的鉴权通过后向该代理发送PMN-AAA密钥的根密钥,该代理根据该根密钥,获得该PMN-AAA密钥。
如果绑定请求模块在MS切换到本代理时需发送绑定请求,则向源代理获取PMN-AAA密钥,或者向源代理获取PMN-AAA密钥的根密钥,根据该根密钥,获得该PMN-AAA密钥。
HA的验证请求模块可通过以下方式与HAAA的交互模块进行交互,验证绑定请求:
HA的验证请求模块请求HAAA的交互模块验证绑定请求,该交互模块通使用MS的身份标识索引到相应的PMN-AAA密钥,利用该PMN-AAA密钥对该绑定请求进行完整性验证,实现对该绑定请求的验证。
或者,验证请求模块利用MS的身份标识请求交互模块下发相应的PMN-AAA密钥,并在获得该PMN-AAA密钥后,利用该PMN-AAA密钥对该绑定请求进行完整性验证,实现对该绑定请求的验证。
HA的密钥获取模块通过以下方式与HAAA的交互模块进行交互,获取PMN-HA密钥:
密钥获取模块直接请求交互模块下发PMN-HA密钥;或者,密钥获取模块请求交互模块下发PMN-AAA密钥,根据该PMN-AAA密钥得到PMN-HA密钥。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。