网络安全方法和装置的制作方法

文档序号:7943433阅读:220来源:国知局
专利名称:网络安全方法和装置的制作方法
技术领域
本发明涉及用于在标签交换网络中提供网络安全的方法和装置。本发明可以特别应用于多协议标签交换(MPLS)网络。
背景技术
在当今的诸如企业、政府部门、组织的社会实体中,个体经常通过使用一个或多个计算机网络(例如国际互联网)与他们自己或者其它实体传送数据。发送的数据可以涉及多种目的中的任意一个,例如文件传输、电子邮件、语音和/或视频会议。
由于技术已经发展出不同类型的计算机网络,并且已经开发和实现了不同的网络通信协议。目前在几乎所有计算机网络和协议设计中的三个共同的和首要的考虑是速度 (能够实现多快的数据通信)、安全性(传送的数据有多安全)、和所要求的资源。通常这些考虑彼此是不一致的,在这种情况下与网络安全相关联的开销能够直接影响到所要求的资源、处理时间以及速度。
标签交换网络(特别是MPLS网络)是目前使用的一种网络类型。MPLS网络是分组交换网络,如其名称所暗示的,使用标签来交换分组并且能够用于承载不同协议(例如, IP、ATM、SONET、以太网)的网络业务。
在IP(国际互联网协议)或ATM(异步传输模式)隧道中通过物理链路加密或者通过封装MPLS数据帧能够在标签交换网络中提供安全性。由于这些安全方法均要求相对多的资源和网络开销,因此对网络的速度和效率产生影响。

发明内容
在一个方面中,本发明提供一种用于对通过网络传输的MPLS帧进行安全保护的方法,MPLS帧包括MPLS报头和MPLS载荷,该方法包括从源接收MPLS帧;确定MPLS帧是否满足安全标准;如果MPLS帧满足安全标准,则对MPLS载荷进行安全保护并创建包括MPLS 报头和安全MPLS载荷的安全MPLS帧;以及转发安全MPLS帧。
安全标准可以包括涉及MPLS报头中标签的标签值的标准。
安全标准可以包括在MPLS报头的顶端标签中的标签值大于15。
MPLS载荷可以通过使用单密钥加密方法进行安全保护。
可以使用单密钥加密方法对从源接收的通过网络传输的满足安全标准的更多的帧进行安全保护,使用与它们的源或目的地无关的相同密钥对更多的帧进行安全保护。
可以将安全MPLS帧的大小与网络的MTU大小进行核对,以及如果安全MPLS帧超过了网络的MTU大小,丢弃安全MPLS帧并且设置错误条件标记。
该方法可以进一步包括修改MPLS报头的ToS字段以创建用于和安全MPLS帧进行转发的经修改的MPLS报头。
在第二方面中,本发明提供一种用于对MPLS网络上的业务进行安全保护的安全设备,安全设备配置为从第一网络设备接收帧并将帧转发给第二网络设备,安全设备包括输入/输出接口,用于接收和转发帧;存储器;安全引擎,用于根据安全标准分析所接收的帧,并且保护满足安全标准的帧的安全,安全标准包括帧为MPLS帧,其中如果所接收的帧满足安全标准解析来自MPLS帧的MPLS报头和MPLS载荷;由安全引擎保护MPLS载荷的安全以创建安全MPLS载荷;组合MPLS报头和安全MPLS载荷以创建安全MPLS帧;以及将安全 MPLS帧传递给输入/输出接口以转发给第二网络设备。
输入/输出接口可以包括用于接收帧的至少一个输入端口和用于转发帧的至少一个输出端口。
输入/输出接口可以包括专用控制端口。
安全标准可以进一步包括涉及MPLS报头中标签的标签值的标准。
安全标准可以进一步包括在MPLS报头中顶端标签的标签值大于15。
安全引擎可以使用单密钥加密方法保护MPLS载荷的安全。
在被转发到第二网络设备之前,可以将安全MPLS帧封装到包括以太网报头和以太网CRC的以太网帧中。
可以将以太网帧的大小与网络的MTU大小进行比较,如果以太网帧的大小超过 MTU大小,丢弃以太网帧并设置错误条件标记。
如果帧满足安全标准,可以修改MPLS报头中的ToS字段以创建和安全MPLS帧进行转发的经修改的MPLS报头。
如果所接收的帧不满足作为MPLS帧的安全标准,则安全引擎不处理该帧。
如果所接收的帧满足作为MPLS帧的安全标准,并且MPLS报头中顶部标签的标签值小于或等于15,可以将所接收的帧作为控制面(control plane)帧进行处理。
在第三方面中,本发明提供一种用于对通过网络传输的标签交换帧进行安全保护的方法,标签交换帧包括标签交换帧报头和标签交换帧载荷,该方法包括从源接收标签交换帧;确定标签交换帧是否满足安全标准;如果标签交换帧满足安全标准,则对标签交换帧载荷进行安全保护并且创建包括标签交换帧报头和安全标签交换帧载荷的安全标签交换帧;以及转发安全标签交换帧。
安全标准可以包括涉及标签交换帧报头中标签的标签值的标准。
标签交换帧载荷可以通过使用单密钥加密方法进行安全保护。
在第四方面中,本发明提供一种用于对标签交换网络上的业务进行安全保护的安全设备,安全设备配置为从第一网络设备接收帧并且将帧转发给第二网络设备,安全设备包括输入/输出接口 ;存储器;安全引擎,用于根据安全标准分析所接收的帧,并且保护满足安全标准的帧的安全,安全标准包括帧为标签交换帧,其中如果所接收的帧满足安全标准解析标签交换帧的标签交换帧报头和标签交换帧载荷;由安全引擎保护标签交换帧载荷的安全以创建安全标签交换帧载荷;组合标签交换帧报头和安全标签交换帧载荷以创建安全标签交换帧;以及将安全标签交换帧传递给输入/输出接口以转发给第二网络设备。
输入/输出接口可以包括用于接收帧的至少一个输入端口和用于转发帧的至少一个输出端口。
安全标准可以进一步包括涉及标签交换帧报头中标签的标签值的标准。
安全引擎可以使用单密钥加密方法来保护标签交换帧载荷的安全。


本发明的实施方式现在将参照附图进行说明,其中 图1提供了根据本发明的实施方式的包括安全设备的网络拓扑; 图2提供了根据本发明的实施方式的安全设备的功能性框图; 图3提供了示出在图1的网络中将分组从源传输到目的地的示意图; 图4提供了概括地描述图2中所示的安全设备所承担的步骤的流程图; 图5示出了分组从第一区域中的客户端点到另一区域中的客户端点的传输。
图6A提供了在由如图2所示的安全设备进行修改之前的数据帧的表示; 图6B提供了具有加密载荷的数据帧的表示;以及 图6C提供了具有解密载荷的数据帧的表示。
具体实施例方式本发明的描述涉及MPLS网络技术。从国际互联网工程任务组(IETF)能够获得有关MPLS网络的详细信息。特别是,IETF RFC 3031描述了标准化的MPLS体系结构,并在此将其引入作为参考。
此外,尽管可以知道本发明可以使用可替代的传输协议,本发明将关于用于传输 MPLS帧的以太网的使用进行描述。
网络 图1提供了适于本发明使用的网络100的描述。网络100包括通过MPLS核心网络108互连的第一区域102、第二区域104和第三区域106。例如,区域102、104和106可以表示不同的地理位置(例如,悉尼、东京、纽约)并通过MPLS核心网络108互连。每个区域102-106可以包括多个不同的和分离的自有/受控网络,并且每个网络可以是不同的类型。
为了便于解释,每个区域102-106包括(在该实施例中)2个不同的用户存在-用户A和用户B,两个用户都使用MPLS网络。在图中仅示出了用户边缘(CE)路由器110、 112、114(用于用户A)和116、118和120(用于用户B),然而可以理解的是每个CE路由器 110-120与用户的局域网(LAN)相连接(用虚线箭头表示)。典型地,CE路由器可位于用户所在地,并提供用户的LAN和MPLS核心网络108之间的接口(例如,以太网)。
每个CE路由器(110-120)通过提供商边缘(PE)路由器122、124和126(分别用于区域102、104和106)与MPLS核心网络108连接。PE路由器由MPLS核心网络108的提供商控制并提供MPLS核心网络108的入口 /出口。PE路由器典型地具有支持不同网络协议(例如,帧中继、ATM、以太网)的多个端口。
当通过CE路由器从用户接收帧时,PE路由器创建用于该帧的适当的MPLS报头, 并将该MPLS报头添加到该帧中。从而,由用户发送的原始帧变为MPLS载荷。
MPLS报头包括具有一个或多个标签的标签栈,每个标签包括20比特的标签值、3 比特的服务类型(ToS)字段、1比特的指示标签是否在栈底部的标志、和8比特的存活时间 (TTL字段)。MPLS报头中的标签允许对MPLS网络中的业务进行处理。
一旦PE路由器将MPLS报头添加到帧中,PE路由器将MPLS帧转发到MPLS网络上。 重点地,下面将描述通过安全设备传送从PE路由器转发到MPLS网络的帧(以及从MPLS核心网络108传送到PE路由器的帧)。
PE路由器122-1 还负责通过MPLS核心网络108建立标签交换路径(LSP)。通过网络的控制面实现LSP的建立。为了便于说明,网络的控制面用于指专用于网络自身的保持和其它管理功能的网络业务,而不是传送终端用户数据的业务。根据每个MPLS网络标准,可以通过使用标签分配协议(LDP)建立LSP,并且LSP可以是控制驱动(也就是,在数据传输之前建立)或者是数据驱动(也就是,在接收用于之前未映射目的地的数据时建立)。
在本实施方式中,每个PE路由器122-1 通过安全设备1观_132连接MPLS核心网络108。下面将详细描述安全交换机128-132的功能。
MPLS核心网络108自身包括多个提供商(P)路由器134、136和138。每个P路由器是转接路由器(transit router),其接收控制面消息以在MPLS核心网络108中建立所需要的LSP(例如,通过使用标签分配协议)和根据MPLS报头中的标签和所建立的LSP实现 MPLS核心网络108中数据分组的交换。
当由P路由器134-138接收到标签分组时,P路由器读取栈中顶部标签的标签值, 并在P路由器上存储的且有P路由器维护的标签信息库(LIB)中查找该值。对于每个标签值,LIB存储有关应将承载该标签的帧转发到哪里(也就是,下一跳)和是否在转发帧之前需要对标签栈进行任何修改(例如,将一个或多个新标签加入到栈中,用新的顶端标签代替顶端标签,或者使标签出栈)的信息。
通常,网络100能够分为可信区域和不可信区域。CE路由器110-112、CE路由器 110-112之外的用户网络、PE路由器122-126、和安全设备1观_132在用户或MPLS提供商或者用户的控制之中,并且从而被认为是可信的。另一方面,MPLS核心网络108的P路由器134-138不需要在MPLS提供商的用户的控制之中,并且从而被认为是不可信的。因此, 每个PE路由器122-1 提供从可信区域(PE路由器自身和相连的CE路由器)到不可信区域(MPLS核心网络108)的链路。
安全设备 现在将参照图2详细描述安全设备128-132的功能,图2示出了安全设备128的功能性框图。
转到图2,提供了一种根据本发明的实施方式的安全设备128的功能性框图。安全设备1 包括数据处理设备202,其连接到存储器206、安全引擎208、和输入/输出接口 204。
数据处理设备202可以是微处理器、微控制器、可编程逻辑设备或者其它合适的设备,或者多个这样的设备,其中每个设备执行数据处理设备202的部分功能。控制数据处理设备202的操作的指令和数据存储在存储器206中,其中存储器206与数据处理设备202 进行数据通信,或者成为数据处理设备202的一部分。典型地,安全设备1 可以包括易失性存储器和非易失性存储器以及多于每种类型的存储器的一个,这样的存储器统称为存储器206。存储器206还可以用于缓存从输入/输出接口 204接收的输入帧/发送到输入/ 输出接口 204的输出帧。
输入/输出(I/O)接口 204允许与外部设备(例如,PE路由器、P路由器、和/或可以配置安全设备128的计算机)进行通信。在这种情况下,I/O接口 204包括用于接收控制面的帧的控制端口 210、用于接收输入帧的输入端口、和用于转发帧的输出端口。当然,各种配置的I/O接口都是可以的。
安全引擎208可以形成数据处理设备202的一部分或者可以成为如图所示的独立的数据处理设备。安全引擎208可以是微处理器、微控制器、可编程逻辑设备或者其它合适的设备。安全引擎208可以配有其自身专用的存储器,或可以使用存储器206。本实施方式中,安全引擎包括标准模块216和加密模块218。并且,标准模块216和加密模块218中的一个或者全部可以与安全引擎208(或者,实际上,数据处理设备202)结合,或者可以成为专用的处理设备。例如,标准模块216可以实现为硬件、固件、或者数据处理设备202中的软件。
按照图1中的每个图,将安全设备128安装在可信的PE路由器122和不可信的 MPLS核心网络108之间(通过P路由器134)。所有的输出业务(也就是,从可信的PE路由器122传送到P路由器134的业务)和所有的输入业务(也就是,从不可信的P路由器 134传递到可信的PE路由器122的业务)通过安全设备128。
当将帧从CE路由器110通过MPLS网络108传输到目的CE路由器112时,PE路由器122接收该帧,PE路由器122将MPLS报头添加到帧中以创建MPLS帧。于是,原始帧变为MPLS载荷。如果之前还没有建立到达所要求目的地的路径,PE路由器122也会采取请求建立路径的动作。
从而,PE路由器122将帧转发给安全设备128。安全设备1 在输入端口 212处接收帧,并且数据处理设备202控制该帧到安全引擎208的传递。安全引擎208的标准模块216检测帧,以确定帧是否满足预定的安全标准。如下面进一步介绍的,对于不满足预定安全标准的任何帧,安全设备实质上是透明的。
如果帧满足预定的安全标准(标准的部分是帧为MPLS帧),安全引擎208解析 MPLS帧以将其分为MPLS报头和MPLS载荷。将经解析的报头存储在存储器206中。随后, 将MPLS载荷发送到对MPLS载荷进行安全保护的加密引擎218。随后,安全引擎208重新组合MPLS报头和(现在是安全的)MPLS载荷,并将由此产生的帧传递给MPLS核心网络108。 如果标准模块216实现为数据处理设备202的一部分,则还可由数据处理设备202来执行解析。
目的地的安全设备130对所有帧执行相似的检测。如果帧满足加密标准,安全设备130假设MPLS帧的载荷已经被加密。如同输出的帧,安全设备130于是将MPLS报头和 MPLS载荷相分离,将MPLS载荷传递给加密弓I擎以进行解密,重新组合MPLS帧并且将帧传递给PE路由器124。
如果帧不满足按标准,安全设备1 确定该帧是不需要加密/解密的帧,并且在不对MPLS报头和MPLS载荷进行分离以及对载荷进行加密/解密的情况下对帧进行交换。
例如,下面描述的安全标准是这样的,以致于非MPLS帧和涉及控制面业务的MPLS 帧将不满足安全标准,并且因此安全设备不进行进一步处理就进行交换。通过在不进行不适当处理的情况下交换这些帧,将对安全设备(以及整个网络)的性能的任何影响保持为最小。
不考虑MPLS载荷是否被加密/解密,在将帧传递至下一跳(也就是说,P路由器或者PE路由器)之前,安全设备交换以太网帧的源地址和目的地址并且重新计算用于以太网帧的校验和数据。这在PE路由器和P路由器之间提供了无缝集成。如果需要,安全设备
9也可以减小帧的存活时间(TTL)字段,并且如果TTL为0,则丢弃该帧。
图3提供了安全设备1 从PE路由器122接收的网络业务的表示。如图所示, 对于输入帧302,仅仅那些标签值大于15 (业务流306)的MPLS类型的帧(业务流304)被安全设备128的加密引擎218处理。标签值小于或等于15的MPLS帧(业务流310)和非 MPLS帧(业务流312)均绕过加密引擎218。
一些非MPLS帧可能涉及控制面业务并且被安全设备1 所截取(业务流314)。 这些帧可以或者被安全设备1 处理并且然后丢弃,或者在处理后被转发到另一目的地。
安全标准 如上所述,在安全设备中使用的安全标准确定安全设备将加密哪个帧的载荷,以及哪个帧在不进行载荷加密的情况下进行交换。当然,这些标准可以按照需要进行设置,然而,适当的标准(在本实施方式中)为 ·帧为MPLS以太网帧(也就是,帧的以太网类型是0x8847或0x8848);以及 · MPLS报头中的顶端标签的标签值大于15 (注意,根据IETF共识,标签值0_3已经分配,标签值4-15当前预留给IANA进行分配)。
通过按这种方式设置安全标准,安全设备对所有的非MPLS帧和处理网络管理和维护的所有MPLS帧(也就是,控制面的帧)是完全透明的。对于不满足安全标准的任何帧, 安全设备实质上充当可信端口和不可信端口之间的第2层以太网交换机。
如上所述,如果帧满足安全标准,将MPLS帧(也就是,由用户发送的原始帧)的 MPLS载荷发送给加密模块218以进行安全保护。如果帧从PE路由器输出到MPLS网络,加密模块218对MPLS载荷进行加密。如果MPLS载荷从MPLS网络输入到PE路由器,对MPLS 载荷进行解密。
虽然任何形式的加密可以用于对载荷进行加密/解密(具体类型取决于所要求的安全级别),诸如三重DES (TDES)的单密钥加密可适于多种应用。使用单密钥加密方法具有这样的优势由于仅需要将单一通用密钥提供给网络上的所有安全设备,从而减小了网络开销。
一旦MPLS载荷已经加密/解密,安全设备128检测经修改的MPLS载荷以确保其大小不会导致超过网络的最大传输单元(MTU)。如果经修改的MPLS载荷会导致超过MTU, 丢弃该帧并通过控制面标记错误。
对于安全设备从可信的PE路由器接收的帧(也就是,通过安全设备传送到MPLS 核心网络108上的帧),安全设备处理帧的算法可以用下面的伪代码来说明
权利要求
1.一种用于保护通过网络传输的MPLS帧的安全的方法,MPLS帧包括MPLS报头和MPLS 载荷,该方法包括以下步骤从源接收MPLS帧;确定MPLS帧是否满足安全标准;如果MPLS帧满足安全标准,则对MPLS载荷进行安全保护并创建包括MPLS报头和安全 MPLS载荷的安全MPLS帧;以及转发安全MPLS帧。
2.根据权利要求1所述的方法,其中安全标准包括与MPLS报头中标签的标签值有关的标准。
3.根据权利要求1或2所述的方法,其中安全标准包括MPLS报头的顶端标签中的标签值大于15。
4.根据前述任意一项权利要求所述的方法,其中MPLS载荷通过使用单密钥加密方法进行安全保护。
5.根据前述任意一项权利要求所述的方法,其中使用单密钥加密方法对从源接收的通过网络传输的满足安全标准的更多的帧进行安全保护,使用与它们的源或目的地无关的相同密钥对更多的帧进行安全保护。
6.根据前述任意一项权利要求所述的方法,其中将安全MPLS帧的大小与网络的MTU大小进行核对,以及如果安全MPLS帧超过了网络的MTU大小,则丢弃安全MPLS帧并且标记错误条件。
7.根据前述任意一项权利要求所述的方法,进一步包括修改MPLS报头的ToS字段以创建用于和安全MPLS帧一起进行转发的经修改的MPLS报头。
8.一种用于保护MPLS网络上业务安全的安全设备,安全设备配置为从第一网络设备接收帧并将帧转发给第二网络设备,安全设备包括输入/输出接口,用于接收和转发帧; 存储器;安全引擎,用于根据安全标准分析所接收的帧,并且对满足安全标准的帧进行安全保护,安全标准包括帧为MPLS帧,其中如果所接收的帧满足安全标准 解析来自MPLS帧的MPLS报头和MPLS载荷; 由安全引擎保护MPLS载荷的安全以创建安全MPLS载荷; 组合MPLS报头和安全MPLS载荷以创建安全MPLS帧;以及将安全MPLS帧传递给输入/输出接口以转发给第二网络设备。
9.根据权利要求8所述的安全设备,其中输入/输出接口包括用于接收帧的至少一个输入端口和用于转发帧的至少一个输出端口。
10.根据权利要求8或9所述的安全设备,其中输入/输出接口包括专用控制端口。
11.根据权利要求8-10中任意一项所述的安全设备,其中安全标准进一步包括与MPLS 报头中标签的标签值有关的标准。
12.根据权利要求8-11中任意一项所述的安全设备,其中安全标准进一步包括MPLS报头中顶端标签的标签值大于15。
13.根据权利要求9-12中任意一项所述的安全设备,其中安全引擎使用单密钥加密方法保护MPLS载荷的安全。
14.根据权利要求9-13中任意一项所述的安全设备,其中在将安全MPLS帧转发到第二网络设备之前,将安全MPLS帧封装到包括以太网报头和以太网CRC的以太网帧中。
15.根据权利要求14所述的安全设备,其中将以太网帧的大小与网络的MTU大小进行比较,以及如果以太网帧的大小超过MTU大小,则丢弃以太网帧并标记错误条件。
16.根据权利要求9-15中任意一项所述的安全设备,其中如果帧满足安全标准,则修改MPLS报头中的ToS字段以创建和安全MPLS帧一起转发的经修改的MPLS报头。
17.根据权利要求9-16中任意一项所述的安全设备,其中如果所接收的帧不满足是 MPLS帧的安全标准,则安全引擎不处理该帧。
18.根据权利要求9-16中任意一项所述的安全设备,其中如果所接收的帧满足是MPLS 帧的安全标准,并且MPLS报头中顶端标签的标签值小于或等于15,将所接收的帧作为控制面帧进行处理。
19.一种用于保护通过网络传输的标签交换帧的安全的方法,标签交换帧包括标签交换帧报头和标签交换帧载荷,该方法包括以下步骤从源接收标签交换帧;确定标签交换帧是否满足安全标准;如果标签交换帧满足安全标准,则对标签交换帧载荷进行安全保护并且创建包括标签交换帧报头和安全标签交换帧载荷的安全标签交换帧;以及转发安全标签交换帧。
20.根据权利要求19所述的方法,其中安全标准包括与标签交换帧报头中标签的标签值有关的标准。
21.根据权利要求19或20所述的方法,其中标签交换帧载荷通过使用单密钥加密方法进行安全保护。
22.一种用于保护标签交换网络上业务安全的安全设备,安全设备配置为从第一网络设备接收帧并将帧转发给第二网络设备,安全设备包括输入/输出接口; 存储器;安全引擎,用于根据安全标准分析所接收的帧,并且保护满足安全标准的帧的安全,安全标准包括帧为标签交换帧,其中如果所接收的帧满足安全标准 解析标签交换帧的标签交换帧报头和标签交换帧载荷; 由安全引擎保护标签交换帧载荷的安全以创建安全标签交换帧载荷; 组合标签交换帧报头和安全标签交换帧载荷以创建安全标签交换帧;以及将安全标签交换帧传递给输入/输出接口以转发给第二网络设备。
23.根据权利要求22所述的安全设备,其中输入/输出接口包括用于接收帧的至少一个输入端口和用于转发帧的至少一个输出端口。
24.根据权利要求22或23所述的安全设备,其中安全标准进一步包括与标签交换帧报头中标签的标签值相关的标准。
25.根据权利要求22-24中任意一项所述的安全设备,其中安全引擎使用单密钥加密方法保护标签交换帧载荷的安全。
全文摘要
一种用于对通过网络传输的MPLS帧进行安全保护的方法,MPLS帧包括MPLS报头和MPLS载荷。该方法包括从源接收MPLS帧和确定MPLS帧是否满足安全标准。如果MPLS帧满足安全标准,则对MPLS载荷进行安全保护并且创建安全MPLS帧。安全MPLS帧包括MPLS报头和安全MPLS载荷。随后,转发安全MPLS帧。
文档编号H04K1/00GK102187614SQ200880131631
公开日2011年9月14日 申请日期2008年10月20日 优先权日2008年10月20日
发明者C·史密斯 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1