CN117501671A - 使用路由来源授权(ROA)进行边界网关协议(BGP)FlowSpec发起授权 - Google Patents
使用路由来源授权(ROA)进行边界网关协议(BGP)FlowSpec发起授权 Download PDFInfo
- Publication number
- CN117501671A CN117501671A CN202180099548.4A CN202180099548A CN117501671A CN 117501671 A CN117501671 A CN 117501671A CN 202180099548 A CN202180099548 A CN 202180099548A CN 117501671 A CN117501671 A CN 117501671A
- Authority
- CN
- China
- Prior art keywords
- flowspec
- sending
- prefix
- receiving
- authorization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000009471 action Effects 0.000 claims description 11
- 241001189642 Theroa Species 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 208000024780 Urticaria Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种由接收自治系统(autonomous system,AS)的网络节点执行的方法,用于验证发送AS是否被授权发布边界网关协议(border gateway protocol,BGP)流规范(flow specification,FlowSpec)。所述网络节点从发送AS接收BGP更新消息。所述BGP更新消息包括与AS的前缀关联的FlowSpec。所述网络节点获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的自治系统(autonomous system,AS)。所述网络节点确定所述发送AS是否包括在所述AS的所述前缀的所述带外Flowspec AS授权列表中。当所述发送AS不在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,所述网络节点拒绝所述FlowSpec。
Description
技术领域
本发明大体上涉及网络通信,并且具体涉及使用路由来源授权(route originauthorization,ROA)进行边界网关协议(border gateway protocol,BGP)流规范(FlowSpec)发起授权的各种系统和方法。
背景技术
互联网是自治系统(autonomous system,AS)的互连,这些AS使用边界网关协议(border gateway protocol,BGP)交换路由或可达信息。自治系统(autonomous system,AS)是属于网络或网络集合的一组互联网可路由互联网协议(Internet protocol,IP)前缀,这些前缀全部由单个实体或组织管理、控制和监督。AS使用实体控制的公共路由策略。BGP依靠网络运营商之间的信任来保护其系统,因为BGP中没有内置验证。为了使互联网更安全,BGP可以使用资源公钥基础设施(resource public key infrastructure,RPKI)。RPKI是一个旨在保护路由基础设施的框架。RPKI是一种资源证书,为授权使用特定IP版本4(IP version4,IPv4)、IP版本6(IP version 6,IPv6)和自治系统号(autonomous systemnumber,ASN)资源提供证据。路由来源授权(route origin authorization,ROA)是数字签名对象,用于将地址固定到AS。ROA由地址持有方签名,该地址持有方基于X.509PKI证书标准。ROA是一种用于验证前缀或IP地址持有方是否授权AS在域间路由环境中为该前缀发起路由对象的方法。
发明内容
第一方面涉及一种由接收AS的网络节点执行的方法,用于验证发送AS是否被授权发布BGP流规范(flow specification,FlowSpec)。所述方法包括所述网络节点从发送AS接收BGP更新消息,所述BGP更新消息包括与AS的前缀关联的FlowSpec。所述网络节点获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的AS。当所述发送AS包括在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,所述网络节点确定所述发送AS被授权发布所述FlowSpec。所述网络节点确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS。当所述发送AS是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS,并且所述发送AS被授权为所述AS的所述前缀发布所述FlowSpec时,所述网络节点接收所述FlowSpec。当所述网络节点接收到与所述FlowSpec指定的流量参数集匹配的流量时,所述网络节点执行与所述FlowSpec关联的流量流动作。
在根据第一方面的方法的第一种实现方式中,当所述发送AS不包括在所述带外FlowSpec AS授权列表中时,所述网络节点拒绝所述FlowSpec。
在第一方面本身的第二种实现方式或第一方面的任一前述实现方式中,当所述发送AS不是沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS时,所述网络节点拒绝所述FlowSpec。
在第一方面本身的第三种实现方式或第一方面的任一前述实现方式中,所述带外Flowspec AS授权列表编码在数字签名的路由发起授权(route origin authorization,ROA)对象中。
在第一方面本身的第四种实现方式或第一方面的任一前述实现方式中,所述带外Flowspec AS授权列表编码在数字签名的Flowspec AS授权列表对象中。
在第一方面本身的第五种实现方式或第一方面的任一前述实现方式中,所述数字签名的Flowspec AS授权列表对象从资源公钥基础设施(resource public keyinfrastructure,RPKI)存储库获取。
在第一方面本身的第六种实现方式或第一方面的任一前述实现方式中,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:确定所述发送AS是否同时位于通过外部边界网关协议(external border gateway protocol,eBGP)接收的Flowspec路由的AS_PATH属性的最左位置和嵌入所述Flowspec中的所述目的地前缀的所述最佳匹配单播路由的所述AS_PATH属性的最左位置。
在第一方面本身的第七种实现方式或第一方面的任一前述实现方式中,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:使用作为所述网络节点的路由表一部分的安全AS路径列表。
在第一方面本身的第八种实现方式或第一方面的任一前述实现方式中,所述安全AS路径列表是使用BGP安全(BGP security,BGPsec)获取的。
第二方面涉及一种接收AS的网络节点,用于验证发送AS是否被授权发布BGPFlowSpec。所述网络节点包括:存储器,存储指令;处理器,与所述存储器耦合,所述处理器用于执行所述指令以使所述网络节点从发送AS接收BGP更新消息。所述BGP更新消息包括与AS的前缀关联的FlowSpec。所述处理器还用于执行所述指令,以使所述网络节点获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的AS。所述处理器还用于执行所述指令,以使所述网络节点:当所述发送AS包括在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,确定所述发送AS被授权发布所述FlowSpec。所述处理器还用于执行所述指令,以使所述网络节点确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS。所述处理器还用于执行所述指令,以使所述网络节点:当所述发送AS是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS,并且所述发送AS被授权为所述AS的所述前缀发布所述FlowSpec时,接收所述FlowSpec。所述处理器还用于执行所述指令,以使所述网络节点:当所述网络节点接收到与所述FlowSpec指定的流量参数集匹配的流量时,执行与所述FlowSpec关联的流量流动作。
在根据第二方面的网络节点的第一种实现方式中,所述处理器执行所述指令以在所述发送AS不包括在所述带外FlowSpec AS授权列表中时,拒绝所述FlowSpec。
在第二方面本身的第二种实现方式或第二方面的任一前述实现方式中,所述处理器执行所述指令以在所述发送AS不是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS时,拒绝所述FlowSpec。
在第二方面本身的第三种实现方式或第二方面的任一前述实现方式中,所述带外Flowspec AS授权列表编码在数字签名的ROA对象中。
在第二方面本身的第四种实现方式或第二方面的任一前述实现方式中,所述带外Flowspec AS授权列表编码在数字签名的Flowspec AS授权列表对象中。
在第二方面本身的第五种实现方式或第二方面的任一前述实现方式中,所述数字签名的Flowspec AS授权列表对象从RPKI存储库获取。
在第二方面本身的第六种实现方式或第二方面的任一前述实现方式中,所述处理器执行所述指令以:确定所述发送AS是否为沿着目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS包括:确定所述发送AS是否同时位于通过eBGP接收的Flowspec路由的AS_PATH属性的最左位置和嵌入所述Flowspec中的所述目的地前缀的所述最佳匹配单播路由的所述AS_PATH属性的最左位置。
在第二方面本身的第七种实现方式或第二方面的任一前述实现方式中,所述处理器执行所述指令,以使用作为所述网络节点的路由表一部分的安全AS路径列表来确定所述发送AS是否为沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS。安全AS路径列表使用BGPsec获取。
第三方面涉及一种由接收AS的网络节点执行的方法,用于验证发送AS是否被授权发布BGP FlowSpec。所述方法包括所述网络节点从发送AS接收BGP更新消息。所述BGP更新消息包括与AS的前缀关联的FlowSpec。所述网络节点获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的AS。所述网络节点确定所述发送AS是否包括在所述AS的所述前缀的所述带外Flowspec AS授权列表中。当所述发送AS不在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,所述网络节点拒绝所述FlowSpec。
在根据第三方面的方法的第一种实现方式中,所述带外Flowspec AS授权列表编码在数字签名的ROA对象中。
为了清楚起见,上述任一种实现方式可以与上述其它任何一种或多种实现方式组合以创建在本发明范围内的新实施例。从结合附图和权利要求书的以下详细描述中,将更清楚地理解这些实施例和其它特征。
附图说明
为了更全面地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中,相同的附图标记表示相同的部件。
图1是本发明的实施例提供的通信网络的示意图。
图2是示出BGP更新消息的恶意路由重选的示意图。
图3是本发明的实施例提供的ROA对象的示意图。
图4是本发明的实施例提供的FlowSpec授权对象的示意图。
图5是本发明的实施例提供的用于验证Flowspec的过程的流程图。
图6是本发明的实施例提供的装置的示意图。
具体实施方式
首先应当理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
BGP是一种标准化外部网关协议,旨在在互联网上的AS之间交换路由和可达信息(即AS间路由协议)。BGP说话系统的主要功能是与其它BGP系统交换网络层可达信息(network layer reachability information,NLRI)。NLRI包括可达信息经过的AS列表的信息。BGP FlowSpec是一个BGP扩展,它包括指定用于定义Flowspec的各种类型的第3层和第4层参数的NLRI。Flowspec可以分发到网络的边界或边缘路由器,以过滤匹配Flowspec中指定的标准的流量(例如,防止和/或停止分布式拒绝服务(distributed denial-of-service,DDoS)攻击)。如本文所述,虽然BGP Flowspec可用于防止恶意攻击,但BGPFlowspec也可用于在由未经授权的AS发起时恶意过滤经授权/正常流量。
所公开的实施例提供了与现有技术相比的几个技术改进,包括扩展ROA以包括指示被授权为特定前缀发送Flowspec的AS的BGP FlowSpec AS授权列表。所公开的实施例降低或消除了BGP Flowspec在由未经授权的AS发起时被接收的可能性。因此,所公开的实施例通过减少网络上发生的恶意活动来提高网络安全。
图1是本发明的实施例提供的通信网络的示意图。在所描述的实施例中,位于企业网络116中的服务器102向一个或多个最终用户设备104提供服务。一个或多个最终用户设备104通过互联网106与服务器102通信,互联网106又连接到服务提供商网络110的边界路由器108(如实线箭头所示)。服务提供商网络110提供对企业网络116上的设备的互联网接入。来自最终用户设备104的通信数据通过服务提供商网络110路由到边界路由器112。服务提供商网络110的边界路由器112与企业网络116的边界路由器114通信。边界路由器114将通信路由到服务器102。
在图1中,当企业网络116的边界路由器114检测到针对服务器102的拒绝服务攻击(例如,如图1所示,在服务器102的端口53/用户数据报协议(user datagram protocol,UDP)上)时,边界路由器114为服务器102的端口53/UDP发起流规范(flow specification,Flowspec)或BGP Flowspec。Flowspec是一个n元组(n个元素的序列或有序列表,其中,n是非负整数),包括几个可以应用于IP流量的匹配标准。Flowspec可以在BGP更新消息中作为BGP NLRI分发。BGP更新消息用于在BGP对等体之间交换路由信息(例如,向对等体通告共享公共路径属性的可行路由,或从服务中撤销多条不可行路由)。当给定的IP数据包与Flowspec中的所有指定标准(例如,源前缀、目的地前缀、IP协议、源或目的端口、L4参数以及数据包详细信息,例如长度、片段等)匹配时,该IP数据包被称为与定义的流匹配。边界路由器114将Flowspec发送到服务提供商网络110的边界路由器112(如虚线箭头所示)。然后,边界路由器112将Flowspec转发到边界路由器108,以便在进入服务提供商网络110之前停止DDoS攻击。FlowSpec支持快速部署和传播过滤和监管功能,以减轻DDoS攻击的影响。例如,FlowSpec支持在边界路由器108处动态安装动作,以丢弃流量,将流量注入不同的虚拟路由转发(virtual routing and forwarding,VRF)实例中进行分析,或者允许流量,但以特定定义的速率监管流量。为了实现这一点,边界路由器108创建具有类映射和策略映射的访问列表(access-list,ACL),以实现Flowspec中的通告规则。ACL将过滤进出特定网络接口的流量。边界路由器108将每个数据包与访问列表的标准进行比较,并且将被允许(或被限制允许)或丢弃。类映射是路由器中对网络流量进行分类的实体(即,基于各种匹配标准定义流量类别)。策略映射引用类映射,并基于流量匹配标准标识要执行的一系列动作。
图2是示出BGP更新消息的恶意路由重选的示意图。如图所示,源AS(例如,AS100)尝试沿着AS路径AS100→AS10→AS20→AS30→AS200将其控制下的前缀发送到目的地AS(例如,AS200)。AS是由一个或多个网络运营商代表单个管理实体或域控制的连接的IP路由前缀的集合。前缀是网络地址,网络地址之后是子网掩码。例如,在图2中,AS100将BGP更新消息的NLRI字段中AS100的前缀(例如100.100.0.0/16)发送到AS10。前缀指示在AS100控制下的IP地址范围。如将进一步描述的,BGP更新消息的NLRI字段也可以包括Flowspec。AS100还在BGP更新消息中附加AS100的AS号(即100),作为AS_PATH属性的一部分。AS_PATH属性是一个强制性属性,它使用AS号序列来描述到NLRI指定的目的地(例如,图2中的AS200)的AS间路径或AS级路由。简言之,AS_PATH属性记录了路由从源AS100到目的地AS200经过的所有AS。例如,在图2中,当AS10将AS100的前缀(100.100.0.0/16)转发给AS20时,AS10将AS号10放在BGP更新消息中的AS_PATH属性之前。AS_PATH属性现在包括AS号10、100,如图2所示。BGP更新消息从AS跳到AS,直到BGP更新消息到达包括目的地IP地址的AS(即AS200)。在此路径上,当BGP更新消息转发到AS30时,AS20将AS号20放在BGP更新消息中的AS_PATH属性之前(20、10、100)。当BGP更新消息转发到目的地AS200时,AS30将AS号30放在BGP更新消息中的AS_PATH属性之前(30、20、10、100)。然后,AS_PATH属性以及其它属性可用于标识通往目的地的最佳路径。
目前,在没有显式配置的情况下,接收到包括Flowspec NLRI的BGP更新消息的AS必须验证Flowspec NLRI。当且仅当以下三个条件均为真时,才认为Flowspec NLRI是可行的:(1)目的地前缀分量嵌入Flowspec中;(2)Flowspec的发起者与嵌入Flowspec中的目的地前缀的最佳匹配单播路由的发起者匹配(即,覆盖嵌入Flowspec中的目的地前缀的可能前缀长度最长的单播路由),和(3)与流目的地前缀相比,没有从与最佳匹配单播路由不同的相邻AS接收的“更特定”单播路由。基本概念是,允许通告目的地的最佳单播路由的相邻AS发布Flowspec信息,该Flowspec信息传输更特定或同等特定的目的地前缀。因此,只要没有从不同的相邻AS接收到的“更特定”单播路由,这将受到该Flowspec的影响,Flowspec就会成功验证。
此外,BGP Flowspec实现还必须强制:通过外部边界网关协议(external bordergateway protocol,eBGP)接收的Flowspec路由的AS_PATH属性的最左侧位置的AS与嵌入Flowspec NLRI中的目的地前缀的最佳匹配单播路由的AS_PATH属性的最左侧位置的AS匹配。AS_PATH属性的最左侧位置的AS是指最后添加到AS_SEQUENCE的AS。AS_SEQUENCE是AS_PATH属性的一个分量。AS_SEQUENCE是AS的有序集合,指示BGP更新消息经过的路由。上述要求支持在互联网上与BGP路由服务器交换BGP Flowspec NLRI,同时出于安全原因,防止eBGP对等体为目的地前缀通告域间流规范,该eBGP对等体不为目的地前缀提供可达信息。对于eBGP学习到的Flowspec NLRI,仅比较添加的最后AS就足够了。要求完整的AS_PATH匹配会将域间Flowspec的发起限制到仅嵌入在流规范中的目的地前缀的最佳匹配单播路由的源AS。因此,完整的AS_PATH有效性检查可能会阻止传输AS发起域间Flowspec,这不符合期望。
但是,如图2所示,当AS111劫持/拦截来自AS20的包括Flowspec NLRI的BGP更新消息时,可能会发生恶意攻击。然后,AS111可以向AS_PATH属性附加AS111的AS号(例如,111、10、100),并将BGP更新消息发送到AS200。来自AS111的Flowspec NLRI将通过上述验证过程,因为AS111现在是到达网络100.100.0.0/16的最佳单播路径。AS111可以向AS200发送恶意Flowspec,请求AS200丢弃/速率限制或重定向发送到100.100.0.0/16的流量。另外,即使AS30在路径中并且是有效节点,AS30也可以发送Flowspec并请求AS200将流量丢弃到AS100,而AS100不知道或同意AS30执行此请求。
为了降低或消除BGP Flowspec由未经授权的AS发起的可能性,所公开的实施例提供了用于扩展ROA对象以包括BGP FlowSpec AS授权列表的各种系统和方法。BGP FlowSpecAS授权列表指示被授权为特定前缀发送Flowspec的AS。或者,可以配置ROA数据库服务器或存储库(例如RPKI存储库)以创建新的数字签名的BGP FlowSpec AS授权列表对象。根据所公开的实施例,ROA被存储并可从所有网络服务提供商都可以访问以及在某些实施例中,所有互联网用户都可以访问的一个或多个存储库获取。例如,一个或多个ROA数据库服务器或存储库可以位于图1中的互联网106或服务提供商网络110上。
图3是本发明的实施例提供的包括BGP FlowSpec AS授权列表的ROA对象的示意图。ROA 302示出了典型的ROA对象。如上所述,ROA是一个加密签名的对象,它说明哪个AS被授权发起特定的IP地址前缀或前缀集。只能为AS的资源证书所覆盖的互联网号码资源生成ROA。ROA 302包括AS标识符(asID)304和IP地址块(ipAddrBlocks)306。asID 304指示被授权发起在ipAddrBlocks 306中指示的特定IP地址前缀或前缀集的AS(即AS编号)。
根据本发明的实施例,ROA 302可以被修改为包括由ROA 310指示的BGP FlowSpecAS授权列表。ROA 310包括asID 312、ipAddrBlocks 314和BGP FlowSpec AS授权列表(Flowspec AS)320。asID 312指示被授权发起在ipAddrBlocks 314中指示的特定IP地址前缀或前缀集的AS。Flowspec AS 320指示被授权为ipAddrBlocks 314中的特定前缀发送Flowspec的一个或多个AS。例如,在所描述的实施例中,Flowspec AS 320指示AS30和AS20被授权为前缀100.100.0.0/16发送Flowspec。另外,Flowspec AS 320指示AS30、AS20和AS10被授权为100.10.0.0/16发送前缀的Flowspec。因此,接收Flowspec的AS可以从ROA存储库获取ROA 310,并使用Flowspec AS 320验证发送AS是否被授权为特定前缀发布Flowspec。
图4是本发明的实施例提供的包括BGP FlowSpec AS授权列表350的FlowSpec授权(FlowSpecAuthorization)对象340的示意图。在一个替代实施例中,ROA数据库服务器可以生成ROA 302和FlowSpecAuthorization对象340作为两个单独的数字签名对象,而不是修改如图4(图3中描述)所示的ROA 302。FlowSpecAuthorization对象340包括asID 342、ipAddrBlocks 344和Flowspec AS 350。asID 342指示被授权发起在ipAddrBlocks 344中指示的特定IP地址前缀或前缀集的AS。Flowspec AS 350指示被授权为ipAddrBlocks 344中的特定前缀发送Flowspec的一个或多个AS。ROA 302和FlowSpecAuthorization对象340都可以由BGP路由器从ROA服务器或存储库获取,作为路由发起验证过程的一部分。
图5是本发明的实施例提供的用于验证Flowspec的过程500的流程图。过程500可以由接收AS的网络节点(例如,BGP路由器)执行,用于验证发送AS是否被授权发布FlowSpec。在步骤502中,网络节点从发送AS接收包括Flowspec的BGP更新消息。Flowspec与特定AS或所有者AS(即拥有或控制前缀的AS)的前缀关联。
在步骤504中,网络节点获取带外Flowspec AS授权列表。带外是指Flowspec AS授权列表不是接收到的BGP更新消息的一部分。在一个实施例中,Flowspec AS授权列表是从ROA数据库中获取的。如前所述,ROA数据库可以存储修改的ROA,该修改的ROA包括指示被授权为特定前缀发送Flowspec的一个或多个AS的FlowSpec授权列表(例如,图3中的ROA310)。或者,ROA数据库可以存储单独的数字签名FlowSpec授权列表对象,该对象指示被授权为特定前缀发送Flowspec的一个或多个AS(例如,图4中的FlowSpecAuthorization对象340)。虽然图5描述了在接收到包括FlowSpec的BGP更新消息之后获取带外Flowspec AS授权列表,但在一些实施例中,作为正常路由授权验证过程的一部分,网络节点在接收包括FlowSpec的BGP更新消息之前获取带外Flowspec AS授权列表。
在步骤506中,网络节点确定发送AS是否在从ROA数据库获取的Flowspec AS授权列表中。当发送AS不在Flowspec AS授权列表中时,网络节点在步骤520中拒绝BGP更新消息中的BGP Flowspec(即,不根据接收到的Flowspec过滤流量)。
在步骤508中,网络节点确定发送AS是沿着目的地前缀的最佳匹配单播路由与接收AS的最左边或最近的相邻AS。在一个实施例中,当发送AS既位于通过eBGP接收的Flowspec路由的AS_PATH属性的最左位置,又位于嵌入Flowspec NLRI中的目的地前缀的最佳匹配单播路由的AS_PATH属性的最左位置时,网络节点确定发送AS是接收AS的最左边邻居。如上所述,AS_PATH属性的最左位置的AS是最后添加到AS_PATH属性中的AS,该AS指示最后发送BGP更新消息的AS。在一个实施例中,接收AS使用作为接收AS的路由表一部分的安全AS路径列表,确定发送AS是否为沿着目的地前缀的最佳匹配单播路由与接收AS最近的相邻AS。
在一个实施例中,安全AS路径列表上的每个BGP路由器或节点都被加密,以确保安全AS路径列表的有效性。例如,在一个实施例中,安全AS路径列表是使用BGP安全性(BGPsec)获取的。BGPsec是BGP的扩展,它为有效BGPsec更新消息的接收器提供对BGPsec更新消息中通告的路由的加密验证。BGPsec可用于验证发送AS是否在接收到的前缀的路径中。BGPsec将BGP AS_PATH属性替换为新的BGPsec_Path属性。在一个实施例中,BGPsec_Path属性是可选的非传递性BGP路径属性。例如,支持BGPsec的任何AS都具有与资源公钥基础设施(resource public key infrastructure,RPKI)路由器证书关联的私钥。源AS可以使用源AS的RPKI私钥生成签名。然后,将源AS的签名包括在源AS通告的BGPsec更新消息的BGPsec_Path属性中。转发BGPsec更新消息的路径上的任何BGP路由器都使用其私钥将其签名添加到BGPsec更新消息的BGPsec_Path属性中。接收到BGPsec更新消息的AS使用BGP路由器的公钥验证签名。数字签名提供了BGPsec更新消息中列出的AS路径上的每个AS都显示授权路由通告的信心。因此,BGPsec可以提供完整的路径验证,并防止中间人攻击。在一个实施例中,为了验证接收BGP路由器是否具有这种安全能力,可以在发送FlowSpec AS授权列表之前在BGP路由器之间协商BGP能力。
当发送AS不是沿着目的地前缀的最佳匹配单播路由与接收AS最近的相邻AS(即,最左邻居)时,网络节点在步骤520中拒绝BGP更新消息中的BGP Flowspec。当发送AS既是接收AS的最左邻居,又在Flowspec AS授权列表中时,网络节点在步骤510中接收BGP更新消息中的BGP Flowspec。因此,由于ROA中的Flowspec AS授权列表(或作为单独的对象)指示发送AS是否有效,并且由于BGPSec指示发送BGP更新消息的路径(这两条信息都是加密签名的),当从签名的AS路径中的AS接收到Flowspec时,接收AS可以得出结论,Flowspec具有有效的来源。因此,只有路径中的AS才能使用Flowspec请求其邻居执行与Flowspec对应的动作。
在步骤512中,网络节点接收网络流量。在步骤514中,网络节点确定网络流量是否匹配BGP更新消息中指定的Flowspec的标准。在步骤516中,当网络流量与Flowspec的标准匹配时,网络节点对网络流量执行与Flowspec关联的动作(例如,丢弃数据包)。在一个实施例中,与Flowspec关联的动作使用BGP扩展团体编码格式在BGP更新消息中指定。团体信息作为路径属性包括在BGP更新消息中。
当网络流量与Flowspec的标准不匹配时,网络节点在步骤518中正常处理网络流量(例如,将数据包转发到目的地节点)。
图6是本发明的实施例提供的装置600的示意图。装置600可用于实现本文公开的网络节点或BGP路由器的各种实施例。装置600包括用于通过一个或多个输入端口610接收数据的接收单元(receiver unit,RX)620或接收模块。装置600还包括用于从一个或多个输出端口650发送或转发数据的发送单元(transmitter unit,TX)640或发送模块。在一些实施例中,RX 620和TX 640可以组合成单个收发器单元。此外,输入端口610和输出端口650可以组合成双向端口。
装置600包括用于存储指令和各种数据的存储器660或数据存储模块。存储器660可以是能够存储数据和/或指令的存储器组件的任何类型或组合。例如,存储器660可以包括易失性和/或非易失性存储器,例如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressablememory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。存储器660还可以包括一个或多个磁盘、磁带驱动器和固态驱动器。在一些实施例中,存储器660可用作溢出数据存储设备或缓冲器,以在选择程序执行时存储此类程序,并存储在程序执行期间读取的指令和数据。
装置600具有一个或多个处理器630或其它处理模块来处理指令。在一些实施例中,处理器630可以是具有一个或多个处理核、现场可编程门阵列(field-programmablegate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和/或数字信号处理器(digital signal processor,DSP)的中央处理单元(centralprocessing unit,CPU)芯片。处理器630通过系统总线与入端口610、RX 620、TX 640、出端口650和存储器660通信耦合。处理器630可用于执行存储器660中存储的指令。因此,处理器630提供了一种模块,用于在处理器执行合适指令时执行与权利要求或本发明对应的任何计算、比较、确定、启动或配置步骤或任何其它动作。在一些实施例中,存储器660可以是与处理器630集成的存储器。
在一个实施例中,存储器660存储AS Flowspec授权模块670。AS Flowspec授权模块670包括用于实现所公开实施例的数据和可执行指令。例如,AS Flowspec授权模块670可以包括用于实现图5中描述的方法的指令。包括AS Flowspec授权模块670通过使装置600确保Flowspec的有效性,对装置600的功能提供了技术改进。
在一些实施例中,装置600可以包括附加模块,以用于执行实施例中所描述的步骤中的任一步骤或步骤的组合。模块可以包括用于执行特定任务的一组特定的功能、软件指令或电路。此外,如任一附图中所示出的或任一权利要求中所叙述的方法的任何附加或替代实施例或方面也可以预期包括类似的模块。
某些实施例可以实现为系统、装置、方法和/或计算机程序产品。计算机程序产品可包括具有计算机可读程序指令的计算机可读存储介质,计算机可读程序指令使得处理器执行本发明的各方面。计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。
虽然本发明提供了若干个实施例,但应该理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现一些特征。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。示出或描述为彼此耦合、或直接耦合、或相互通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式等间接耦合或通信。变化、替换、变更的其它示例可由本领域技术人员确定,并可以在不脱离本文中公开的精神和范围的情况下举例。
Claims (28)
1.一种由接收自治系统(autonomous system,AS)的网络节点执行的方法,用于验证发送AS是否被授权发布边界网关协议(border gateway protocol,BGP)流规范(flowspecification,FlowSpec),其特征在于,所述方法包括:
从发送AS接收BGP更新消息,所述BGP更新消息包括与AS的前缀关联的FlowSpec;
获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的自治系统(autonomous system,AS);
当所述发送AS包括在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,确定所述发送AS被授权发布所述FlowSpec;
确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS;
当所述发送AS是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS,并且所述发送AS被授权为所述AS的所述前缀发布所述FlowSpec时,接收所述FlowSpec;
当所述网络节点接收到与所述FlowSpec指定的流量参数集匹配的流量时,执行与所述FlowSpec关联的流量流动作。
2.根据权利要求1所述的方法,其特征在于,还包括当所述发送AS不包括在所述带外FlowSpec AS授权列表中时,拒绝所述FlowSpec。
3.根据权利要求1或2所述的方法,其特征在于,还包括当所述发送AS不是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS时,拒绝所述FlowSpec。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述带外Flowspec AS授权列表编码在数字签名的路由来源授权(route origin authorization,ROA)对象中。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述带外Flowspec AS授权列表编码在数字签名的Flowspec AS授权列表对象中。
6.根据权利要求5所述的方法,其特征在于,所述数字签名的Flowspec AS授权列表对象从资源公钥基础设施(resource public key infrastructure,RPKI)存储库获取。
7.根据权利要求1至6中任一项所述的方法,其特征在于,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:确定所述发送AS是否同时位于通过外部边界网关协议(external border gateway protocol,eBGP)接收的Flowspec路由的AS_PATH属性的最左位置和嵌入所述Flowspec中的所述目的地前缀的所述最佳匹配单播路由的所述AS_PATH属性的最左位置。
8.根据权利要求1至7中任一项所述的方法,其特征在于,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:使用作为所述网络节点的路由表一部分的安全AS路径列表。
9.根据权利要求8所述的方法,其特征在于,所述安全AS路径列表是使用BGP安全(BGPsec)获取的。
10.一种接收自治系统(autonomous system,AS)的网络节点,其特征在于,包括:
存储器,存储指令;
处理器,与所述存储器耦合,所述处理器用于执行所述指令以使所述网络节点进行以下操作:
从发送AS接收BGP更新消息,所述BGP更新消息包括与AS的前缀关联的FlowSpec;
获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的自治系统(autonomous system,AS);
当所述发送AS包括在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,确定所述发送AS被授权发布所述FlowSpec;
确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS;
当所述发送AS是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS,并且所述发送AS被授权为所述AS的所述前缀发布所述FlowSpec时,接收所述FlowSpec;
当所述网络节点接收到与所述FlowSpec指定的流量参数集匹配的流量时,执行与所述FlowSpec关联的流量流动作。
11.根据权利要求10所述的网络节点,其特征在于,所述处理器用于执行所述指令以使所述网络节点:当所述发送AS不包括在所述带外FlowSpec AS授权列表中时,拒绝所述FlowSpec。
12.根据权利要求10所述的网络节点,其特征在于,所述处理器用于执行所述指令以使所述网络节点:当所述发送AS不是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS时,拒绝所述FlowSpec。
13.根据权利要求10所述的网络节点,其特征在于,所述带外Flowspec AS授权列表编码在数字签名的路由来源授权(route origin authorization,ROA)对象中。
14.根据权利要求10所述的网络节点,其特征在于,所述带外Flowspec AS授权列表编码在数字签名的Flowspec AS授权列表对象中。
15.根据权利要求14所述的网络节点,其特征在于,所述数字签名的Flowspec AS授权列表对象从资源公钥基础设施(resource public key infrastructure,RPKI)存储库获取。
16.根据权利要求10所述的网络节点,其特征在于,确定所述发送AS是否为沿着目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS包括:确定所述发送AS是否同时位于通过外部边界网关协议(external border gateway protocol,eBGP)接收的Flowspec路由的AS_PATH属性的最左位置和嵌入所述Flowspec中的所述目的地前缀的所述最佳匹配单播路由的所述AS_PATH属性的最左位置。
17.根据权利要求10所述的网络节点,其特征在于,确定所述发送AS是否为沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS包括:使用作为所述网络节点的路由表一部分的安全AS路径列表。
18.根据权利要求17所述的网络节点,其特征在于,所述安全AS路径列表是使用BGP安全(BGPsec)获取的。
19.一种由接收自治系统(autonomous system,AS)的网络节点执行的方法,用于验证发送AS是否被授权发布边界网关协议(border gateway protocol,BGP)流规范(flowspecification,FlowSpec),其特征在于,所述方法包括:
从发送AS接收BGP更新消息,所述BGP更新消息包括与AS的前缀关联的FlowSpec;
获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的自治系统(autonomous system,AS);
确定所述发送AS是否包括在所述AS的所述前缀的所述带外Flowspec AS授权列表中;
当所述发送AS不在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,拒绝所述FlowSpec。
20.根据权利要求19所述的方法,其特征在于,所述带外Flowspec AS授权列表编码在数字签名的路由来源授权(route origin authorization,ROA)对象中。
21.一种非瞬时性计算机可读介质,其特征在于,存储计算机指令,所述计算机指令由一个或多个处理器执行时,使所述一个或多个处理器执行以下步骤:
从发送AS接收BGP更新消息,所述BGP更新消息包括与AS的前缀关联的FlowSpec;
获取带外Flowspec AS授权列表,指示被授权为所述AS的所述前缀发布所述FlowSpec的自治系统(autonomous system,AS);
确定所述发送AS是否包括在所述AS的所述前缀的所述带外Flowspec AS授权列表中;
当所述发送AS不在所述AS的所述前缀的所述带外FlowSpec AS授权列表中时,拒绝所述FlowSpec。
22.根据权利要求21所述的非瞬时性计算机可读介质,其特征在于,所述带外FlowspecAS授权列表编码在数字签名的路由来源授权(route origin authorization,ROA)对象中。
23.根据权利要求21所述的非瞬时性计算机可读介质,其特征在于,所述带外FlowspecAS授权列表编码在数字签名的Flowspec AS授权列表对象中。
24.根据权利要求21至23中任一项所述的非瞬时性计算机可读介质,其特征在于,所述计算机指令由一个或多个处理器执行时,使所述一个或多个处理器执行以下步骤:
确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS;
当所述发送AS不是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS时,拒绝所述FlowSpec。
25.根据权利要求24所述的非瞬时性计算机可读介质,其特征在于,所述计算机指令由一个或多个处理器执行时,使所述一个或多个处理器执行以下步骤:
当所述发送AS是沿着所述目的地前缀的所述最佳匹配单播路由与所述接收AS最近的相邻AS,并且所述发送AS被授权为所述AS的所述前缀发布所述FlowSpec时,接收所述FlowSpec;
当接收到与所述FlowSpec指定的流量参数集匹配的流量时,执行与所述FlowSpec关联的流量流动作。
26.根据权利要求21至25中任一项所述的非瞬时性计算机可读介质,其特征在于,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:确定所述发送AS是否同时位于通过外部边界网关协议(external border gatewayprotocol,eBGP)接收的Flowspec路由的AS_PATH属性的最左位置和嵌入所述Flowspec中的所述目的地前缀的所述最佳匹配单播路由的所述AS_PATH属性的最左位置。
27.根据权利要求21至26中任一项所述的非瞬时性计算机可读介质,其特征在于,确定所述发送AS是否为沿着目的地前缀的最佳匹配单播路由与所述接收AS最近的相邻AS包括:使用作为路由表一部分的安全AS路径列表。
28.根据权利要求27所述的非瞬时性计算机可读介质,其特征在于,所述安全AS路径列表是使用BGP安全(BGPsec)获取的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/039602 WO2022115129A1 (en) | 2021-06-29 | 2021-06-29 | Border gateway protocol (bgp) flowspec origination authorization using route origin authorization (roa) |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501671A true CN117501671A (zh) | 2024-02-02 |
Family
ID=77022334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099548.4A Pending CN117501671A (zh) | 2021-06-29 | 2021-06-29 | 使用路由来源授权(ROA)进行边界网关协议(BGP)FlowSpec发起授权 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4342149A1 (zh) |
CN (1) | CN117501671A (zh) |
WO (1) | WO2022115129A1 (zh) |
-
2021
- 2021-06-29 EP EP21745637.5A patent/EP4342149A1/en active Pending
- 2021-06-29 CN CN202180099548.4A patent/CN117501671A/zh active Pending
- 2021-06-29 WO PCT/US2021/039602 patent/WO2022115129A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4342149A1 (en) | 2024-03-27 |
WO2022115129A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113291B (zh) | 用于在业务功能链域之间进行互通的方法和设备 | |
US9723019B1 (en) | Infected endpoint containment using aggregated security status information | |
US7360245B1 (en) | Method and system for filtering spoofed packets in a network | |
EP2959632B1 (en) | Augmenting name/prefix based routing protocols with trust anchor in information-centric networks | |
EP1624644B1 (en) | Privileged network routing | |
CN107251509B (zh) | 通信网络系统之间的可信路由 | |
US20230396624A1 (en) | Extending border gateway protocol (bgp) flowspec origination authorization using path attributes | |
US9654482B2 (en) | Overcoming circular dependencies when bootstrapping an RPKI site | |
EP3272059B1 (en) | Apparatus and method for using certificate data to route data | |
US20150067337A1 (en) | Techniques to Classify Virtual Private Network Traffic Based on Identity | |
US11627467B2 (en) | Methods, systems, and computer readable media for generating and using single-use OAuth 2.0 access tokens for securing specific service-based architecture (SBA) interfaces | |
US20100306820A1 (en) | Control of message to be transmitted from an emitter domain to a recipient domain | |
US9647876B2 (en) | Linked identifiers for multiple domains | |
WO2023022880A1 (en) | Advertising bgp destination secure path requirement in global internet | |
US20230059348A1 (en) | Blockchain enhanced route authorization | |
Wang et al. | A data plane security model of segmented routing based on SDP trust enhancement architecture | |
WO2011131002A1 (zh) | 身份管理方法及系统 | |
CN117501671A (zh) | 使用路由来源授权(ROA)进行边界网关协议(BGP)FlowSpec发起授权 | |
US20240137338A1 (en) | Border gateway protocol (bgp) flowspec origination authorization using route origin authorization (roa) | |
US20240163271A1 (en) | Methods, systems, and computer readable media for detecting stolen access tokens | |
WO2012075770A1 (zh) | 身份位置分离网络的阻断方法和系统 | |
US20240022602A1 (en) | Method and Apparatus for Route Verification and Data Sending, Device, and Storage Medium | |
US20230319684A1 (en) | Resource filter for integrated networks | |
US10841283B2 (en) | Smart sender anonymization in identity enabled networks | |
Rafiee et al. | Towards Privacy Awareness in Future Internet Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |