提供用于短程无线计算设备的安全网络访问的制作方法

文档序号:7663519阅读:252来源:国知局
专利名称:提供用于短程无线计算设备的安全网络访问的制作方法
技术领域
本发明涉及计算机网络,以及更具体地说,涉及用于允许用短程无线计算设备无缝连接和漫游的方法、系统以及计算机程序指令。
背景技术
近年来,各种短程无线网络通信技术,特别是IEEE 802.11以及蓝牙,已经公开了允许便携式设备(如膝上型电脑、蜂窝电话、个人数字助理或PDA等)彼此和与广域网环境通信。(IEEE 802.11是用于无线局域网、或LAN、信令和协议、在1997年批准的电气和电子工程师学会的标准。802.11满足跳频扩频无线电通信、直接序列扩频无线电通信以及红外传输。蓝牙是用于短程无线连接的规范,目的在于统一远程通信和计算。有关这些规范的更多信息可分别在Internet的www.ieee.org和www.bluetooth.com上找到)。
该环境中的主机移动性问题在现有技术中是公知的,以及已经阐述了几种方案来解决该问题。在这些方案中有移动IP(因特网协议)、端对端TCP(传输控制协议)重新映射方法以及HAWAIT(已知的切换无线接入Internet体系结构)系统。现在将描述每一个这些方案以及根据位置独立的信息包路由选择以及安全访问简单地概述它们的限制或缺点。
在移动IP环境中,为每个设备指定静态、全球IP地址。也为该设备在其本地网络指定固定的本地代理(HA)。当该设备漫游时,发生下述步骤(1)将该设备定位到远程网络上的外地代理(FA)主机以及与其建立通信,并给FA提供HA身份;(2)FA启动与HA的握手;(3)由HA接收指定给该客户机的信息包,再使它们通向FA,然后将它们转发给该设备;(4)由FA截取由客户机生成的信息包,再使它们通向HA,然后将它们转发给指定目的地。然而,已经优化移动IP以允许FA将信息包直接传送给指定目的地而不是经HA发送它们。
然而,移动IP具有多个缺点和限制。“嵌套IP(IP inside IP)”隧道效应要求将另外的报头资料增加到信息包中,以及它还要求至少重新计算新的IP报头检验和(用于另外的IP报头资料)。这些操作要求在HA和/或FA额外的存储器访问。在某些操作系上,检验和计算可能不是递增的(因此可要求访问IP报头中的每个字节)。在某些操作系统上,增加报头资料要求将整个信息包拷贝到新的缓冲器,要求访问信息包中的每个字节。HA和FA间的信息包隧道效应也增加了信息包大小。这反过来增加带宽消耗以及可能要求原始IP信息包的另外分段以及重组(实质上引入了新的信息包丢失状态。因此隧道效应可引起性能恶化。另外,HA和FA间的隧道效应引入了路由选择无效,因为所有入站信息包必须在两个主机间路由,即使当信息包源以及目的地物理地位于相邻网络上。
移动IP也增加了客户设备的负担和限制。客户机必须安装另外的软件以便能发现FA。每次允许特定的客户机仅与一个FA通信。这意味着不提供分开多个FA中的负载。如果FA出故障,那么有关该客户机的所有状态信息均丢失,而且该客户机必须重新建立所有它的网络连接。另外,必须为所有客户机指定公众可路由的(全球)IP地址。在当今Internet中,这些地址非常受限,因此这显示出很大的局限性,特别是对具有许多移动员工的大公司。
由Alex Snoeren和Hari Balakrishnan提出的端对端TCP重新映射方案在他们的论文中描述过,2000年8月,Mobicom 2000论文集,名为“An End-to-End Approach to Host Mobility”。意识到移动IP的局限性,这些作者建议可通过将另外的机制增加到TCP上、允许将已建立的连接“重新映射”到客户机的新IP地址上来实现无缝移动功能。用这种方式,当客户机漫游时,可免费获得新的IP地址,从而重新映射所有它的开放的连接。在该方案中,TCP/IP连接直接在漫游设备(具有其动态IP地址)以及服务器之间操作。无论何时设备漫游并获得新的IP地址时,在TCP/IP链路上发送消息以便通知服务器设备地址已经改变。
该方案也具有多个缺点。它要求改变所有客户机和服务器上的TCP实现,这是不太可能发生的事。必须修改知道该设备IP地址的应用程序以便了解和处理当设备漫游时发生的IP地址改变。该方案不能用于基于用户数据报协议(UDP)/IP的通信。最后,该系统依赖于动态域名服务(DDNS)以便允许远程主机了解客户机的当前IP地址;不幸的是,DDNS还没有被完全采纳。
在2000年7月7日,R.Ramjee等的名为“IP micro-mobilitysupport using HAWAII”的Internet设计中,描述过HAwAII系统,可在Internet的http//www.ietf.org上获得。HAWAII是对移动IP的优化以便允许用户在单个管理域中更有效地漫游。当用户漫游到管理域中时,用普通方式与本地FA建立关联。在管理域中,通过动态更新路由器以及主机路由选择表来实现漫游以便FA能将信息包转发给该设备或从该设备转发。
与移动IP相比,该方案降低了FA-HA安装和拆卸费用,因为FA不频繁地改变只要用户正在由FA支持的管理域中漫游,它便保持不变。象移动IP,HAWAII技术能消除用于从客户机发送的信息包的出站“三角”路由选择(然而不是用于发送到该客户机的信息包,因为经Internet将客户机的公共地址路由到HA)。
然而,HAWAII技术引入了更新路由器(这在许多管理域中也许是不可能的或不允许的)的另外的费用。它也未消除与移动IP有关的计算性能、带宽以及可靠性问题。
这些现有的用于主机移动性的方案也非常有限,因为它们不提供用于执行有关(1)哪些用户正在经无线接入环境访问有线网络以及(2)那些用户正在与哪些服务器通信的政策的机制。
现有的安全机制分为两种一般的种类。第一种是链路层加密以及第二种是安全IP隧道效应。现在将描述每一种这些技术。
链路层加密用来确保不受阻碍地在无线网络上传送数据。在802.11环境中,定义WEP(无线对等效保密)以允许客户机和无线接入点间加密。在典型的实现中,系统管理员定义提供给所有授权用户的密钥。用户用该密钥配置他们的客户机,然后将该密钥提交给接入点以证明授权该设备访问网络。只要完成该握手,建立会话密钥以便加密客户机和接入点间后来的通信量;在无线卡中的硬件内实现该加密。类似的机制存在于蓝牙环境中。
该链路层安全技术具有几个限制。首先,它是匿名的。即,接入点(以及网络)不能确定哪个用户实际上正在使用网络。因此,没有办法来实施基于用户的过滤和路由选择政策。另外,该技术很麻烦。WEP密钥可以是1024位长,以及要求用户输入该信息很容易出错。另外,没有用于密钥撤消的机制。只要该用户具有密钥,就不再能拒绝该用户的网络访问。为防止先前授权的用户获得对网络的访问,管理员必须创建新密钥,重新编程所有的接入点,以及通知所有当前授权用户更新他们的WEP密钥。在大的计算中心中,这是不切实际的。
使用该链路层技术的一种替代方案包括在无线客户机和连接到该接入点的某些路由器间构造安全的IP隧道。已经由3Com公司发布了这种方案(参见http//www.3com.com/news/releases/pr00/ju10500a.html)。在该具体的方案中,用户将用户名和密码提供给路由器,路由器验证该用户。接着,在客户机和路由器间建立MPPE(Microsoft点对点加密)链路。用这种方式,用户能确保在无线网络上加密所有信息包。
然而,该技术不能利用在无线接入硬件中提供的硬件加密能力,因为加密功能驻留在链路层上。另外,网络管理员不能使用该机制来在网络上实施访问控制或过滤政策。虽然可将这种过滤集成到路由器本身中,还是没有机制来确保所有客户机与路由器建立安全隧道。通过直接将路由器导线连接到每个无线接入点(以便因此路由器能截取所有入站和出站通信量)来实现过滤方案是可能的。然而,该后一方案强加了显著的配线负担,因此是不切实际的。
因此,需要的是一种用于支持主机移动性的、克服了现有技术的局限性的技术。

发明内容
本发明是针对用于在短程无线计算网络中支持主机移动性的方法、系统和计算机程序指令。所公开的路由选择技术提供基础路由选择体系结构的最大性能和吞吐量、最小化用于信息包的网络等待时间,以及提供最大配置灵活性。另外,所公开的安全访问技术允许提供安全、管制网络环境,其中能很容易和有效地实施每个用户访问控制以及通信量过滤政策。使用这些技术,客户设备能使用恒定的设备地址无缝地穿过无线网络(如建筑物内的网络)。
根据本发明,每个网络连接与本地代理伪装器(HAM)关联。漫游设备经外地代理伪装器(FAM)通信,反过来,外地代理伪装器与用于每个有效连接的HAM通信。通过允许客户设备使用用于每个它的有效连接的不同HAM,用于漫游设备的HAM可放置在非常接近建立连接时客户机所处的物理位置。如果该连接是暂时的以及该用户实际上不漫游同时该连接在进行中,需要构造现有技术中所需的这种显而易见的路由选择路径该设备简单地使用(附近的)HAM。实际上,大多数连接倾向于暂时的(例如,请求Internet),因此所公开的技术特别有利。对连接是长期(或期望是长期的)的情形,定义用于将HAM功能放在更集中的位置上的技术。
递增地将连接状态载入每个FAM中,同时FAM获悉需要为其提供信息包路由选择的新设备,从而进一步改善整个系统性能。
定义有效和递增切换处理技术。最终系统很容易升级,以及实现高性能。
为补充这些路由选择技术,公开的内容是用于确保在短程无线网络环境中用户集中的链路层安全性的安全机制。公开的机制允许当支持基于用户的验证时,使政策驱动的信息包过滤发生,以及同时利用由在每个端点的设备硬件提供的现有加密设施。


图1描述在现有技术中使用的网络地址转换(NAT)的格式;图2描述由现有技术的NAT系统使用的转换技术;图3描述根据本发明的优选实施例的系统中的逻辑元件;图4和5根据本发明的优选实施例,分别描述外地地址伪装器表以及本地地址伪装器表的格式;图6根据本发明的优选实施例,提供描述逻辑功能的流程图,通过逻辑功能,将由客户机传送的信息包递送给目的地服务器;图7根据本发明的优选实施例,提供描述逻辑功能的流程图,通过逻辑功能,将由服务器传送的信息包递送给客户机;图8根据本发明的优选实施例,描述由路由选择协调器维护的连接表的格式;图9根据本发明的优选实施例,提供描述逻辑功能的流程图,逻辑功能处理建立新连接;图10根据本发明的优选实施例,提供描述当信息包到达可能正在现有连接上漫游或可能正在建立新连接的设备时调用的逻辑功能的流程图;图11提供描述可用作图10的替代方案的逻辑功能的流程图;图12根据本发明的优选实施例,提供描述逻辑功能的流程图,通过逻辑功能,动态获悉客户设备的变化位置;图13根据本发明的优选实施例,提供描述逻辑功能的流程图,逻辑功能用来防止指定用于客户机的信息包被发送到客户机不再与其关联的路由选择设备;图14根据本发明的优选实施例,描述可用来提供用户验证的安全管制环境以及过滤技术;图15根据本发明的优选实施例,提供描述逻辑功能的流程图,通过逻辑功能,可建立安全链路。
具体实施例方式
在下文中,将参考附图更全面地描述本发明,其中示出了本发明的优选实施例。相同的数字始终表示相同的元件。
下面,根据本发明的实施例,参考方法的流程图描述、装置(系统)以及包含在一个或多个计算机可读介质上的计算机程序指令来描述本发明。正如对本领域的普通技术人员显而易见的,这些流程图仅是实现本发明的优选实施例的说明性的方式,以及可对在此描述的逻辑功能做出改变(例如,通过在某些情况下改变所示的操作顺序,通过组合操作等),而不脱离在此公开的发明原理。
本发明建立在使用本领域的技术人员公知的网络地址转换(NAT)上。使用NAT允许用某些其他地址“伪装”特定的客户机网络地址。这种能力通常用来使用较少量的公众可见的地址,允许将企业通信网中的多个专用客户机地址暴露给Internet。这降低了需要获得的全球IP地址的数量,以及增强了网络安全性。
为实现该伪装,提供NAT的设备维护具有用于每个已建立的连接的一个条目的地址转换表,如图1所示。当建立连接时(例如,发送TCP SYN消息),NAT主机在表中建立与客户机和服务器主机地址和端口一致的条目。它还指定伪装IP地址和端口,它们是用于使用期限的连接的客户主机的“公有”视图。(即,对与第一服务器通信的特定客户机来说,可使用第一伪装地址和端口,而对与不同服务器通信的相同客户机来说,可使用不同伪装地址和端口)。
NAT的操作如图2所示。从在特定连接上的客户机205(使用客户机地址和端口号的源IP地址集,以及服务器地址和端口号的目的地IP地址集)发送210的任何出站信息包由NAT215转发220,好象它们是由伪装地址和伪装端口号发送的一样。因此服务器225相信它正与具有该伪装地址和端口号的客户机通信。因此,由NAT215转发240来自伪装地址和伪装端口指定的服务器225的任何入站信息包230,好象将它们指定到客户机205的真正客户机地址和客户机端口一样。
现在参考图3,图3表示在本发明中描述的系统的逻辑元件(1)设备330,(2)本地地址伪装器(HAM)310,(3)外地地址伪装器(FAM)340,(4)漫游协调器320,(5)应用服务器300。现在将描述每一个这些元件,因为它与本发明有关。
与本发明一起使用的设备330(如膝上型电脑、手持电脑、PDA、便携式电话等)均具有通信能力(最好是,短程无线通信能力)。通信能力可包括技术如802.11、蓝牙、HomeRF、或类似的技术(也可能是未开发的)。网络能力可内置在该设备中,或用另一种方式获得,包括但不局限于经可拆卸卡(如PCMCIA、或个人计算机存储卡国际协会卡),或附加适配器(即,加在USB或通用串行总线、端口或RS232端口上的可拆卸设备)。
发送到客户设备330或从客户设备330发送的所有信息包经过FAM340。由FAM将设备的出站信息包350a转发给目的地服务器300。另一方面,首先将来自服务器300的入站信息包发送360a给设备的HAM310,然后再转发360b给FAM340,FAM340将它们发送360c给设备330。
在优选实施例中,静态地将HAM310指定到特定客户设备和服务器间的每个连接(尽管设备HAM可改变,将在下面详细描述)。为支持路由选择,HAM采用HAM转换记录(下面将参考图5描述)。在优选实施例中,在网络接入点、路由器或桥接器中实现HAM,尽管如下所述,它也可另外在中心服务器或其他主机中实现。
在优选实施例中,FAM340是与设备通信的第一(非桥接)网络元件。发送到该设备或从该设备发送的信息包必须经过FAM。最好,在网络接入点或LAN路由器中实现FAM。(在另外的实施例中,FAM能力可放在桥接器中,如果每一客户机与FAM使能的桥接器通信)。当设备漫游时,FAM改变。为支持路由选择,FAM采用FAM转换记录(下面参考图4描述)。最好,初始FAM也执行用于该设备的HAM任务,如下所述,尽管这并不是本发明所需要的。
应用服务器300是与该设备正在通信的端点。这将在连接的持续时间内保持不变。(另外,应用服务器本身可以是与其自己的FAM和HAM有关的移动设备。这需要将静态、公共的可路由地址用作用于已知服务的伪装地址)。
漫游协调器320允许HAM和FAM连接以及发现,以及连接移动(即,切换)。在优选实施例中,在网络连接到系统中的各个网络接入点的服务器计算机中实现漫游协调器。
根据本发明,使用基于网络地址转换的原理的技术,HAM和FAM允许位置独立的信息包路由选择。为此,HAM和FAM为它们支持的每个连接分别维护HAM转换记录和FAM转换记录。将HAM转换记录均存储在HAM转换表中,以及将FAM转换记录均存储在FAM转换表中,现在将对此进行描述。
用在本发明的优选实施例中的FAM转换记录的格式如图4所示。FAM转换表允许FAM将出站信息包重写到来自客户机的连接上,就象它们源于由HAM指定的伪装地址和伪装端口一样。在从客户机收到信息包后(见图3的350a),使用客户机(源)和服务器(目的地)地址和端口号(最好作为索引)来检索相应的FAM转换记录,以及用客户机的实际地址和端口号代替在此存储的伪装地址和端口号(将在下面参考图6详细描述)。通过检索具有匹配的FAM地址和端口号的存储记录(以及伪装地址和端口号)、以及客户机作为目的地代替FAM,FAM转换记录也允许FAM将入站信息包(见360c)转发给客户机地址和端口(下面将参考图7更详细地描述)。
注意当如图4、5和8所示的示例性表格式包括用于协议标识符的条目时,该信息是可选的,以及仅在支持多协议(如TCP和UDP)的系统中需要。也应当理解这些表可包含比图4、5和8所示的更多的字段,而不脱离本发明的原理。
用在本发明的优选实施例中的HAM转换记录的格式如图5所示。这些HAM转换记录允许HAM将入站信息包转发给适当的FAM,反过来,FAM能将这些信息包转发给客户机。在从服务器接收到入站信息包(见360a)后,HAM使用伪装地址和端口号,以及检索HAM转换记录谁的服务器地址和端口号与包含在信息包中的地址和端口号匹配。然后用伪装地址和端口代替在此存储的FAM地址和端口,以及将该信息包转发(见360b)给该FAM。
尽管在图5中未示出,HAM转换记录的另外的实施例可选地包括(1)与连接有关的实际客户机地址和客户机端口,当HAM指定用于连接的伪装地址和端口时,它们对HAM来说是已知的,和/或(2)在每个条目中的多个FAM地址和FAM端口。
在两种情况下可出现多个FAM地址和端口。第一,当客户机正从一个FAM漫游到另一个时,可暂时将多个FAM与连接关联。另外,客户机可能能立即与多个网络接入点或路由器通信,甚至是静止时。因此,它可与多个接入点建立关系,并且经过这些接入点将信息包发送到网络或从网络发送。因此,多个FAM可为特定连接存在,它们均能将信息包转发给客户机。当不止一个FAM能用于路由选择特定信息包时,使用不形成本发明部分的冲突判决技术(包括随机选择FAM),HAM可从可用的FAM中选择。(最好,也可从连接路由选择表中的条目了解多个FAM的存在,下面将参考图8进一步描述)。
图6根据本发明的优选实施例,描述表示如何从客户机将信息包发送给服务器的流程图。该处理与图3的流程350a和350b一致。在块600,客户机发送其源为客户机IP地址和端口以及其目的地是服务器IP地址和端口的IP信息包。该信息包可以是已经建立的连接中的信息包或连接请求信息包(如TCP SYN,或UDP流中的第一信息包)。在延伸到客户机的当前FAM的链路上发送信息包。(将FAM的MAC地址放在信息包中作为目的地MAC地址。使用现有技术,如地址分辨协议,或“ARP”,该MAC地址对客户机来说是已知的。另外,可使用广播MAC地址)。在块610,FAM接收信息包并从信息包抽取源地址和端口和目的地地址和端口。在块620,FAM访问FAM转换表以便检索其客户机和服务器地址和端口与从块610抽取的源和目的地的地址和端口匹配的FAM转换记录(见图4)。
在块630,确定是否找到匹配的FAM转换记录。如果对块630的回答为否,那么在块670,FAM与路由选择协调器联系以便确定该客户机和该服务器间的连接是否已经存在,并为其建立FAM转换记录。(该处理在图10中很详细。)在判定块675,确定是否创建了FAM转换记录。如果判定块675的回答为否,那么该信息包表示(可能的)新连接,根据图9来处理它(块680)。(其中FAM将试图也变为HAM)。在块690继续该处理,在该块,确定是否创建了FAM转换记录。如果判定块690的回答为否,那么舍弃该信息包,以及在块695终止该处理(在另外的实施例中,可取消在判定块690的检验,在这种情况下,总是舍弃该信息包,同时在块695直接终止该处理。同时该替代方案舍弃客户机连接请求信息包,在客户机中的协议实现通常检测该去除的信息包并重新发送它。用适当的方式,由在流程图中出现的逻辑程序来自动处理重新发送的信息包。)如果判定块630的回答为是(即,FAM已经知道该连接),或如果判定块675的回答为是(即,这是路由选择协调器已经知道的漫游设备以及其正好与该FAM接触),或如果判定块690的回答为是(即,这是用于该设备的新连接),那么已经定位(或生成)用于该信息包的有效FAM转换记录。控制传递给块640,在该块,从FAM转换记录抽取伪装地址和端口。在块650,将这些地址作为源地址和端口插入(即取代)信息包,以及在块660,在网络上传送重写信息包。该处理在块695终止。
用这种方式,将由客户机传送的信息包转发给服务器以便服务器将源视为伪装地址和端口,代替实际的客户机地址和端口。此外,在本发明的FAM中的地址转换技术能有效地处理这些出站信息包。
现在参考图7,示出了根据本发明的优选实施例,如何将由服务器发送的信息包递送给客户机的流程图。这与图3的流程360a、360b以及360c一致。在块700,服务器传送其源地址和端口识别服务器以及其目的地地址和端口是与连接有关的伪装地址和端口的IP信息包。服务器使用伪装地址和端口,因为由FAM重写由客户机生成的所有信息包(见图6)以便使用该地址和端口,以及因此,服务器相信这是它正与其通信的客户机的地址和端口。
在块705,由HAM接收用于相应连接的该信息包,以及HAM从信息包抽取源(服务器)以及目的地(伪装)地址和端口。(如下面将参考图9所描述的,HAM负责生成伪装地址和端口,以便发送给伪装地址和端口的信息包将经正常的IP路由选择装置到达HAM)。在块710,HAM检索HAM转换表以便定位与从信息包抽取的服务器地址和端口以及伪装地址和端口匹配的HAM转换记录(见图5)。在判定块715,确定是否找到HAM转换记录。如果判定块715的回答为否,那么HAM与服务器和客户机间的连接无关,因此,在块785,舍弃该信息包。然后在块795完成处理。
注意在许多错误情况下将优选实施例的流程图描述为简单的舍弃信息包,错误情况通常与客户机正在积极移动以及还没有更新表以反映客户机的新位置的情况一致。根据现有技术,客户机上的协议栈的上层通常将检测舍弃的信息包以及提供补救措施。实现可选择也记录有关这些去除的信息包的信息。更具体地说,它可能期望当正从块715转变到块785时记录信息,因为这种转变应当不是典型发生的,可能代表拒绝服务攻击。(或,如果它简单地发生,由于客户机故障或离开域,而没有通知其HAM或其最近的FAM,或可能已经发生引起删除基于UDP的HAM转换记录的超时。)继续图7,如果判定块715的回答为是,那么HAM知道该伪装客户机,以及在判定块720,确定检索的HAM转换记录是否包含非零FAM地址和端口。(当HAM还不知道哪个FAM当前正在处理该伪装客户机时,HAM转换记录中的FAM信息为零。)如果判定块720的回答为否(即,没有指定的FAM),那么在块725,根据图12中的算法,从路由选择协调器获得FAM地址和端口。(根据图10,最初由FAM提供FAM地址和端口给路由选择协调器;见块1010-1050。)在判定块730,确定经该处理是否获得FAM地址和端口。如果判定块730的回答为否,那么客户机目前与任何FAM无关。控制传递给块785,在该块,舍弃信息包,以及在块795完成该处理。
在另外的实施例中,HAM可选择不执行对路由选择协调器的查询,如在块725所述,如果已经在最近时间间隔内在相同的连接上执行过类似查询(其中时间间隔可以是静态配置值或可基于连接已经多长时间没有相关FAM来动态确定);在这种情况下,HAM进入块730,以及表现为象它没有接收到来自路由选择协调器的响应一样。当频繁通信量到达用于当前不在服务区的客户机的连接时,该另外的实施例降低了HAM和路由选择协调器上的负载。
仍参考图7,如果判定块720的回答为是(即,在HAM转换记录中有非零FAM条目)或判定块730的回答为是(即,从路由选择协调器获得FAM信息),那么HAM已经定位有效的HAM转换记录以及非零FAM地址和端口。(当在块725经路由选择协调器识别FAM时,图12的处理修改HAM转换记录以便记住该FAM信息便于以后使用。参见块1250。)在块735,HAM将目的地地址重写成在HAM转换记录中找到的FAM地址和端口。在块740,在网络上发送重写信息包,现在指定用于FAM。在块745,FAM接收信息包并从信息包抽取服务器(源)地址和端口以及FAM(目的地)地址和端口。在块750,FAM检索它的FAM转换表以便定位与在块745中抽取的服务器地址和端口以及FAM地址和端口匹配的FAM转换记录。在判定块755,确定是否找到匹配FAM转换记录。如果判定块755的回答为否,那么客户机不再与该FAM有关,因此,舍弃信息包(块790),以及在块795完成该处理。
继续图7,如果判定块755的回答为是,那么该客户机仍然使用该FAM,以及在块760,FAM将信息包目的地地址重写成在FAM转换记录中找到的客户机地址和端口。在块765,在通向客户机目的地的出站链路上发送重写信息包。然后在块790完成该处理。
用这种方式,服务器将通信量引导到伪装地址,以及HAM和FAM配合以便将信息包路由到在其当前位置的客户机。如果客户机已经移动以致现在由不同于在前使用的FAM处理该连接,由HAM(与路由选择协调器合作)自动和有效地定位新FAM。因此,通过应用NAT技术,最大化HAM和FAM的性能,以及消除由现有技术移动主机方案引入的另外的信息包损失、分段以及错误状态。
当建立连接(例如,在客户机和服务器间发送TCP连接或UDP流上的第一信息包)时,执行配置过程从而指定HAM以及指定初始FAM。(如在此所使用的,将UDP“连接”定义成在客户机地址和端口以及服务器地址和端口间发送的UDP信息包序列;因为根据优选实施例,UDP无连接,连接是隐含的,当在某些超时周期内连接上不发送通信量时结束)。当用户漫游网络时,连接可能需要与位于用户附近的不同FAM有关。这种漫游要求指定FAM、FAM知道用于连接的伪装地址和端口(以便提供NAT服务,如上参考图7所述)、FAM指定用于该连接的地址和端口,以及通知FAM有关用于该连接的FAM地址和指定的端口。建立和维护HAM和FAM转换记录的内容的这些交换由路由选择协调器协调。现在将参考图8至13描述在连接配置和漫游所涉及的功能。
路由选择协调器维护连接表,该连接表保存用于每个有效TCP或UDP连接的一个连接表记录。图8根据本发明的优选实施例,描述连接表记录的格式的例子。连接表记录保存客户机和服务器地址和端口、伪装地址和端口,以及HAM的身份(如网络地址)。另外,每个连接表记录包括零个或更多的FAM记录,每个包含FAM身份(如网络地址)以及由FAM指定给该连接的地址和端口。连接记录表可包括多个FAM记录,一个用于客户机当前正用来在该连接上传送信息包的每个FAM。(参考在前情况的讨论,其中为特定连接提供不止一个FAM。)
图9根据本发明的优选实施例,提供描述当信息包首先由客户机传送到服务器时如何建立连接的流程图。(如图6所示,当FAM接收到由客户机发送的信息包时,该过程发生,但FAM不能在它自己的FAM转换表中或通过与路由选择协调器联系来定位FAM转换记录。)块900确定哪个主机将用作用于该新连接的HAM。在优选实施例中,该任务由最先接收和处理出站信息包的主机(即FAM)承担。然而,在另外的实施例中,可能希望由路由选择协调器或某些其他固定的主机承担HAM任务。或者,可能使用动态系数来选择另一主机(例如,可能定位较靠近用户常用位置的主机,用户办公室中,或位于用户自己的管理域中),其中使用现有技术设置这些动态系数的值。(例如,MAC地址可能与存储表中的用户有关,或在认证或链路建立过程中可用发送的信息识别用户。然后可使用用户标识来协商配置或优先权表,其可包含可用在动态选择过程中的条目。)根据认证政策,例如,降低接入点上CPU或网络负载,可发生指定除首先接收该连接的FAM外的HAM的该决定。另外,将长期连接移动到中心服务器以便减轻接入点故障或关闭所带来的状态丢失的风险是很有利的。基于连接使用的网络端口,可做出该HAM指定政策;例如,与TELNET端口(端口23)的连接可自动传递到路由选择协调器。
在判定块910,确定指定的HAM主机是否是本地主机。如果判定块910的回答为否,那么在块980,通知指定的HAM主机用于连接的客户机和服务器地址和端口;接收到该通知后,HAM主机执行图9的算法。在通知HAM主机后,在块990终止处理。现在该重定向的HAM将变成用于客户机的FAM,以及后来将从路由选择协调器用通用方式了解用于客户机的伪装信息(根据图10的算法)。
注意重定向主机的图9的后来的调用也允许选择不同的HAM主机。它必须保证在实现中的选择政策将终止而不会遇到无限循环。(因为本发明的切换政策是全球管理的,不会发生无限循环。)如果判定块910的回答为是,那么在块920处理继续,其中本地HAM主机选择用于客户机和服务器间的连接的伪装地址和端口。伪装地址必须是根据现有技术的现有IP路由选择技术,可将信息包路由给该本地HAM主机的地址。端口不应该由任何其他有效连接共享。(在优选实施例中,由于现有连接的终止,在未经过某一持续时间前,不会由新连接再用该端口。这消除了来自在前连接的失时效信息包可能偶然被路由到该新连接上的可能性。)最好,伪装地址是HAM本身的公共地址,以便通过选择唯一端口号必须提供唯一性。另外,HAM可具有多个公共地址,以及可从它们中指定端口号。该另外的方法提供另外的可升级性(因为大量地址和端口组合可用于指定,可支持更多连接)。另外,如果HAM是多处理主机,使用多个伪装地址允许为每个地址指定不同的处理器。
在块930,HAM通知路由选择协调器有关新连接(提供客户机地址和端口、服务器地址和端口、伪装地址和端口以及HAM身份)。在块935,在接收到该通知后,路由选择协调器建立用于该连接的连接表记录(其中该记录最初在其中没有FAM记录)。在块940,HAM创建用于连接的HAM转换记录以及将该记录插入本地HAM转换表中。(如在前所提到的,优选实施例的HAM转换表记录不包括主叫客户机地址和端口,尽管在另外的实施例中,也可存储该信息。)在该最新创建的记录中,将FAM地址和端口设置为零。然后控制传递到块950,在该块950,本地HAM主机将其自身建立为用于连接的FAM(根据图10的逻辑)。然后该处理在块990终止。
现在参考图10,示出了描述当接入点(或路由器或桥接器)首先从连接的客户机接收信息包时采用的优选实施例步骤的流程图,对该连接不存在FAM转换记录。这种情况可能出现,例如,当客户机在已经建立的使用不同FAM的连接上漫游和发送信息包时。如图6所示,FAM必须接收有关伪装地址和端口的信息以便创建FAM转换记录,然后用它来转发信息包。因为已经建立了连接,因此也已经指定了HAM,以及伪装地址和端口。对新连接也可发生这种情况(在从图9调用图10的情况中),以便设置初始FAM。
在块1000,FAM分配用于客户机和服务器间的该连接的FAM地址和端口号。分配的地址必须是可从任何可能的HAM路由到该FAM主机的网络。FAM地址和端口组合不必已经分配给FAM主机正充当FAM或HAM的某些其他的连接。最好,FAM地址是FAM本身的地址,以便通过选择唯一端口号必定提供唯一性。另外,FAM可具有多个地址,以及可从它们中指定端口号。该另外的方法提供另外的可升级性(因为大量地址和端口组合可用于指定,可支持更多连接)。另外,如果FAM是多处理主机,使用多个FAM地址允许为每个地址指定不同的处理器。
将生成的FAM地址和端口组合发送到路由选择协调器(然后到HAM,见图7)。因为FAM地址和端口对该连接来说是唯一的,FAM能使用那个组合来唯一地识别应用到指定用于客户机的信息包的正确的FAM转换记录-从而使用那个客户机地址和端口。在优选实施例中,当FAM访问它的FAM转换记录时,核对服务器地址和端口以及FAM地址和端口,以便保证伪造的信息包不会被转发给客户机(尽管如果接收到的话,客户机通常简单地舍弃这些信息包)。然而,如果知道FAM地址是不变的,另一实施例可省略存储和/或在它自己的FAM转换表中比较FAM地址。
在块1010,FAM向路由选择协调器发送变为当前FAM的请求。该请求包括客户机地址和端口、服务器地址和端口以及FAM身份,以及FAM地址和端口。(在图6的块610,由FAM从客户机发送的信息包抽取客户机地址和端口以及服务器地址和端口。)在块1020,路由选择协调器接收FAM请求并抽取它的参数。然后,路由选择协调器在连接表内搜索(块1030)其客户机地址和端口以及服务器地址和端口与由用于该连接的FAM提供的那些匹配的连接表记录。在判定块1040,确定是否找到匹配的连接表记录。
继续图10,如果判定块1040的回答为否,那么(根据本发明),这不是该客户机和服务器间的现存的连接,以及将通知返回(块1070)给FAM以表示拒绝该请求。在块1080,FAM解除分配在其请求中提供的FAM地址和端口,以及在块1090终止该处理。
仍参考图10,如果判定块1040的回答为是,那么路由选择协调器将新的FAM记录增加到连接表记录中(块1050)。该FAM记录包括在块1010发送的FAM请求中提供的FAM身份以及FAM地址和端口。如果已经在连接表记录中存在一个或多个FAM记录,路由选择协调器可以最适合于实现本发明的特定系统的顺序插入该新FAM记录。例如,可以FIFO(先入先出)顺序或以基于政策如预测在不久的将来客户机最可能使用哪个FAM的顺序输入新的FAM记录(其中可使用不构成本发明部分的历史分析技术来确定该信息)。
在块1060,路由选择协调器将应答发送给FAM并提供HAM身份(如它的网络地址)以及与连接有关的伪装地址和端口。在块1065,FAM接收路由选择协调器响应并创建包含由路由选择协调器提供的信息的FAM转换记录。然后在块1090中止该处理。在接收到指定用于客户机伪装地址和端口的信息包后,HAM根据图7的逻辑程序动态地了解该新的FAM,以及将自动地将该信息包转发给适当的FAM。
注意尽管图9和10分别描述HAM指定和FAM转换记录创建过程的特定实施例,应当理解另外的实施例可不同地实现这些过程而不脱离在此公开的发明原理。例如,图10的处理可按FAM和路由选择协调器间的两阶段请求实现。在第一请求中,FAM查询路由选择协调器以便确定连接是否存在(即,HAM是否已经将连接通知路由选择协调器),以及在第二请求中,FAM提供FAM地址和端口以便指定给连接。用这种方式,FAM不需要分配FAM地址和端口,直到确定存在连接表记录为止(从而消除块1080的解除分配步骤)。
如图6中所示(块670),由FAM首先执行图10的处理以便确定连接是否已经存在(以及,如果是的话,为其建立FAM转换记录);如果连接不存在(即,在块675中的判定回答为否),执行图9的处理以便建立HAM(以及创建新的连接表记录)。当在图9的处理前立即执行图10的处理时,另一实施例可优化该顺序。例如,只要确定对于FAM请求,连接表记录不存在(即,在块1040中的判定回答为否),那么路由选择协调器能立即开始将FAM请求作为HAM建立请求处理;在这种情况下,请求的FAM变为指定用于该连接的HAM。该另一处理在图11中示出。块1100、1110、1120、1130、1140、1150、1160、1165以及1190的顺序与图10的“正常”处理路径相当。然而,在判定块1140(与块1040)一致,如果路由选择协调器确定不存在用于该连接的连接表记录,控制进入块1170。当路由选择协调器确定因为这是新连接,请求变成FAM的主机实际上应当指定为用于该连接的HAM。提供的FAM地址和端口变为用于该连接的伪装地址和端口,以及创建连接表记录。在块1175,通知请求的FAM,它已经变为用于该连接的指定HAM。在块1180,请求FAM(现在HAM)创建用于该连接的HAM转换记录。然后该处理从块1185返回1100以便建立用于新注册的连接的本地FAM转换记录。
在本发明的另一实施例中,图10的处理可能是重新实现为FAM和HAM的直接通信。为使此发生,无论何时(根据图9的处理)创建新的连接记录时,路由选择协调器必须广播HAM的身份。在损害另外的网络带宽消耗以及HAM上另外的负担的情况下,该方案降低了路由选择协调器上的处理负担。
现在参考图12,示出了描述HAM如何检索有关与连接有关的当前FAM地址和端口的信息的流程图。HAM已经从服务器接收到信息包,以及需要知道信息包应当转发给哪个FAM。(该处理由图7的块725调用,当HAM具有与服务器地址和端口号以及伪装地址和端口号匹配的FAM转换记录时,但将在那个记录中的FAM地址和端口设置为零值。)在块1200,HAM向路由选择协调器发出请求。该请求包括伪装地址和端口。(另外,如果HAM转换记录包括客户机地址和端口,HAM可首先确定客户机地址和端口用于出站信息包以及提供那个信息和服务器地址和端口代替或加在伪装地址和端口上。)在块1210,路由选择协调器接收HAM请求以及从请求抽取参数。然后路由选择协调器在连接表中查询(块1220)搜索其伪装地址和端口(以及服务器地址和端口和客户机地址和端口,如果提供该信息的话)与由HAM提供的那些匹配的连接表记录。(最好,路由选择协调器将伪装地址和端口用作密钥来索引其连接表,尽管也可使用服务器和客户机信息。仅当使用伪装信息时,定位匹配记录,路由选择协调器最好将服务器地址和端口与抽取值校对。不匹配表示错误状态,如相当延迟的信息包、应答攻击或欺骗性的信息包。)在判定块1230,确定是否找到匹配的连接表记录。
仍参考图12,如果判定块1230的回答为否,那么已经出现错误,以及在块1280,将错误消息返回给HAM。在块1285,HAM接收错误响应。该处理在块1295完成。尽管在图中未示出,应当理解HAM可任意地执行各种操作来处理该错误。例如,根据图9中的处理,它可能删除与该连接一致的HAM转换记录以及将其自己重新建立为HAM。
继续图12,如果判定块1230的回答为是(即,路由选择协调器知道该连接),那么在块1240,路由选择协调器生成对HAM的应答消息。该应答消息包含FAM记录列表,FAM记录包含在连接表记录中。在块1250,HAM接收应答消息以及更新HAM转换记录以反映接收的FAM地址和端口(若有的话)。然后在块1295终止该处理。
最好,当在块1220的处理期间,路由选择协调器找到不止一个FAM记录时,在块1240将所有这些条目发送到HAM。然后HAM可使用这些中的一个或所有(如基于特定的实现政策)来更新其HAM转换记录。另外,路由选择协调器可使用选择算法,如特定实现政策来选择定位的FAM记录的一些子集,以及在块1240发送该子集。当使用该另一技术时,路由选择协调器能有选择地控制将哪个(些)FAM暴露给HAM。
在优选实施例中,HAM在“按需”、递增基础上(即,通过从图7的块720调用图12的技术)知道FAM地址和端口分配。然而,在本发明的另外的实施例中,路由选择协调器可启动(或“推动”)直接将FAM信息传送到适当的HAM。例如,在完成图10中所示的处理后(其中在块1050将新FAM记录增加到连接表记录,在图9的块930,在来自HAM的通知的基础上已经初始地创建连接表记录),路由选择协调器可能立即通知HAM有关新的FAM。在本发明的另外的实施例中,路由选择协调器可缓冲FAM更新以及在单个通知中推动多个FAM更新;该通知可是单播、多播或广播。在本发明的另外的实施例中,当HAM请求用于特定连接的FAM信息时,路由选择协调器可选择在响应中提供有关HAM管理的其他连接已经发生的其他相关FAM更新的信息。
当客户机不再与FAM通信时,那个FAM必须保证将没有未来的信息包由HAM路由到它,那些信息包确实将丢失(见图7的块790)。现在参考图13,示出了描述当客户机终止其与FAM的通信时采用的步骤的优选实施例的流程图。该连接终止可能是显而易见的(例如,由在通信链路层传送的“终止”、“关闭”或“断开”消息的形式引起的)或隐含的(例如,由当一定时间间隔在链路上没有通信发生时的超时引起的)。在块1300,FAM将通知传送给路由选择协调器。该消息包含客户机地址以及FAM身份。在块1310,路由选择协调器接收通知以及抽取所含的参数。在判定块1320,确定是否有其客户机地址与在FAM通知中给出的客户机地址匹配以及与FAM记录有关的任何连接表,FAM记录的FAM标识符与在FAM通知给出的FAM标识符匹配。如果判定块1320的回答为否,那么路由选择协调器将不使用该FAM用于请求以便定位该客户机,以及在块1390终止该处理。
继续图13,如果判定块1320的回答为是,然后在块1330,路由选择协调器从连接表记录删除FAM记录(其FAM标识符与在FAM通知中的标识符匹配)。在块1340,路由选择协调器最好将通知传送给与连接表记录有关的HAM。该通知包括伪装地址和端口以及FAM地址和端口。(在另一实施例中,HAM转换记录存储客户机地址和端口,该通知可使用服务器地址和端口以及客户机地址和端口代替,或加在伪装信息上。)在块1350,HAM接收该通知并抽取参数。然后HAM检索(块1360)与在通知中提供的伪装地址和端口(以及服务器地址和端口以及客户机地址和端口,如果提供的话)一致的HAM转换记录。在判定块1370,确定HAM是否找到包含提供的FAM地址和端口的匹配的HAM转换记录。如果判定块1370的回答为是,那么在块1380,从检索的HAM转换记录去除提供的FAM地址和端口(即,将这些字段设置为零)。然后控制返回判定块1320。如果判定块1370的回答为否,那么不需要对HAM转换表进行更新,以及控制返回块1320。(应当理解在另外的实施例中,HAM可能采取另外的行动,如果对指定连接没有找到HAM转换记录;例如,HAM可能请求路由选择协调器从其连接表删除相应的连接表记录。这种优化的实现对本领域的普通技术人员来说是显而易见的。)用这种方式,当客户机与FAM断开时,路由选择协调器保证对于任何开放的客户机连接,没有HAM继续将信息包转发给那个FAM。
只要已经将HAM指定给连接,那个HAM继续路由用于那个连接的入站信息包,不管客户机当前正使用哪个FAM来发送出站信息包以及接收入站信息包。然而,在某些情况下,对转移到不同主机(如不同接入点或路由选择协调器)的HAM任务来说可能变为必要。例如,如果HAM出故障或被移出,那么另一主机必须负责先前正由HAM处理的连接;当连接特性改变以便它需要仅可由另一HAM提供的另外的CPU或网络带宽资源时,转移也可是适当的。为实现该转移,新HAM执行用于每个连接的下述步骤,对每一连接,假定HAM负责。
首先,新HAM“取代”伪装IP地址,如果它还没有这样做的话。该IP地址取代保证传送给伪装IP地址的信息包将路由到新HAM主机。在现有技术中很好地建立了IP地址取代处理。(如果新HAM与旧HAM在相同的LAN上,仅仅需要传送新ARP更新以便IP地址与新HAM的LAN地址关联;如果新HAM在不同的LAN上,那么必须更新路由选择表)。
其次,建立用于连接的HAM转换记录。这是通过从与正转移的连接一致的连接表记录获得必要的信息来完成的。新HAM转换记录必须包括FAM信息,如果FAM记录与连接表记录关联的话。(图9和10的算法可任意地用来从路由选择协调器获得所需信息。)第三以及最后,通过使用HAM转换记录,开始按用于连接的新HAM操作以便确定如何将信息包转发给当前FAM。
尽管在图6-7以及9-13中的流程图已经按连续流操作示出,应当理解在另外的实施例中,这些步骤中的许多可并行发生。例如,使用异步通信,可使消息传输发生,从而允许发送者立即继续处理,而不必等待响应。当发送通知时,这特别正确。
至此已经描述过本发明,而不必提供用于识别正在发送和接收网络通信量的特定用户以及不必提供过滤对或由特定客户机生成的通信量。现在参考图14,图14描述实现本发明的受控网络环境。将客户机验证模块1405集成到客户机1400中,以及将服务器验证模块1425集成到接入点1420中。当客户机首先与接入点通信时(以及如果在两个链路端点不存在有效的会话密钥),客户机验证模块与服务器验证模块通信1415以便提供用户验证证书(例如,用户名和密码)。一旦验证用户1445后(通过验证服务器1450,使用现有技术的技术),服务器验证模块以及客户机验证模块与会话密钥协商以允许链路层加密。在优选实施例中,由服务器验证模块或可选地,由验证服务器将该密钥提供给客户机;然而,在另外的实施例中,接入点可将主密钥(如WEP密钥)递送给客户机,以及客户机和接入点后来可以标准方式使用主密钥协商会话密钥。用这种方式,根据用户名和密码验证客户机,以及该验证允许提供利用嵌入客户机和接入点硬件1410、1430中的加密能力的链路层加密。
只要验证产生,服务器验证模块通过安全信道将客户机MAC地址、会话密钥以及用户名提供1455给路由选择协调器1460,安全信道将它们存储在查找表中。该查找表用来向客户设备开始与其通信的任何一个新接入点提供会话密钥,以及用来允许过滤模块1435识别用于特定客户设备的用户,接着,确定应用于那个用户的适当的过滤政策。
仍参考图14,将过滤模块1435包括在接入点1420中以便它接收到或来自客户机1400的入站和出站通信量。当具有至今未见过的MAC地址的信息包到达该过滤模块时,它向路由选择协调器发出请求1465以便确定用户身份以及获得用于那个用户的过滤政策列表。然后将这些政策应用到适当的块入站和出站通信量。使用该技术,本发明允许简单和有效地实施访问控制以及信息包过滤政策。
现在参考图15,示出了根据本发明的优选实施例,描述建立安全、受控链路采用的步骤的流程图。在块1500,确定客户机不具有用于与特定接入点通信的有效链路层密钥。该确定可发生,因为客户机目前没有密钥,或接入点可告知客户机当前密钥无效。在拒绝密钥前,接入点可任意与路由选择协调器通信以便确定用于客户机MAC地址的当前有效的会话密钥。
在块1510,调用客户机验证模块以向服务器验证模块提供用户证书。服务器验证模块接收这些证书(块1520)并将它们提供给验证服务器。在块1530,服务器验证模块从验证服务器接收响应。在判定块1540,确定验证服务器响应是否是肯定的。
如果判定块1540的回答为否,那么在块1590,服务器验证模块拒绝验证以及在块1595完成该处理而没有建立链路密钥。
如果判定块1540的回答为是,那么在块1550,服务器验证模块从客户机接受验证请求并向客户机验证模块发送肯定响应。在块1560,在客户机验证模块和服务器验证模块间协商会话密钥(假定正执行用于密钥值的协商处理)。然后,将该处理分成两个平行的支路,一个对应客户机的活动以及另一个对应接入点的活动。在块1570a,客户机验证模块将协商的会话密钥提供给客户机加密硬件,反过来,客户机加密硬件使用密钥来加密和解密经接入点发送的信息包。然后在块1595终止客户机端处理。在接入点,在块1570b,服务器验证模块将协商的会话密钥提供给服务器加密硬件,反过来,服务器加密硬件使用密钥来加密和解密发送给客户机的信息包。在块1580b,服务器验证模块向路由选择协调器提供存储在查找表中的客户机MAC地址、会话密钥以及用户名,在前已经参考图14的流程1455描述过查找表。然后在块1595终止该处理。
在本发明的另外的实施例中,系统支持多种类型的连接,如在TCP和(如前所述)UDP上的那些连接。在这种情况下,在此描述过的许多传输必须也包括协议标识符,以及表检索除考虑地址和端口外还必须考虑到协议ID。对本领域的技术人员来说改变流程图以提供多协议支持的这种类型的实现的方式是显而易见的。
在本发明的另外的实施例中,应当理解实现可选择散列或者编码地址和端口组合。该编码降低了信息的存储大小,从而降低各种表的大小并提高检索处理的性能。这些用于散列或编码信息的方法在本领域是公知的,以及在本发明的环境中使用它们对本领域的普通技术人员来说是显而易见的。
如已经例证过的,本发明提供优于现有技术主机移动性方案的多个优点。通过本发明,对操作系统、建网软件以及客户设备或服务器上的应用程序均不需改变,以便提供位置独立的信息包路由选择和安全访问。通过使用网络地址转换技术,非常有效地提供用于漫游设备的信息包路由选择,允许客户设备使用单个设备地址,而不管它们当前的位置。间接或三角的避免用于短期和/或非移动连接的路由选择。虽然某些IP报头信息重写到正路由的信息包中,很容易和有效地完成IP检验和的重新计算(例如,通过仅执行改变字段的逐位比较,这在本领域是公知的)。由于在每个连接基础上执行HAM分配而不是如现有技术中全球性地,易于负载平衡。如果需要的话,动态重新分配HAM以便进一步优化性能。动态地删除和处理路由选择元件的故障。对客户机和服务器来说,连接切换是透明的。可提供分布式和集中式实现(通过将HAM功能性分别放在接入点或路由选择协调器中)。清楚地确定用户身份,提供过滤发送到用户和从用户发送的信息包的能力。该用户验证保持使用客户机和接入点上的现有的加密硬件来建立安全链路。
相关发明定义包括了接入点的集合的系统,其中经那些接入点和核心服务器将IP地址指定到设备上;用于保证IP地址保持不变的技术,不管在某一时间点设备正使用哪个接入点;用于跟踪设备当前正使用的那个接入点的技术;以及用于将用户位置信息暴露给应用程序的技术。本发明的实现可任意与相关发明的实现结合,其中在此定义的路由选择协调器以及相关发明的核心服务器作为单个实体实现,单个实体指定动态地址、处理用户位置跟踪等(在其核心任务中)以及将信息包路由到那些设备(在其路由选择协调器任务中)。
上述优选实施例的描述是为了描述本发明,而不应当视为对其的限制。尽管已经描述了优选实施例,对本领域的技术人员来说可能对该优选实施例做出许多改变而本质上没有脱离在此公开的本发明的新颖教导和优点是显而易见的。因此,将所有这些改变视为在本发明的范围内,本发明的范围仅由此后提出的权利要求书(以及其等效)来限定。
权利要求
1.一种在短程无线网络环境中允许安全网络访问的方法,包括步骤提供一个或多个便携式客户设备,每个客户设备具有用于在短程无线网络环境中通信的短程无线通信能力;网络接入点从选择的一个客户设备接收通信;网络接入点确定选择的客户设备不具有用于加密的有效会话密钥;网络接入点获得用于选择的客户设备的用户的用户证书;网络接入点通过与验证服务器联系来验证用户证书;当验证步骤成功完成时,建立有效会话密钥;以及选择的客户设备以及网络接入点使用建立的会话密钥来加密在选择的客户设备以及网络接入点间的链路上传送的信息包。
2.如权利要求1所述的方法,其特征在于,使用建立的会话密钥来加密信息包的步骤进一步包括使用选择的客户设备和网络接入点的硬件加密元件来执行信息包加密的步骤。
3.如权利要求1所述的方法,其特征在于,进一步包括将客户媒体访问控制(MAC)地址、建立的会话密钥以及用户标识存储在查找表中的步骤。
4.如权利要求3所述的方法,其特征在于,进一步包括步骤过滤模块查询查找表,以获得与特定MAC地址有关的用户标识;以及过滤模块使用用户标识来过滤入站和出站信息包。
5.如权利要求3所述的方法,其特征在于,进一步包括步骤当特定客户设备漫游到不同FAM时,查询查找表以获得与特定客户设备的特定MAC地址有关的建立的会话密钥;以及将获得的会话密钥提供给不同FAM。
6.一种用于在短程无线网络环境中允许安全网络访问的系统,包括一个或多个便携式客户设备,每个客户设备具有用于在短程无线网络环境中通信的短程无线通信能力;用于网络接入点从选择的一个客户设备接收通信的装置;用于网络接入点确定选择的客户设备不具有用于加密的有效会话密钥的装置;用于网络接入点获得用于选择的客户设备的用户的用户证书的装置;用于网络接入点通过与验证服务器联系来验证用户证书的装置;用于当用于验证的装置成功完成时,建立有效会话密钥的装置;以及用于选择的客户设备以及网络接入点使用建立的会话密钥来加密在选择的客户设备以及网络接入点间的链路上传送的信息包的装置。
7.如权利要求6所述的系统,其特征在于,用于使用建立的会话密钥来加密信息包的装置进一步包括使用选择的客户设备和网络接入点的硬件加密元件来执行信息包加密的装置。
8.如权利要求6所述的系统,其特征在于,进一步包括将客户媒体访问控制(MAC)地址、建立的会话密钥以及用户标识存储在查找表中的装置。
9.如权利要求8所述的系统,其特征在于,进一步包括用于过滤模块查询查找表,以获得与特定MAC地址有关的用户标识的装置;以及用于过滤模块使用用户标识来过滤入站和出站信息包的装置。
10.如权利要求8所述的系统,其特征在于,进一步包括用于当特定客户设备漫游到不同FAM时,查询查找表以获得与特定客户设备的特定MAC地址有关的建立的会话密钥的装置;以及用于将获得的会话密钥提供给不同FAM的装置。
11.包含在一个或多个计算机可读媒介上的计算机程序指令,计算机程序指令适合于允许在短程无线网络环境中安全网络访问,包括用于访问一个或多个便携式客户设备的计算机程序指令,每个客户设备具有用于在短程无线网络环境中通信的短程无线通信能力;用于网络接入点从选择的一个客户设备接收通信的计算机程序指令;用于网络接入点确定选择的客户设备不具有用于加密的有效会话密钥的计算机程序指令;用于网络接入点获得用于选择的客户设备的用户的用户证书的计算机程序指令;用于网络接入点通过与验证服务器联系来验证用户证书的计算机程序指令;用于当用于验证的计算机程序指令成功完成时,建立有效会话密钥的计算机程序指令;以及用于选择的客户设备以及网络接入点使用建立的会话密钥来加密在选择的客户设备以及网络接入点间的链路上传送的信息包的计算机程序指令。
12.如权利要求11所述的计算机程序指令,其特征在于,用于使用建立的会话密钥来加密信息包的计算机程序指令进一步包括使用选择的客户设备和网络接入点的硬件加密元件来执行信息包加密的计算机程序指令。
13.如权利要求11所述的计算机程序指令,其特征在于,进一步包括用于将客户媒体访问控制(MAC)地址、建立的会话密钥以及用户标识存储在查找表中的计算机程序指令。
14.如权利要求13所述的计算机程序指令,其特征在于,进一步包括用于过滤模块查询查找表,以获得与特定MAC地址有关的用户标识的计算机程序指令;以及用于过滤模块使用用户标识来过滤入站和出站信息包的计算机程序指令。
15.如权利要求13所述的计算机程序指令,其特征在于,进一步包括用于当特定客户设备漫游到不同FAM时,查询查找表以获得与特定客户设备的特定MAC地址有关的建立的会话密钥的计算机程序指令;以及用于将获得的会话密钥提供给不同FAM的计算机程序指令。
全文摘要
本发明涉及用于在无线网络环境(如在一个建筑物内)中提供位置独立的信息包路由选择和安全访问、允许客户设备在该环境中无缝漫游的方法、系统和计算机程序指令。安全访问技术提供用户集中的验证以及允许政策驱动的信息包过滤。将客户机验证模块(1405)集成在客户机(1400)中,以及将服务器验证模块(1425)集成在接入点中。客户机验证模块与服务器验证模块通信(1415)以便提供用户验证证书(如用户名和密码)。只要通过验证服务器(1450)使用现有技术验证该用户(1445),服务器验证模块以及客户机验证模块协商会话密钥以便允许链路层加密。该链路层加密利用嵌入客户机和接入点硬件(1410,1430)的加密能力。
文档编号H04L29/06GK1489855SQ01815295
公开日2004年4月14日 申请日期2001年8月27日 优先权日2000年9月8日
发明者桑蒂普·K·辛海尔, 艾杰·S·戈帕尔, S 戈帕尔, 桑蒂普 K 辛海尔 申请人:里费杰公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1