背景技术
虚拟专用网络(Virtual Private Network,简称VPN)是一种可利用广域网络(如因特网)将一远程使用者的计算机与一本地网络的服务器建立专用的网络通道,进行数据传输,并提供一种就像在封闭的私人局域网络内部一样的安全。
VPN为了确认安全性因此具有下列基本要求:
1.用户验证:VPN必须能够验证使用者身份并严格控制,只有经注册授权的使用者才能登录。
2.地址管理:VPN必须能够为使用者分配专用网络上的地址,并确保地址的安全性。
3.数据加密:对于通过因特网传输的数据必须经过加密,以确保因特网上的其它未授权使用者无法读取数据信息。
4.密钥管理:VPN必须能够产生并更新使用者的计算机与服务器的加密金钥。
5.支持多种协议:VPN必须能够支持因特网上普遍使用的基本协议,包括IP、IPX、PPTP(点对点通道协议)、L2TP(第2层通道协议)或通信安全协议(IPsec)...等等。
因特网通信协议(IP)是一种在计算机网络(如因特网)上传输数据所使用的通信协议,然而IP并未定义任何的安全性机制。
因此,因特网工程任务组(Internet Engineering Task Force,)在请求注册(Request for Comments RFC)2401通信标准中定义一种通信安全协议,该协议是将IP流量加密,以保护网络通信,防止数据修改、第三者检视、模拟,以及被撷取及回放的标准。
但由于无线网络技术的迅速发展,因此针对无线传输网络如何建立移动式VPN已成为相当重要的研究课题,而应用无线技术的移动式(Mobile)VPN,因特网工程任务组定义了一种MobileIPv4(IETF RFC 3344)协议标准,但在该Mobile IPv4标准中仍有一些问题需要解决。
例如,当一移动节点(Mobile Node以下简称MN)(如装设有无线网络设备的移动计算机),在一内部网络(Intranet)漫游时,会由一本地代理器(Home Agent,以下简称HA)分配一移动IP(Mobile IP,即MIP)地址给该MN,而当该MN由该内部网络漫游至一外部网络(Internet)时,如在家中或外地分公司,该MN会由当地的一外地代理器(Foreign Agent,FA)进入一种以通信安全协议为安全基础的VPN网关器(VPN Gateway)向该本地代理器(HA)进行注册,使该VPN网关器对该外地代理器(FA)建立通信安全协议通道。
而该MN在所漫游的外部网络中会得到一个新的转接地址(Care of Address,CoA),并要求该VPN网关器为该MN在每次漫游到一新的子网时更新通信安全协议通道。然而,所有进入该VPN网关器的数据封包信息都会被通信安全协议安全标准加密,而该外地代理器(FA)并无法解密这些加密过的数据封包,因此该外地代理器(FA)将无法传输该IP信息。
为了解决上述的问题,因特网工程任务组的Mobile IPv4协议的工作小组(Working Group,WG)提出一种利用一部固定的机器去支持VPN用户作为国际无缝漫游(International Seamless Roaming,ISR)的方法。
方法是将该内部网络中的本地代理器(HA)定义为一个内部本地代理器(Internal Home Agent,i-HA),而在该外部网络(ExternalNetwork)中建置一个外部本地代理器(External Home Agent,x-HA),该i-HA是作为内部网络管理(Mobility Management)MN的漫游状况之用,而该外部本地代理器则是当MN漫游至该外部网络时,作为管理MN的漫游状况之用。
而多出的外部本地代理器可将已建立的通信安全协议通道(Ipsec tunnel)包覆在其它外部移动数据通信地址通道(x-MIPtunnel)之下,不需变更到已建立的通信安全协议通道,因此当该MN由该VPN网关器获得一新的转接地址后,该VPN网关器所建立的通信安全协议通道则不会被破坏,因此该外部代理器(FA)就可以解密该外部移动数据通信地址的信息,故而用此方法可不必修改Mobile IPv4协议标准及通信安全协议标准,只改变一些MN所必需要的转接地址(CoA)。
如图1所示,其为因特网工程任务组所定义的移动式VPN标准架构示意图。在图1中有一MN1通过一个i-HA11漫游在一内部网络10内,而当MN1由该内部网络10移至一外部网络20时,则MN1必须向一外部本地代理器21进行注册,以获得一新的CoA,而外部本地代理器21再向一VPN网关器22要求建立通信安全协议通道连接至该外部本地代理器21。最后该VPN网关器22再向该i-HA11注册该MN1的内部网络通信地址(VPN-TIA,VPNTunnel Inner Address),以便将所建立该通信安全协议通道连接i-HA11,形成由外部网络20及内部网络10都可漫游的VPN。
而图2所示,是该移动式VPN的所建立通道的信息结构示意图,是MN1由内部网络10漫游到外部网络20的通道信号数据封包30,其中包含一层原始数据封包(Original Packet)31,在该原始数据封包31前包覆一层内部移动IP(i-MIP)的通道信息32(由该i-HA11到该VPN网关器22),而在该内部移动IP通道信息32外还包覆一层通信安全协议通道信息33(由该VPN网关器22到该外部本地代理器21),又在该通信安全协议通道信息33外再包覆一层外部移动网络数据地址(IP,x-MIP)的通道信息34(由该外部本地代理器21到MN1的转接地址)。
但是在公知的因特网工程任务组的方法中,会产生两个问题,第一是外部本地代理器21应该被放置于何处最为适当?第二是可否相信该外部本地代理器是安全的?
由于在公知因特网工程任务组的方法中是在外部网络20中建置一固定(Static)的外部本地代理器21,若该外部网络20中有包含若干个子网(Subnet)时,则如何安排该外部本地代理器21的放置地点,将会影响到漫游子网间该外部代理器(FA)与该外部本地代理器21间的转接传递(Handoff)时间延迟,以及漫游子网间的端至端(End-to-End)时间延迟问题。由于该外部本地代理器21是VPN网关器22无法控制的外部网络20中,因此是否能相信该外部本地代理器21是否真的符合通信安全协议的安全标准?
本发明解决了上述现有移动式VPN的需求以及问题,提出一种移动式VPN的动态代理器的(x-HA)分配方法及系统,可动态分配接近该MN的本地代理器(HA)作为该外部本地代理器,因此可将漫游网络间的转接传递(Handoff)延迟及端至端(End to End)延迟降到最小,且完全结合VPN的通信安全协议安全控制,是一种合理且能有效改善上述问题的发明.
具体实施方法
为了使贵审查委员能更进一步了解本发明为达成预定目的所采取的技术、手段及功效,请参阅以下有关本发明的详细说明与附图,由此得到深入且具体的了解。
如图3所示,是本发明移动VPN的系统架构示意图。本发明主要是可动态分配一外部网络中最接近的一个移动节点(MN)80的本地代理器(HA)作为一外部本地代理器(外部本地代理器)54,以便让该MN 80向该外部本地代理器54进行注册,完成移动式VPN(Mobile VPN)通信安全协议通道的建立。
本发明可利用在外部网络领域内所使用的DHCP服务器、AAA(Authentication,Authorization and Accounting)服务器或DNS服务器...等,都可以用来动态分配该外部本地代理器,以选择在外部网络中最接近该MN 80的本地代理器(HA)分配成为外部本地代理器54,且由于外部本地代理器54最接近MN 80,因此该外部本地代理器54与该MN 80间的延迟能够被降到最低。而在外部网络中子网(inter-subnet)间的端至端转接传递(Handoff)也将变的更为快速,另外也可将在外部网络中的另一本地代理器(HA)作为负载平衡来使用。
虽然如此,但最重要的仍是该外部本地代理器54的安全机制问题,因此可使用AAA服务器来分配该外部本地代理器54,例如我们可以采用Diameter基础协议(Diameter Base on Protocol)(工程任务推动组中请求注解3588)作为该AAA服务器,不仅能分配该外部本地代理器,还能够在漫游时移动变化的若干个代理器(Agents)之间,建立安全连接(Security Association,SA),并作为金钥分发中心(Key Distribution Center,KDC)。
如图3所示有一内部网络(Intranet)40及至少一个外部网络(Internet)50,内部网络40是一个受保护的私人网络(ProtectedPrivate Network),连接设有一DHCP服务器41及一内部路由器(Interior Router)42,内部路由器42连接一非管制区(DMZ)60,该非管制区(DMZ)60是因特网后面的实体区域,面对防火墙的保护后端系统和数据的第二层防火墙前面,而非管制区(DMZ)60又连接有一本地AAA服务器(AAAH)61、一VPN网关器62及一外部路由器(Exterior Router)51,而外部路由器51则连接至外部网络50(Internet)。
而在内部网络40中又可能包含了若干个的子网(Subnet)43,每一子网43都连接至少一无线基地台(Wireless Access Point,WAP)44,用以无线连接至少一个MN 80。而在内部网络40中还设有一个i-HA 45及一个内部外地代理器(Internal Foreign Agent,以下简称i-FA)46,如图3中显示该i-HA45是连接于第一个子网(Subnet 1)上,而i-FA 46则连接于第二个子网(Subnet 2)上,而DHCP服务器41则连接于第三个子网(Subnet 3)上。
如图4、图5所示,是MN 80在内部网络40漫游的注册流程图及时态示意图,当MN 80在内部网络40中漫游时,如从第一个子网(Subnet 1)漫游至第二个子网(Subnet 2)时,该i-FA46会不断广播并询问100,是否有任何一个MN 80的移动数据网络地址在网络内漫游(S200),此时MN 80会发出一注册请求(Registration Request,Reg-Req)信息105给该i-FA46(S205),由于i-FA46并不识别MN 80,故而i-FA 46会转送Reg-Req信息105至i-HA 45进行注册(S210)。
当注册完毕后,i-HA 45会回复一个注册回复(RegistrationReply,Reg-Reply)信息110给i-FA46(S215),此时i-FA46便可识别该MN 80,再由i-FA 46发送一注册回复信息115给MN 80(S220),以完成内部网络的漫游注册程序。
又如图3所示,外部网络(Internet)50是一个不受保护的公众网络(Unprotected Public Network),其中可能包含有若干个外部网络所组成,图3所显示有一个第一外部网络及一个第二外部网络,而在每一个外部网络中又可能包含有若干个子网,且可以分别连接一个外地AAA服务器(Foreign AAA Server,以下简称AAAF)53、一个外部本地代理器54、一个外部外地代理器(External ForeignAgent,以下简称x-FA)55、一个DHCP服务器56和至少一个无线基地台(WAP)57。
如图6、图7A、图7B所示,是MN 80在外部网络50漫游的注册流程图及时态示意图。当MN 80从内部网络40漫游至外部网络50时,则当地的外部外地代理器55会不断广播并询问(Advertisement & Challenge)300是否有任何一个MN 80在网络内漫游(S400),此时MN 80会发出一注册请求(Reg-Req)信息305给外部外地代理器55(S405)。
而在Reg-Req信息305中应包含有一个本地地址HoA(HomeAddress)、一个本地代理器(HA)地址、一个需要被本地服务器(AAAH)61授权的认证信息以及一个MN的网络接收标识(NetworkAccess Identifier,网络接入标识符)...等等的请求。
且在外部外地代理器55所收到的Reg-Req信息305中,本地地址与本地代理器地址都应被设为0.0.0.0,表示MN 80是想要在外部网络中获得一个外部本地地址(External-Home-Address,x-HoA),以及得到当地外部本地代理器的地址,因此外部外地代理器55会产生一个特征向量(MIP-Feature-Vector)属性值对(Attribute-Value-Pair,AVP),其中设定有MN80的本地地址请求(Home-Address-Requested),以及本地代理器请求(Home-Agent-Requested)到属性值的标识(Flag)。
此时该外部外地代理器55会将该特征向量属性值设定在一授权确认请求(AA-Mobile-Node-Request,AMR)信息310中,从Reg-Req信息中取得必要的信息加到相关的属性值中,并将该授权确认请求信息310发送至当地的该外部服务器53(S410)。
由于当地的外部服务器53会相信当地的外部外地代理器55,因此会授权该授权确认请求信息310,但该外部服务器53仍会先检查在该特征向量属性值对中本地代理器请求标识位(Flag bit)是否为”1”。
若为”1”时,外部服务器53会要求本地服务器61允许分配在漫游的外部网络中的一个外部本地代理器54作为MN 80的本地代理器(HA),因此外部服务器53会在所收到的授权确认请求信息310中。特征向量属性值内设定一个外地的本地代理器可用来(Foreign-Home-Agent-Available)标识,并且在一个候选本地代理器主机(MIP-Candidate-Home-Agent-ost)的属性值对中填入至少一个候选外部本地代理器54的网络接收标识符(NAI),然后外部服务器53再把该授权确认请求信息310传送至本地服务器61(S415)。
当本地服务器61接收到外部服务器53所传来的授权确认请求信息310后,必需进行授权MN 80的Reg-Req信息305,因此本地服务器61可通过授权确认请求信息310中所设定之一来确定MN 80是使用那一种的安全性策略,如加密算法和长期分享金钥。
如果本地服务器61授权成功则会检查授权确认请求信息310特征向量属性值对中的本地代理器请求的标识位以及该外部本地代理器的标识位是否都等于”1”,若是,则表示MN要求动态分配一外部本地代理器54在所漫游的外部网络区域中,而本地服务器61也会在漫游的外部网络区域中的外部本地代理器中,使外部外地代理器与MN之间建立安全连接(SA)(S420),如外部本地代理器54与外部外地代理器55间、MN80与外部本地代理器54间或者MN 80与外部外地代理器55间。
因此本地服务器61会产生一个至少128位随机数的金钥组件(Key Materials),一般统称为Nonces,利用Nonces可计算产生一通信金钥(Session Key),以确保该安全连接(SA)的安全性。
而在该外部本地代理器54及该外部服务器53所发送的该授权确认请求信息310中的特征向量属性值对也包含若干个金钥(Key-Requested)请求,包括从MN 80与本地代理器(HA)间的金钥请求(以下称MN-HA-Key-Requested)、MN 80与外地代理器(FA)间的金钥请求(MN-FA-Key-Requested)以及外地代理器(FA)与本地代理器(HA)间的金钥请求(FA-HA-Key-Requested)...等。
而通信金钥(S ession Key)可通过以Diameter协议(DiameterProtocol)的AAA服务器被安全地传输到这些外部外地代理器55或者外部本地代理器54上。这是因为通信安全协议标准或是运输层安全(Transport Layer Security,TLS)标准(IETF RFC 2246)即是强制应用在保护Diameter节点(包括服务器、客端与代理器)之间的通信数据。但该通信金钥(Session Key)并不会直接传递到MN80上,因为如此将会使该通信金钥(Session Key)暴露在没有保护网络协议中,而只给MN 80金钥组件(Nonces)。
因此本地服务器61会再产生一本地代理器请求(Home-Agent-MIP-Request,)信息315,把通信金钥(Session Key)及Reg-Req信息封装在本地代理器请求信息315的相关的属性值对中,通过该外部服务器53传送给候选的外部本地代理器54(S425),外部服务器53主要是扮演代理服务器(Proxy)的角色。
故而在本地代理器请求信息315中的通信金钥(Session Key)包含有外部本地代理器54与外部外地代理器55间的通信金钥(MIP-HA-to-FA-Key)属性值对、MN80与外部外地代理器55间的金钥组件(MIP-MN-to-FA-Key)属性值对,以及MN80与外部本地代理器54间的金钥组件(MIP-MN-to-HA-Key)属性值对等等,都将会附加到本地代理器请求信315中。
因此外部本地代理器54能够从本地代理器请求信息315中的相关属性值对中分别取得外部本地代理器54与外部外地代理器55间的通信金钥(Session Key)、MN80与外部外地代理器55间的金钥组件(Nonces),以及MN 80与外部本地代理器54间的金钥组件(Nonces)。
而外部本地代理器54在所接收到的本地代理器信315中如果没有包含MN 80的地址(MIP-Mobile-Node-Address)属性值对,且在特征向量属性值对中的内部本地地址请求(Home-Agent-Address-Requested)的标识位被设为”1”时,则外部本地代理器54将自动为MN 80分配一外部本地地址设置在MN地址属性值对(MIP-Mobile-Node-Address AVP)中,并且外部本地代理器54会自动将它本身的地址设定到该网络本地代理地址属性值中。接着,外部本地代理器54会将MN80与外部本地代理器54间的该通信金钥(Session Key)储存起来,并将金钥组件(Nonces)复制到一注册回复(Reg-Reply)信息上,然后外部本地代理器54产生一本地代理器回复(Home-Agent-MIP-Answer,HAA)信息320通过该外部服务器53再传送至该本地服务器61(S430),而本地代理器回复信息320中至少包括了一个包含有金钥组件(Nonces)的注册回复(MIP-Reg-Reply)属性值对、一个结果码(Result-ode)属性值对、一个包含有MN80外部本地地址的MN地值属性值对(MIP-Mobile-Node-address AVP),以及一个包含外部本地代理器54地址的本地代理器地址属性值对。
本地服务器61在接收到外部本地代理器54通过外部服务器53所送出的本地代理器回复信息320后,本地服务器61会从MN属性值对中获得MN80的外部本地地址,以及从本地代理地址属性值对中获得外部本地代理器54的地址。
然后本地服务器61会建立一新的本地代理器请求信息325,并将外部本地地址及外部本地代理器地址分别填入MN地址及本地代理地址的属性值对,接着本地服务器61发送本地代理器请求信息325向i-HA 45进行注册(S435)。
当i-HA 45接收到该本地代理器请求信息325后,i-HA 45从本地代理器请求信息325中的属性值对获得外部本地地址,会将所获得外部本地地址54的地址注册为MN80的公共转接地址,使i-HA 45认识本地代理器请求信息325后建立出一新的本地代理器回复信息330传送至本地服务器61(S440)。
然后,本地服务器61在接收i-HA 45所发出的本地代理器回复信息330后,可由其中的该结果码(Result-Code)属性值对显示出已授权成功。因此本地服务器61会建立一授权确认回复(AA-Mobile-Node-Answer,AMA)信息335通过该外地服务器53传送至该外部外地代理器55(S445),而在该授权确认回复信息335中包括一DIAMETER成功的结果码(Result-Code)、本地代理器地址属性值、MN地址属性值以及该注册回复属性值,而这些属性值可从所接收到的该本地代理器回复信息330中被复制出来。
如果在授权确认回复信息335中有包含MN 80与外部外地代理器55间的金钥组件(MIP-MN-to-FA-Key)属性值对以及外部本地代理器54与外部外地代理器55间的通信金钥(MIP-HA-to-FA-Key)属性值对,则外部外地代理器55会接收到其中的MN 80与外部外地代理器55间的金钥组件(Nonces)以及外部外地代理器55与外部本地代理器54间的通信金钥(Session Key)。
当外部外地代理器55接收到由该本地服务器61所传来AAAH授权确认回复信息335后,可从结果码(Result-Code)属性值对中显示出已授权成功,则外部外地代理器55会从授权确认回复信息335的注册回复请求属性值对中获得一注册回复请求信息340,并将该注册回复请求信息340转送至MN 80(S450)。否则外部外地代理器55会悄悄地将授权确认回复信息335丢掉。
一旦MN 80接收到注册回复请求信息340,则MN 80即可取得新的外部本地地址、外部本地代理器地址以及金钥组件(Nonces),然后MN 80使用所接收到的金钥组件(Nonces)和相同于本地服务器61的散列算法及长期分享金钥(Longterm Shared Key)计算出正确的通信金钥(Session Key)。
因此,当MN 80通过本地服务器61授权,以及通过外部本地代理器54及i-HA45以Mobile IPv4安全标准注册后,即可使用外部本地地址与VPN网关器连结,使MN 80与VPN网关器之间建立通信安全协议通道345(S455),恢复像在内部网络一样的安全通信。
而在完成外部本地代理器54的分配后,在漫游的外部网络内各个当地的本地代理器(HA)间的安全连接(SA)也将被建立完成。此后,MN 80即可直接使用MIPv4标准通过外部外地代理器55与当地的外部本地代理器54进行注册通信,而不需要再通过AAA服务器,也就是说,当MN 80在外部网络内获得一个新的转接地址(CoA)后,即可如同在内部网络内漫游般,只需要向被分配的外部本地代理器54注册即可,而不必再向i-HA 45进行注册。
而且在相同的外部网络内并不需再重建通信安全协议通道,不过通信金钥(Session Key)是有寿命的,如果寿命终止,则仍需通过Diameter基础的AAA服务器产生一新通信金钥(Session Key),另外若MN 80再移动至另外一个外部网络时,又必须向当地的一个新的外部本地代理器请求注册时,则上述的整个过程将再次被执行,让该外部本地代理器再次被分配,而通信安全协议通道也将再被重建。
本发明提供一种使用动态分配外部本地代理器替换静止外部本地代理器的技术,因而漫游时本地代理器间传递转接延迟以及端至端的延迟都将被显著的降低,而且本发明是以Diameter MIPv4应用在转接的本地代理器之间建立的安全连接,因此外部本地代理器是可以被相任的,且对外部本地代理器及i-HA的注册动作是同时被完成的。故而本发明实现了一个移动式VPN的系统平台,迥然不同于现有的设计,可提高整体的使用价值。上述说明,仅为本发明的实施例而已,凡精于此项技术者可依据上述说明作其它改良,而这些改变仍属于本发明发明精神及以下所界定的权利要求中。