用于在动态计算机网络中传达数据的路由器的制造方法

文档序号:7792851阅读:296来源:国知局
用于在动态计算机网络中传达数据的路由器的制造方法
【专利摘要】本发明揭示一种路由器及其使用方法。所述路由器包含用于接收数据包及将数据包路由到连接到网络的计算装置的输入及输出电路。所述路由器还包含经配置以存储使特定包的目的地与所述包遵循的路线相关的若干个表的存储器。所述路由器能够正确地路由指定假身份参数的数据包。所述路由器也能够使用以路由数据包的路由协议动态地变化。所述路由器也能够基于所述身份参数中指定假信息的至少一个身份参数与存储于所述路由器的存储器中的表的比较而将数据包路由到若干个输出端口中的一者。
【专利说明】用于在动态计算机网络中传达数据的路由器

【技术领域】
[0001]发明性布置涉及计算机网络安全性,且更特定来说涉及用于在计算机网络的两个或两个以上逻辑子区之间通信的系统,其中所述网络可动态地操纵以抵御恶意攻击。

【背景技术】
[0002]当前网络基础结构的主要弱点是其静态本性。资产接收永久或不常改变的识别,此允许对手几乎不限时间地探测网络、映射及利用漏洞。另外,可捕获在这些固定实体之间行进的数据及给所述数据赋予属性。网络安全性的当前方法围绕固定资产应用例如防火墙及入侵检测系统等技术,且使用加密来保护途中的数据。然而,此传统方法根本上存在缺陷,因为其给攻击者提供固定目标。在今天的全球连接的通信基础结构中,静态网络为易受攻击的网络。
[0003]国防先进研究计划局(DARPA)信息保证(IA)项目已执行动态网络防御领域中的初始研究。在信息保证项目下开发用以出于使观察网络的任何潜在对手混淆的目的而动态地重新指派馈送到预先指定的网络飞地(enclave)中的因特网协议(IP)地址空间的技术。此技术称作动态网络地址变换(DYNAT)。在标题为“用以阻挠对手智能的动态方法(DynamicApproaches to Thwart Adversary Intelligence) ” (2001)的 DARPA 的公开论文中提出DYNAT技术的概述。


【发明内容】

[0004]本发明的实施例涉及一种供在动态计算机网络中使用的路由器。所述路由器包含连接到经配置以接收数据通信的至少一个输入端口的输入电路。所述路由器还包含连接到经配置以发射数据通信的输出端口的输出电路及用于存储至少一个表的存储器。提供至少一个处理单元且其经配置以用于执行路由方法。所述路由方法包含:接收包含与源计算装置及目的地计算装置相关联的两个或两个以上身份参数的数据通信。所述身份参数的集合指定假信息。所述处理单元将所述数据通信路由到所述多个输出端口中的一者。根据对应于所述身份参数中指定假信息的至少一者的至少一个真信息,用于所述数据通信的路线是用于所述数据通信的正确路由。所述真信息与所述假信息相比不同。
[0005]本发明还涉及一种用于在使用路由器连接的逻辑网络之间传达数据的方法。所述方法可通过在路由器的输入端口中的一者处接收数据通信开始。确定若干个可行路线。从所述经确定可行路线伪随机地选择一路线。所述方法以基于所述选定路线将所述数据通信路由通过所述路由器的输出端口继续。

【专利附图】

【附图说明】
[0006]将参考以下绘图描述实施例,其中遍及所述图,相似编号表示相似物项,且其中:
[0007]图1是对于理解本发明有用的计算机网络的实例。
[0008]图2是在本发明中可用于执行身份参数的某些操控的模块的实例。
[0009]图3是对于理解可用以帮助表征图1中的网络的工具有用的图式。
[0010]图4是可用以选择图1中的模块的动态设定的图形用户接口的对话框的实例。
[0011]图5是可用以选择与图1中的每一模块相关联的作用状态及绕过状态的序列的图形用户接口的对话框的实例。
[0012]图6是对于理解可将任务计划传达到图1中的网络中的多个模块的方式有用的图式。
[0013]图7是可用以选择任务计划且将所述任务计划传达到如图6中所展示的模块的图形用户接口的对话框的实例。
[0014]图8是对于理解图1中的模块的操作有用的流程图。
[0015]图9是对于理解网络控制软件应用程序(NCSA)关于创建及加载任务计划的操作有用的流程图。
[0016]图10是可用以实施图1中的模块的计算机架构的框图。
[0017]图11是可用以实施图1中所展示的网络管理计算机(NAC)的计算机架构的框图。
[0018]图12是对于理解本发明有用的计算机网络的实例。
[0019]图13是对于理解图1中的路由器的操作有用的流程图。
[0020]图14是对于理解图1中的路由器的操作有用的流程图。
[0021]图15是对于理解图1中的路由器的操作有用的流程图。
[0022]图16是根据本发明的可用以实施用于路由数据包的方法的路由器的实例。
[0023]图17是对于理解可修改的一些类型的身份参数有用的表。

【具体实施方式】
[0024]参考附图描述本发明。所述图未按比例绘制且其经提供以仅图解说明本发明。为了图解说明,下文参考实例性应用描述本发明的数个方面。应理解,陈述众多特定细节、关系及方法以提供对本发明的完全理解。然而,相关领域的技术人员将容易地认识到,可在不具有特定细节中的一或多者的情况下或借助其它方法实践本发明。在其它例子中,未详细展示众所周知的结构或操作以避免使本发明模糊。本发明不受行动或事件的所图解说明的次序限制,因为一些行动可以不同于其它行动或事件的次序发生及/或与其它行动或事件同时发生。此外,并非需要所有所图解说明的行动或事件来实施根据本发明的方法。
[0025]还应了解,本文中所使用的术语仅用于描述特定实施例的目的而并非打算限制本发明。如本文中所使用,单数形式“一(a及an)”、及“所述(the) ”也打算包含复数形式,除非上下文另外清楚地指示。此外,就在详细说明及/或权利要求书中使用术语“包含(including、include) ”、“具有(having、has及with) ”或其变化形式来说,此类术语打算以类似于术语“包括(comprising) ”的方式为包含性的。
[0026]此外,除非另外定义,否则本文中所使用的所有术语(包含技术及科学术语)均具有与本发明所属领域的技术人员通常所理解相同的含义。应进一步理解,应将术语(例如常用字典中所定义的那些术语)解释为具有与其在相关技术的上下文中的含义一致的含义,而不应以理想化或过分形式化意义来解释,除非本文中明确界定如此。
[0027]身份敏捷计算机网络
[0028]现在参考图1,其展示包含多个计算装置的示范性网络100的图式。所述计算装置可包含客户端计算机101到103,网络管理计算机(NAC) 104,服务器111、112,网络集线器108、109,路由器110及桥接器115。客户端计算机可为可能需要网络服务的任何类型的计算装置,例如常规平板计算机、笔记型计算机、膝上型计算机或桌上型计算机。路由器110可为在计算机网络之间路由数据包的常规路由装置。集线器108、109为如此项技术中众所周知的常规集线器装置(例如,以太网集线器)。服务器111、112可提供由客户端计算机101到103利用的各种计算服务。举例来说,服务器111、112可为提供用于由客户端计算机101到103使用的计算机文件的共享存储的位置的文件服务器。
[0029]用于网络100的通信媒体可为有线的、无线的或两者,但在本文中为了简化及避免使本发明模糊而将描述为有线网络。所述网络将使用通信协议传达数据。如此项技术中众所周知,通信协议定义用于遍及网络传达数据的格式及规则。图1中的网络可使用现在已知或未来将知晓的任何通信协议或协议组合。举例来说,所述网络可针对此类通信使用众所周知的以太网协议套件。或者,所述网络可利用其它协议,例如因特网协议套件(通常称为TCP/IP)、S0NET/SDH或不同步传送模式(ATM)通信协议。在一些实施例中,这些通信协议中的一或多者可以组合方式使用。虽然图1中展示一个网络拓扑,但本发明在此方面不受限制。而是,可使用任何类型的适合网络拓扑,例如总线网络、星形网络、环形网络或网状网络。
[0030]本发明大体来说涉及一种用于在计算机网络中(例如,在计算机网络100中)传达数据的方法,其中将数据从第一计算装置传达到第二计算装置。所述网络内的计算装置用多个身份参数表示。如本文中所使用的短语“身份参数”可包含例如因特网协议(IP)地址、媒体接入控制(MAC)地址、端口等等物项。然而,本发明在此方面不受限制,且身份参数也可包含用于表征网络节点的多种其它信息。下文进一步详细地论述本文中所预期的各种类型的身份参数。发明性布置涉及使用移动目标技术(MTT)来操控网络内的一或多个计算装置的此类些身份参数中的一或多者。此技术掩饰此类计算装置的通信型式及网络地址。如本文中所描述的身份参数的操控通常连同网络中的数据通信一起执行,即,在将数据从网络中的第一计算机(例如,客户端计算机101)传达到网络中的第二计算机(例如,客户端计算机102)时执行。因此,所操控的身份参数可包含源计算装置(数据始发于其的装置)及目的地计算装置(数据正被发送到其的装置)的那些身份参数。所传达的身份参数的集合在本文中称为身份参数集合(IDP集合)。此概念图解说明于图1中,其展示IDP集合120作为数据包(未展示)的部分由客户端计算机101发射。
[0031]根据发明性布置的过程涉及在计算机网络内的第一位置处选择性地修改数据包或数据报中所含有的指定源计算装置及/或目的地计算装置的一或多个身份参数的值。根据任务计划修改身份参数。其中执行此修改的位置将通常与模块105到107、113、114中的一者的位置重合。再次参考图1,可观察到,模块105、106、107、113、114在构成所述网络中的节点的各种计算装置之间插入于此网络中。在这些位置中,所述模块拦截数据包通信、执行身份参数的必要操控且沿发射路径重新发射数据包。在替代实施例中,模块105、106、107、113、114可执行类似功能,但可直接集成到计算装置中的一或多者中。举例来说,所述模块可集成到客户端计算机101、102、103,服务器111、112,集线器108、109中及/或路由器110内。
[0032]另外,网络100可划分成通过路由器110连接的若干个逻辑子区(有时称为子网络或子网)。企业网络可出于多种管理或技术原因而划分成若干个子网,所述原因包含但不限于隐藏网络的拓扑以使其对外部主机不可见、利用不同网络协议连接网络、在子网层级上单独管理网络寻址方案、由于经约束数据连接而启用跨越子网的数据业务的管理及诸如此类。子网分割为此项技术中众所周知的且将不做进一步详细描述。
[0033]再次参考图1,网络100划分成两个逻辑网络,第一逻辑网络130及第二逻辑网络132。如本文中所使用的短语“逻辑网络”是指计算机网络的任何逻辑子区。在一实施例中,逻辑网络130、132通过路由器110连接。路由器110负责引导逻辑网络之间(即,从客户端计算机101到客户端计算机103)的业务。路由器110还负责引导从连接到网络100的任何主机去往第二网络124的业务。在图1中所展示的实施例中,从网络100路由到第二网络124的业务通过桥接器115。如同上文的模块,桥接器115的功能性可集成于路由器110 内。
[0034]图2中展示模块105的功能性框图的实例。模块106到107、113、114可具有类似功能性框图,但应理解,本发明在此方面不受限制。如图2中所展示,模块105具有至少两个数据端口 201、202,其中的每一者可对应于相应网络接口装置204、205。在端口 201处接收的数据在网络接口装置204处处理且暂时存储于输入缓冲器210处。处理器215存取输入缓冲器210中所含有的输入数据包且执行如本文中所描述的身份参数的任何必要操控。经修改数据包传递到输出缓冲器212且随后使用网络接口装置205从端口 202发射。类似地,在端口 202处接收的数据在网络接口装置205处处理且暂时存储于输入缓冲器208处。处理器215存取输入缓冲器208中所含有的输入数据包且执行如本文中所描述的身份参数的任何必要操控。经修改数据包传递到输出缓冲器206且随后使用网络接口装置204从端口 201发射。在每一模块中,处理器215根据存储于存储器218中的任务计划220执行身份参数的操控。
[0035]从图2应理解,模块优选地经配置使得其双向地操作。在此类实施例中,取决于特定数据包的源,模块可实施不同修改功能。可根据特定数据包的源计算装置在任务计划中指定每一模块中的动态修改功能。模块可通过任何适合手段确定数据包的源。举例来说,可出于此目的使用数据包的源地址。
[0036]在网络100内的选定模块处,处理器215将确定将代替真身份参数值使用的一或多个假身份参数值。处理器将把一或多个真身份参数值变换为一或多个假身份参数值,所述假身份参数值优选地通过伪随机函数来指定。在此变换之后,模块将沿着发射路径将经修改包或数据报转发到网络的下一节点。在通信路径中的后续点处,正监视此类网络通信的对手将观察到关于在网络上通信的计算装置的身份的假或不正确信息。
[0037]在优选实施例中,根据一或多个触发事件的发生使由伪随机函数指定的假身份参数变化。触发事件致使处理器215使用伪随机函数来产生新的假身份参数值集合,真身份参数被变换成所述假身份参数值。因此,触发事件充当本文中所描述的假身份参数的动态变化的基础。下文更详细地论述触发事件。然而,应注意,用于选择新的假身份参数值集合的触发事件可基于时间的流逝及/或某些网络事件的发生。触发事件也可通过用户命令起始。
[0038]上文所描述的身份参数的变换提供出于阻挠网络攻击的目的而操纵计算机网络100的一种方式。在优选实施例中,由处理器215实施的任务计划220也将控制计算机网络可操纵的方式的某些其它方面。举例来说,任务计划可指定操控身份参数的动态选择。所述动态选择可包含选择哪些身份参数进行修改及/或选择此类身份参数的数目的选择。此可变选择过程提供可用以进一步阻挠对手渗入或了解计算机网络100的努力的不确定性或变化的添加的维度。作为此技术的实例,考虑在第一时间周期期间,模块可修改每一数据包的目的地IP地址及目的地MAC地址。在第二时间周期期间,模块可操控每一数据包中的源IP地址及源主机名称。在第三时间周期期间,模块可操控源端口编号及源用户名称。身份参数的选择的改变可同步地发生(同时改变所有选定身份参数)。或者,身份参数的选择的改变可不同步地发生(选定身份参数的群组随给选定身份参数的群组添加或移除个别身份参数而递增地改变)。
[0039]伪随机函数优选地用于确定将操控或变换成假值的身份值的选择。换句话说,模块将仅变换通过伪随机函数选择的身份参数。在优选实施例中,根据触发事件的发生使由伪随机函数指定的身份参数的选择变化。触发事件致使处理器215使用伪随机函数来产生将变换成假身份参数的身份参数的新选择。因此,触发事件充当本文中所描述的身份参数的选择的动态变化的基础。值得注意的是,也可根据伪随机算法使身份参数的值变化。
[0040]所述模块有利地也能够提供出于阻挠网络攻击的目的而操纵计算机网络的第三方法。具体来说,加载于每一模块中的任务计划可使网络内的其中发生身份参数的修改或变换的位置动态地变化。考虑从客户端计算机101发射到客户端计算机102的IDP集合120中的身份参数的修改可发生于模块105中。此条件展示于图1中,其中在模块105中操控IDP集合120中所含有的身份参数以使得IDP集合120被变换为新的或经修改的IDP集合122。与IDP集合120中的身份参数相比,IDP集合122中的身份参数中的至少一些身份参数是不同的。但其中发生此变换的位置优选地也由任务计划控制。因此,IDP集合120的操控可(举例来说)有时发生在模块113或114处而非在模块105处。使其中发生身份参数的操控的位置选择性地变化的此能力给计算机网络的操纵能力添加又一重要维度。
[0041]通过选择性地控制每一模块的操作状态促进其中修改身份参数的位置的动态变化。为此目的,每一模块的操作状态优选地包含:(I)作用状态,其中根据当前任务计划处理数据;及(2)绕过状态,其中包可流动通过模块,就如模块不存在一样。通过选择性地致使某些模块处于作用状态中且致使某些模块处于待用状态中而控制其中执行动态修改的位置。可通过以协调方式使模块的当前状态动态地变化而动态地改变所述位置。
[0042]任务计划可包含用于确定计算机网络100内的其中将操控身份参数的位置的预定义序列。其中将操控身份参数的位置将在由触发事件指示的时间根据所述序列改变。举例来说,所述触发事件可致使到用于如本文中所描述的身份参数的操控或变换的新位置的转变。因此,所述触发事件充当其中修改身份参数的位置的改变的发生的基础,且预定义序列确定所述新位置将在何处。
[0043]从前述内容,应了解,在模块处修改数据包以包含假身份参数。在计算机网络内的某一点处,使身份参数恢复到其真值以使得身份参数可用以根据特定网络协议恰当地执行其既定功能是必要的。因此,发明性布置还包含在第二位置(即,第二模块)处根据任务计划动态地修改身份参数的经指派值。在第二位置处的修改基本上包括在第一位置处用以修改身份参数的过程的逆过程。第二位置处的模块可因此使假值身份参数恢复或变换回到其真值。为了实现此动作,第二位置处的模块必须能够确定至少:(I)将变换的身份参数值的选择?’及(2)选定身份参数从假值到真值的正确变换。实际上,此过程涉及用以确定身份参数选择的伪随机过程及对此类身份参数值实现的改变的逆过程。逆变换步骤图解说明于图1中,其中在模块106处接收IDP集合122,且将IDP集合122中的身份参数值变换或操控回到其原始或真值。在此情景中,模块106将身份参数值转换回到IDP集合120的那些身份参数值。
[0044]值得注意的是,模块必须具有确定适用于其接收到的每一数据通信的恰当变换或操控的某种方式。在优选实施例中,通过检查所接收数据通信内所含有的至少源地址身份参数而执行此确定。举例来说,源地址身份参数可包含源计算装置的IP地址。一旦知晓源计算装置的真身份,模块即咨询任务计划(或从任务计划导出的信息)以确定其需要采取哪些动作。举例来说,这些动作可包含将某些真身份参数值转换为假身份参数值。或者,这些改变可包含将假身份参数值转换回到真身份参数值。
[0045]值得注意的是,将存在其中所接收数据通信中所含有的源地址身份参数信息已改变为假值的例子。在那些情形下,接收数据通信的模块将不能立即确定数据通信的源的身份。然而,在此类例子中,接收通信的模块可仍识别源计算装置。这在接收模块处通过将假源地址身份参数值与查找表(LUT)进行比较而实现,所述查找表列示在特定时间期间使用的所有此类假源地址身份参数值。LUT还包含对应于假源地址值的真源地址身份参数值的列表。LUT可直接由任务计划提供或可由任务计划内所含有的信息产生。在任一情况中,可从LUT容易地确定真源地址身份参数值的识别。一旦已确定真源地址身份参数,那么接收数据通信的模块可使用此信息来确定(基于任务计划)需要对身份参数的哪些操控。
[0046]值得注意的是,任务计划还可指定其中使身份参数恢复到其真值的第二位置的变化。举例来说,假定在包括模块105的第一位置处动态地修改身份参数。任务计划可指定如所描述在模块106处发生使身份参数恢复到其真值,但或者,可指定代替地在模块113或114处发生动态修改。在一些实施例中,任务计划根据预定义序列动态地确定其中发生此类操控的位置。所述预定义序列可确定其中将发生身份参数的操控的位置或模块的序列。
[0047]涉及不同位置处的动态修改的转变优选地根据触发事件而发生。因此,预定义序列确定其中将发生数据操控的位置的型样或序列,且触发事件充当用于致使从一个位置到下一位置的转变的基础。下文更详细地论述触发事件;然而,应注意,触发事件可基于时间的流逝、用户控制及/或某些网络事件的发生。可以与上文关于第一位置所描述相同的方式实现对第二位置(即,其中使身份参数返回到其真值)的选择的控制。具体来说,两个或两个以上模块的操作状态可在作用状态与绕过状态之间双态切换。身份参数的操控将仅发生于具有作用操作状态的模块中。具有绕过操作状态的模块将仅传递数据包而不进行修改。
[0048]替代方法也可用于控制其中将发生身份参数的操控的位置。举例来说,网络管理员可在任务计划中定义其中可将身份参数从真值转换为假值的数个可能模块。在发生触发事件后,可即刻通过使用伪随机函数且使用触发时间作为所述伪随机函数的种子值而从数个模块当中选择新位置。如果每一模块均使用相同初始种子值实施同伪随机函数,那么每一模块将计算相同伪随机值。可基于时钟时间(例如GPS时间或系统时钟时间)确定触发时间。以此方式,每一模块可独立地确定其当前是否为其中应发生身份参数的操控的作用位置。类似地,网络管理员可在任务计划中定义其中动态操控使身份参数返回到其正确值或真值的数个可能模块。将哪一模块用于此目的的选择也可根据如本文中所描述的触发时间及伪随机函数确定。用于确定其中将发生身份参数操控的位置或模块的其它方法也是可能的。因此,本发明并不打算限于本文中所描述的特定方法。
[0049]值得注意的是,使其中操控身份函数的第一及/或第二位置的定位变化将通常导致使第一与第二位置之间沿网络通信路径的物理距离变化。第一与第二位置之间的距离在本文中称为距离向量。所述距离向量可为第一与第二位置之间沿通信路径的实际物理距离。然而,将所述距离向量视为表示存在于第一与第二位置之间的通信路径中的网络节点的数目是有用的。应了解,动态地选择网络内的第一及第二位置的不同定位可具有改变第一与第二位置之间的节点的数目的效应。举例来说,在图1中,在模块105、106、107、113、114中的选定者中实施身份参数的动态修改。如先前所描述地确定实际上用以分别实施动态修改的模块。如果模块105用于将身份参数转换为假值且模块106用以将其转换回到真值,那么在模块105与106之间存在三个网络节点108、110、109。但如果模块113用以转换为假值且模块114用以将身份参数转换回到真值,那么在模块113与114之间存在仅一个网络节点110。因此,应了解,动态地改变其中发生动态修改的位置的定位可使距离向量动态地变化。距离向量的此变化给如本文中所描述的网络操纵或修改提供可变性的添加的维度。
[0050]在本发明中,身份参数值的操控、身份参数的选择及其中这些身份参数的位置各自定义为操纵参数。每当在此三个操纵参数中的一者中发生改变时,可认为网络操纵已发生。此三个操纵参数中的一者无论在何时改变,均可认为网络操纵已发生。为了最有效地阻挠对手渗入计算机网络100的努力,优选地借助于如先前所描述的伪随机过程控制网络操纵。所属领域的技术人员将了解,混乱过程也可用于执行此功能。与伪随机函数相比,混乱过程在技术上是不同的,但出于本发明的目的,可使用任一者且两者视为等效的。在一些实施例中,相同伪随机过程可用于使操纵参数中的两者或两者以上动态地变化。然而,在本发明的优选实施例中,使用两个或两个以上不同伪随机过程以使得这些操纵参数中的两者或两者以上独立于其它操纵参数而被修改。
[0051]触发事件
[0052]如上文所述,通过至少一个触发控制对操纵参数中的每一者的动态改变。触发为致使相对于本文中所描述的动态修改而发生改变的事件。换句话说,可认为,触发致使网络以不同于在先前时间(即,在发生触发之前)的新方式操纵。举例来说,在第一时间周期期间,任务计划可致使可将IP地址从值A改变为值B ;但在触发事件之后,IP地址可代替地从值A改变为值C。类似地,在第一时间周期期间,任务计划可致使IP地址及MAC地址被修改;但在触发事件之后,所述任务计划可代替地致使MAC地址及用户名称被修改。作为第三实例,考虑在第一时间周期期间,任务计划可致使身份参数在IDP集合120到达模块105处时改变;但在触发事件之后,可致使身份参数代替地在IDP集合120到达模块113处时改变。
[0053]在其最简单形式中,触发可为用户激活的或基于简单时序方案。在此实施例中,每一模块中的时钟时间可充当触发。举例来说,触发事件可定义为在每60秒时间间隔的期满时发生。对于此布置,操纵参数中的一或多者可根据预定时钟时间每60秒改变。在一些实施例中,所有操纵参数可同时改变以使得所述改变为同步的。在稍微更复杂实施例中,也可使用基于时间的触发布置,但可针对每一操纵参数选择不同独特触发时间间隔。因此,假身份参数值可能以时间间隔X改变,身份参数的选择将根据时间间隔Y改变,且其中执行此类改变的位置将以时间间隔Z发生,其中X、Y及Z为不同值。
[0054]应了解,在依赖于时钟时间作为触发机制的本发明的实施例中,提供如各种模块105、106、107、113、114中的时钟之间的同步以确保包不会由于未辨识的身份参数而丢失或丢弃是有利的。同步方法是众所周知的且任何适合同步机制均可用于此目的。举例来说,可通过使用高度准确时间参考(例如GPS时钟时间)而使模块同步。或者,可将独特无线同步信号从中央控制设施广播到模块中的每一者。
[0055]关于本发明,其它类型的触发也是可能的。举例来说,触发事件可基于潜在网络安全性威胁的发生或检测。根据本发明的实施例,潜在网络安全性威胁可由网络安全性软件套件识别。或者,可在于模块105、106、107、113、114处接收到数据包后即刻识别潜在网络安全性威胁,其中所述包含有与网络操纵的目前状态不一致的一或多个身份参数。无论用于识别网络安全性威胁的基础如何,此威胁的存在可充当触发事件。基于网络安全性威胁的触发事件可致使与上文所描述的基于时间的触发导致的那些网络操纵相同类型的网络操纵。举例来说,假身份参数、身份参数的选择及身份参数变换的位置可保持稳定(即,不改变),其中检测到网络安全性威胁的情况除外。举例来说,可在其中频繁网络操纵是不合意的计算机网络中选择此布置。
[0056]或者,基于时间的触发事件可与基于对网络安全性的潜在威胁的触发事件组合。在此类实施例中,与基于时间的触发相比,基于安全性威胁的触发事件可对网络操纵具有不同影响。举例来说,基于安全性威胁的触发事件可导致网络操纵的策略性或防御性改变以便更积极应对此网络安全性威胁。此类措施的精确本性可取决于威胁的本性,但可包含多种响应。举例来说,可选择不同伪随机算法,及/或可增加每一 IDP集合120中经选择以用于操控的身份参数的数目。在已利用基于时间的触发的系统中,响应还可包含增加网络操纵的频率。因此,可关于以下各项做出更频繁改变:(I)假身份参数值;(2)对每一 IDP集合中待改变的身份参数的选择;及/或(3)其中改变身份参数的第一及第二位置的定位。因此,本文中所描述的网络操纵提供用于识别潜在网络安全性威胁及对潜在网络安全性威胁做出响应的方法。
[0057]任务计划
[0058]根据本发明的优选实施例,根据任务计划控制本文中所描述的网络操纵。任务计划为定义及控制网络的上下文及安全性模型内的操纵能力的方案。如此,任务计划可表示为从网络管理计算机(NAC) 104传达到每一模块105到107、113到114的数据文件。任务计划此后由每一模块用以控制身份参数的操控且使其活动与网络中的其它模块的动作协调。
[0059]根据优选实施例,任务计划可由网络管理员不时地修改以更新或改变网络操纵阻挠潜在对手的方式。如此,任务计划给网络管理员提供促进对网络操纵将在网络内发生的时间、地点及方式的完全控制的工具。此更新能力允许网络管理员修整计算机网络的行为以适合当前操作条件且更有效地阻挠对手渗入网络的努力。可由用户定义及存储多个任务计划以使得其可由网络内的模块存取。举例来说,多个任务计划可存储于NAC 104处且视需要传达到模块。或者,多个任务计划可存储于每一模块上且可视需要或视情况经激活以维持网络的安全性。举例来说,如果网络管理员确定或怀疑对手已发现网络的当前任务计划,那么管理员可希望改变所述任务计划。有效安全性程序也可指示周期性地改变任务计划。
[0060]创建任务计划的过程可通过对网络100进行建模开始。模型的创建通过在网络命令中心处的计算机或服务器上执行的网络控制软件应用程序(NCSA)促进。举例来说,在图1中所展示的实施例中,NCSA可在NAC 104上执行。网络模型优选地包含定义网络100中所包含的各种计算装置之间的数据连接及/或关系的信息。NCSA将提供促进输入此关系数据的适合接口。根据一个实施例,NCSA可促进将数据输入到可用以定义任务计划的表中。然而,在优选实施例中,使用图形用户接口来促进此过程。现在参考图3,NCSA可包含网络拓扑模型产生器工具。所述工具用以辅助网络管理员定义网络的各种组件中的每一者之间的关系。网络拓扑工具提供其中管理员可通过使用光标304而拖放网络组件302的工作空间300。网络管理员也可创建各种网络组件302之间的数据连接306。作为此建模过程的部分,网络管理员可提供各种网络组件(包含模块105到107、113、114)的网络地址信息。
[0061]一旦已将网络建模,其即可由网络管理员保存及使用以定义各种模块105到107、113、114表现及彼此交互的方式。现在参考图4,NCSA可产生可用以进一步开发任务计划的对话框400。下拉式菜单432可用以选择待将对话框400中的设定应用于其的特定模块(例如,模块105)。或者,网络管理员可使用下拉式菜单432来指示打算将对话框400中的设定应用于网络内的全部模块(例如,通过选择菜单432中的“全部”)。过程可通过指定是否将总是在模块中的每一者中修改固定身份参数集合或是否应使所操控的身份参数集合动态地变化而继续。如果打算使将在模块中操控的身份参数的选择或集合动态地变化,那么网络管理员可标记复选框401以指示所述偏好。如果未标记复选框401,那么此将指示待变化的身份参数集合为不随时间变化的固定集合。
[0062]对话框400包含标签402、404、406,所述标签允许用户选择其出于创建任务计划的目的而希望处理的特定身份参数。出于本发明的目的,对话框400促进仅三个身份参数的动态变化。具体来说,这些身份参数包含IP地址、MAC地址及端口地址。可通过提供额外标签而使更多或更少身份参数动态地变化,但所述的三个身份参数足以解释发明性概念。在图4中,用户已选择标签402来处理身份参数的IP地址类型。在标签402内,提供用于指定与选定模块内的IP地址的动态变化相关的细节的多种用户接口控件408到420。可提供更多或更少控件以促进IP地址类型的动态操控,且仅提供所展示的控件以辅助读者理解所述概念。在所展示的实例中,网络管理员可通过选择(例如,借助指向装置(例如鼠标))标记为启用IP地址跳跃的复选框408而启用IP地址的动态变化。类似地,网络管理员可指示将使源地址、目的地地址还是两者变化。在此实例中,标记源地址框410及目的地地址框412两者,从而指示将改变两种类型的地址。可由管理员在列表框422、424中指定源地址及目的地地址的所允许值的范围。
[0063]通过选择伪随机过程而指定用以选择假IP地址值的特定伪随机过程。在框414、415中指定此选择。不同伪随机过程可具有针对可变真随机程度的不同复杂性等级,且管理员可选择最适合网络100的需要的过程。
[0064]对话框400也允许网络管理员设定待用于IP地址身份参数的动态变化的触发类型。在此实例中,用户已选择框416,从而指示基于时间的触发将用于确定何时转变为新的假IP地址值。此外,复选框418已经选择以指示基于时间的触发将在周期性基础上发生。滑块420可由用户调整以确定基于周期性时间的触发的频率。在所展示的实例中,触发频率可在每小时6个触发的发生率(每10分钟发生触发)与每小时120个触发的发生率(每30秒发生触发)之间调整。在此实例中,也可选择其它类型的触发。举例来说,对话框402包含网络管理员可借以选择基于事件的触发的复选框428、430。数个不同特定事件类型可经选择以形成用于此类基于事件的触发(例如,事件类型1、事件类型2等)的基础。这些事件类型可包含各种潜在计算机网络安全性威胁的检测。在图4中,标签404及406类似于标签402,但其中的控件经修整以适合MAC地址及端口值而非IP地址的动态变化。可提供用于控制其它类型的身份参数的动态变化的额外标签。
[0065]任务计划还可指定用于使其中修改身份参数的位置动态地变化的计划。在一些实施例中,通过控制定义每一模块何时处于作用状态或绕过状态中的序列而促进此可变位置特征。因此,任务计划有利地包含指定此序列的某一方式。在本发明的一些实施例中,此可涉及使用经定义时间间隔或时隙,所述经定义时间间隔或时隙由触发事件的发生分离。
[0066]现在参考图5,对话框500可由NCSA提供以促进位置序列及时序信息的协调及输入。对话框500可包含控件502,控件502用于选择将包含于时期506内的时隙50+到504n的数目。在所图解说明的实例中,网络管理员已定义每时期4个时隙。对话框500还可包含表503,表503包含网络100中的所有模块。针对所列不的每一模块,所述表包含一个时期506的可用时隙504到5044的图形表示。应记得,对其中操控身份参数的位置的动态控制通过每一模块是处于作用操作状态中还是处于绕过操作状态中而确定。因此,在图形用户接口内,用户可移动光标508且做出选择以指定在每一时隙期间特定模块是处于作用模式中还是绕过模式中。在所展示的实例中,模块105在时隙501及5043期间为作用的,但在时隙5042、5044期间处于绕过模式中。相反地,模块113在时隙5042、5044期间为作用的,但在时隙501及5043期间处于绕过模式中,参考图1,此意味着身份参数的操控在时隙501及5043期间发生于与模块105相关联的位置处,但在时隙5042、5044期间代替地发生于模块113处。
[0067]在图5中所展示的实例中,网络管理员已选择使模块114总是在作用模式中操作(即,模块114在所有时隙期间为作用的)。因此,针对从客户端计算机101发射到客户端计算机103的数据通信,数据包将交替地在模块105、113中操控,但将总是在模块114处操控。最后,在此实例中,网络管理员已选择在时隙501到5044期间将模块106及107维持于绕过模式中。因此,在经定义时隙中的任一者期间将不在这些模块处执行身份参数的操控。一旦已在对话框500中定义模块时序,网络管理员即可选择按钮510来将改变存储为经更新任务计划的部分。可以各种格式保存任务计划。在一些实施例中,可将任务计划保存为简单表或可由每一模块用于控制模块的行为的其它类型的经定义数据结构。
[0068]任务计划的分布及加载
[0069]现在将进一步详细地描述如本文中所揭示的任务计划的分布及加载。再次参考图1,可观察到,模块105到107、113、114遍及网络100分布于一或多个位置处。所述模块集成于通信路径内以拦截此类位置处的通信、执行必要操控且将数据转发到网络内的其它计算装置。在前述布置的情况下,本文中所描述的对模块的任何必要维护(例如,更新任务计划的维护)将有可能在替换模块或将模块重新编程时打断网络通信。在其中网络服务的可靠性及可用性为至关重要的许多情形下,此类打断是不合意的。举例来说,对于军事、应急服务及商业所使用的计算机网络,不中断网络操作可为至关重要的。
[0070]为了确保不中断网络操作,每一模块优选地具有数种操作状态。这些操作状态包含:(1)关断状态,其中模块被关闭电源且不处理任何包;(2)初始化状态,其中模块根据任务计划安装软件脚本;(3)作用状态,其中根据当前任务计划处理数据 '及(4)绕过状态,其中包可流动通过模块,就如模块不存在一样。模块经配置以使得在其处于作用状态或绕过状态中时,模块可接收及加载由网络管理员提供的经更新任务计划。模块操作状态可由网络管理员借助于(举例来说)在NAC 104上执行的NCSA人工地控制。举例来说,用户可通过使用图形用户接口控制面板选择各种模块的操作状态。用于控制网络的操作状态的命令经由网络100传达,或者可通过任何其它适合手段来传达。举例来说,可出于所述目的而使用单独有线或无线网络(未展示)。
[0071]任务计划可直接加载于每一模块的物理位置处,或其可从NCSA传达到模块。此概念图解说明于图6中,其展示任务计划604经由通信媒体606从NCSA 602传达到模块105到107、113、114中的每一者。在所展示的实例中,NCSA软件应用程序在由网络管理员操作的NAC 104上执行。在一些实施例中,通信媒体可包含使用计算机网络100的带内发信。或者,带外网络(例如,单独无线网络)可用作通信媒体606以将经更新任务计划从NCSA传达到每一模块。如图7中所展示,NCSA可提供对话框700以促进数个任务计划702中的一者的选择。这些任务计划702中的每一者可存储于NAC 104上。网络管理员可从数个任务计划702中的一者做出选择,此后其可激活发送任务计划按钮704。或者,多个任务计划可传达到每一模块且存储于那儿。在任一情景中,用户可选择经定义任务计划中的一者来激活。
[0072]响应于用以发送任务计划的命令,选定任务计划在模块处于其中其经配置以用于主动地执行身份参数的动态修改的作用状态中(如本文中所描述)时传达到所述模块。此布置最小化其间网络以明文方式操作且不操控身份参数的时间。然而,经更新任务计划也可在模块处于绕过模式中时传达到所述模块,且此方法在某些情况中可为合意的。
[0073]一旦任务计划由模块接收,其即可自动地存储于模块内的存储器位置中。此后,可致使模块进入绕过状态,且在仍处于所述状态中时,模块可加载与新任务计划相关联的数据。进入到绕过状态中且加载新任务计划数据的此过程可响应于接收到任务计划而自动地发生,或可响应于来自由网络管理员控制的NCSA软件的命令而发生。所述新任务计划优选地包含改变使身份参数值变化的方式。一旦已加载新任务计划,模块105到107、113及114即可以确保不发生数据通信错误的同步方式从绕过模式转变为作用模式。任务计划可指定模块将返回到作用模式的时间,或网络管理员可使用NCSA来将命令传达到各种模块,从而引导其进入到作用模式中。更新任务计划的前述过程有利地允许网络安全性程序的改变在不打断附接到计算机网络100的各种计算装置当中的通信的情况下发生。
[0074]每一模块105、106、107、113及114处的各种身份参数的动态操控优选地由在每一模块105到107、113、114上执行的应用软件控制。然而,应用软件的行为有利地由任务计划控制。
[0075]现在参考图8,其提供概述每一模块105到107、113、114的操作的流程图。为避免混淆,关于在单个方向上的通信描述过程。举例来说,在模块105的情况中,单个方向可涉及从客户端计算机101发射到集线器108的数据。然而,在实践中,优选地,模块105到107、113、114双向地操作。所述过程在将模块开启电源时在步骤802处开始且继续到步骤804,其中利用模块应用软件执行本文中所描述的方法。在步骤806中,从模块内的存储器位置加载任务计划。在此点处,模块准备好开始处理数据且继续进行到在步骤808处处理数据,其中其从模块的输入数据缓冲器存取数据包。在步骤810中,模块检查以确定其是否处于绕过操作模式中。如果如此,那么在步骤812中在不具有数据包的任何修改的情况下重新发射在步骤808中存取的数据包。如果模块不在绕过模式中,那么其必定在其作用操作模式中且继续到步骤814。在步骤814中,模块读取数据包以确定数据包始发于其的源节点的身份。在步骤816中,其检查包以确定源节点是否有效。可将所指定源节点与有效节点的列表进行比较以确定所指定源节点当前是否有效。如果其并非有效节点,那么在步骤818中摒弃包。在步骤820中,过程检查以确定触发事件是否发生。触发事件的发生将影响对待使用的假身份值的选择。因此,在步骤822中,模块基于触发信息、时钟时间及任务计划中的一或多者确定待使用的假身份值。模块然后继续到步骤826,其中其操控数据包的身份参数。一旦操控完成,即将数据包从模块的输出端口重新发射到邻近节点。在步骤830中,做出关于是否已命令将模块关闭电源的确定。如果如此,那么过程在步骤832处结束。在步骤808中,过程继续且从模块的输入数据缓冲器存取下一数据包。
[0076]现在参考图9,其提供概述用于管理动态计算机网络的本文中所描述的方法的流程图。过程在步骤902中开始且继续到步骤904,其中创建网络模型(例如,如关于图3所展示及描述)。在步骤906中,做出关于是否将创建新任务计划的确定。如果如此,那么在步骤908中创建新任务计划且过程继续到步骤910,其中选择新任务计划。或者,如果在步骤906中已创建所要任务计划,那么方法可直接继续到步骤910,其中选择现有任务计划。在步骤912中,将任务计划传达到模块(例如,模块105到107、113、114),其中将任务计划存储于存储器位置中。当网络管理员准备好实施新任务模型时,在步骤914中发送命令,所述命令致使模块进入如本文中所描述的待用模式。当模块处于此待用模式中时,在步骤916处加载任务计划。任务计划的加载发生于每一模块处以使得可使用任务计划来控制在模块上执行的应用软件的操作。特定来说,使用任务计划来控制应用软件执行身份参数的动态操控的方式。在步骤918中,再次致使任务模块进入到其中每一任务模块根据任务计划执行身份参数的操控的作用操作模式中。步骤914、916及918可响应于从网络管理员发送的特定命令而发生,或可响应于在步骤912中接收到任务计划而在每一模块处自动地发生。在步骤918之后,模块根据已加载的任务计划继续执行处理。在步骤920中,过程通过检查以确定用户是否已指示改变任务计划的期望而继续;如果如此,那么过程返回到步骤906,其中其如上文所描述地继续。如果不存在用户或网络管理员希望改变现有任务计划的指示,那么过程在步骤922中确定其是否已被指令终止。如果如此,那么过程在步骤924中终止。如果未接收到终止指令,那么过程返回到步骤920且继续。
[0077]现在参考图10,其提供展示可用于执行本文中所描述的身份参数的操控的示范性模块1000的计算机架构的框图。模块1000包含经由总线1022彼此通信的处理器1012 (例如中央处理单元(CPU))、主存储器1020及静态存储器1018。计算机系统1000可进一步包含用以指示模块的状态的显示器单元1002,例如液晶显示器或IXD。模块1000还可包含允许模块同时在两个单独数据线上接收及发射数据的一或多个网络接口装置1016、1017。两个网络接口端口促进图1中所展示的布置,其中每一模块经配置以同时拦截及重新发射从网络上的两个单独计算装置接收的数据包。
[0078]主存储器1020包含其上存储有经配置以实施本文中所描述的方法、程序或功能中的一或多者的一或多组的指令1008(例如,软件代码)的计算机可读存储媒体1010。指令1008也可在其由模块执行期间完全或至少部分地驻存于静态存储器1018内及/或处理器1012内。静态存储器1018及处理器1012也可构成机器可读媒体。在本发明的各种实施例中,连接到网络环境的网络接口装置1016使用指令1008经由网络通信。
[0079]现在参考图11,其展示根据发明性布置的示范性网络管理计算机(NAC) 114。NAC可包括各种类型的计算系统及装置,包含服务器计算机、客户端用户计算机、个人计算机(PC)、平板PC、膝上型计算机、桌上型计算机、控制系统或能够执行指定所述装置待采取的动作的一组指令(循序或其它)的任何其它装置。此外,尽管图11中图解说明单个计算机,但短语“NAC”应理解为包含个别地或联合地执行一组(或多组)指令以执行本文中所论述的方法中的任一者或多者的计算装置的任何集合。
[0080]现在参考图11,NAC 104包含经由总线1122彼此通信的处理器1112(例如中央处理单元(CPU))、磁盘驱动单元1106、主存储器1120及静态存储器1118。NAC 104可进一步包含显示器单元1102,例如视频显示器(例如,液晶显示器或IXD)、平板显示器、固态显示器或阴极射线管(CRT)。NAC 104可包含用户输入装置1104(例如,键盘)、光标控制装置1114(例如,鼠标)及网络接口装置1116。
[0081]磁盘驱动单元1106包含其上存储有经配置以实施本文中所描述的方法、过程或功能中的一或多者的一或多组指令1108(例如,软件代码)的计算机可读存储媒体1110。指令1108还可在其执行期间完全或至少部分地驻存于主存储器1120、静态存储器1118内及/或处理器1112内。主存储器1120及处理器1112还可构成机器可读媒体。
[0082]所属领域的技术人员应了解,图10中所图解说明的模块架构及图11中的NAC架构各自表示可分别用于执行本文中所描述的方法的计算装置的仅一个可能实例。然而,本发明在此方面并不受限,且任何其它适合计算装置架构也可在无限制的情况下使用。包含但不限于专用集成电路、可编程逻辑阵列及其它硬件装置的专用硬件实施方案可同样地经构造以实施本文中所描述的方法。可包含各种实施例的装备及系统的应用广义地包含多种电子及计算机系统。一些实施例可借助在模块之间及贯通模块传达的相关控制及数据信号或作为专用集成电路的部分实施两个或两个以上特定互连的硬件装置中的功能。因此,示范性系统适用于软件、固件及硬件实施方案。
[0083]根据本发明的各种实施例,本文中所描述的方法作为软件程序存储于计算机可读存储媒体中且经配置以在计算机处理器上运行。此外,软件实施方案可包含但不限于也可经构造以实施本文中所描述的方法的分布式处理、组件/对象分布式处理、并行处理、虚拟机器处理。
[0084]尽管在图10及11中将计算机可读存储媒体1010、1110展示为单个存储媒体,但术语“计算机可读存储媒体”应视为包含存储一或多组指令的单个媒体或多个媒体(例如,集中式或分布式数据库及/或相关联高速缓冲存储器及服务器)。术语“计算机可读存储媒体”也应视为包含能够存储、编码或携载供由机器执行的一组指令且致使机器执行本发明的方法中任一者或多者的任何媒体。
[0085]术语“计算机可读媒体”应相应地视为包含但不限于固态存储器(例如存储器卡或者装纳一或多个只读(非易失性)存储器、随机存取存储器或其它可重复写入(易失性)存储器的其它包);磁光媒体或光学媒体(例如磁盘或磁带)。因此,本发明应视为包含如本文中所列示的计算机可读媒体中的任一者或多者且包含已认可的等效物及其中存储有本文中的软件实施方案的后续任务媒体。
[0086]与连接到不同逻辑网络的计算装置的通信
[0087]在描述发明性布置的其它方面之前,考虑常规路由器的操作是有用的。参考图12,其展示路由器的示范性网络,其中路由器1202、1204、1206各自连接到单独网络且类似于图1的路由器110。还展示连接到路由器1202的服务器1210及连接到路由器1206的客户端计算机1208。为避免使本发明模糊,未展示每一路由器连接到其的网络及可能在那些网络内的网络组件。此外,图12中所展示的网络拓扑为示范性的,且本发明的实施例在此方面并不受限。
[0088]路由器的原生功能是根据一组路由规则引导业务,所述组路由规则可存储于存储器(例如,图10的主存储器1020)中。举例来说,客户端计算机1208将包发送到服务器1210。所述包首先到达路由器1206。路由器1206检查包标头且确定所述包的最后目的地为服务器1210。路由器1206然后查找服务器1210的网络地址且确定所述包的下一目的地。举例来说,静态路由协议可指定包应沿循具有最少数目个跃点的路线,即,朝向最后目的地行进通过最少数目个路由器。在此情景中,路由表将指定应将包引导到路由器1202。路由器1206然后将包路由到连接到路由器1202的端口。在接收到包后,路由器1202即刻检查包、确定最后目的地为服务器1210且将包路由到连接到服务器1210的端口。
[0089]尽管本文中所描述的用于身份参数的动态操控的方法可在单个逻辑网络(例如,第一逻辑网络130)内良好地工作,但其确实呈现与连接到另一逻辑网络(例如,第二逻辑网络132)的计算机的通信的一些问题。即使整个网络100根据相同任务计划操作也可发生这些问题。由于这些问题,如果不采取适当动作,那么不同逻辑网络上的计算机之间的通信可能被打断。因此,逻辑网络130、132有利地包含经布置以处理进入或离开每一逻辑网络130、132的通信的至少一个路由器110。路由器110确保逻辑网络130内的计算装置与逻辑网络132内的计算装置之间的此类通信可在无错误的情况下发生。路由器110为将具有类似于如图2中所展示的模块的功能框图的功能框图的计算装置。路由器110也可具有类似于图10中所展示的计算机架构的计算机架构。
[0090]根据发明性布置的一个方面,路由器110经配置以调整其路由操作以确保仍将含有假身份参数的数据包传达到其恰当目的地节点。除执行此类基本路由功能之外,路由器还可经配置而以类似于上文关于模块所描述的方式的方式执行身份参数的动态操控。最后,路由器可经配置以使其路由过程动态地变化以使得包的路由路径随时间及/或响应于各种触发条件而以伪随机方式变化。
[0091]现在参考图13,其提供对于理解本发明有用的流程图。所述过程在步骤1302处在将模块开启电源时开始且继续到步骤1304,其中将用于执行本文中所描述的方法的路由器应用软件初始化。在步骤1306中,从路由器内的存储器位置加载一或多个任务计划。任务计划可定义单个动态计算机网络内的多个逻辑网络的动态操纵。可以类似于上文关于模块所描述的方式的方式将一或多个任务计划加载于路由器中。举例来说,可在停用网络的MTT操作时加载任务计划。一旦已加载任务计划,路由器即准备好开始处理数据且在步骤1308处继续如此进行,其中其从路由器的输入数据缓冲器存取数据包。
[0092]在步骤1310中,路由器检查以确定是否已在网络中启用MTT操作模式。如果否(1310:否),那么在步骤1312中使用经布置以确保含有真身份参数值的包的恰当路由的静态路由表将在步骤1308中存取的数据包引导到路由器输出端口。换句话说,在MTT操作模式不作用且假定所有身份参数具有其真值时使用此模式。在步骤1312中,路由器在不对数据包进行任何修改的情况下以常规路由器将使用的相同的方式将数据包传达到适当路由器输出端口。如果启用MTT模式(1310:是),那么过程继续到步骤1314。
[0093]网络将具有定义当前如何操控网络中的身份参数的某一 MTT状态。在步骤1314中,路由器基于任务计划及当前MTT状态确定假身份参数值的当前状态。在步骤1316中,系统周期性地检查以确定是否已发生将改变MTT状态的触发事件。针对触发事件的发生的此检查步骤可如所展示地基于时钟信号周期性地执行,或其可在框1315内所包含的过程期间的任何时间执行。此为重要步骤,因为触发事件的发生可对网络中的当前正使用的恰当假身份值的计算具有显著影响。然后使用来自步骤1316的信息及有关网络的MTT状态的任何其它适当信息来确定那时网络正使用的任何MTT操控的当前状态。举例来说,在步骤1314中触发事件的发生可致使系统产生包含那时正使用的任何假身份参数值及对应真身份参数值的经更新交叉参考表。可使用如先前所描述的伪随机过程确定有关哪些身份参数为假及此类身份参数的真值的信息。如图13中所展示,触发事件可在处理步骤1314、1318、1320、1324、1326及1328中的任一者期间发生且将触发那时的当前MTT状态(例如,假身份参数值的当前状态)的立即重新确定。
[0094]任选地,可在步骤1314处启用MTT身份参数的不可否认性。不可否认性为允许网络管理员在任何时间发现动态网络所使用的MTT身份的安全性服务。因此,尽管具有网络业务的身份参数的潜在伪随机本性,但网络源及目的地的真身份为可知晓的且不能“否认”以拒绝责任。在一个实施例中,这可通过简单记录所有假身份而实现。因此,执行记录功能,借此将在步骤1314中确定的所有假身份参数记录于(举例来说)存储器中。或者,可通过伪随机函数的时间戳记录及与MTT任务计划的当前状态相关联的种子值来实现不可否认性。此允许网络管理员在网络操作期间的任何时间往回查看以依据伪随机函数及那时任务计划所使用的种子值“重新建构”网络身份。
[0095]在步骤1318中,路由器读取数据包以确定数据包从其始发的源节点及目的地节点的身份。所接收数据的源地址信息及目的地地址信息是重要的,因为需要其来准许路由器确定如何恰当地操控数据通信内所含有的身份参数。在步骤1320中,路由器检查数据包以确定源节点是否有效。此可通过将数据包中所指定的源节点与当前正使用的有效源节点的当前列表(例如,如步骤1314中所确定)进行比较而实现。如果源节点信息并非有效,那么在步骤1322中摒弃包。步骤1324及1326是下文进一步详细论述的任选步骤。
[0096]过程继续到步骤1328,在此时路由器将包引导到适当路由器输出端口。此步骤优选地包含用以确保含有假身份参数的包的恰当路由的适当动作。更特定来说,根据对应于假身份参数的真信息,用于数据通信的路线是用于数据通信的正确路由。应记得,假身份参数中的信息将与真身份参数值不一致,因此必须做出适当调整以适应假信息,同时仍确保数据消息的恰当路由。存在解决此问题的至少两种可能方法。在一些实施例中,步骤1328可涉及借以确定包中所含有的任何假身份参数的真身份参数值的交叉参考过程。举例来说,在步骤1314中产生的查找表可用于此目的。一旦确定此类身份参数的真值,路由器即可使用其静态路由表(即,在步骤1312中所使用的相同表)来确定特定包的正确路由器输出端口。此后,可将包引导到正确路由器输出端口。或者,可产生经调整动态路由表以供在步骤1328中使用。经调整动态路由表可直接指定对应于数据包中所含有的假身份参数信息的正确路由端口。其它方法也是可能的,且本发明并不打算限于此处所描述的两种方法。
[0097]在步骤1330中,做出关于是否已命令将路由器关闭电源的确定。如果如此,那么过程在步骤1332处结束;否则,过程返回到1308。在步骤1308中,过程继续且从路由器的输入数据缓冲器存取下一数据包。
[0098]在上文所描述的过程中,路由器110执行确保将含有假身份参数的数据包仍传达到其恰当目的地节点的路由操作。除执行此类基本路由功能之外,路由器还可经配置而以类似于上文关于模块所描述的方式的方式执行身份参数的动态操控。再次参考图13,任选步骤1324可包括根据任务计划及当前网络状态动态操控身份参数。步骤1324处的操作将类似于如上文所描述的由模块105到107、113、114执行的身份参数操控。在完成身份参数的此操控后,所述过程将即刻基本上如上文关于步骤1328描述地继续。将使用如路由器所操控的当前身份参数值来执行路由操作。值得注意的是,步骤1324中的操控操作可根据任务计划在进行与停止之间选择性地双态切换。此过程类似于上文关于模块所描述的绕过模式,且可促进使网络内的其中执行身份参数操控的位置变化。可在如上文所描述的步骤1310及1312中实施此绕过操作模式。或者,可个别地绕过步骤1324。
[0099]在如至此所描述的路由器过程中,已操控身份参数,但路由协议一直为静态的。换句话说,用于路由包的规则已随时间保持相同,且这些规则尚未受网络的MTT状态的改变影响。包总是沿与其将在具有静态路由表的默认路由情景中路由相同的路径来路由。除这些静态路由方法之外,发明性布置还可包含动态路由。
[0100]为了更完全地理解动态路由的概念,考虑实例是有用的。在上文参考图12所描述的默认路由情景中,路由器1206将送往服务器1210的包引导到路由器1202,因为此路线具有最短数目个跃点。然而,在本发明的动态路由实施例中,每一路由器的路由协议可经动态修改以使得特定路由器路由包的方式将随时间(且在不同条件下)改变。此类路由变化在不存取任务计划中所指定的信息的情况下将是不可预测的。因此,任务计划可指定(举例来说)有时将送往服务器1210的包引导到路由器1204而非直接引导到路由器1202。然后将包引导到路由器1202及最后目的地服务器1210。在其它时间,送往同一服务器的包可具有不同路由。在涉及动态路由的此类实施例中,可认为包贯通网络1200中采取的路线以伪随机方式动态地更改以阻挠试图监视网络通信的对手。下文中所描述的动态路由方法可使用任何适合技术执行,且所有此类技术均打算包含于本发明的范围中。此外,路由协议的动态修改可单独或连同如上文所描述的身份参数的动态修改一起执行。
[0101]现在参考图14,其提供概述用于实施如上文所描述的动态路由方法的过程的示范性实施例的流程图。图14中的流程图描述可在图13的步骤1326处实施的示范性处理。过程在任选步骤1324之后开始且继续到步骤1402,其中路由器110确定数据包可采取的一组可行路线。可行路线可为数据包可采取的到其最终目的地的任何路线。可用于数据包的可行路线的数目可受外部约束(例如网络可用性及服务需要的质量)限制。一旦已识别所有可用路线,过程即继续到步骤1404,其中选择单个路线来发送包。可根据任务计划伪随机地选择所挑选的路线。一旦选择了路线,过程即以图13的步骤1328继续,其中使用适当路由协议将数据路由到输出端口,如上文所描述。
[0102]仍应理解,本文中所描述的动态路由方法不限于图14中所展示的过程。在另一实施例中,根据任务计划操作的路由器可确定贯通网络的多个可行路线。路由器可根据由任务计划定义的伪随机算法将跨越可行路径的通信分段及分散。举例来说,参考图12,路由器1206可接收分段成两个包的通信。根据任务计划操作,路由器1206可通过路由器1204发送一个包且将另一包直接发送到路由器1202。然后在目的地(例如,服务器1210)处重新汇编通信。在此实施例中,路由器1206可根据伪随机函数使数据包将行进的路线变化。所属领域的技术人员应认识到,此技术可扩缩到包含任何数目个路由器的网络。
[0103]在另一实施例中,路由器可使其路由决策基于从其接收包的特定端口。举例来说,来自客户端计算机1208的包可在路由器1206处接收且发送到1204,如上文所描述。根据此实例,路由器1204中的动态路由协议及/或表可指定可将从路由器1206接收的送往连接到路由器1202的主机的包发送回到路由器1206。再次,路由器1206接收相同包,但此次是从连接到路由器1204的端口而非连接到客户端计算机1208的端口接收。路由器1206的动态路由协议及/或表可指定将送往路由器1202且从连接到路由器1204的端口到达的包直接引导到路由器1202。
[0104]值得注意的是,上文关于图14所描述的动态路由过程也可独立于关于图13所描述的MTT功能中的一或多者发生。现在参考图15,其提供概述根据其中路由器110所使用的路由协议根据任务计划变化的一个实施例的路由器的操作的流程图。所述过程在步骤1502处在将模块开启电源时开始且继续到步骤1504,其中将用于执行本文中所描述的方法的路由器应用软件初始化。在步骤1506中,从路由器内的存储器位置加载一或多个任务计划。在此时,路由器准备好开始处理数据且在步骤1508处继续如此进行,其中其从路由器的输入数据缓冲器存取所接收数据包。在步骤1510中,做出关于路由器是否在动态路由模式中操作的确定。如果否,那么过程继续到步骤1512且根据常规静态路由协议路由数据。或者,如果路由器根据动态路由模式操作(1510:是),那么过程继续到框1513内所包含的步骤1514到1518。步骤1514到1516类似于图14中的步骤1402到1404。因此,在步骤1514中,路由器110确定贯通网络的数据包为到达其目的地节点而可采取的一组可行路线。在步骤1516中,基于由任务计划定义的伪随机选择过程选择单个路线以发送包。在步骤1515中也发生针对触发事件的发生的检查。如上文关于图13所论述,在步骤1515中确定的触发事件将触发那时的当前MTT状态(例如,假身份参数值的当前状态)的立即重新确定。
[0105]一旦选择了路线,即在步骤1518处朝向指定为包的下一目的地的邻近节点将数据包引导到输出端口。在步骤1520中,做出关于是否已命令将路由器关闭电源的确定。如果如此,那么过程在步骤1522处结束;否则,过程返回到1508。在步骤1508中,过程继续且从路由器的输入数据缓冲器存取下一数据包。
[0106]现在参考图16,其展示路由器110的框图。路由器110具有至少两个数据端口1601、1602,其中的每一者可对应于相应网络接口装置1604、1605。如图16中所展示,路由器110可具有多个数据端口,每一数据端口连接到不同逻辑网络及/或计算装置。在端口1601中的任一者处接收的数据在网络接口装置1604处处理且暂时存储于输入缓冲器1610处。处理器1615存取输入缓冲器1610中所含有的输入数据包且执行如本文中所描述的任何必要路由程序即,方向2处理1616。经修改数据包传递到输出缓冲器1612且随后使用网络接口装置1605从端口 1602发射。类似地,在端口 1602处接收的数据在网络接口装置1605处处理且暂时存储于输入缓冲器1608处。处理器1615存取输入缓冲器1608中所含有的输入数据包且执行如本文中所描述的任何必要路由程序,即,方向I处理1614。经修改数据包传递到输出缓冲器1606且随后使用网络接口装置1604从端口 1601发射。在每一模块中,处理器1615根据存储于存储器1618中的任务计划1620及/或一或多个表1622执行数据包的动态路由。
[0107]除其路由功能(及对潜在地管理动态路由协议的需要)之外,路由器110的操作在许多方面中类似于模块105到107、113、114的操作。仍应了解,路由器110的操作也以一些方式不同。举例来说,不同于模块,路由器将决不会完全不作用,因为在网络作用时,总是需要其来至少执行常规路由功能。但是,路由器的操作中的一些操作可以类似于模块的方式在作用模式与非作用模式之间转变。举例来说,由路由器执行的涉及身份参数的动态修改(图13的步骤1324)的变换功能可在作用模式与非作用(绕过)模式之间转变。当在作用模式中时,身份参数的动态修改可由路由器执行。当在非作用或绕过模式中时,不动态地修改身份参数,但路由功能仍是作用的。值得注意的是,任务计划可使用路由器(以类似于上文关于模块所描述的方式的方式)来使其中执行身份参数操控的位置变化。此类动作可仅由一或多个路由器执行,或可连同其它装置(例如模块)一起执行。可以类似于本文中关于模块所描述的方式的方式(借助静态表的常规路由功能可在加载新任务计划的时间期间保持启用除外)更新路由器所使用的任务计划。
[0108]待由路由器操控的身份参数的选择及操控所述身份参数的方式可类似于上文关于模块所描述的方法。举例来说,身份参数的选择及假身份参数值的选择可由伪随机过程确定。所述过程及/或用于此过程的种子值分别由与网络相关联的任务计划确定。路由器110将根据如上文参考模块所描述的一或多个触发事件的发生对待操控的身份参数值及/或身份参数的选择做出改变。这些触发事件可随时间而变地产生,可由事件的发生确定,或两者兼具。本文中所提及的事件的实例可包含用户命令、时序间隔及潜在网络安全性威胁的检测,如上文所论述。
[0109]可变化的身份参数的类型
[0110]现在参考图17,其提供可由模块105到107、113、114及/或由桥接器115操控的身份参数中的一些身份参数的列表。图17中所列示的参数中的每一者包含于在使用TCP/IP通信协议的网络中所包含的数据通信中。图17中所列示的大多数信息类型是所属领域的技术人员众所周知的。然而,本文中提供每一类型的信息及其作为身份参数的使用的简要描述。还提供可操控每一身份参数的方式的简要论述。
[0111]IP地址。IP地址是指派给参与计算机网络的每一计算装置的数字识别符,其中所述网络使用众所周知的因特网协议进行通信。IP地址可为32位或128位数。出于本发明的目的,可将IP地址数改变为随机地选择(例如,使用伪随机数产生器)的假值。或者,可从预定假值列表(例如,由任务计划指定的列表)随机地选择假IP地址值。源IP地址及目的地IP地址包含于数据包的标头部分中。因此,通过经由使用改变IP标头信息的包操控技术简单地改变执行这些值的操控。当包到达第二模块(可操控的位置)时,将假IP地址值变换回到其真值。第二模块使用相同伪随机过程(或其逆过程)来基于假值导出真IP地址值。
[0112]MAC地址。MAC地址是由制造商指派给网络接口装置且存储于板上ROM中的唯一值。出于本发明的目的,可将源MAC地址及/或目的地MAC地址改变为随机地选择(例如,使用伪随机数产生器)的假值。或者,可从预定假值列表(例如,由任务计划指定的列表)随机地选择假MAC值。源MAC地址及目的地MAC地址包含于数据包的标头部分中。因此,通过简单地改变每一包的以太网标头信息执行这些值的操控。当包到达第二模块(可操控其的位置)时,将假MAC地址值变换回到其真值。接收包的模块将使用相同伪随机过程(或其逆过程)来基于假值导出真MAC地址值。
[0113]网络/子网。在一些实施例中,IP地址可视为单个身份参数。然而,通常将IP地址定义为包含至少两个部分,所述至少两个部分包含网络前缀部分及主机编号部分。网络前缀部分识别待将数据包传达到其的网络。主机编号识别局域网(LAN)内的特定节点。子网络(有时称为子网)为IP网络的逻辑部分。在将网络划分成两个或两个以上子网络的情况下,使用IP地址的主机编号区段的一部分来指定子网编号。出于本发明的目的,网络前缀、子网编号及主机编号可各自视为单独身份参数。因此,这些身份参数中的每一者可以伪随机方式独立于其它参数单独地操控。此外,应了解,数据包将包含源IP地址及目的地IP地址。因此,可在源IP地址及/或目的地IP地址中操控网络前缀、子网编号及主机编号,总共六个可以伪随机方式操控的不同可变身份参数。接收包的模块将使用与始发节点相同的伪随机过程(或此过程的逆过程)来基于假值导出真网络/子网信息值。
[0114]TCP序列。在TCP会话的相对侧上彼此通信的两个客户端计算机将各自维持TCP序号。所述序号允许每一计算机追踪其已传达多少数据。TCP序号包含于在会话期间传达的每一包的TCP标头部分中。在起始TCP会话时,随机地选择初始序号值。出于本发明的目的,可根据伪随机过程将TCP序号操控为身份参数。举例来说,可将TCP序号改变为随机地选择(例如,使用伪随机数产生器)的假值。当在网络的不同模块(其位置将动态地变化)处接收到包时,可使用伪随机过程的逆过程将TCP序号从假值变换回到真值。
[0115]端口编号。TCP/IP端口编号包含于数据包的TCP或UDP标头部分中。如TCP/IP通信协议中所使用的端口为此项技术中众所周知的,且因此将不在本文中详细描述。端口信息含在数据包的TCP标头部分内。因此,通过简单地修改TCP标头信息以将真端口值改变为假端口值而实现端口信息的操控。如同本文所论述的其它身份参数,可在第一模块处根据伪随机过程将端口编号信息操控或变换为假值。稍后,可在第二模块处使用伪随机过程的逆过程将端口信息从假值变换为真值。
[0116]虽然已关于一或多个实施方案图解说明及描述了本发明,但所属领域的技术人员在阅读及理解本说明书及随附图式之后将想到等效更改及修改。另外,尽管可能已关于数种实施方案中的仅一者揭示了本发明的特定特征,但此特征可与其它实施方案的一或多个其它特征组合,此对于任何给定或特定应用可能是合意的及有利的。因此,本发明的广度及范围不应受上文所描述的实施例中的任一者限制。而是,本发明的范围应根据所附权利要求书及其等效形式来定义。
【权利要求】
1.一种在动态计算机网络中的路由器,其包括: 输入电路,其连接到经配置以接收数据通信的至少一个输入端口; 输出电路,其连接到经配置以发射数据通信的多个输出端口 ; 存储器,其用于存储至少一个表 '及 至少一个处理单元,其经配置以 接收数据通信,所述数据通信包含与源计算装置及目的地计算装置相关联的多个身份参数,其中所述多个身份参数的集合指定假信息; 根据对应于所述多个身份参数中指定假信息的至少一个身份参数的至少一个真信息选择用于所述数据通信的正确路线,所述真信息与所述假信息相比不同;及 将所述数据通信路由到所述多个输出端口中对应于所述正确路线的一个输出端口。
2.根据权利要求1所述的路由器,其中所述集合中所包含的所述身份参数及所述身份参数的所述假信息是根据与所述动态计算机网络相关联的任务计划而确定。
3.根据权利要求1所述的路由器,其中所述至少一个处理装置进一步经配置以: 通过执行选自由以下各项组成的群组的至少一个动作而修改所述集合:改变与所述身份参数相关联的信息,及修改对所述集合中所包含的具有假信息的所述身份参数的选择。
4.根据权利要求3所述的路由器,其中所述至少一个动作是根据由与所述动态计算机网络相关联的任务计划定义的伪随机过程而执行。
5.根据权利要求4所述的路由器,其中所述至少一个处理装置进一步经配置以在发生至少一个触发事件后即刻修改所述伪随机过程。
6.根据权利要求5所述的路由器,其中所述触发事件选自由以下各项组成的群组:用户命令、时序间隔及潜在网络安全性威胁的检测。
7.根据权利要求1所述的路由器,其中所述至少一个处理单元进一步经配置以使指定为用于所述数据通信的所述正确路由的所述路线动态地变化。
8.根据权利要求7所述的路由器,其中所述路线的所述动态变化是根据由与所述动态计算机网络相关联的任务计划定义的伪随机过程而执行。
9.根据权利要求8所述的路由器,其中所述至少一个处理单元进一步经配置以在所述发生至少一个触发事件后即刻修改所述伪随机过程。
10.根据权利要求9所述的路由器,其中所述触发事件选自由以下各项组成的所述群组:用户命令、时序间隔及潜在网络安全性威胁的检测。
11.根据权利要求1所述的路由器,其中所述至少一个处理单元进一步经配置以确定正由所述动态计算机网络使用的所述假信息的值,且如果所述假信息指定与当前正由所述网络使用的所述假信息不一致的源节点身份,那么所述至少一个处理装置不将所述数据通信路由到下一节点。
12.根据权利要求1所述的路由器,其中所述至少一个处理单元进一步经配置以选择性地在其中将所有所述身份参数假定为真的默认操作模式中操作,且根据基于所述真身份参数的静态路由表将所述数据通信正确地路由到所述多个输出端口中的一者。
【文档编号】H04L29/06GK104322027SQ201380023317
【公开日】2015年1月28日 申请日期:2013年4月24日 优先权日:2012年5月1日
【发明者】韦恩·B·史密斯 申请人:贺利实公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1