用于为时间感知的端到端分组流网络提供网络安全性的方法和装置与流程

文档序号:18976399发布日期:2019-10-29 03:19阅读:290来源:国知局
用于为时间感知的端到端分组流网络提供网络安全性的方法和装置与流程

本发明涉及分组网络中的数据传输。本发明特别地涉及用于受保护的时间感知的分组流网络中的数据业务的端到端和/或分段加密和/或认证的方法和装置。



背景技术:

在诸如监测高压线路之类的任务关键系统的网络或其他工业自动化控制系统(iacs)的网络中,许多应用仍然依赖于传统的面向连接的技术。对于应用设计的更高层,发送方和接收方之间的关系能被视为直接有线数据链路。当研究像操纵高速列车、控制空中交通或高压线路自动化等应用时,作用方和反应方之间的直接确定性关系大大简化了系统设计的更高层,并有助于当今的高整体系统可靠性。

出于诸如增加的灵活性之类的各种原因,可能期望执行通过分组网络的数据传输,对于任务关键网络也是如此。在这种情况下,时分复用(tdm)网络中固有的数据完整性可能不再存在。在某种程度上,例如对于非敌对环境,多路径标签交换传送子集(mpls-tp)允许利用面向连接的范例的一些优点。尽管如此,在过载情形和发生故障期间,端到端数据路径或链路不能被看作直接有线连接。分组网络的强大操控能力(像来往于流中删除、复制和添加分组)提供了关于网络攻击的非常重大的危险。

将期望给通过定时确定性分组网络诸如mpls-tp之类的的端到端路径提供增强的安全性。



技术实现要素:

本发明的目的是要提供对于分组网络中的数据传输的给予增强的安全性改进的方法、装置和系统。特别地,目的是要提供操作以提供定时确定性分组网络中的加密和/或认证数据传输同时提供对网络攻击的高鲁棒性的改进的方法、装置和系统。

根据示范性实施例,提供了用于跨复杂和网状网络拓扑确定性地传输加密和认证数据分组的方法和装置。对于这样的诸如多路径标签交换传送应用(mpls-tp)网络之类的网络,提供了受保护的端到端路径与它们相应的网络安全冗余数据链路端点的一致关联。

出于安全性原因,两个子系统—负责通过分组网络的路径的分组交换子系统和网络安全性(或加密)子系统—可以保持强分离,但仍然同步。动态协议可用来支持从网络安全性子系统到分组交换子系统的有限信息交换。这允许两个子系统在网络操作的所有标准和异常状态期间保持同步。

在示范性实施例中,不需要分组添加,并且在加密步骤期间能保持对于所有分组的相同延迟。执行加密/解密和/或认证的密码引擎可以将控制信息添加到先前已经由与密码引擎分开的分组引擎生成的虚设分组。当需要时,分组引擎还可以扩大分组间间隙,以便避免可能以别的方式由对于加密分组的密码引擎加密信息插入需要产生的任何扰动。这增强了像多路径标签交换(mpls)的协议或用于定时确定性分组传输的其它协议,以真正实现网络安全。

在示范性实施例中,受保护的mpls-tp端到端服务设立可以与相应的网络安全冗余加密端点(也称为密码引擎)链接。网络安全性管理和mpls路径管理的清晰分离以及经由硬件的设计中的约束(其可能限制mpls和网络安全性子系统之间的信息交换)可以避免从客户端节点到密码引擎中或到网络安全性子系统的另一个组件中的任何入侵。

根据本发明的方面,提供了一种提供通过分组网络中的端到端数据路径(它们可以由mpls隧道提供)的安全通信的方法。分组网络是定时确定性分组网络,其包括执行分组处置的多个分组引擎。该方法包括:由多个密码引擎执行至少一个网络安全性功能,其中多个密码引擎中的每个密码引擎分别与多个分组引擎中的相应分组引擎关联,并且与相应分组引擎分开提供。密码引擎中的至少一些被分别提供在与分组网络的端点节点关联的相应分组引擎和端点节点的网络面向的端口之间,或者提供在与端点节点关联的相应分组引擎和连接到端点节点的第一传输节点之间。该方法还包括由密码引擎和密钥管理器cekm集中控制多个密码引擎。

该方法可用来执行端到端加密和/或认证,或者用于沿着端到端数据路径的一个或几个分段的加密和/或认证。

控制多个密码引擎可以包括向多个密码引擎提供配置信息和/或协调网络中的多个密码引擎使用哪些密钥。

通过使用中央控制器来协调网络中所有密码引擎的操作,并且通过使用物理上与分组引擎分开的密码引擎,能获得高安全性。

分组引擎和关联的密码引擎可以分别被提供在mpls网络的标签边缘路由器(ler)或标签交换路由器(lsr)中。

分组网络可以包括多个ler。每个ler可以包括至少两个分组引擎和至少四个密码引擎。两个分组引擎可以被分别提供用于工作路径和保护路径,这两个路径可以是通过mpls网络的不同路径。两个密码引擎可以连接到ler的第一分组引擎,以对于沿着工作路径的两个相反的传输方向,提供沿着通过mpls网络的工作路径的端到端或分段加密和/或认证。两个另外密码引擎可以连接到ler的第二分组引擎,以对于沿着保护路径的两个相反的传输方向,提供沿着保护路径的端到端或分段加密和/或认证。

该方法可还包括由集中式分组流路径管理器pfpm设立分组网络的端到端数据路径的端点节点和中间传输节点。

pfpm可以在ler中设立分组引擎,所述分组引擎是mpls网络中端点节点的示例。

pfpm可以在lsr中设立分组引擎,所述分组引擎是mpls网络中中间传输节点的示例。

pfpm可以通信地连接到分组网络的所有端点节点(例如,所有ler中的分组引擎)和所有中间传输节点(例如,所有lsr中的分组引擎)。

cekm可以在第一服务器上执行,而pfpm可以在不同于第一服务器的第二服务器上执行。通过将用于路径控制和网络安全性的控制系统分开,获得了附加的安全性益处。

该方法可还包括约束由第一服务器向第二服务器提供的信息。由此获得附加的安全性益处。

该方法可还包括:由cekm发现多个密码引擎的硬件定义的标识符,以及由cekm向pfpm提供硬件定义的标识符。

cekm可以仅向pfpm提供硬件定义的标识符和警报。警报可以指示异常操作条件。

cekm可以从pfpm接收与端到端数据路径的数据流拓扑相关的信息,以用于配置多个密码引擎。该信息可以包括隧道标识符、mpls标签或标签堆栈以及类似的信息。

cekm和pfpm可以经由安全信道通信。

cekm可以通信地连接到多个密码引擎中的每一个。

cekm可以经由安全协议与多个密码引擎中的每一个进行通信以用于配置密码引擎和/或用于通知。

该方法可还包括:由多个密码引擎中的密码引擎使用位窗口从数据分组中选择位,该位窗口是可编程的。根据可编程的位窗口选择的位可以标识将由密码引擎处理的数据分组。

位窗口在端到端数据路径的进入节点和退出节点处可以是不同的。

在cekm和pfpm之间交换的信息可以被用于配置位窗口。

该方法可以还包括:由cekm基于来自pfpm的信息分别配置与端到端隧道的第一端点节点关联的第一密码引擎和与第一端点节点关联的第二密码引擎。第一和第二密码引擎可以分别对于通过mpls网络的受保护隧道的工作路径和保护路径执行诸如加密或认证之类的网络安全性功能。

该方法可还包括:由cekm对于端到端隧道上的反向传输方向配置与第一端点关联的第三密码引擎和与第一端点节点关联的第四密码引擎。第三密码引擎和第四密码引擎可以针对通过mpls网络的工作路径和保护路径和/或针对反向流动方向分别执行诸如加密或认证之类的网络安全性功能。

分组网络可以包括标签边缘路由器(ler)。标签边缘路由器可以包括用于多标签协议交换(mpls)隧道的工作路径的第一密码引擎和用于为受保护隧道提供保护的保护路径的第二密码引擎。

ler可以包括用于工作路径上的反向传输方向的第三密码引擎和用于保护路径上的反向传输方向的第四密码引擎。

ler可以包括至少两个分组引擎。

分组网络可以包括标签交换路由器(lsr)。lsr可以包括至少两个分组引擎。lsr可以包括至少两个密码引擎或至少四个密码引擎。对于节加密可能需要密码引擎,并且因为一个节点能在ler和lsr混合模式下工作。

该方法可以还包括由分组引擎对进入密码引擎的数据分组流进行预成形,以确保数据分组在业务流中的位置保持不变,并且所有分组在通过密码引擎时都经历相同的延迟。

数据分组流可以被预成形,使得当数据分组离开密码引擎时,进入密码引擎的数据分组的时间戳记信息仍然有效。

对数据分组流进行预成形可以包括在数据分组流进入密码引擎之前,由分组引擎扩大分组间间隙。

对数据分组流进行预成形可以包括在数据分组流进入密码引擎之前,由分组引擎将虚设分组插入到数据分组流中。密码引擎可以使用虚设分组将控制信息插入其中。

多个分组引擎和多个密码引擎可以使用公共全局信息实体来确保属于相同业务流的数据分组的全局标识。

全局信息实体可以指示多协议标签交换mpls路径。

数据分组可以由密码引擎紧接在离开关联的分组引擎之后加密。数据分组可以由密码引擎紧接在进入关联的分组引擎之前解密。

可以使用标准化协议或者开放协议加密或解密数据分组,特别地,标准化协议是从由aes、des、三重des组成的组中选择的,特别地,开放协议是从由blowfish、twofish、mars、rc6、rijndael和serpent组成的组中选择的。

该方法可以还包括由cekm分发用于加密和解密数据分组的密钥。

多个密码引擎可以执行消息认证。

可以使用基于散列函数的标准化协议或者开源协议执行消息认证,特别地,标准化协议是从由md5、sha-1、sha-2和sha-3组成的组中选择的。

该方法可还包括由密码引擎将业务丢失信息传播到关联的分组引擎的接口,以触发业务切换。

传播业务丢失信息可以通过由广域网wan面向的线路接口检测到的光学数据连接的故障触发。

该方法可以还包括监测数据流的健康状况。

监测数据流的健康状况可以包括由分组引擎发送附加的数据分组流。

附加的数据分组流可以包括由密码引擎加密的监测分组,和/或保持未加密的查验(ping)和跟踪路由消息。

每个密码引擎可以分别执行诸如加密和/或认证之类的网络安全性功能,无需分组添加,并且无需由密码引擎执行的分组间间隙扩大。

多个分组引擎可以例如在分组引擎的端口处执行时间戳记。

多个分组引擎可以在时间戳记上下文之内操作,并且多个密码引擎可以在分组网络的时间戳记上下文之外操作。通过使用不知道时间戳记协议的密码引擎,能降低复杂性。

密码引擎可以独立于数据分组的时间戳记操作。

密码引擎可以是非时间感知的和非拓扑感知的密码引擎。

分组网络可以是工业自动化控制网络。

分组网络可以是用于高压线路自动化、操纵高速列车或控制空中交通的分组网络。

cekm可以是执行密码引擎和密钥管理功能的第一服务器。

pfpm可以是执行分组流路径管理功能的第二服务器。

根据本发明的另一方面,提供有一种用于使通过具有执行分组处置的分组引擎的定时确定性分组网络中的端到端数据路径的通信安全的密码引擎和密钥管理器cekm,所述分组网络包括配置分组网络的业务流节点的分组流路径管理器pfpm。cekm包括:第一接口,所述第一接口用于从pfpm接收关于端到端数据路径的数据流拓扑的信息;第二接口,所述第二接口用于向多个密码引擎提供配置信息,多个密码引擎各与相应的分组引擎关联并与之分开提供,多个密码引擎被配置成执行至少一个网络安全性功能;以及至少一个处理器,所述至少一个处理器被配置成基于数据流拓扑生成配置信息。

cekm可以被配置成发现多个密码引擎的硬件定义的标识符,并将硬件定义的标识符提供给pfpm。

cekm可以被配置成阻止向pfpm传送除硬件定义的标识符和警报之外的信息。

cekm可以在不同于第二服务器的第一服务器上执行,在所述第二服务器上执行pfpm。

cekm可以操作以经由安全信道与pfpm通信。

cekm可以操作以从pfpm接收与端到端数据路径的数据流拓扑相关的信息,以用于配置多个密码引擎。

cekm可以经由第二接口通信地连接到多个密码引擎中的每一个。

cekm可以操作以经由安全协议与多个密码引擎中的每一个进行通信以用于配置密码引擎和/或用于通知。

在cekm和pfpm之间交换的信息可以被用于配置位窗口。

cekm可操作以分别为每个密码引擎配置位窗口,其中密码引擎根据可编程的位窗口选择数据分组的位,以确定数据分组是否将由密码引擎处理。

cekm可操作以便为不同的密码引擎以不同的方式配置位窗口。为了说明,可以为加密的端到端路径的两个端点,以不同的方式配置位窗口。

cekm可操作以基于从pfpm接收的信息分别为多个密码引擎配置位窗口。

cekm可操作以基于来自pfpm的信息分别配置与端到端隧道的第一端点节点关联的第一密码引擎和与第一端点节点关联的第二密码引擎。第一和第二密码引擎可以分别对于通过mpls网络的工作路径和保护路径执行诸如加密或认证之类的网络安全性功能。

cekm可操作以对于端到端隧道上的反向传输方向配置与第一端点节点关联的第三密码引擎和与第一端点节点关联的第四密码引擎。第三密码引擎和第四密码引擎可以针对通过mpls网络的工作路径和保护路径和/或针对与第一和第二密码引擎相比的反向流动方向,分别执行诸如加密或认证之类的的网络安全性功能。

cekm可操作以配置与端到端隧道的第二端点节点关联的两个或四个密码引擎。

cekm可操作以向多个密码引擎分发用于加密和解密数据分组的密钥。

cekm可以是执行密码引擎和密钥管理功能的第一服务器。

根据另一个实施例,提供有一种密码引擎。密码引擎包括:第一接口,所述第一接口被配置成直接连接到分组引擎,所述分组引擎执行对于定时确定性分组网络的分组处置。密码引擎包括:第二接口,所述第二接口被配置成被连接到端点节点的网络面向的端口或连接到端点节点的传输节点。密码引擎包括:第三接口,所述第三接口被配置成从密码引擎和密钥管理器cekm接收配置信息。密码引擎操作以对通过密码引擎的业务流的数据分组执行诸如加密/解密和/或认证之类的网络安全性功能,无需改变业务流中数据分组的顺序。

密码引擎可操作以在没有分组添加的情况下并且通过对所有分组保持相同的延迟来执行网络安全性功能。

密码引擎可操作以执行安全性功能,无需具有关于数据网络拓扑的信息(即,是非拓扑感知的),并且无需使用数据分组的时间戳记信息(即,是非时间感知的)。

密码引擎可操作以紧接在数据分组离开关联的分组引擎之后对数据分组加密,或者紧接在进入关联的分组引擎之前对数据分组解密。

密码引擎可操作以使用标准化协议或者开放协议执行加密或解密,特别地,标准化协议是从由aes、des、三重des组成的组中选择的,特别地,开放协议是从由blowfish、twofish、mars、rc6、rijndael和serpent组成的组中选择的。

密码引擎可操作以执行消息认证。可以使用基于散列函数的标准化协议或者开源协议执行消息认证,特别地,标准化协议是从由md5、sha-1、sha-2和sha-3组成的组中选择的。

密码引擎可操作以将业务丢失信息传播到关联的分组引擎的接口,以触发业务切换。

密码引擎可操作以响应于由广域网(wan)面向的线路接口检测到的光学数据连接的故障而传播业务丢失信息。

密码引擎的第一接口可以经由至少一个光缆或至少一个以太网缆线直接连接到分组引擎。

根据本发明一个方面的网络包括;多个分组引擎,所述多个分组引擎在定时确定性分组网络中执行分组处置;分组流路径管理器pfpm,所述分组流路径管理器pfpm操作以向分组网络的业务流节点提供配置信息;根据实施例的多个密码引擎,所述密码引擎分别操作以从关联的分组引擎接收业务流的数据分组,或者向关联的分组引擎提供业务流的数据分组;以及根据实施例的密码引擎和密钥管理器cekm,所述密码引擎和密钥管理器cekm耦合到pfpm服务器和多个密码引擎。

网络可以是工业自动化控制系统(iacs)的网络。

pfpm可操作以设立分组网络的端到端数据路径的端点节点和中间传输节点。

pfpm可操作以在ler中设立分组引擎,所述分组引擎是mpls网络中端点节点的示例。

pfpm可操作以在lsr中设立分组引擎,所述分组引擎是mpls网络中中间传输节点的示例。

pfpm可以通信地连接到分组网络的所有端点节点(例如,所有ler中的分组引擎)和所有中间传输节点(例如,所有lsr中的分组引擎)。

pfpm可以是执行分组流路径管理功能的第二服务器。

cekm可操作以将提供给pfpm的信息约束为多个密码引擎和警报的硬件标识符。

每个密码引擎可分别操作以使用位窗口从数据分组中选择位,所述位窗口是可编程的,其中根据可编程的位窗口选择的位标识将由密码引擎处理的数据分组。

cekm可操作以配置可编程的位窗口。

可编程的位窗口在端到端数据路径的进入节点和退出节点处可以是不同的。

网络可以包括标签边缘路由器(ler)。标签边缘路由器可以包括用于多标签协议交换(mpls)隧道的工作路径的第一密码引擎和用于为工作路径提供保护的保护路径的第二密码引擎。

ler可以包括用于工作路径上的反向传输方向的第三密码引擎和用于保护路径上的反向传输方向的第四密码引擎。

ler可以包括至少两个分组引擎。

分组网络可以包括标签交换路由器(lsr)。lsr可以包括至少两个分组引擎或至少四个密码引擎。

多个分组引擎可以分别被配置成预成形进入密码引擎的数据分组流,以确保数据分组在通过密码引擎时在业务流中的位置保持不变。

分组引擎可操作以预成形数据分组流,使得当数据分组离开密码引擎时,进入密码引擎的数据分组的时间戳记信息仍然有效。

分组引擎可操作以在数据分组流进入密码引擎之前扩大分组间间隙。

分组引擎可操作以在数据分组流进入密码引擎之前将虚设分组插入到数据分组流中。

密码引擎可操作以使用虚设分组将控制信息插入其中。

多个分组引擎和多个密码引擎可操作以使用公共全局信息实体来确保属于同一业务流的数据分组的全局标识。

全局信息可以指示多协议标签交换mpls路径。

网络可操作以执行数据流的健康状况监测。监测数据流的健康状况可以包括发送附加的数据分组流。附加的数据分组流可以包括由密码引擎加密的监测分组,和/或保持未加密的查验和跟踪路由消息。

每个密码引擎可分别操作以在没有分组添加的情况下并且通过由密码引擎对所有分组保持相同的延迟来执行诸如加密和/或认证之类的网络安全性功能,。

多个分组引擎可分别操作以例如在分组引擎的端口处执行时间戳记。

多个分组引擎可以分别在时间戳记上下文之内操作,并且多个密码引擎可以在分组网络的时间戳记上下文之外操作。通过使用不知道时间戳记协议的密码引擎,能降低复杂性。

密码引擎可以独立于数据分组的时间戳记操作。

密码引擎可以是非时间感知的和非拓扑感知的密码引擎。

分组网络可以是iacs的网络。

分组网络可以是用于高压线路自动化、操纵高速列车或控制空中交通的分组网络。

根据另一实施例,提供有一种如与网络关联地解释的那样操作的pfpm。

用于跨复杂的网状分组网络拓扑传送加密和/或认证数据的方法、装置和系统为定时网络提供了增强的安全性。

本发明的实施例可以用于任务关键分组网络,例如高压线路的自动化,但不限于此。

附图说明

将参考附图中图示的优选示范性实施例更详细地解释本发明的主题,附图中:

图1是根据实施例的包括分组引擎和密码引擎的网络的示意表示。

图2是根据实施例的包括分组引擎和密码引擎的网络的示意表示。

图3是根据实施例的网络的组件的框图。

图4是图示加密操作之前和之后的数据分组的简图。

图5是图示加密和认证操作之前和之后的数据分组的简图。

图6是根据实施例的包括分组引擎和密码引擎的标签交换路由器(lsr)的框图。

图7是根据实施例的包括分组引擎和密码引擎的标签边缘路由器(ler)的框图。

图8是图示可用于确定数据分组或数据分组流是否要被处理的标签堆栈编码的简图。

图9是根据实施例的包括分组引擎和密码引擎的网络的示意表示。

图10是根据实施例的密码引擎的框图。

图11是根据实施例的方法的流程图。

图12是根据实施例的方法的流程图。

具体实施方式

将参照附图描述本发明的示范性实施例,其中相同或类似的参考符号标示相同或类似的元件。虽然将在示范性网络的上下文中描述一些实施例,例如多协议标签交换(mpls)网络或mpls-传送子集(mpls-tp)网络,但是下面详细描述的方法和装置通常可以用于通过网状、复杂分组网络拓扑传送加密和认证的数据。

虽然将描述其中执行端到端加密和/或认证的实施例,但是本文公开的技术也可以用于沿着端到端路径的分段的加密和/或认证。

在本文公开的实施例中,可以建立工作路径和保护路径二者来形成双向保护隧道。如本文所使用的,根据题为“mpls-tprosettastone”(2013年12月)的rfc7087第3.42.1和3.42.2节以及题为“mpls-tpsurvivabilityframework”(2011年9月)的rfc6372,术语“工作路径”特别地可以指的是在正常网络操作期间承载业务的路径,并且术语“保护路径”特别地可以指的是当工作路径失效时用于保护和输送业务的路径。根据题为“mpls-tprosettastone”(2013年12月)的rfc7087第3.42.1节,诸如沿工作路径的分组或密码引擎之类的实体是工作实体。根据题为“mpls-tprosettastone”(2013年12月)的rfc7087第3.42.2节,诸如沿保护路径的分组或密码引擎之类的实体是保护实体。

如本文所使用的,术语“分组”指的是分组化的数据结构。本文所使用的术语“分组”可以包括数据帧。分组可以是帧或可以包含数据帧。

如本文所描述的“密码引擎”可以被实现为密码引擎实例。密码引擎的一个硬件实现可以提供多个密码引擎实例,例如每个端口和方向一个实例。然而,密码引擎硬件在任何情况下都可以与相应的分组引擎分离。

除非另有特别指出,否则实施例的特征可以彼此组合。

图1是网络10的示意表示。网络10可以包括定时确定性分组网络。分组网络可以具有多个节点11、21、31。多个节点11、21、31可以分别经由mpls-tp网络16、17、18以通信方式耦合。多个节点11、21、31可以包括传输路径的端点节点和中间节点(或跳)。对于mpls-tp网络,端点节点可以是标签边缘路由器(ler),而中间节点可以是标签交换路由器(lsr)。分组网络可以是定时网络,其中时间戳记由节点11、21、31的分组引擎执行。

节点11、21、31可以分别包括分组引擎12、22、32和密码引擎14、24、34,密码引擎14、24、34在物理上与关联的分组引擎12、22、32分离。每个密码引擎14、24、34可以例如经由以太网电缆或经由光缆直接耦合到关联的分组引擎12、22、32。以太网电缆或光缆的相反端可以直接附接到分组引擎12、22、32和密码引擎14、24、34。

如本文所使用的,术语“密码引擎”指的是操作以执行加密/解密和/或认证操作的装置。密码引擎可以可选地具有诸如用于执行加密/解密和/或认证操作的物理随机数生成器之类的专用组件。

将领会的是,每个密码引擎硬件14、24、34可以具有多个密码引擎实例,这些实例可以对应于不同的端口,或者对应于在相应节点处的不同端口和分组流方向。

如本文所使用的,术语“分组引擎”指的是操作以执行分组处置的装置。分组引擎可以包括分组交换机,并且可以将虚设分组插入到数据分组流中。分组引擎是时间感知的,并且可操作以例如在分组引擎的出口端口或入口端口处执行时间戳记。

如本文所使用的,实体被“设置在”两个其他实体之间(例如密码引擎被设置在分组引擎和第一传输节点之间)的陈述描述了沿着数据流路径的布置,即,顺序,分组以所述顺序通过实体。

每个分组引擎12、22、32可以分别具有多个端口13、23、33。每个密码引擎14、24、34可以分别具有多个端口15、25、35。密码引擎14、24、34的入口端口可以分别与关联的分组引擎12、22、32的出口端口连接。密码引擎14、24、34的出口端口可以分别与关联的分组引擎12、22、32的入口端口连接。每个密码引擎14、24、34可以经由未加密的链路耦合到其关联的分组引擎12、22、32。

不同的密码引擎14、24、34可以经由加密路径(例如通过mpls-tp网络)传送数据业务。

分组引擎12、22、32分别负责分组处置。分组引擎12、22、32可以负责分组转发和/或交换。所有分组处置、过滤和排队都在分组引擎12、22、32中完成。

密码引擎14、24、34执行加密和/或认证操作。将理解到,如本文所使用的术语“加密操作”通常包括与加密传输关联的操作,并且从而可以包括在安全端到端路径的接收端点处的解密。

密码引擎14、24、34可以分别具有诸如用于执行加密/解密和/或认证操作的物理随机数生成器之类的专用硬件。

如将在下面更详细解释,分组引擎12、22、32和密码引擎14、24、34操作以跨复杂的网状分组网络拓扑传送加密和/或认证数据,同时提供端到端或分段加密和/或认证。

分组引擎12、22、32可以由中央控制器(例如分组流路径管理器(pfpm)42)控制。密码引擎14、24、34可以由密码引擎和密钥管理器(cekm)44控制。为了增强的安全性,可以在单独的服务器上执行pfpm42和cekm44的功能。pfpm42可以将分组引擎配置成设立mpls路径。cekm44可以使用关于由pfpm42设立的路径的信息来配置密码引擎。密码引擎14、24、34可以分别确保对于通过网络的路径的端到端或分段加密和/或认证。cekm44可以例如经由安全信道通信地耦合到所有密码引擎14、24、34。

由pfpm42和多个分组引擎12、22、32形成的第一子系统负责例如通过设立流路径的分组处置。由cekm44和多个密码引擎14、24、34形成的第二子系统负责网络安全性功能。连接pfpm42和多个分组引擎12、22、32的第一子系统的第一管理网络可以与连接cekm44和多个密码引擎14、24、34的第二子系统的第二管理网络分开。

通过使用网络中的多个密码引擎14、24、34的网络范围的中央协调,能实现端到端或分段隧道有效载荷加密和/或认证。

通过使用被提供为与相应的关联的分组引擎12、22、32分开的装置的密码引擎14、24、34,密码引擎14、24、34与负责时间戳记和交换的装置分开提供。密码引擎14、24、34不需要知道网络的拓扑和/或在其中设立的端到端路径。密码引擎14、24、34不需要知道任何时间戳记协议。可以在硬件级上防止未经授权的入侵。

因为pfpm42和cekm44在单独的服务器上运行,并且使用单独的管理网络,所以能增强安全性。

图2是网络10的框图表示。网络10包括可以在不同服务器上执行的pfpm42和cekm44。

分组网络可以使用mpls-tp作为数据网络技术。分组网络可以包括分别连接到客户端节点51、52的标签边缘路由器(ler)53、54。ler53、54是加密的端到端隧道的端点。分组网络可以包括标签交换路由器(lsr)55、56、57、58。可以经由lsr55、56在ler53、54之间设立工作路径。可以经由lsr57、58在ler53、54之间设立不同的保护路径。保护路径可以为数据传输提供冗余,以保护工作路径,如例如在题为“mpls-tpsurvivabilityframework”的rfc6372(2011年9月)和题为“mpls-tprosettastone”的rfc7087(2013年12月)第3.42.1和3.42.2节中所更详细描述的。

作为要保证安全的端到端路径的端点节点的ler53包括至少一个分组引擎(pe)和至少一个密码引擎(ce)。如所图示的,ler53可以包括至少两个分组引擎61、62。ler53可以包括两个密码引擎71、72或多于两个的密码引擎。虽然图2中仅图示了两个密码引擎71、72,但是ler53可以包括至少四个密码引擎,如将参考图7更详细地解释的。

作为要保证安全的端到端路径的另一个端点节点的ler54包括至少一个分组引擎(pe)和至少一个密码引擎(ce)。如所图示的,ler54可以包括至少两个分组引擎63、64。ler53可以包括两个密码引擎73、74或多于两个的密码引擎。虽然图2中仅图示了两个密码引擎73、74,但是ler54可以包括至少四个密码引擎(其中至少一些可以是密码引擎实例),如将参考图7更详细解释的。

每个lsr55、56、57、58可以分别包括至少一个分组引擎和至少一个密码引擎。每个lsr55、56、57、58可以包括至少两个分组引擎和至少四个密码引擎,如将参考图6更详细解释。

在操作中,pfpm42可以设立分组网络的端点节点和中间节点的分组引擎。密码引擎不需要知道拓扑。而是,cekm44能检测所有密码引擎的硬件标识符,并将硬件标识符提供给pfpm42。pfpm42能提供与到cekm44的设立路径相关的信息。cekm44能在配置密码引擎时使用关于设立路径的信息。

端点节点53中的密码引擎71、72在相应的分组引擎61、62和端点节点53的网络面向的接口之间被放置在端点节点53内部。密码引擎71、72通常可以提供在分组引擎61、62和第一中间节点(称为对于mpls-tp的第一跳)55、57之间。类似地,端点节点54中的密码引擎73、74在相应的分组引擎63、64和端点节点54的网络面向的接口之间被放置在端点节点54内部。密码引擎73、74通常可以提供在分组引擎63、64和第一中间节点(称为对于mpls-tp的第一跳)56、58之间。第一中间节点或第一跳分别是沿着工作路径或保护路径最靠近端点节点的节点。

时间戳记由分组引擎61、62、63、64执行。为了说明,连接到密码引擎71、72、73、74的分组引擎61、62、63、64的端口可以根据精确时间协议(ptp)ieee15888执行时间戳记。

经由利用附加密码引擎71、72、73、74的中央控制和网络范围的协调,能利用网络安全性功能(端到端业务加密和/或分组认证)来增强定时(利用例如ptp)、受保护和确定性分组网络(如mpls)。密码引擎71、72、73、74可以是非拓扑感知的和非时间感知的,并且可以位于分组引擎61、62、63、64和下一跳之间的时间戳记上下文之外,因此或者在分组流的端点节点(对于mpsl,例如ler54)和分组流的第一传输节点(对于mpls,例如lsr56、58)之间,或者在分组引擎和网络面向的端口之间的端点节点53、54之内。

为了保证分组网络中数据传输的完整性和认证安全,帧数据由密码引擎71、72、73、74加密和/或认证。因此,数据流中分组的主要部分可以由其加密和/或认证的副本替换。加密/认证在密码引擎71、72、73、74中执行,密码引擎与负责分组转发和/或交换的分组引擎61、62、63、64分开。所有分组处置、过滤和排队都可以在分组引擎61、62、63、64中完成,分组引擎还能执行ptp分组的时间戳记,其作为最终结果在每个节点处建立准确的时间/时钟。密码引擎71、72、73、74可以分别连接到中央卡的网络面向的端口,中央卡然后它自己连接到网络。

为了最大化安全性,可以减少网络安全性子系统44、71、72、73、74和分组网络子系统42、61、62、63、64之间的交互。对分组网络子系统42、61、62、63、64可用的有关密码引擎71、72、73、74的唯一信息可以被约束到单元库存信息,例如硬件定义的标识符以及可选的指示异常操作条件的警报。通过pfpm42跨安全链路(例如跨安全ssh链路)按引擎、隧道和方向,向cekm44仅提供mpls标签、隧道id和保密简档id。

在操作中,初始mpls标签由ler54设置,ler也可以被称为提供商边缘路由器。这个标记的分组能离开附接到密码引擎73、74的端口,密码引擎充当一个加密端点。随后的跳—从lsr到lsr—转发分组。

中间传输节点(即,lsr55、56、57、58)的密码引擎由cekm44配置,使得当执行端到端加密时,它们不执行由ler53、54的密码引擎输出的加密数据分组的解密或加密。为了说明,中间跳(即,lsr55、56、57、58)的密码引擎可以具有标识路径的查找表,对于所述路径要执行加密/解密。中间跳的查找表由cekm44配置,使得如果要提供端到端加密,则仅仅通过lsr的mpls端到端隧道的路径不触发解密或加密。

如下文将更详细解释的,密码引擎可以分别根据可编程的位窗口从数据分组中选择位,以确定数据分组是否要被处理。可编程的位窗口可以由cekm42配置。中间跳(即,lsr55、56、57、58)的密码引擎的查找表可以被设置成使得直到到达最后一跳才触发解密或加密。

如果仅对于端到端路径的分段执行加密,则lsr55、56、57、58也可以被编程,使得解密能在分段的末端执行。

当数据分组已经到达最后一跳,即,ler53、54中的密码引擎时,对于解密的查找是成功的。分组被解密并发送到ler路由器的分组引擎。为了使密码引擎71、72解密已经属于某个隧道的数据分组,cekm44可以将密码引擎71、72配置成具有查找表信息,使得在端点节点53处结束的相应隧道的数据分组被解密。

在中间节点处,即,lsr55、56、57、58,密码引擎的配置确保有效载荷保持不受触动。将参考图4和图5更详细解释的l2-mac地址、下一跳mpls标签、ttl字段和fcs字段是被改变的唯一信息。

受保护的mpls隧道与其工作路径和保护路径被视为两个加密连接。每个mpls隧道对,有充当安全隧道的端点的四个密码引擎。标识四个密码引擎并在网络安全性子系统44、71、72、73、74和分组网络子系统42、61、62、63、64之间保持同步。

将参照图3至图12更详细地描述pfpm42、cekm44、分组引擎和密码引擎的操作。

图3是网络的组件的示意框图。

pfpm42可以是mpls路径管理器(mpm)。pfpm42可以由在第二服务器上执行的软件或其他计算机可读指令代码来实现。pfpm42可以包括拓扑、路径和密码简档管理器45。pfpm42可以包括操作和维护以及装置监测模块46。

集中式pfpm42与中间传输点55、56、57、58一起设立数据业务端点53、54。pfpm42可以被连接用于配置和/或通知,以控制网络中的所有节点。

为了处置分组转发,pfpm42可以保存用于下列的信息模型

-数据转发和终止参数,如经由附接电路的mpls标签到vlan标签的映射、到网络端到端隧道的内部/外部标签设立/映射、服务标识符的类别,以及

-相应的网络拓扑信息,如隧道、伪线、虚拟专用网络。

cekm44可以经由安全协议与所有密码引擎通信以用于配置和/或通知。通过pfpm42向cekm44提供与数据流拓扑相关的必要信息112,其对于密码引擎的配置是必要的。

cekm44可以包括主密钥生成器47、密钥管理器48和路径端点管理器49。cekm44可以保存和管理相应的加密端点信息:

-主密钥,所述主密钥要用于生成会话密钥

-标签信息,所述标签信息用于标识其中必须应用会话密钥的数据分组

-引擎id标识其中必须应用上述信息的引擎。

对于正常使用,即,一旦网络已经设立,并且如果没有执行维护或测试,用户就不能访问cekm44。能够访问pfpm42的用户将无法访问来自网络安全性子系统的任何受保护信息,从而提高了解决方案的整体安全性和鲁棒性。

ler可以包括多个分组引擎,例如,用于工作(w)路径117的第一分组引擎63和用于保护(p)路径118的第二分组引擎64。分组引擎63、64可以分别包括连接到关联的密码引擎73、74的端口83、87。端口83、87可操作以执行时间戳记。端口83、87可以是知道根据ptp执行时间戳记的ieee1588。

分组引擎63、64可以分别包括分组交换机82、86。分组交换机82、86可操作以执行数据分组流的预成形。预成形可以包括扩大分组间间隙,以确保密码引擎73、74能将数据分组生长到分组间间隙中,并且因此对于所有分组保持相同的延迟,并且通过密码引擎73、74不改变分组顺序。预成形可以包括生成被插入到输出到密码引擎73、74的数据分组流中的虚设分组。虚设分组可以具有空节(emptysection),所述空节可以由密码引擎73、74填充有控制信息。这允许由密码引擎73、74传送管理信道信息,而不需要由密码引擎73、74生成附加的分组。

分组引擎的中央处理单元81不仅可以作为虚设分组控制器(dpc)操作,而且可以分别执行附加功能,例如软件配置管理(scm)、操作和维护(oam)以及路径控制器。

ler的中央控制器60可以基于从pfpm42接收的分组引擎(pe)配置信息113分别对于多个分组引擎执行控制和/或管理功能。中央控制器60可以向pfpm42提供分组引擎(pe)通知114。中央控制器60可以将pe配置信息113运输到cpu81、85,以用于例如路径控制和/或虚设分组生成。

用于工作路径和保护路径的密码引擎73、74可以分别包括直接连接到分组引擎的端口94、104和网络面向的端口97、107。密码引擎73、74可以分别包括用于加密95、105和/或解密96、106的组件和/或用于认证的组件。密码引擎73、74可以分别包括物理随机数生成器91,其可以是量子随机数生成器(qrng)。密码引擎73、74可以分别包括密钥存储元件92。密码引擎73、74可以分别包括标识符存储元件93,其存储相应密码引擎的硬件标识符,例如网络中唯一的板id。

密码引擎73、74可以使用可编程的位窗口,所述可编程的位窗口从数据分组中选择位。这种机制能从业务流中标识数据分组,这些数据分组将由密码引擎处理。密码引擎可以使用查找表并将所选位与查找表中的信息进行比较,以确定是否要处理数据分组。

在网络进入时,具有相同标识符的分组将经由相同密钥和/或过程进行加密/认证,以便属于相同的数据流。在mpls中,这种数据流被称为双向标签交换路径对。在退出时—基于相同的机制—业务将被解密/标识。一般来说,流标识符能在每一跳改变。在mpls中,mpls标签能在每一跳改变。因此,位窗口和窗口内容必须被认为在进入或退出时是不同的。pfpm42和cekm44经由给cekm44功能馈送恰当的进入和退出标识符以及可选的辅助信息112来确保这一点。

mpls分组在分组引擎63处始发。数据分组经由数据链路117发送到密码引擎73。通过观察分组的预定义节并在本地查找表中找到模式,密码引擎73得到对于执行加密和/或认证必要的密钥和辅助信息。如果查找失败,数据分组将保持不受触动。在远程端处,密码引擎(现在处于解密模式)检查分组与其查找表的比较,以得到用于解密数据分组的相应密钥。

在相同引擎处具有相同位向量(例如,相同的板标识符)的数据分组使用相同的密钥加密,并且因而属于相同的数据流。在mpls中,这种数据流被称为双向标签交换路径,其可属于受保护的隧道。隧道标识符(隧道id)全局标识mpls隧道和加密连接。

加密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶ttl值,栈底标签)。这可阻止对于寻址中间跳的oam分组的匹配。这样,确保了必须不被加密的oam分组(例如跟踪路由)在中间跳保持不加密。

用于解密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶s位、栈底标签),以区分加密分组与未加密oam分组,例如跟踪路由。

下面将参考图8更详细地描述用于标签堆栈编码的示例。

cekm44和pfpm42经由安全信道111、112交换信息。该信息可用于在内容和位置中设立位窗口。对于一个受保护的隧道,pfpm42可以分别为工作路径和保护路径配置进入/加密和退出/解密引擎。对于每个业务方向都必须这样做。如果相同的密码引擎注意两个方向,则两个密码引擎在端点节点中必须配置用于每个双向隧道对。如果为两个方向提供单独的密码引擎,则四个密码引擎在一个端点节点中必须配置用于每个双向隧道对。通知接口111将警报或故障以及库存信息从cekm44提供给pfpm42。

通过经由配置接口112和警报/通知接口111,对于每个密码引擎,将最小配置数据从pfpm42发送到cekm44,在pfpm42和cekm44处的两个信息模型保持一致。在pfpm42执行mpls路径管理的情况下,利用对于端点节点和/或中间传输节点的所有必要信息来准备mpls隧道。这可能由最终用户在指定端点时触发。只有在已经接收到cekm44的肯定确认后,pfpm42才在分组引擎中应用该路径。

为了在附接的密码引擎中设立一致的操作,pfpm42可以经由实施以下步骤来控制设立加密的端到端路径的流程:

-当用户在pfpm中设立受保护的隧道时,经由选择端点并指定加密简档和中间跳约束,系统集中地自动路由最初模拟的工作和保护路径。由此,标识端点

-对于受保护的隧道,pfpm42提供对于配置用于工作路径和保护路径的进入/加密和退出/解密引擎所需的信息。对于每个业务方向都必须这样做。可以在每个端点节点中配置四个引擎,两个方向中的每一个配置两次。即使数据流在mpls-tp隧道之内加密,但未加密的外部标签在每一跳也改变。隧道id一方面能被pfpm42和分组引擎用作隧道的全局标识符,并且另一方面能被cekm44和密码引擎用作隧道的全局标识符

可以执行如下步骤:

步骤a:为了对于受保护隧道的一条路径配置所有密码引擎,在pfpm42和cekm44之间交换以下元组(tupel):全局引擎地址(即,密码引擎的硬件定义的标识符);隧道id;mpls标签;方向;和简档id。简档id可以标识一组辅助信息,如应该保持不被触动的业务类型

步骤b:当已经验证密码引擎的配置的成功应用时,可以将预成形参数配置应用于分组引擎,以确保分组流的恰当定时和排序

步骤c:在已经从cekm44接收到成功应用上述配置的肯定确认之后,pfpm42将该配置应用于分组引擎,以便由此设立路径;如果没有接收到肯定确认,则可以回滚(rollback)pfpm42中的模拟,并且不应用该配置

-记下(takedown)路径涉及相同确认,其中现在该路径将按从步骤c到步骤a的相反顺序记下。

由于数据流是在端到端上下文之内(在称为隧道的mpls-tp中)加密的,因此标签在每一跳都改变。特殊的全局信息实体被用于连接于此的pfpm和分组引擎,以及与cekm和相应的密码引擎的端到端或分段加密或网络安全连接。在mpls中,由安全域和操作/用户域都可以使用的全局信息实体可以标识隧道。这确保了跨跳的全局标识,意味着跨加密或网络安全性拓扑和mpls拓扑。

pfpm42可以利用它们的标签交换路径保存关于数据服务、伪线和隧道的信息。通过增加和减少mpls服务,网络信息模型中的项目可以被改变,并且必须与分组引擎和密码引擎保持一致。网络信息模型能直接经由数据链路113与分组引擎保持一致。网络信息模型能经由cekm44与相应的密码引擎保持一致。

为了说明,cekm44将确保在两端上对于标识的mpls双向隧道使用恰当的密钥以用于加密/解密。cekm44可以经由硬件定义的板id发现所有引擎。这是关于对pfpm42和cekm44都可用的密码引擎的唯一信息。板id或另一个硬件定义的标识符跨网络是唯一的,并且标识网络范围的各个密码引擎。在端到端双向隧道设立期间建立的隧道id充当用于网络安全性子系统(cekm和密码引擎)和分组流子系统(pfpm和分组引擎)的端到端连接的标识符。通过向cekm44提供全局引擎地址(板-id)和隧道-id、每个方向的mpls标签,pfpm42可以操纵加密,而没有干扰,并且除了可能的硬件定义的标识符之外,无需具有关于密码引擎的任何知识。与选择一组预定义引擎参数中的一个的简档id一起,交换板id、隧道id、mpls标签和方向完全确定了网络安全性子系统(即,cekm和密码引擎)的行为。

在cekm44已经经由接口112从路径管理功能接收到拓扑信息之后,密钥分发和其他必要的配置信息115可以由cekm44向下提供给用于工作路径或保护路径的相应密码引擎73、74。

这允许对mpls-tp和密码引擎操作进行一致处置。cekm和pfpm分别以集中式方式操作,而密码引擎的管理与分组引擎的管理解耦。

鉴于高可用性需求,可以提供两个密码引擎73、74,其中第一密码引擎73用于工作路径,而第二密码引擎74用于受保护隧道对的保护路径。两个接口可以连接到相应的中心卡,并且两个接口可以连接到网络的聚合层。经由专用逻辑链路115、116,密码引擎73、74连接到cekm44,潜在地与pfpm42并排。此外,每个引擎的前端接口可用于初始启动(bringup)。

分组在密码引擎73、74处就在已经离开分组引擎63、64之后被加密,或者在密码引擎73、74处就在进入分组引擎63、64之前被解密。可以经由如aes、des或三重des的标准化的加密/解密协议或者像blowfish、twofish、mars、rc6、rijndael和serpent的开放协议执行加密和解密。基于散列的消息认证使用标准化协议或开源计数器部分完成,标准化协议使用散列函数,如md5、sha-1、sha-2、sha-3。

为了实现线速加密的数据路径,例如,不扰动入局分组的定时或排序的线速密码引擎73、74可以为每个个体数据分组提供aes128/256位加密和解密。

为了执行分组加密/解密,密钥可以由cekm44经由接口115向下分发给密码引擎73、74。关于库存、警报和故障的通知可以经由接口116从密码引擎到cekm44完成。

cekm44可以维护被管理的密码引擎的列表。cekm44可以以可配置的间隔调度主密钥的更新。主密钥可以由cekm44生成。

由cekm44生成密钥和/或分发密钥可以使用常规机制来执行。

密码引擎活动、警报和通知可以由cekm44收集,并且可以被转发到pfpm42。

由用于工作路径或保护路径的密码引擎的wan面向的线路接口检测到的光学数据连接的故障可以被传播到相应的节点面向的接口94、104。这将业务丢失信息传播到分组引擎63、64的接口83、87。当接收到链路丢失信号时,分组引擎63、64可以触发业务切换。

信号丢失可以由实现wan面向的线路接口的小型可插拔(sfp)装置检测到,并且可以经由物理输入信号发信号通知给密码引擎73、74。然后可以标识朝向分组引擎63、64的匹配路径117、118,并且可以指示对应的spf装置经由专用物理信号关闭传输信号。

为了监测数据流的健康状况,可以发送附加的分组流。附加的分组流可以与数据业务并排发送。可以使用以下两个选项:

-端到端监测分组像其他有效负载一样加密,因此它们共享相同的命运。特别地,被加密的这种监测分组可以像规则数据分组一样被处理

-另一方面,查验和跟踪路由消息可指示在中间跳处的问题,因此它们保持未加密。

如上所述,两个上面提到的选项能由密码引擎利用恰当配置的位窗口机制来标识。在mpls的情况下,能标识伪线id,并且能读取“生存时间”(ttl)字节。该ttl字节的预定义值或范围可用于区分两种使用选项,即,要加密/解密的端到端监测分组和保持未加密的查验和跟踪路由消息。

在mpls-tp中,可以以规则间隔发送附加的oam/双向转发检测(bfd)监测分组流,以进行连续性检查。这些分组像其他有效负载一样加密,因此它们共享相同的命运。其他oam分组(如查验和跟踪路由消息)充当用于中间节点故障的检测机制,并且保持未加密,以允许中间点发信号通知它们的可用性。

如上所述,oam消息由密码引擎73、74利用恰当配置的位窗口机制来标识。位窗口机制可以寻找标签13(栈底标签)。经由设置特定的ttl值或范围,能区分“连续性检查”的模式和/或“调试模式”,并且密码引擎相应地知道oam分组是否要加密。

密码引擎73、74可以是非拓扑感知的和非时间感知的。密码引擎73、74不需要具有正在设立的路径的任何知识。密码引擎73、74不需要具有时间戳记信息和/或任何时间戳记协议的任何知识。为了确保分组排序和相对定时不受由密码引擎73、74执行的(一个或多个)网络安全性功能的影响,业务可以在它离开分组引擎63、64并进入密码引擎73、74之前被预成形。由此,有可能确保,与分组进入密码引擎之前的位置相比,分组在数据流中的位置不受扰动。这确保在端口83、87处的分组的时间戳记在通过密码引擎73、74时仍然有效。

当密码引擎73、74执行加密时,向每个数据分组添加序列号,将长度例如增加了8字节,如将参考图4所解释的。当密码引擎73、74执行认证时,添加了用于消息认证码的附加16字节,如将参考图5所解释的。为了确保分组流中没有改变,分组引擎63、64保持分组间间隙中的字节数足够大。这补偿了当由密码引擎73、74将向分组添加字节时所需的分组长度的增加。预成形可以由分组引擎63、64执行,由此消除了分组的顺序和相对定时被密码引擎73、74改变的风险,所述密码引擎73、74是非时间感知的,并且其被放置在网络的时间戳记上下文之外。

图4和图5图示了密码引擎73、74当对从分组引擎63、64接收的数据分组120执行加密和/或认证操作时的操作。分组引擎63、64已经将分组间间隙129扩大到例如36字节的值。数据分组120可以是未加密的mpsl数据分组。数据分组120可以包括前导码和起始帧定界符(sfd)121。数据分组120可以包括目的地地址媒体访问控制(mac)地址122。数据分组120可以包括源地址媒体访问控制(mac)地址123。数据分组120可以包括mpls标签交换路径(mplslsp)124。数据分组120可以包括mpls伪线(mplspw)125。数据分组120包括未加密的伪线有效载荷126。数据分组120可以包括帧检查序列(fcs)127。

图4图示了加密数据分组130,其起因于密码引擎73、74当应用于数据分组120时的加密操作。加密代码131可以被添加包含在加密数据分组130中。加密数据分组130包括加密的有效载荷132,加密的有效载荷132可以从mplspw125和pw有效载荷126生成。加密的有效载荷132可以定义加密的服务数据。

加密使得加密数据分组130的大小超过其未加密的副本120的大小。然而,分组间间隙129由分组引擎63、64扩大,使得与未加密数据分组120相比,加密数据分组130的大小的增加不超过扩大的分组间间隙129。密码引擎63、64将数据分组生长到扩大的分组间间隙129中,但不超过扩大的分组间间隙129。在连续加密数据分组之间可以保持有限的分组间间隙138。为了说明,当加密代码131具有8个字节时,分组间间隙138可以具有28个字节。

图5图示了具有认证的加密数据分组135,该认证起因于密码引擎73、74在应用于数据分组120时的加密操作和认证操作。认证代码133可以被包含在加密数据分组135中。加密的有效载荷132和认证代码133可以定义加密的服务数据。

加密和认证使得具有认证的加密数据分组135的大小超过其未加密的副本120的大小。然而,分组间间隙129由分组引擎63、64扩大,使得与未加密数据分组120相比,具有认证的加密数据分组135的大小的增加不超过扩大的分组间间隙129。密码引擎63、64将数据分组生长到扩大的分组间间隙129中,但不超过扩大的分组间间隙129。在具有认证的连续加密数据分组之间可以保持有限的分组间间隙139。为了说明,当认证代码133具有16个字节时,分组间间隙139可以具有12个字节。

除了增加分组间间隙大小之外,分组引擎63、64可以生成虚设分组,并且可以将虚设分组插入到提供给密码引擎73、74的数据分组流中。密码引擎73、74可以使用虚设分组将控制信息插入其中。这消除了对于密码引擎73、74生成新分组并将其插入到业务中的需要。而是,由分组引擎63生成的现有虚设分组可以由密码引擎73、74填充有控制信息,如将参考图10所解释的。

图10是密码引擎73的框图表示。关联的分组引擎可以生成虚设分组241,以便插入到数据流中。虚设分组241可以被生成,使得它们不包括有效载荷数据,而仅仅提供包括在由密码引擎73接收的预成形数据业务中的分组,密码引擎73能使用这些分组将控制数据插入其中,例如用于加密密钥交换。分组引擎63将虚设分组241插入到数据流(即,包括有效载荷数据的数据分组序列)中。虚设分组214可以是scc分组。

流中的虚设分组241的至少一部分可以被填充并由密码引擎73用于管理信道传输。

密码引擎73可以包括装置242,所述装置242用来在密码引擎73需要生成用于诸如加密密钥交换之类的管理信道传输的控制分组时,向控制器243或其他集成半导体电路提供虚设分组241。装置242可以从入局的预成形数据业务中选择虚设分组。为此,密码引擎73可以扫描每个分组报头,并且将虚设分组与包括有效载荷数据的规则数据业务区分开来。

可以通过密码引擎73从预成形数据业务中移除对于管理信道传输不需要的虚设分组241。

控制器243可以利用管理信道相关控制数据(特别地与加密和/或认证相关的控制数据)填充虚设分组241中的至少一部分。例如,控制器63可以使用虚设分组241中的至少一些进行加密密钥交换。通过利用安全性相关管理信道控制数据填充虚设分组241中的至少一部分,生成控制分组244。装置242可以将控制分组244在虚设分组241的位置处重新插入到预成形数据业务中。

图6是lsr160的框图,其示出了传输业务。网络10的多个lsr55、56、57、58中的每一个都可以具有如参考图6所解释的配置。对于lsr情况,数据分组可以在lsp路径中传输四个密码引擎实例。

lsr140可以包括第一分组引擎141和第二分组引擎142。当lsr140是mpls路径的中间跳时,第一分组引擎141和第二分组引擎142都可以被使用。然而,分组交换机(其通常如对于图3中的分组交换机82、86所解释的那样配置和操作)可以处于待机操作,并且可以仅充当端口转发器。

lsr140可以包括多个密码引擎162、164、165、166。

第一分组引擎141可以具有端口a151和端口b152。第二分组引擎142可以具有端口a153和端口b154。密码引擎143可以具有端口a155和端口b156。密码引擎146可以具有端口a157和端口b158。

在密码引擎146的端口a157处接收到的来自接口109的业务可以经由密码引擎146的端口b158流过密码引擎146到达第二分组引擎142的端口b154。第二分组引擎142可以具有仅向第一分组引擎141转发数据分组的分组交换机。第一分组引擎141可以经由端口a151向第一密码引擎143的端口a155输出数据业务。业务流可以经由密码引擎143的端口b156输出到接口108。

应当领会,一个节点能工作在混合ler和lsr模式下。因此,在lsr的分组引擎141、142和密码引擎143、144、145、146与ler的分组引擎和密码引擎之间存在一对一的对应关系。从而,例如,当节点在ler模式下操作时,密码引擎144、145可以针对与密码引擎143、146相比的反向流向执行加密/解密和/或认证操作。

当节点在lsr模式下操作时,密码引擎143、146可以使用位窗口机制来确定加密的数据分组是否要被解密。对于加密的端到端路径,lsr140被设立,使得密码引擎143、146不在双向数据路径的中间跳处解密加密的数据分组。用于解密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶s位、栈底标签),它们用来区分加密分组与未加密oam分组,例如跟踪路由。像查验和跟踪路由消息的oam分组可以充当用于中间节点故障的检测机制,并且保持未加密,如由适当配置的位窗口所指示的。

图7是ler160的框图。网络10的多个路由器53、54中的每一个可以具有如参考图7所解释的配置。mpls业务和加密会话都可以在ler160处开始。

ler160可以包括用于工作(w)路径的第一分组引擎(pe)161和用于保护(p)路径的第二分组引擎162。在第一分组引擎161中为工作路径提供隧道开始181。在图7中由虚线指示的保护流182可以在第一分组引擎161处开始。

ler160可以包括多个密码引擎163、164、165、166。

ler160可以包括线路卡168。线路卡168可以具有端口169。

第一分组引擎161可以具有端口a171和端口b172。第二分组引擎162可以具有端口a173和端口b174。密码引擎163可以具有端口a175和端口b176。密码引擎166可以具有端口a177和端口b178。密码引擎163和166对双向隧道对执行针对第一方向的加密和/或认证。可以连接到与密码引擎163相同的第一分组引擎161的相应关联的密码引擎164和可以连接到与密码引擎166相同的第二分组引擎162的密码引擎165可以对双向隧道对执行针对与第一方向相反的第二方向的解密和/或认证。

来自线路卡168的业务可以由第一分组引擎161经由端口a171提供给密码引擎163的端口a175。密码引擎163可以执行加密和/或认证。每个数据分组的重要部分由其加密的副本替换。加密业务经由密码引擎163的端口b176输出到接口108。

保护路径可以延伸通过第二分组引擎162。业务可以经由分组引擎162的端口b174输出到密码引擎166的端口b178。密码引擎166可以执行加密和/或认证。保护路径的业务可以经由密码引擎166的端口b输出到接口109。

密码引擎163、166可以使用位窗口机制来确定哪些数据分组将被加密。用于加密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶ttl值,栈底标签)。

密码引擎164、165可以使用位窗口机制来确定哪些数据分组将被解密。用于解密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶s位、栈底标签),它们区分加密分组与未加密oam分组,例如跟踪路由。

图8图示了表示例如根据rfc3032的标签堆栈编码的数据190。示范性数据包括标签值、栈底位和生存时间(ttl)。密码引擎可以使用可编程的位窗口来配置,以确定数据分组是否将由相应的密码引擎处理,或者数据分组是否将保持不被触动。为了说明,用于加密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶ttl值,栈底标签)。用于解密查找的位模式可以包含栈顶标签(路径标识符)和附加位(栈顶s位、栈底标签),它们用来区分加密分组与未加密oam分组,例如跟踪路由。

利用位窗口机制,能通过密码引擎标识执行业务健康状况监测的不同选项。为了说明,能标识伪线id,并且能读取“生存时间”(ttl)字节。该ttl字节的预定义值或范围可用于区分要加密/解密的端到端监测分组和保持未加密的查验和跟踪路由消息,它们分别用于业务健康状况监测。

图9是图示用于网络10的管理功能的层级的框图。pfpm42控制分组流。cekm44控制加密路径(即,网络安全路径的端点节点和中间节点处的密码引擎)并提供相应的密钥。网络10可以包括多个ler201、202、203、204,各包括分组引擎211、212、213、214和密码引擎221、222、223、224。虽然在图9中仅图示了一个分组引擎和一个密码引擎,但是应当领会,如前所解释的,每个ler可以包括多个分组引擎和多个密码引擎。为了说明,每个ler201、202、203、204可以分别包括用于工作路径和保护路径的两个分组引擎,以及用于工作路径和保护路径的两个方向的四个密码引擎。

cekm44可以从密码引擎接收硬件定义的标识符233。例如,硬件定义的标识符233可以是板标识符。每个密码引擎可以具有在网络中唯一的硬件定义的标识符。硬件定义的标识符可以经由接口232提供给pfpm42。

可以执行如下控制步骤:

步骤a:cekm44和pfpm42可以分别对于每个路径交换以下元组231、232:

i.硬件定义的标识符(即,全局引擎地址)

ii.隧道id,

iii.mpls标签,

iv.方向,

v.简档id。

简档id可以标识一组辅助信息,如应该保持不被触动的业务类型。

步骤b:当已经验证了密码引擎配置的成功应用时,pfpm应用预成形参数配置234以确保分组流的恰当定时和排序。预成形参数配置234可以被提供给分组引擎的虚设分组控制器215、216。

步骤c:在已经接收到预成形参数配置已经成功应用的肯定确认之后,pfpm42将路径配置235应用于分组引擎。如果预成形参数配置尚未成功,则pfpm42中的模拟可以回滚,并且该配置可以不被应用。

记下路径涉及相同的确认。该路径按从步骤c到步骤a的相反顺序被记下。

图11是根据实施例的方法250的流程图。

在步骤251处,可以使用中央cekm来控制与相应分组引擎分开提供的多个密码引擎。控制多个密码引擎可以包括向密码引擎提供用于加密的密钥。控制多个密码引擎可以包括由cekm依靠由pfpm设立的路径配置可编程的位窗口。

在步骤252处,与分组引擎分开提供的密码引擎可以执行至少一个网络安全性相关功能。网络安全性相关功能可以包括加密/解密。网络安全性相关功能可以包括认证。

图12是根据实施例的方法260的流程图。根据实施例,方法260可以由cekm执行。

在步骤261处,cekm可以向pfpm提供密码引擎的硬件标识符。cekm可以不向pfpm提供除此该库存信息之外的关于网络安全性系统的信息。

在步骤262处,cekm可以从pfpm接收关于路径的信息或拓扑信息。例如,关于路径的信息可以包括隧道id、mpls标签或标签堆栈以及方向。

在步骤263处,cekm可以经由安全协议与所有密码引擎通信以用于配置密码引擎。配置密码引擎可以包括对由密码引擎使用的可编程的位窗口进行编程,以便确定数据分组是否要经受网络安全性功能。

在步骤264处,cekm可以在网络操作期间从密码引擎接收通知。cekm可以向pfpm提供警报。

根据实施例的方法、装置和系统提供了安全通信和线状确定性,即使在通过复杂网状网络传输时也是如此。

虽然已经参考附图解释了示范性实施例,但是在其他实施例中可以实现修改和变更。所述方法、装置和系统可以用于mpls网络,而不限于此。

根据实施例的方法、装置和系统可以用于确定性地跨复杂和网状网络拓扑传输加密和认证的数据分组。对于这些诸如mpls-tp网络之类的网络,提供了受保护的端到端隧道与它们相应的网络安全冗余数据链路端点(即,密码引擎)的一致关联。出于安全性原因,这两个子系统保持强分离,但仍然可以同步。动态协议可用于支持严格受限的信息交换。这使两个冗余系统在网络操作的所有标准和异常状态期间都彼此保持一致。

虽然将描述其中执行端到端加密和/或认证的实施例,但是本文公开的技术也可以用于沿着端到端路径的分段的加密和/或认证。

所述方法、装置和系统不需要分组添加,并且允许在加密步骤期间对于所有分组保持相同的延迟。密码引擎对于向流添加数据分组的潜在需求通过由与密码引擎分开的分组引擎添加虚设分组来规避。当需要时,能在分组引擎中扩大分组间间隙,以便避免最终来自于密码引擎控制分组交换需求的任何扰动。

本发明的实施例增强了像mpls这样的协议,以便实现网络安全。

如本领域技术人员将理解的,本文公开的实施例是为了更好地理解而提供的,并且仅仅是示范性的。在不脱离如由权利要求书所限定的本发明范围的情况下,技术人员将会想到各种修改和变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1