控制通信网络上的流量的方法和系统的制作方法

文档序号:7735976阅读:235来源:国知局
专利名称:控制通信网络上的流量的方法和系统的制作方法
技术领域
本公开主题涉及用于控制通信网络上的流量的方法和系统。
背景技术
对通信网络上的合法数据流的攻击是正在发生的和逐渐发展的问题。拒绝服务 (denial-of-service)、欺骗和丢弃攻击(drop attack)是常见的问题。在拒绝服务攻击 中,压倒性数量的伪流量包和压倒性数量的服务请求可以被发送给服务器以导致网络资源 过载。在欺骗攻击中,攻击者假装是合法的发送机并且发送补充或代替合法数据流的数据, 从而危害接收机。在丢弃攻击中,在合法发送机和合法接收机之间的通信通路上的设备故 意丢弃发送机与接收机之间的报文和数据,导致通信损失。

发明内容
本发明提供了用于控制通信网络上的流量的方法和系统。根据一些实施例,本发 明提供了用于控制通信网络上的流量的方法,该方法包括在接收机内的处理器处接收对 于许可将数据流发送给接收机的查询报文;发送来自接收机的许可报文;检测到发送给接 收机的报文和数据包中的至少一个已经被丢弃;以及促使发送数据流的通路改变。根据一些实施例,本发明提供了用于控制通信网络上的流量的方法,该方法包括 传送对于许可将数据流发送给接收机的查询报文;传送授权发送机发送给定量的流量流的 许可报文;以及使用处理器根据给定量的流量流来确定数据包是否被授权。根据一些实施例,本发明提供了用于控制通信网络上的流量的方法,该方法包括 传送对于许可将数据流发送给接收机的查询报文;传送指示在将数据包传输给接收机时使 用安全协议的许可报文;以及使用处理器检测到发送给接收机的数据包违反安全协议。根据一些实施例,本发明提供了用于控制通信网络上的流量的方法,该方法包括 在接收机内的处理器处接收对于许可将数据流发送给接收机的查询报文;发送指示在将数 据包传输给接收机时使用安全协议的许可报文;以及检测到发送给接收机的数据包违反安 全协议。根据一些实施例,本发明提供了用于控制通信网络上的流量的系统,该系统包括 具有处理器的接收机,其中该处理器接收请求允许将数据流发送给接收机的查询报文;发 送来自接收机的许可报文;检测到发送给接收机的报文和数据包中的至少一个已经被丢 弃;以及促使用于发送数据流的通路改变。根据一些实施例,本发明提供了用于控制通信网络上的流量的系统,该系统包括具有处理器的接收机,其中该处理器传送对于许可将数据流发送给接收机的查询报文;传 送授权发送机发送给定量的流量流的许可报文;以及根据给定量的流量流来确定数据包是 否被授权。根据一些实施例,本发明提供了用于控制通信网络上的流量的系统,该系统包括 处理器,其中该处理器传送对于许可将数据流发送给接收机的查询报文;传送指示在将数 据包发送给接收机时使用安全协议的许可报文;以及检测到发送给接收机的数据包违反安 全协议。根据一些实施例,本发明提供了用于控制通信网络上的流量的系统,系统包括具 有处理器的接收机,其中该处理器接收对于许可将数据流发送给接收机的查询报文;传 送指示在将数据包发送给接收机时使用安全协议的许可报文;以及检测到发送给接收机的 数据包违反安全协议。


图1是示出根据一些实施例的与发送机和接收机之间的数据流有关的所发送的 查询报文及许可报文的示意图。图2是示出根据一些实施例的欺骗攻击检测的示意图。图3是示出根据一些实施例可以检测到的丢弃攻击的示意图。图4是示出根据一些实施例的丢弃攻击检测的示意图。图5是示出根据一些实施例可以使用的硬件的示意图。
具体实施例方式根据各种实施例,本发明提供了用于控制通信网络上的流量的机制。这些机制可 以使用于多种应用中,例如防止拒绝服务(DoS)攻击及其他形式的未授权流量。在一些实施例中,对通信网络上的流量的控制可以通过要求在发送机可以发送数 据包之前许可得由接收机授权许可来实现。另外,可以执行对数据包和信令报文的监控来 核实只是授权的数据包正在通信并且没有被授权的数据包正在被丢弃。在一些实施例中超 过它们的许可水平的数据包(如果存在)可以被丢弃或被限速(例如,到很小的量)。为了控制和监控授权数据包的传输,信令报文可以在通信网络上的各种设备之间 发送。例如,接收机可以通知在发送机和接收机之间的路由器(和/或任意其他适合的设 备)来自发送机的数据包被授权从发送机发送给接收机。发送数据包的许可可以被配置 为在给定的时长之后自动过期。但是,在一些实施例中,许可可以周期性刷新以在变化的网 络条件(例如路由改变)下保持稳健性,以及确保许可维持比过期期限更长的时长。要确定数据包流是否违反对该数据流的给定许可,可以确定自设置了许可状态之 后已经接收或发送的数据流的量。该确定可以在发送机和接收机之间的通路上的任意适合 的一个或更多个点进行。在通路上的路由器或其他适合的设备可以监控从发送机发送给接 收机的数据流的量。这种数据流监控可以检测伪造包的注入或者合法包的丢弃。如果检测 到授权包正由妥协的路由器(或其他设备)所丢弃,则可以触发发送机改变数据流通路。在 一些实施例中,要改变数据流通路,可以使用远离当前通路的中继节点或者可以使用通过 多宿主(multi-homing)的通路分集。
5
有至少两种可以用来设置通路上的数据包流的许可的报文类型查询报文和许可 报文。查询报文由发送机发送以请求接收机的许可。许可报文由接收机在授权许可后发送 给发送机。另外,许可报文可以被用来去除(或撤消)和/或修改对数据流的许可状态。在一些实施例中,在Schulzrinne 和 Hancock 的"GIST =GeneralInternet Signaling Transport" (Internet Draft “draft-ietf-nsis-ntlp-17", Internet Engineering Task Force, www. ietf. org, 2008年10月,该文在此通过引用的方式全文并 入本申请中)中所描述的通用互联网信令传输(GIST)可以被用来沿着数据通路传输信令 报文以配置路由器(或其他设备)对数据流的许可状态。GIST可以被用来处理所有进来 的信令报文并且促使它们被传送给如同在此所描述的适当的机制来处理。信令报文的传输 可以使用点到点的方法来处理。因而,知道在此所描述的用于控制流量的机制的每个节点 (或设备)当它接收到信令报文时可以将信令报文转发到下一节点。在一些实施例中,要保护信令报文的认证和完整性,可以使用两种安全机制在端 到端方式中的报文安全和在逐跳(hop-by-hop)方式中的信道安全。报文安全可以被用来 保护点到点流量上的报文完整性和信道安全可以被用来保护相邻节点之间的报文的完整 性和机密性。报文安全(这在一些实施例中可以使用公钥密码来实现)被用来保护报文不 被攻击者修改。信道安全(这在一些实施例中可以使用传输层安全(TLS)和/或数据报传 输层安全(DTLS)来实现)可以被用来将数据包的互联网协议安全(IPsec)的共享密钥以 逐跳方式分发给数据通路上的路由器。要认证数据包,发送机可以使用任意适合的安全协议,例如IPsec认证报头(AH) (该认证报头在Internet Engineering Task Force的RFC4302 (该文在此通过引用的方 式全文并入本申请中)中进行了描述)。又如,在一些实施例中,可以使用IPsec封装安全 载荷(ESP)(这在Internet Engineering Task Force的RFC4303 (该文在此通过引用的方 式全文并入本申请中)中进行了描述)进行认证。当使用该安全协议时,路由器可以被配 置使之使用IP包过滤器来丢弃伪造包,其中所述伪造包可能已经由未授权的源插入。当 使用IPsec AH时,任意适合的安全机制可以被使用来保护认证数据段的完整性。例如,在 Byzantine网络(例如,其中发送机和/或路由器不可信的那种)中,公钥密码算法(例如 RSA和Elliptic曲线密码(ECC))可以被用于IPsecAH中的认证数据段。又如,在值得信任 的网络(例如,其中路由器是可信的并且没有妥协的那种)中,对称密钥密码算法,例如用 于报文授权(HMAC)的加密散列(Keyed-Hashing)(这在RFC2104(该文在此通过引用的方 式全文并入本申请中)中进行了描述),可以被使用于IPsec AH中的认证数据段,因为在可 信任的网络中没有通路上的攻击者。接收机在一些实施例中可以根据所使用的策略、网络 及应用来选择数据报文的密码算法。IPsec中的序列号同样可以被用来检测注入到网络之 内的伪造包。转到图1,图中示出了根据一些实施例可以如何在发送机102和接收机108之间设 置许可的实例100。如图所示,发送机102给接收机108发送查询报文110以请求许可发送 数据流122。在查询报文的流标识中描述了所请求的应用。查询报文在GIST中给许可报文 116的通路设置相反的路由状态。接收机108然后给发送机102发送许可报文116以允许 数据流122的数据包沿着查询报文110的通路进入。在设置了发送机和接收机之间的许可 状态之后,发送机然后可以在所指定的时间间隔内给接收机发送所允许的数据量(许可)。
在一些实施例中,发送机102每个刷新周期(T) 136可以发送查询报文110和124。 接收机108然后可以在接收到查询报文110或124之后给发送机102发送许可报文116或 118。在一些实施例中,查询和许可报文的不对称传输可以得以支持。在设置了许可状 态之后,如果接收机想要改变许可状态或安全算法,则它可以在没有接收到另一查询报文 的情况下发送另一许可报文。在一些实施例中可以使用公钥加密算法来保护在信令报文中的字段(在下面描 述)。这种加密可以被用来支持报文的认证和完整性。在一些实施例中,要捆绑公钥和发 送机,可以使用X. 509证书(这在RFC5280(该文在此通过引用的方式全文并入本申请中) 中进行了描述),并且证书可以被携带于信令报文中。或者,在一些实施例中,密码生成地址 (CGA)(这在RFC3972(该文在此通过引用的方式全文并入本申请中)中进行了描述)可以 与互联网协议版本6 (IPv6) —起使用以捆绑IPv6地址和公钥,而不是公钥证书。在一些实施例中,工作证明机制可以被用来对可能被恶意使用以发动拒绝服务攻 击的查询报文限速。例如,工作证明机制可以要求发送机执行一些时间的或者处理功率密 集的任务(例如散列函数的重复执行),所述任务然后在接收查询报文之前由接收机核实。图2示出了根据一些实施例的检测攻击的实例。如所示,两种信令报文(查询报文 210和许可报文212)设置在发送机202和接收机208之间的数据流214的许可状态。在该 实例中,假定接收机208给发送机202授权IOMB大小的许可,并且要求发送机使用对称密 钥密码来加密IPsec的认证字段。在设置了许可状态之后,发送机202发送总量为1MB的数 据包。接着,欺骗发送机202的地址并且具有共享密钥的攻击者216发送总量为2MB的另 加的攻击包218。在刷新周期(T) 220之后,发送机202发送包含它已经发送的数据量(在 该实例中为1MB)的指示的查询报文222。因为查询报文222由公钥密码来保护,所以他方 不能生成和/或修改查询报文。接收机208然后可以通过将查询报文的数量指示(在该实 例中为1MB)与接收机已经接收的数据的总量(在该实例中为3MB)比较来检测攻击。在接 收机208检测到攻击之后,它发送具有指示的许可报文226以将IPsec AH的加密算法改变 成公钥加密法(例如RSA和ECC)以使攻击者无法获知对称密钥。在发送机202接收到许 可报文226之后,发送机改变用于数据包的IPsec AH的密码算法。由于新的IPsec AH检 验过程,使用过期的对称密钥的随后攻击包然后将在设备204或206之一处被丢弃。在一些实施例中,可以检测到丢弃攻击(或黑洞攻击)。在这种攻击的实例中,在 发送机和接收机之间妥协的路由器丢弃全部数据包和/或报文或者丢弃所选择的数据包。 图3示出了检测丢弃攻击的实例300。如所示,攻击者306丢弃从发送机302发送给接收机 308的所有数据包和信令报文。因为发送机302在发送了两个查询报文310和312以及等 待超时设定314和316过期之后都没有接收到许可报文,所以它怀疑数据包可能已经被丢 弃。因此,它在点318改变报文和数据流的通路。在图4中示出了检测丢弃攻击的另一实例400。如所示,攻击者406丢弃数据包 410而转发信令报文412、414、416和418。查询报文416指示发送机402已经发送给接收 机408的数据量(在该实例中为1MB)。由于接收机408还没有接收到数据流410,因而接 收机可以检测到数据包丢弃攻击。接收机408然后发送指示请求改变数据流和信令报文的 通路的许可报文418以避免攻击者406。在接收到该许可报文之后,发送机402改变通路。
在一些实施例中,信令报文(例如查询报文和许可报文)可以包括通用报头和一 个或更多个类型长度值(TVA)对象。通用报头可以指示报文的报文类型。例如,报头可以 指示报文究竟是查询报文还是许可报文。如上所述,查询报文可以被用来请求许可和监控 流量流。查询报文可以包括通用报头、流标识、报文序列号、请求量,发送量、公钥检验及认 证数据。同样如上所述,许可报文可以被用来设置,去除及修改对数据流的许可状态。许 可报文可以包括通用报头、流标识、报文序列号、允许量、生存时间(TTL)、刷新时间、公钥证 书、防御及认证数据。在一些实施例中,对象由通用对象报头开始。该报头可以指示对象的类型和对象 的长度。对象类型的一些实例是流标识、报文序列号和允许量。报头还可以指示当对象为未 知时该如何处理对象。例如,指示可以是“强制(Mandatory) ”(例如,如果对象不被理解,则 包含它的整个报文必须被拒绝,并发回错误报文),“忽略(Ignore) ”(例如,如果对象未知, 则它必须被删除并且报文的其余部分照常处理),“转发(Forward),,(例如,如果对象不被 理解,则它必须在作为报文处理的结果转发的任意报文中保持不变,而不保存于本地)等。流标识可以指示IP地址版本(例如,版本4、6等)、协议标识、发送机的端口号、预 期接收机的端口号、发送机的IP地址以及预期接收机的IP地址。报文序列号可以包括渐增的序列号。这可以被用来防止重放攻击。请求量可以指示发送机请求数据流的字节数量。发送量可以指示自发送机收到许可之后发送机已经发送的字节数量。允许量可以指示接收机允许数据流的字节数量。生存时间(TTL)可以指示对数据流的许可状态的时间限制。该TTL在一些实施例 中可以以时间单位(例如,毫秒等)来表示。刷新时间可以指示许可保持有效的时长。公钥证书可以包括节点公钥的X. 509证书(或者任意其他适合的证书)。防御指示器可以指示对攻击的解决方案。例如,防御指示器可以指示不要采取 动作;对称密钥密码将要用来加密IPsec的认证字段;公钥算法将要用来加密IPsec的 认证字段;通路将要改变以避免妥协的路由器等。防御指示器还可以指示IPsec的认证 算法——例如,IPsec认证字段的密码算法。例如,这可以是HMAC-SHA1、HMAC-SHA-256、 HMAC-MD5、RSA-1024、RSA-2048、ECC-160、ECC-224、数字签名算法(DSA)-1024、DSA-2048 或 者来自X. 509证书的算法。防御指示器还可以包括IPsec认证字段的密钥。认证数据可以指示报文字段的加密数据的认证和完整性。公钥加密技术可以被用 来加密报文字段数据。转到图5,在图中示出用于实现控制通信网络上的流量的方法和系统的硬件的实 例500。如所示,该硬件可以包括发送机502、接收机508、通信网络503、路由器504、505、 506、510、511、512和516,以及连接520和522。发送机502可以是给接收机508发送数据 的任意适合的设备。例如,发送机502可以是通用设备(例如计算机)或专用设备(例如客 户机、服务器、互联网协议语音(VoIP)电话、多媒体设备等。接收机508可以是接收来自发 送机502的数据的任意适合的设备。例如,接收机508可以是通用设备(例如计算机)或 专用设备(例如客户机、服务器、互联网协议语音(VoIP)网关或多会议单元、多媒体服务器 等)。这些通用的或专用的设备中的任一个可以包括任意适当的元件,例如处理器(该处理器可以是微处理器、数字信号处理器、控制器等)、存储器、通信接口、显示控制器、输入设备 等。通信网络503可以是任意适合的通信网络,例如,互联网(Internet)、局域网(LAN)、广 域网(WAN)、有线网络、无线网络、电话网络、有线电视网络、卫星网络等。路由器504、505、 506、510、511、512和516可以是能够传送在发送机502和接收机508之间传输的数据的任 意适合的设备。例如,路由器504、505、506、510、511、512和516中的任一个或更多个可以 是路由器、网关、交换机、防火墙或任意其他适合的设备。连接520和522可以是用于将发 送机502和接收机508连接到通信网络503的任意适合的连接。例如,连接520和522可 以是有线的或无线的连接。 虽然本发明已经在上述说明性的实施例中进行了描述和示出,但是应当理解,本 公开内容已经只是通过实例的方式来进行描述,以及本发明的实现细节的大量改变可以在 没有脱离本发明的精神和范围的情况下进行,其中本发明的精神和范围仅由下面的权利要 求书所限定。所公开的实施例的特征可以以各种方式来组合和重排。
权利要求
1.一种用于控制通信网络上的流量的方法,包括在接收机内的处理器处接收对于许可将数据流发送给所述接收机的查询报文; 发送来自所述接收机的许可报文;检测到发送给所述接收机的报文和数据包中的至少一个已经被丢弃;以及 促使发送所述数据流的通路改变。
2.根据权利要求1所述的方法,其中所述通路被改变以使用中继节点。
3.根据权利要求1所述的方法,其中所述通路使用多宿主来改变。
4.一种用于控制通信网络上的流量的方法,包括 传送对于许可将数据流发送给接收机的查询报文;传送授权所述发送机发送给定量的流量流的许可报文;以及 使用处理器根据所述给定量的流量流来确定数据包是否被授权。
5.根据权利要求4所述的方法,还包括丢弃被确定为没有被授权的数据包。
6.一种用于控制通信网络上的流量的方法,包括 传送对于许可将数据流发送给接收机的查询报文;传送指示在将数据包传输给所述接收机时使用安全协议的许可报文;以及 使用处理器确定发送给所述接收机的数据包违反所述安全协议。
7.根据权利要求6所述的方法,还包括阻止所述数据包由所述接收机所接收。
8.根据权利要求6所述的方法,其中所述安全协议是IPkcAH。
9.根据权利要求6所述的方法,还包括改变在所述安全协议中所使用的加密技术。
10.根据权利要求9所述的方法,其中所述加密技术从对称密钥加密改变为公钥加密。
11.一种用于控制通信网络上的流量的方法,包括在接收机内的处理器处接收对于许可将数据流发送给所述接收机的查询报文; 发送指示在将数据包传输给所述接收机时使用安全协议的许可报文;以及 检测到发送给所述接收机的数据包违反所述安全协议。
12.根据权利要求11所述的方法,还包括在所述接收机处忽略所述数据包。
13.根据权利要求11所述的方法,其中所述安全协议是IPkcAH。
14.根据权利要求11所述的方法,还包括改变在所述安全协议中所使用的加密技术。
15.根据权利要求14所述的方法,其中所述加密技术从对称密钥加密改变为公钥加
16.一种用于控制通信网络上的流量的系统,包括 具有处理器的接收机,所述处理器接收请求允许将数据流发送给所述接收机的查询报文; 发送来自所述接收机的许可报文;检测到发送给所述接收机的报文和数据包中的至少一个已经被丢弃;以及 促使用于发送所述数据流的通路改变。
17.根据权利要求16所述的系统,其中所述通路使用中继节点来改变。
18.根据权利要求16所述的系统,其中所述通路使用多宿主来改变。
19.一种用于控制通信网络上的流量的系统,包括 处理器,所述处理器传送对于许可将数据流发送给接收机的查询报文; 传送授权所述发送机发送给定量的流量流的许可报文;以及 根据所述给定量的流量流来确定数据包是否被授权。
20.根据权利要求19所述的系统,其中所述处理器丢弃被确定为没有被授权的数据包。
21.一种用于控制通信网络上的流量的系统,包括 处理器,所述处理器传送对于许可将数据流发送给接收机的查询报文;传送指示在将数据包发送给所述接收机时使用安全协议的许可报文;以及检测到发送给所述接收机的数据包违反所述安全协议。
22.根据权利要求21所述的系统,其中所述处理器还阻止所述数据包在所述接收机处 接收。
23.根据权利要求21所述的系统,其中所述安全协议是IPkcAH。
24.根据权利要求21所述的系统,其中所述处理器还促使在所述安全协议中使用的加 密技术改变。
25.根据权利要求M所述的系统,其中所述加密技术从对称密钥加密改变为公钥加密。
26.一种用于控制通信网络上的流量的系统,包括 具有处理器的接收机,所述处理器接收对于许可将数据流发送给所述接收机的查询报文;传送指示在将数据包发送给所述接收机时使用安全协议的许可报文;以及检测到发送给所述接收机的数据包违反所述安全协议。
27.根据权利要求沈所述的系统,其中所述接收机还在所述接收机处忽略所述数据包。
28.根据权利要求沈所述的系统,其中所述安全协议是IPkcAH。
29.根据权利要求沈所述的系统,其中所述处理器还促使在所述安全协议中使用的加 密技术改变。
30.根据权利要求沈所述的系统,其中所述加密技术从对称密钥加密改变为公钥加密。
全文摘要
提供了用于控制通信网络上的流量的方法和系统。根据一些实施例,提供了用于控制通信网络上的流量的方法,方法包括在接收机内的处理器处接收对于许可将数据流发送给接收机的查询报文;发送来自接收机的许可报文;检测到发送给接收机的报文和数据包中的至少一个已经被丢弃;以及促使发送数据流的通路改变。
文档编号H04J1/16GK102124674SQ200980131655
公开日2011年7月13日 申请日期2009年7月2日 优先权日2008年7月3日
发明者H·舒尔兹芮那, 洪世基 申请人:纽约市哥伦比亚大学理事会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1