密码引擎的聚集的制作方法

文档序号:7909012阅读:121来源:国知局
专利名称:密码引擎的聚集的制作方法
密码引擎的聚集
背景技术
隧道传输协议可用于保护数据流量通过不安全网络和/或携带数据流量通过不兼容网络。虚拟专用网络(VPN)可以使用隧道传输协议来保护不同位置间的通信以使得不同网络位置看起来处于同一网络上。隧道的传统实施例已经将单个网络卡的单个端口用于跨越不安全网络的不同网络位置之间的通信。然而,单个端口可能具有有限带宽并因此限制可通过虚拟隧道传送的数据量。常规实施例聚集(aggregate)若干个物理以太网链路 (例如,第1层链路)来创建单个逻辑以太网链路。这允许由单个虚拟隧道使用多个数据端口以克服单个数据端口的带宽限制。对多个数据端口的使用允许了虚拟隧道带宽的增大。 例如,与使用具有10千兆比特每秒((ibit/s)的数据传输速率的单个端口的隧道相比,使用 4个10千兆比特每秒端口的虚拟隧道可以具有40千兆比特每秒的数据传送速率。当需要对数据分组加密来通过穿过网络的隧道传送数据时,可能遇到额外的数据传送限制。由于越来越多地使用需要由与网络交换机相关联的处理器进行的加密的VPN,此加密引擎数据传送限制在网络中越来越普遍。另外,随着计算能力提高,加密处理的复杂度提高以防止更快代码破解计算机的代码破解。例如,曾经需要40比特加密密钥的加密软件现在可能需要上千比特的密钥。更长的密钥防止现代代码破解计算机危及加密的安全。这些更长的密钥增大了与网络交换机相关联的处理器上的负荷。行进经过一端口及其相关联的网络交换机的数据分组可以由有限速度的(一个或多个)处理器来处理。与网络交换器相关联的(一个或多个)处理器可以不以该端口的数据传送速率进行加密和/或解密。例如,一端口可能具有10千兆比特每秒的传送速率, 但是卡的处理器可能仅能够以1千兆比特每秒来加密或解密数据流量。因此,网络交换机的加密和解密速度可能成为经由虚拟隧道传送的数据的瓶颈。


被并入说明书中并构成说明书的一部分的附示出各种示例系统、方法以及本发明各方面的其他示例实施例。将理解,图中所图示出的要素边界(例如,方框、方框的群组或其他形状)代表边界的一个示例。本领域普通技术人员将理解,在某些示例中,一个要素可以被设计为多个要素或者多个要素可以被设计为一个要素。在某些示例中,被示出为另一要素的内部组件的要素可被实现为外部组件,反之亦然。此外,要素可能不是按比例绘制的。图1图示出与多个密码引擎(cryptography engine)的聚集相关联的示例装置。图2图示出与密码引擎的聚集相关联的示例装置。图3图示出与密码引擎的聚集相关联的示例装置。图4图示出与密码引擎的聚集相关联的示例环境。图5图示出与密码引擎的聚集相关联的示例方法。图6图示出与密码引擎的聚集相关联的示例方法。图7图示出与密码引擎的聚集相关联的示例方法。
图8图示出其中示例系统和方法以及等同物可以操作的示例计算环境。
具体实施例方式在过去,网络交换机上单个数据端口的带宽限制一直是对虚拟隧道的限制因素。 然而,比如Ethercharmel 之类的系统通过多个端口在虚拟隧道上聚集流量,从而实现了比单个端口更高的数据传送速率。聚集可以指链路聚集。链路聚集是在计算机联网中用来描述并行地使用多个以太网网络端口以逾越任一单个端口的限制来增大数据传送速度的术语。在传送安全数据时,网络交换机的加密和解密处理速度可能也是限制因素(例如,瓶颈)。网络交换机可能在其处理能力方面受限并且可能不能够像数据传送速率那样快地加密或解密数据。基于加密和解密速度的数据流量的聚集同样可能化解瓶颈并提高需要数据安全性的安全网络的速度。聚集或分裂不同网络交换机间的数据隧道的网络流量通过在引擎之间分裂流量而促进了并行的加密和解密处理。并行处理涉及使用位于不同网络交换机上的多个加密引擎的加密和解密。链路聚集可允许在两个或更多个网络交换机(例如,流出(outbound)交换机)和 (一个或多个)其他网络交换机(例如,(一个或多个)流入(inbound)交换机)之间的多个物理网络链路(例如,第1层链路)被视为单个逻辑链路。可用数据链路和/或处理器间的数据流量和/或加密处理的负荷平衡可以包括基于散列函数(hash function)来选择链路。安全关联(SA)包括与加密和解密相关联的密码信息。为了帮助共享密码引擎,可能需要用于选择SA的方法。因此,安全关联同样可作为散列函数的函数而被选择。散列函数可对正经由虚拟隧道传送的数据分组的要素进行散列。数据分组的要素可以是安全参数索引(SPI)、媒体访问控制地址(MAC)、因特网协议(IP)地址等。IP地址例如可以在数据分组与群组加密传输虚拟专用网络(GetVPN)相关联时被采用。散列函数可以随机地分发数据分组,以使得用于逻辑链路的实际网络速度或有效带宽等于各个物理链路(例如,端口)的带宽的和。基于散列函数的分发(辅助了带宽聚集)可以使得实际加密/解密速度等于密码引擎的加密/解密速度的和。在一个流出示例中,密码引擎的聚集包括接收将通过不安全网络发送的流出数据分组。聚集可以描述并行地使用多个网络交换机及其相关联的处理器来加密和解密数据流量,以逾越单个网络卡及其(一个或多个)相关联处理器的限制来提高数据传送速度。流出数据分组可能需要来自密码引擎的加密。流出数据分组可以从数据连接的流出侧上的经聚集的密码虚拟群组(aggregated crypto virtual group, ACVG)接收。ACVG可以与分发数据以聚集带宽相关联。一逻辑可以分析流出数据分组以确定用于将流出数据分组选择性地分发(例如,负荷平衡)到多个加密引擎之一的分发值。该分发值可利用散列函数来确定。将流出数据分组选择性地分发到多个加密引擎之一可以允许数据分组的并行加密并因此允许密码引擎的聚集。经加密的流出分组可跨越数据连接而被发送。在一个流入示例中,经聚集的密码引擎可以在数据连接的流入侧上接收流入数据分组。流入数据分组可以是由数据连接的流出侧上的网络交换机发送的经加密的数据分组。一逻辑可以检查经加密的流入数据分组的标识符。标识符可以是SPI、MAC地址等。可以对标识符执行散列函数。散列函数的结果可被用来将数据分组选择性地分发到多个流入处理器之一并因此分发到多个密码引擎之一。将流入数据分组分发到多个流入处理器之一可以允许数据分组的并行解密并因此允许由流入处理器实现的密码引擎的聚集。以下包括这里使用的所选术语的定义。定义包括落入术语范围内并且可被用于实现的组件的各种示例和/或形式。示例并非意欲进行限制。术语的单复数形式都可以在定义范围以内。提到“一个实施例”、“实施例”、“一个示例”、“示例”等,指的是这样描述的(一个
或多个)实施例或(一个或多个)示例可以包括特定特征、结构、特性、属性、要素或限制, 而不是每个实施例或示例都必须包括特定特征、结构、特性、属性、要素或限制。另外,对短语“在一个实施例中”的重复使用不一定指的是同一个实施例,尽管可能是这样。图1图示出与聚集密码引擎相关联的装置100。装置100可以与硬件设备的流出侧相关联。装置100可以包括用于接收与经聚集的密码虚拟群组(ACVG)相关联的数据分组115的接收逻辑110。ACVG可以与在分布式转发体系结构中分发数据以聚集带宽相关联。ACVG可以聚集若干条物理链路(例如,第1层链路)以创建单个逻辑链路。在一个示例中,物理链路可以是以太网链路,尽管本领域技术人员理解可以采用其他的物理链路。这帮助由单个虚拟隧道来使用多个数据端口以克服单个数据端口的带宽限制。在另一示例中,ACVG可以聚集多个加密引擎以允许数据流量的并行加密和解密处理。这帮助提高通过虚拟隧道的加密的速度。装置100还可以包括用于生成与数据分组115相关联的散列值的散列逻辑120。 这里关于图1、2和3使用的“逻辑”包括但不限于硬件、固件、在机器上执行的软件和/或它们的组合,用于执行(一个或多个)功能或(一个或多个)动作和/或用于促成来自另一逻辑、方法和/或系统的功能或动作。逻辑可以包括由软件控制的微处理器、离散逻辑(例如 ASIC)、模拟电路、数字电路、编程逻辑器件、包含指令的存储设备等等。逻辑可以包括一个或多个门电路、门电路的组合或者其他电路组件。在描述了多个逻辑上的(logical)逻辑的情况下,可能能够将这多个逻辑上的逻辑合并到一个物理的逻辑中。类似地,在描述了单个逻辑上的逻辑的情况下,可能能够在多个物理的逻辑之间分发该单个逻辑上的逻辑。散列值可以基于数据分组115的要素。数据分组115的要素可以是安全参数索引(SPI)。SPI 是在将因特网协议安全性(IPkc)用于隧道传输IP流量时被添加到头部的标识标签。散列值可以通过如下的散列函数来生成该散列函数将数据分组115的要素变为可用作用于分发数据分组115的索引的相对小的整数(例如,散列值)。装置100还可以包括用于存储一组散列值和多个密码引擎135之间的一组映射的流出映射数据存储库130。这里使用的“数据存储库”指代能够存储数据的物理和/或逻辑实体。数据存储库例如可以是数据库、表、文件、列表、队列、堆、存储器、寄存器等。在不同示例中,数据存储库可以驻留在一个物理和/或逻辑实体中和/或可以分布在两个或更多个物理和/或逻辑实体之间。装置100还可以包括用于至少部分地基于散列值和这组映射来将数据分组115选择性地分发到多个密码引擎135之一的分发逻辑140。密码引擎145然后可以加密数据分组115以供跨越与ACVG相关联的数据连接150的安全分发。对数据分组115的选择性分发可以实现多个密码引擎135之间的对数据分组115的加密的负荷平衡。散列值可被用来在多个密码引擎135之间均等地和/或以某种其他方式分发数据分组115。这使得不同的密码引擎执行总体处理的一些部分。多个密码引擎被均等地和/或以另一种方式使用是加密负荷平衡的示例。在一个实施例中,接收逻辑110、散列逻辑120、分发逻辑140等被包含在Kherchannel (以太信道)逻辑中。在一个实施例中,装置100可以包括用于创建一组安全关联(SOSA)的聚集逻辑 160。SOSA实现联网设备之间通过与数据连接150相关联的多个信道的安全通信。安全关联(SA)是对安全参数的逻辑上的群组划分,安全参数包括密码密钥、初始化向量、数字证书等。在一个实施例中,SA用于在两个网络之间共享安全信息。在该实施例中,数据分组包括安全参数索引(SPI)头部,该SPI头部包括在不同数据流量流的SOSA之间进行区分的信息。SPI包括用于针对数据流量流识别数据加密规则和数据验证规则的数据。在一个实施例中,聚集逻辑160用于控制经加密的第3层(U)交换帧在数据连接 150上的传输。经加密的L3交换帧可以是由多个密码引擎145之一来加密的。L3交换帧可以包括数据有效载荷和安全参数索引(SPI)头部。L3网络协议是定义用于实现七层协议的联网架构的开放系统互连(OSI)模型的一部分。该模型中的控制从一层被传递到下一层,在第七层处开始并且前进到第一层。从第七层到第一层是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。L3层是网络层。在一个实施例中,数据连接150可以是与虚拟专用网络(VPN)相关联的隧道(例如,虚拟隧道)。隧道可以使用第2层隧道传输协议(L2TP)和/或因特网协议安全性 (IPSec)。隧道可以是通过网络170连接两个网络的虚拟隧道。图2图示出与密码引擎的聚集相关联的装置200。装置200包括用于接收与ACVG 相关联的加密数据分组215的多个接收输入端口(RIP)210。装置200可以包括用于存储在散列值和解密引擎之间的一组映射的流入映射数据存储库220。存储在流入映射数据存储库220中的数据可以决定将加密数据分组215发送到哪个解密引擎以进行解密。可以使用多个解密引擎235以提高通过虚拟隧道行进的数据的加密和/或解密速度。这样,解密引擎235可被聚集。这可以通过并行处理来完成。在一个实施例中,解密引擎用于基于与安全参数索引(SPI)相关联的信息来对加密数据分组215进行解密。装置200可以包括检查逻辑230。检查逻辑230可以至少部分地基于加密数据分组215中的要素来确定加密数据分组215的散列值。在一个实施例中,确定散列值所基于的加密数据分组215的要素是安全参数索引(SPI)。检查逻辑230可以至少部分地基于散列值和存储在数据存储库220中的映射将加密数据分组215从多个RIP 210之一选择性地分发到多个解密引擎235之一。本领域技术人员将认识到可以加密仅一部分的数据分组。例如,数据分组215的头部可以不被加密以允许头部通过网络来传递数据分组215。多个RIP 210可位于网络卡和/或网络交换机上。 RIP 210可以是将网络卡和/或网络交换机连接到外部网络的端口。在一个实施例中,装置200包括用于创建在散列值和多个解密引擎235之间的一组映射的映射逻辑250。映射逻辑250将在散列值和多个解密引擎235之间的这组映射提供给流入映射数据存储库220。可通过使用不同的安全关联来使反重放(anti-replay)攻击无效。不同的安全关联可作为散列的函数而被选择。在一个示例中,安全关联可具有其自己的反重放窗口。图3图示出与密码引擎的聚集相关联的示例装置300。装置300可以包括与图1 的装置100和图2的装置200相类似的元件。数据连接302可以是通过如因特网之类的网络304行进的虚拟专用网络(VPN)的隧道。装置300包括用于接收与ACVG相关联的加密数据分组的多个接收输入端口 (RIP) 310。装置300可以包括用于存储在散列值和解密引擎335之间的一组映射的流入映射数据存储库320。装置300可以包括检查逻辑330。检查逻辑330可以至少部分地基于加密数据分组的要素来确定加密数据分组的散列值。检查逻辑330还可以至少部分地基于散列值和流入映射数据存储库320中的映射将加密数据分组从多个RIP 310之一选择性地分发到多个解密引擎335之一。RIP 310可以类似于图2中的RIP 210。流入映射数据存储库320可以类似于图2中的流入映射数据存储库220。检查逻辑330可以类似于图2中的检查逻辑 230。装置300还可以包括用于接收与数据连接302的流出侧上的ACVG相关联的数据分组的接收逻辑340。装置300还可以包括用于生成与数据分组相关联的流出散列值的散列逻辑350。流出散列值是基于要加密并发送的数据分组中的要素的。装置300还可以包括用于存储在一组散列值和多个密码引擎365之间的一组映射的流出映射数据存储库360。映射例如可以由映射逻辑250来提供。因此,在一个示例中, 装置300还可以包括映射逻辑250。装置300还可以包括至少部分地基于流出散列值将数据分组选择性地分发到多个密码引擎365之一的分发逻辑370。密码引擎可将数据分组加密成加密数据分组以供跨越与ACVG相关联的数据连接302进行安全分发。接收逻辑340可以类似于图1中的接收逻辑110。散列逻辑350可以类似于图1中的散列逻辑120。流出映射数据存储库360可以类似于图1中的流出映射数据存储器130。分发逻辑370可以类似于图1中的分发逻辑 140。图4图示出与密码引擎的聚集相关联的示例环境400。示例环境400包括流出网络交换机410和流入网络交换机430。流出网络交换机410和流入网络交换机430可位于不同的物理位置并且经由网络450彼此进行通信。流出网络交换机410可以包括用于对通过网络450传递到流入网络交换机430的数据分组进行加密的加密引擎420。流入网络交换机430可以包括用于对通过网络450从流出网络交换机410传递来的数据分组进行解密的解密引擎440。虚拟隧道460可以通过网络450传送数据分组。虚拟隧道460可以与虚拟专用网络(VPN)相关联。虚拟隧道460可以允许用户查看VPN上的数据就好像数据是在同一物理网络(例如,同一物理位置)上一样。然而,数据可能实际上在另一网络上。例如,在流入网络交换机430(例如,用户网络交换机)上的用户看来,流出网络交换机410上的数据可以就好像驻留在流入网络交换机430上一样。即使网络450位于流出网络交换机410 和流入网络交换机430之间,该情况也发生。可以对通过网络450行进的数据分组无缝地 (seamlessly)执行加密和数据验证。例如,可以在用户未请求的情况下,或者在用户不知道的某些情况下,在后台执行加密和数据验证。数据验证可以包括校验并证实数据在经过网络450时未被改变。可以参考流程图来更好地理解示例方法。虽然出于简化说明的目的,所图示的方法被示出并描述为一系列块,但是应理解,方法不受块的顺序限制,因为某些块可能按不同顺序发生和/或与所描述并示出的块中的其他块同时发生。此外,可能需要比所图示的块更少的块来实现示例方法。块可以被组合或分离到多个组件中。此外,附加和/或替代方法可采用附加的未图示出的块。以下的详细描述的某些部分是按照对存储器中的数据比特的操作的算法和符号表示而呈现的。这些算法描述和表示被本领域技术人员用来向他人传达其工作的实质。算法在这里并且在一般意义上被认为是产生结果的操作序列。操作可以包括对物理量的物理操纵。通常(尽管并非必要),物理量采用能够被存储、传送、组合、比较、或者以其他方式在逻辑上被操纵等的电或磁信号的形式。物理操纵产生具体的、有形的、有用的、实际的结果。这里使用的“信号”包括但不限于电信号、光信号、模拟信号、数字信号、数据、计算机指令、处理器指令、消息、比特、比特流或者能够被接收、发送和/或检测的其他手段。主要出于通用的原因,将这些信号称作比特、值、要素、符号、字符、项、数字等不时被证明是方便的。然而,应记住,这些术语以及类似术语将与合适的物理量相关联并且仅仅是应用于这些量的便利标签。除非特别说明,否则应理解,贯穿整个说明书,包括处理、计算、确定等在内的术语指代计算机系统、逻辑、处理器或操纵并变换被表示为物理(电子) 量的数据的类似电子设备的动作和处理。图5图示出与加密引擎的聚集相关联的方法500。方法500可以包括在510接收流出数据分组。流出数据分组可以是来自数据连接的流出侧上的经聚集的密码虚拟群组 (ACVG)的。方法500还可以包括在520分析流出数据分组。可以执行在520处的分析流出数据分组来确定分发值。分发值可以是对流出数据分组中的要素执行的散列函数的结果。散列函数的结果可以是可用来分发流出数据分组的索引。在一个实施例中,分发值是基于流出数据分组中的要素的第一散列值。标识符可以被散列函数处理以产生第二散列值。第一散列值将流出数据分组映射到流出处理器。第二散列值将流入数据分组映射到流入处理器。散列函数可以至少部分地基于SPI来生成散列值。方法500还可以包括在530至少部分地基于分发值将流出数据分组选择性地分发到多个流出处理器之一。流出处理器可以是在流出数据分组经过不安全网络之前对其进行加密的加密引擎。可以执行向流出处理器的选择性分发以在多个加密引擎之间对加密处理进行负荷平衡,从而允许对多个数据分组的并行处理。这提高了网络的有效数据加密速度并提高了网络速度。在一个实施例中,流出处理器用于对流出数据分组进行加密以供跨越数据连接进行安全传输。方法500还可以包括在540发送流出数据分组。流出数据分组可以是经过了对流出数据分组进行加密的流出处理器的处理的。流出数据分组可跨越数据连接而被发送。数据连接可以是需要加密来维护数据保密性的不安全数据连接。在一个实施例中,数据连接是VPN。VPN可以利用虚拟隧道来跨越不安全网络无缝地传送数据。方法500还可以包括在550接收流入数据分组。可以在550处在数据连接的流入侧上接收流入数据分组。方法500还可以包括在560检查流入数据分组。可以在560检查流入数据分组的标识符。标识符可以是SPI、头部、数据分组的片段等。标识符可被散列函数用来确定可用作分发索引的散列值。方法500还可以包括在570选择性地分发流入数据分组。在570处的选择性地分发流入数据分组可以涉及至少部分地基于标识符和/或分发索引将流入数据分组分发到多个流入处理器之一。在一个实施例中,流入处理器用于对流入数据分组进行解密。虽然图5图示出串行发生的多个动作,但是应理解,图5中图示出的多个动作可以实质上并行地发生。为了说明,第一处理可以在510接收流出数据分组,第二处理可以在 530选择性地分发流出数据分组,第三处理可以在550接收流入数据分组,并且第四处理可以在570选择性地分发流入数据分组。虽然描述了四个处理,但是应理解,更多和/或更少数目的处理可被采用,并且轻型处理、正规处理、线程以及其他方法可被采用。在一个示例中,与执行方法相关联的可执行指令可被体现为编码在一个或多个有形介质中以供执行的逻辑。当被执行时,指令可以执行方法。因此,在一个示例中,编码在一个或多个有形介质中的逻辑可以存储如下的计算机可执行指令这些计算机可执行指令在被机器(例如处理器)执行的情况下使得该机器执行与密码引擎的聚集相关联的方法。虽然与上述方法相关联的可执行指令被描述为作为编码在一个或多个有形介质中的逻辑而被体现,但是应理解,与这里描述的其他示例方法相关联的可执行指令也可以被存储在有形介质上。这里使用的“有形介质”指存储信号、指令和/或数据的介质。有形介质可以采用包括但不限于非易失性介质和易失性介质的形式。非易失性介质例如可以包括光盘、磁盘等。易失性介质例如可以包括半导体存储器、动态存储器等。有形介质的常见形式可以包括但不限于软盘、挠性盘、硬盘、磁带、其他磁介质、专用集成电路(ASIC)、紧致盘CD、其他光介质、随机存取存储器(RAM)、只读存储器(ROM)、存储芯片或卡、存储棒,以及计算机、 处理器或其他电子设备能够从其进行读取的其他介质。图6图示出与密码引擎的聚集相关联的方法500的另一实施例。方法500的该实施例还可以包括在625建立流出映射。在625处建立流出映射可以包括在一组分发值和多个流出处理器之间建立映射。映射可以将与流出数据分组的散列函数相关联的索引映射到多个流出处理器。图7图示出与密码引擎的聚集相关联的方法500的另一实施例。方法500的该实施例还可以包括在765建立流入映射。在765处建立流入映射可以包括在一组标识符和多个流入处理器之间建立映射。映射可以将与散列函数相关联的索引映射到多个流入处理器。在一个实施例中,流出映射包括在多个流出处理器和流入映射的多个流入处理器之间
的一一对应关系。图8图示出这里描述的示例系统和方法以及等同物可在其中操作的示例计算设备。示例计算设备可以是包括通过总线808可操作地连接的处理器802、存储器804和输入 /输出端口 810的计算机800。“可操作的连接”或者实体被“可操作地连接”所凭借的连接是其中信号、物理通信和/或逻辑通信可被发送和/或接收的连接。可操作的连接可以包括物理接口、电接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体可被可操作地连接以直接地或通过一个或多个中间实体(例如,处理器、操作系统、逻辑、软件)向彼此传送信号。可以使用逻辑和/或物理通信信道来创建可操作的连接。在一个示例中,计算机800可以包括被配置为帮助密码引擎的聚集的分发逻辑830。在不同示例中,分发逻辑830可以用硬件、软件、固件和/或它们的组合来实现。虽然逻辑830被图示出为附接到总线808的硬件组件,但是应理解,在一个示例中,分发逻辑830可以在处理器802中被实现。因此,逻辑830可以提供用于生成与数据连接的流出侧上的流出数据分组相关联的流出散列值的手段(例如,硬件、软件、固件)。流出散列值是基于流出数据分组中的要素的。该手段例如可被实现为被编程来聚集密码引擎的ASIC。该手段还可以被实现为作为临时存储在存储器804上并且然后被处理器802执行的数据816而被呈现给计算机800的计算机可执行指令。逻辑830还可以提供用于至少部分地基于流出散列值将流出数据分组选择性地分发到多个密码引擎之一的手段(例如,硬件、软件、固件)。密码引擎用于将数据分组加密到加密数据分组中以供跨越与ACVG相关联的数据连接进行安全分发。逻辑830还可以提供用于接收数据连接的流入侧上的流入数据分组的手段(例如,硬件、软件、固件)。逻辑830还可以提供用于检查流入数据分组的标识符的手段(例如,硬件、软件、固件)。逻辑830还可以提供用于至少部分地基于标识符将流入数据分组选择性地分发到多个流入解密引擎之一的手段(例如,硬件、软件、固件)。在一般地描述计算机800的示例配置的情况下,处理器802可以是各种不同的处理器,包括双微处理器以及其他多处理器体系结构。存储器804可以包括易失性存储器和 /或非易失性存储器。非易失性存储器例如可以包括ROM、可编程ROM(PROM)等。易失性存储器例如可以包括RAM、静态RAM(SRAM)、动态RAM(DRAM)等。例如经由输入/输出接口(例如,卡、设备)818和输入/输出端口 810,盘806可被可操作地连接到计算机800。盘806例如可以是磁盘驱动器、固态盘驱动器、软盘驱动器、 磁带驱动器、Zip驱动器、闪存卡、存储棒等。此外,盘806可以是⑶-ROM驱动器、⑶可记录(CD-R)驱动器、CD可覆写(CD-R)驱动器、数字多功能盘和/或数字视频盘只读存储器 (DVD ROM)等。存储器804例如可以存储进程814和/或数据816。盘806和/或存储器 804可以存储控制并分配计算机800的资源的操作系统。总线808可以是单个内部总线互连体系结构和/或其他总线或网格体系结构。虽然图示出单个总线,但是应理解,计算机800可以利用其他总线(例如,外围组件互连极速 (PCIE)、1394、通用串行总线(USB)、以太网)与各种设备、逻辑以及外围设备通信。总线808 可以是如下的类型这些类型例如包括存储器总线、存储器控制器、外围总线、外部总线、纵横开关和/或局部总线。计算机800可以经由I/O接口 818和输入/输出端口 810与输入/输出设备交互。 输入/输出设备例如可以是键盘、麦克风、点选设备、相机、视频卡、显示器、盘806、网络设备820等。输入/输出端口 810例如可以包括串行端口、并行端口和USB端口。计算机800可以在网络环境中操作并因此可经由I/O接口 818和/或I/O端口 810连接到网络设备820。通过网络设备820,计算机800可与网络交互。通过网络,计算机 800可在逻辑上连接到远程计算机。计算机800可与之交互的网络包括但不限于LAN、WAN 和其他网络。虽然通过描述示例说明了示例系统、方法等,并且虽然相当详细地描述了这些示例,但是申请人并非意欲将随附权利要求的范围约束或以任何方式限制到如此之细。当然, 不可能出于描述这里记载的系统、方法等的目的描述出组件或方法的所有可想到的组合。 因此,本发明不限于所示出并描述的特定细节、代表性装置和说明性示例。因此,本申请意欲包含落入随附权利要求范围内的变更、修改和变体。关于在具体实施方式
或权利要求书中采用术语“包含”或“包含着”的范围,它意欲以类似于术语“包括”(如该术语被用作权利要求中的过渡词时所理解的那样)的方式是包含性的。关于在具体实施方式
或权利要求书中采用术语“或”(例如,A或B)的范围,它意欲表示“A或B或二者”。当申请人意欲指示“仅A或B而非二者”时,术语“仅A或B而非二者”将被采用。因此,这里对术语“或”的使用是包含性的而非排他性的使用。参见,Bryan A. Garner 的 A Dictionary of Modern Legal Usage 624(2d. Ed. 1995)。关于这里采用短语“A、B和C中的一个或多个”(例如,被配置为存储A、B和C中的一个或多个的数据存储库)的范围,它意欲表达可能性A、B、C、AB、AC、BC和/或ABC的集合(例如,数据存储库可以存储仅是A、仅是B、仅是C、A&B、A&C、B&C和/或A&B&C)。它并非意欲要求A中的一个、B中的一个和C中的一个。当申请人意欲指示“A中的至少一个、 B中的至少一个和C中的至少一个”时,短语“A中的至少一个、B中的至少一个和C中的至少一个”将被采用。
权利要求
1.一种装置,包括接收逻辑,用于接收与经聚集的密码虚拟群组(ACVG)相关联的数据分组,其中所述 ACVG与分发数据以聚集分布式转发体系结构中的带宽相关联;散列逻辑,用于生成与所述数据分组相关联的散列值,其中所述散列值是基于所述数据分组中的要素的,其中所述要素是所述数据分组的未经加密部分和所述数据分组的头部的未经加密部分中的一者;流出映射数据存储库,用于存储在一组散列值和多个密码引擎之间的一组映射;以及分发逻辑,用于至少部分地基于所述散列值和所述一组映射将所述数据分组选择性地分发到所述多个密码引擎之一,其中密码引擎用于对数据分组加密以供跨越与所述ACVG 相关联的数据连接进行安全分发。
2.根据权利要求1所述的装置,其中所述接收逻辑、所述散列逻辑和所述分发逻辑中的一个或多个被包含在以太信道逻辑中。
3.根据权利要求1所述的装置,包括聚集逻辑,用于创建一组安全关联(S0SA),所述 SOSA用于实现联网设备之间通过与所述数据连接相关联的多个信道的安全通信,其中安全关联(SA)是对包括密码密钥、初始化向量和数字证书中的一者或多者的安全参数的逻辑上的群组划分。
4.根据权利要求3所述的装置,其中所述SA用于在两个网络间共享安全信息,其中数据分组包括安全参数索引(SPI),该SPI包括在不同数据流量流的SOSA之间进行区分的信息,并且其中所述SPI包括用于针对数据流量流识别数据加密规则和数据验证规则的数据。
5.根据权利要求4所述的装置,其中所述数据分组中的要素是安全参数索引(SPI),并且其中所述散列逻辑基于所述SPI来生成所述散列值。
6.根据权利要求3所述的装置,其中所述数据分组与群组加密传输虚拟专用网络 (GetVPN)相关联,并且其中数据分组包括所述散列逻辑要操作的因特网协议(IP)地址。
7.根据权利要求4所述的装置,其中所述聚集逻辑用于控制加密的第3层(U)交换帧在所述数据连接上的传输,其中所述加密的L3交换帧是由所述多个密码引擎之一加密的, 并且其中所述L3交换帧包括数据有效载荷和安全参数索引(SPI)头部。
8.根据权利要求4所述的装置,其中所述聚集逻辑用于控制加密的第2层(L2)交换帧在所述数据连接上的传输,并且其中所述散列逻辑用于生成作为所述L2交换帧的一部分的函数的散列值。
9.根据权利要求4所述的装置,其中所述数据连接是与虚拟专用网络(VPN)相关联的隧道,并且其中所述隧道使用第2层隧道传输协议(L2TP)或因特网协议安全性(IPkc)处理。
10.一种装置,包括多个接收输入端口(RIP),用于接收与经聚集的密码虚拟群组(ACVG)相关联的加密数据分组,其中所述ACVG与分发数据以聚集分布式转发体系结构中的带宽相关联;流入映射数据存储库,用于存储在散列值和解密引擎之间的一组映射;以及检查逻辑,用于至少部分地基于加密数据分组中的要素来确定该加密数据分组的散列值;以及至少部分地基于所述散列值和所述映射将所述加密数据分组从所述多个RIP之一选择性地分发到多个解密引擎之一。
11.根据权利要求10所述的装置,包括接收逻辑,用于接收在所述数据连接的流出侧上的与所述ACVG相关联的数据分组;散列逻辑,用于生成与所述数据分组相关联的流出散列值,其中所述流出散列值是基于所述数据分组中的要素的;流出映射数据存储库,用于存储在一组散列值和多个密码引擎之间的一组映射;以及分发逻辑,用于至少部分地基于所述流出散列值将所述数据分组选择性地分发到所述多个密码引擎之一,其中密码引擎用于将数据分组加密到加密数据分组中以供跨越与所述 ACVG相关联的数据连接进行安全分发。
12.根据权利要求11所述的装置,包括映射逻辑,该映射逻辑用于创建在散列值和所述多个解密引擎之间的一组映射,并且用于创建在所述一组散列值和所述多个密码引擎之间的一组映射,其中所述映射逻辑将在所述散列值和所述多个解密引擎之间的一组映射提供给所述流入映射数据存储库,并且其中所述映射逻辑将在所述一组散列值和所述密码引擎之间的一组映射提供给所述流出映射数据存储库。
13.根据权利要求10所述的装置,其中解密引擎用于基于与安全参数索引(SPI)相关联的信息对所述加密数据分组进行解密。
14.根据权利要求10所述的装置,其中确定所述散列值所基于的所述加密数据分组中的所述要素是安全参数索引(SPI)。
15.根据权利要求10所述的装置,其中所述经聚集的密码虚拟群组与使用第2层隧道传输协议(L2TP)或因特网协议安全性(IPkc)处理的虚拟专用网络相关联。
16.一种被编码在一个或多个有形介质中以供执行并且当被执行时可操作用来执行方法的逻辑,所述方法包括接收在数据连接的流出侧上的来自经聚集的密码虚拟群组(ACVG)的流出数据分组, 其中所述ACVG与分发数据以聚集带宽相关联;分析所述流出数据分组以确定分发值;至少部分地基于所述分发值将所述流出数据分组选择性地分发到多个流出处理器之跨越数据连接来发送经过流出处理器处理的流出数据分组;接收在所述数据连接的流入侧上的流入数据分组;检查所述流入数据分组的标识符;以及至少部分地基于所述标识符将所述流入数据分组选择性地分发到多个流入处理器之ο
17.根据权利要求16所述的逻辑,其中所述分发值是基于所述流出数据分组中的要素的第一散列值,其中所述标识符被散列函数处理以产生第二散列值,其中所述第一散列值将流出数据分组映射到流出处理器,并且其中所述第二散列值将流入数据分组映射到流入处理器。
18.根据权利要求16所述的逻辑,其中所述流出数据分组中的要素是安全参数索引 (SPI)、因特网协议(IP)地址和第2层要素中的一者,并且其中所述散列函数至少部分地基于所述SPI、所述IP地址和所述第2层要素中的一者来生成所述散列值。
19.根据权利要求14所述的逻辑,其中所述流出处理器用于对所述流出数据分组加密以供跨越所述数据连接进行安全传输,其中流入处理器用于对所述流入数据分组解密,并且其中所述数据连接与虚拟专用网络(VPN)和网络中的一者相关联。
20.根据权利要求14所述的逻辑,所述方法包括建立在一组分发值和所述多个流出处理器之间的流出映射;以及建立在一组标识符和所述多个流入处理器之间的流入映射。
21.根据权利要求20所述的逻辑,其中所述流出映射包括在所述多个流出处理器和所述多个流入处理器之间的一一对应关系,并且其中该一一对应关系防止反重放错误。
22.—种系统,包括用于生成与在数据连接的流出侧上的流出数据分组相关联的流出散列值的装置,其中所述流出散列值是基于所述流出数据分组中的要素的;用于至少部分地基于所述流出散列值将所述流出数据分组选择性地分发到多个密码引擎之一的装置,其中密码引擎用于将数据分组加密到加密数据分组中以供跨越数据连接进行安全分发;用于接收在所述数据连接的流入侧上的流入数据分组的装置;用于检查所述流入数据分组的标识符的装置;以及用于至少部分地基于所述标识符将所述流入数据分组选择性地分发到多个流入解密引擎之一的装置。
全文摘要
描述了与密码引擎的聚集相关联的系统、方法以及其他实施例。一种示例方法包括接收在数据连接的流出侧上的流出数据分组。该示例方法还可以包括分析流出数据分组以确定分发值。该示例方法还可以包括至少部分地基于分发值将流出数据分组选择性地分发到多个流出处理器之一。该示例方法还可以包括接收在数据连接的流入侧上的流入数据分组。该示例方法还可以包括检查流入数据分组的标识符。该示例方法还可以包括至少部分地基于标识符将流入数据分组选择性地分发到多个流入处理器之一。
文档编号H04L29/06GK102549998SQ201080001892
公开日2012年7月4日 申请日期2010年2月5日 优先权日2009年2月25日
发明者伊曼诺尔·拉哈特贾, 萧逸·刘, 萨友拉比·莫汉, 蒂莫西·安德烈, 钱德拉莫利·拉德哈克里斯南 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1