用于实现在软件定义网络中选择性加密的通信设备的制作方法

文档序号:13742427阅读:182来源:国知局
用于实现在软件定义网络中选择性加密的通信设备的制作方法

本公开涉及通过允许用户选择性地加密数据流来改进软件定义网络(“sdn”)的安全性的系统和方法。更具体地但不排他地,与本公开一致的各个实施例可以应用于在利用sdn的电力传输和配电系统中所使用的通信设备来选择性地加密数据链路层的数据。

附图简述

参照附图对本公开的非限制性和非穷举性实施例进行了描述,包括本公开的各个实施例,在附图中:

图1图示了与本公开的实施例一致的电力传输和配电系统的简化的单线图,其中多个通信设备可以促进软件定义网络中的通信。

图2图示了与本公开的实施例一致的可以部署在电力传输和配电系统中的包括控制面、数据面以及多个数据消耗者/产生者设备的sdn架构的概念表示。

图3a图示了与本公开的实施例一致的用于在两个变电站中对在数据产生设备和数据消耗设备之间的数据流进行加密的系统的概念图。

图3b图示了与本公开的实施例一致的用于在两个变电站中选择性地对在数据产生设备和数据消耗设备之间的指定数据流中的数据进行加密的系统的概念图。

图4图示了与本公开的实施例一致的可以在通信设备中实现的并且可以准许对选定数据流的数据分组有效载荷进行加密的动作表。

图5图示了与本公开的实施例一致的可通过被配置为选择性地加密或解密包括多个数据分组的数据流的通信设备来实现的方法的流程图。

图6图示了与本公开的实施例一致的被配置为加密或解密选定数据流的数据分组有效载荷的通信设备的功能框图。

详细描述

现代配电和传输系统可以纳入可用于监视和保护系统的各种通信技术。通信装备可以被配置成和用于促进对电力系统上的状况进行监视并实施控制动作以维持电力系统的稳定性的各种设备之间的数据交换。通信网络携带用于对电力系统状况进行适当评估并用于基于这些状况实施控制动作所需的信息。此外,由于电力传输和配电系统中的状况可能发生快速变化,这些消息可能受时间限制。

一些电力传输和配电系统可以纳入利用控制器在网络上调节通信的软件定义网络(“sdn”)联网技术。sdn联网技术提供了在电力系统中有利的各种优点(例如,默认拒绝安全、延迟保证、确定的传输能力、冗余和故障转移计划等)。

sdn允许程序化的变更控制平台,其允许将整个通信网络作为单一资产进行管理,简化对网络的理解,并能够对网络进行持续监视。在sdn中,决定将流量发送到哪里的系统(即,控制面)与执行流量在网络中的转发的系统(即,数据面)是分开的。

控制面可以用于通过通信网络创建特定的数据流来实现网络资源的最佳使用。本文使用的术语“数据流”是指用于基于网络分组内容匹配和采取动作的一组参数。数据流可以准许基于各种标准的专用路径,这些标准为网络运营商提供显著的控制和精确性。相比之下,在大型传统网络中,尝试使网络发现路径与应用期望的数据路径匹配可能是涉及改变许多设备中的配置的具有挑战性的任务。为了解决这个问题,很多设备上使用的管理接口和功能集都不是标准化的。更进一步,网络管理员经常需要重新配置网络以避免循环,获得路由收敛速度,并优先考虑某一类应用。

在电力传输和配电系统的背景下管理传统网络的明显的复杂性是由于每个网络设备(例如,交换机或路由器)具有集成在一起的控制逻辑和数据转发逻辑的事实。例如,在传统的网络路由器中,诸如路由信息协议(rip)或开放式最短路径优先(ospf)的路由协议构成确定应该如何转发分组的控制逻辑。由路由协议确定的路径被编码在路由表中,其然后用于转发分组。类似地,在诸如网桥(或网络交换机)的第2层设备中,配置参数和/或生成树算法(sta)构成确定分组路径的控制逻辑。因此,传统网络中的控制面被分布在交换结构(网络设备)中,因而,改变网络的转发行为涉及改变许多(也许是全部)网络设备的配置。

在sdn中,控制器体现控制面并确定分组(或帧)应该如何在网络中流动(或转发)。控制器通过设置构成数据面的网络设备的转发表将该信息传送给网络设备。这实现了对网络的集中化配置和管理。这样,sdn中的数据面由相对简单的分组转发设备组成,该分组转发设备具有到控制器的通信接口以接收转发信息。除了简化网络的管理之外,sdn架构还可以实现可能有益于在配电系统中使用的监视和故障排除功能,包括但不限于:镜像选定的数据流而不是镜像整个端口;当接近饱和时,在带宽上报警;为指定流提供度量(例如,用于服务质量、分组计数、误差、丢弃或超限等的计数器和计量表);准许监视指定的应用,而不是基于vlan或mac地址进行监视。

与诸如配电和传输系统的关键基础设施相关的安全日益受到重视。电力系统日益成为网络攻击的目标。由于配电和传输系统可能覆盖大面积的事实,所以可能必须长距离传输数据。这样的数据应该被保护免受拦截(例如,使用物理安全和数据安全),然而,有关安全的考虑必须与电力传输和配电系统的功能要求相平衡。如果安全需求与系统的性能相冲突(例如,由于引入了太多的延迟),则数据可能不可用。在通过长距离(例如,长输电线路的监视终端)传输时间敏感数据的情况下,对安全性和功能性的相互矛盾的考虑可能处于紧张状态。

与本公开一致的系统和方法提供了在sdn内对指定数据流的选择性加密。在各个实施例中,可以在数据链路层(即,开放系统互连(osi)模型中的第2层)或在网络层(即,osi模型中的第3层)提供加密。这样,本文公开的系统和方法可以用于利用仅第2层协议(例如,goose多播)和第3层协议(例如,tcp或udp)的系统中。

各个实施例可以提供在sdn的数据面中被启用的并且对电力系统内的其他设备是透明的加密解决方案。此外,在与本公开一致的某些实施例中,可以使用各种技术来降低与数据加密相关联的延迟。

与本公开一致的系统和方法可以允许在软件定义网络内对指定数据流进行加密。加密可以在数据链路层或网络层实现,并且可以对穿过数据面的分组的数据有效载荷进行加密。加密对于数据产生和数据消耗设备可以是透明的,使得数据产生和数据消耗设备可以与实现对选定数据流的加密所必需的任何附加的复杂性分开。在一些实施例中,基于硬件的加密可用于降低延迟性。

与本公开一致的系统和方法可以向网络的运营商提供实质性控制来选择被加密的数据而不是依赖于诸如虚拟私有网络的静态链路加密隧道。在中断(例如,网络上的通信故障)期间选择用于加密的数据流也可能是有益的。当发生中断且通信故障从一个流转移至另一个流上时,用于加密数据的选择标准可以保持不变。这样,故障转移就不会妨碍将故障转移的分组或其他数据流传送到与被加密的数据流相同的物理链路。更进一步地,本公开的各个实施例可以实现网络拓扑结构的可视化表示以及哪些流被加密的指示。可视化还可以提供每个数据流在哪里被加密和解密的指示。

与本公开一致的实施例可以用于各种通信设备中。本文使用的术语通信设备是能够在数据通信网络中接受和转发数据流量的任何设备。除了接受和转发数据流量的功能之外,通信设备还可以执行各种各样的其他功能,并且范围可以从简单的设备到复杂的设备。包括在sdn内的通信设备可以包括加密/解密子系统,该子系统使设备能够选择性地加密或解密指定数据流内的数据分组。本公开的某些实施例可以被实现为第2层交换机。

在与本公开一致的某些实施例中,可以实现各种技术来最小化与加密相关联的延迟。在一些实施例中,数据有效载荷的加密可以在分布于整个数据面的通信设备处以硬件执行。基于硬件的加密可以以比基于软件的方法少的延迟进行操作;然而,本公开不排他地限于基于硬件的加密。此外,与本公开一致的各个实施例可以被配置为在不加密整个分组的情况下加密或解密数据有效载荷。

各种加密技术和算法可以结合与本公开一致的系统和方法使用。这些技术和算法可以包括数据加密标准(des)、高级加密标准(aes)、国际数据加密算法(idea)、rsa、diffie-hellman等。更进一步地,在一些实施例中,除了数据的加密之外,各种加密技术还可以用于发送设备的认证和消息的验证。更具体地,各种形式的密码认证可用于认证发送设备并验证数据分组的内容。在一些实施例中,散列消息认证码(hmac)可以通过数据分组的源作为尾部(trailer)附加到数据分组。hmac摘要(digest)可以由接收设备验证。在一些情况下,用于数据加密的密钥也可以用于发送者认证和/或消息验证,而在其他情况下,不同的密钥可以用于数据加密和认证。

通过参照附图将最好地理解本公开的实施例,其中通篇相似的部分由相似的数字来标记。将容易理解的是,如在本文的附图中一般性地描述和图示的,所公开的实施例的组件可以以各种各样不同的配置来布置和设计。因此,以下对本公开的系统和方法的实施例的详细描述不旨在限制本公开所要求保护的范围,而是仅代表本公开的可能实施例。另外,除非另有说明,方法的步骤不一定需要按照任何特定的顺序或甚至依次序地执行,也不需要步骤仅执行一次。

在一些情况下,众所周知的特征、结构或操作没有被详细示出或描述。此外,所描述的特征、结构或操作可以以任何合适的方式组合在一个或更多个实施例中。还将容易理解的是,如在本文中的附图中一般性地描述和图示的实施例的组件可以以各种不同的配置来布置和设计。

所描述的实施例的几个方面可作为软件模块或组件来实施。如本文中所使用的,软件模块或组件可包括位于存储设备内和/或作为电子信号通过系统总线或者有线或无线网络传输的任何类型的计算机指令或计算机可执行代码。例如,软件模块或组件可包括计算机指令的一个或更多个物理块或逻辑块,其可被组织为执行一个或更多个任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。

在某些实施例中,特定的软件模块或组件可包括被储存在存储器设备的不同位置中的不同指令,其共同实现所描述的模块的功能。事实上,模块或组件可包括单一指令或许多指令,并且可以分布在几个不同的代码段上、分布在不同的程序之间以及跨几个存储器设备分布。一些实施例可在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,软件模块或组件可位于本地存储器储存设备和/或远程存储器储存设备中。另外,在数据库记录中绑定或呈现在一起的数据可驻留在相同的存储器设备中或跨几个存储设备驻留,以及可以跨网络在数据库中的记录字段中链接在一起。

实施例可作为计算机程序产品来被提供,包括具有在其上所储存的指令的非暂时性计算机和/或机器可读介质,该指令可用于对计算机(或其他电子设备)进行编程以执行本文中所描述的过程。例如,非暂时性计算机可读介质可储存指令,当该指令由计算机系统的处理器执行时,使处理器执行本文中所公开的某些方法。非暂时性计算机可读介质可包括但不限于硬盘、软盘、光盘、cd-rom、dvd-rom、rom、ram、eprom、eeprom、磁卡或光卡、固态存储器设备、或适用于储存电子指令和/或处理器可执行指令的其他类型的机器可读介质。

图1图示了与本公开的实施例一致的电力传输和配电系统100的简化的单线图的实施例,其中多个通信设备可以促进软件定义的网络中的通信。电力输送系统100可被配置为生成、传输电能,并将电能分配给负载。电力输送系统可包括装备,诸如电力发电机(例如,发电机110、112、114和116)、电力变压器(例如,变压器117、120、122、130、142、144和150)、电力传输和输送线(例如,线124、134和158)、电路断路器(例如,断路器152、160、176)、总线(例如,总线118、126、132和148)、负载(例如,负载140和138)等等。各种其他类型的装备也可被包括在电力输送系统100中,诸如电压调节器、电容器组合以及各种其他类型的装备。

变电站119可包括发电机114,其可以是分布式发电机,并且其可通过升压变压器117连接到总线126。总线126可经由降压变压器130连接到配电总线132。各个配电线136和134可连接到配电总线132。配电线136可通向变电站141,其中使用ied106来监视和/或控制该线,该ied106可选择性地断开和闭合断路器152。负载140可从配电线136馈电。此外,经由配电线136与配电总线132进行通信的降压变压器144可用于降低由负载140消耗的电压。

配电线134可通向变电站151,并向总线148输送电力。总线148也可经由变压器150接收来自分布式发电机116的电力。配电线158可将电力从总线148输送到负载138,并且还可包括降压变压器142。电路断路器160可用于选择性地将总线148连接到配电线134。ied108可用于监视和/或控制电路断路器160以及配电线158。

电力输送系统100可使用智能电子设备(ied)(诸如ied104、106、108、115和170)以及中央监视系统172来监视、控制、自动化和/或保护。通常,电力的生成和传输系统中的ied可用于在系统中的装备的保护、控制、自动化和/或监视。例如,ied可用于监视许多类型的装备,包括输电线、配电线、电流变压器、总线、开关、电路断路器、自动开关、变压器、自耦变压器、抽头变换器、电压调节器、电容器组合、发电机、电动机、泵、压缩机、阀以及各种其他类型的受监视的装备。

如本文中所使用的,ied(诸如ied104、106、108、115和170)可指监视、控制、自动化和/或保护系统100内的受监视的装备的任何基于微处理器的设备。例如,这样的设备可包括远程终端单元、差动继电器、距离继电器、方向继电器、馈电继电器、过电流继电器、电压调节器控制、电压继电器、断路器故障继电器、发电机继电器、电动机继电器、自动化控制器、间隔控制器、计量表、自动开关控制、通信处理器、计算平台、可编程逻辑控制器(plc)、可编程自动化控制器、输入和输出模块等等。术语ied可用于描述单个ied或包括多个ied的系统。

共同的时间信号可分配在整个系统100中。利用共同或通用的时间源可确保ied具有可用于生成时间同步数据(诸如同步相量)的同步时间信号。在各个实施例中,ied104、106、108、115和170可接收共同的时间信号168。时间信号可使用通信网络162或使用共同的时间源(诸如全球导航卫星系统(“gnss”)等)分配在系统100中。

根据各个实施例,中央监视系统172可包括多种类型的系统中的一个或多个。例如,中央监视系统172可包括监控与数据采集(scada)系统和/或广域控制与态势感知(wacsa)系统。中央ied170可与ied104、106、108和115进行通信。ied104、106、108和115可远离中央ied170,并且可通过各种介质进行通信(诸如来自ied106的直接通信)或通过广域通信网络162进行通信。根据各个实施例,某些ied可与其他ied直接进行通信(例如,ied104与中央ied170进行直接通信),或可经由通信网络162进行通信(例如,ied108经由通信网络162与中央ied170进行通信)。

经由网络162的通信可通过包括但不限于多路复用器、路由器、集线器、网关、防火墙和交换机的联网设备来促进。在一些实施例中,ied和网络设备可包括物理上不同的设备。在其他实施例中,ied和网络设备可以是复合设备,或可被配置为用多种方式来执行重叠的功能。ied和网络设备可包括多功能硬件(例如,处理器、计算机可读储存介质、通信接口等),其可被利用以便执行关于系统100内的装备的操作和/或网络通信的各种任务。

sdn控制器180可以被配置为与网络162中的装备对接以创建有助于ied170、115、108和监视系统172之间的通信的sdn。在各种实施例中,sdn控制器180可以被配置为与网络162中的控制面(未示出)对接。使用控制面,控制器180可以被配置为引导网络162内的数据流。

sdn控制器180可以被配置为选择性地识别要被加密的数据流。各种标准可用于识别要被加密的数据流,包括包含控制指令的数据流、可能易受网络攻击的数据流、由运营商系统100指定的数据流等。基于由sdn控制器180指定的标准,网络162中的通信设备可以识别流量并对所识别的流量选择性地进行加密或解密。

图2图示了与本公开的实施例一致的包括控制面202、数据面204以及多个数据消耗者/产生者设备210a-210c的sdn架构的概念表示200,该sdn架构可以部署在电力传输和配电系统中。控制面202引导数据流通过数据面204。更具体地说,控制器212可以经由接口214与多个通信设备206a-206f进行通信以建立数据流。控制器可以基于各种标准来指定用于通过数据面204路由流量的规则。

如图所示,数据面204包括经由多个物理链路208a-208h彼此进行通信的多个通信设备206a-206f。在各个实施例中,通信设备206a-206f可以实施为交换机、多路复用器以及其他类型的通信设备。物理链路208a-208h可以实施为以太网、光纤以及其他形式的数据通信信道。如图所示,通信设备206a-206f之间的物理链路208a-208h可以提供冗余连接,使得物理链路208a-208h之一的故障不能完全阻断与受影响的通信设备的通信。在一些实施例中,物理链路208a-208h可以提供n-1冗余或更好的冗余。

数据消耗/产生设备216a-216c可以表示产生或消费数据的电力传输和配电系统内的各种设备。例如,数据消耗/产生设备可以例如实施为配置成监视电力传输线的一对传输线继电器。传输线继电器可以监视流过传输线的电力的各个方面(例如,电压测量结果、电流测量结果、相位测量结果、同步移相器等),并且可以传送测量结果以实现对传输线的保护策略。传输线继电器之间的流量可以使用由控制器212实现的多个数据流来路由通过数据面204。当然,数据消耗/产生设备216a-216c可以通过与本公开的实施例一致的各种各样的设备来实施。

多个通信设备206a-206f可以各自包括可以对数据的选定数据流进行加密和解密的加密/解密子系统。例如,数据消耗/产生设备216a和设备216c之间的数据流可以被选择用于加密。当从数据消耗/产生设备216a接收到数据时,多个通信设备206a-206f之一的加密子系统可以在将数据转发到另一通信设备之前对数据进行加密。在传输到数据消耗/产生设备216c之前接收数据的最终通信设备可以解密数据。因此,在数据消耗/产生设备216a和216c之间传输的数据的加密和解密对于设备可以是完全透明的。换句话说,选定数据流的整个加密和解密过程可以由多个通信设备206a-206f执行,而不涉及数据消耗/产生设备216a-216c。在各个实施例中,本文公开的系统和方法可用于实现在缺乏加密能力的数据产生设备和数据消耗设备之间的端到端加密。这样,可以利用本文使用的系统和方法来增加网络内的安全性,而不需要替换可能不支持数据加密的传统设备。

多个应用210a-210c可以表示在应用面中操作的各种应用210a-210c。在图2所示的sdn架构中,控制器212可以公开服务210a-210c可以用来配置数据面204的应用编程接口(api)。在这种情况下,当控制逻辑驻留在应用210a-210c中时,控制器212可以充当与数据面204的接口。控制器212和应用210a-210c的配置可以被定制以满足各种各样的特定需求。

图3a图示了与本公开的实施例一致的用于在两个变电站中对数据产生设备310和数据消耗设备350之间的数据流进行加密的系统300的概念图。在所示实施例中,位于变电站a352中的数据产生设备310可以向通信设备318提供未加密的数据流312。为了简单起见,由通信设备318接收的所有数据都可以被加密;然而,在其他实施例中,通信设备318可以被配置为选择性地标识要加密的数据。在各个实施例中,数据的选择可以基于各种标准,诸如数据的来源、数据的目的地、数据的类型、与数据相关联的时间敏感度等。

通信设备318可以包括被配置为在322接收未加密的数据分组的加密子系统320。未加密的数据分组可以在324处被解析,并且路由信息326可以与有效载荷分离。可以在328处使用各种加密算法中的任何一种来加密有效载荷。路由信息可以保持未加密,或者换句话说,仅有效载荷可以被加密子系统320加密。路由信息和加密的有效载荷可以在330处被组合成加密的数据分组。在一些实施例中,在330处组合的分组可以包括尾部,该尾部提供可以用于错误检测的信息。此外,该尾部可以包括用于验证数据分组的完整性或者用于认证数据分组的发送者的hmac摘要。在322处,可以传输加密的分组。再次,为了简单起见,通信设备318被示为仅包括加密子系统;然而,与本公开一致的通信设备可以既能够加密数据又能够解密数据。

通信设备318可以生成被传输到通信设备348的加密的数据流314。通信设备348和数据消耗设备350位于变电站b354中。尽管未示出,但加密的数据流可以在到达通信设备348之前穿过各种中间设备。换句话说,通信设备318和通信设备348可以并不彼此直接进行通信。

解密子系统334可以被配置为在336处接收加密的数据分组。再次,为了简单起见,通信设备348被示为仅包括解密子系统。在338处可以解析数据分组以将路由信息340与有效载荷分离。有效载荷可以被解密,并且在344处可以组合包括解密的有效载荷342的分组。在346处,分组可以在未加密的数据流312中被传输到数据消耗设备350。

图3b图示了与本公开的实施例一致的用于在两个变电站中选择性地加密在数据产生设备376、380和数据消耗设备396、399之间的指定数据流的系统350的概念图。在所示实施例中,位于变电站a352中的数据产生设备376、380可以将未加密的数据流374、378提供给通信设备360。通信设备360可以包括路由和加密子系统362,其被配置为在364处从数据产生设备376、380接收未加密的数据分组。

在368处,路由和加密子系统362可以针对每个分组确定数据分组是否与要被加密的数据流相关联。如果分组与不被加密的数据流相关联,则该分组可以前进到372并且可以被传输。如果分组要被加密,则该分组可以在370处被加密并被封装。在一些实施例中,源自指定设备的数据流可以被加密,而来自其他设备的数据流可以保持未加密。例如,数据流374可以被选择用于加密,而数据流378保持未加密。

如结合图3a所描述的,在某些实施例中,可以仅对数据有效载荷进行加密,并且可以保持路由信息以降低专用于加密的延迟和/或计算资源。相比之下,在图3b所示的实施例中,可以对整个分组(即,路由信息、数据有效载荷和尾部(如有必要))进行加密,并且新的路由信息可以被生成并被附加到加密的分组。在分组被加密和封装之后,在322处,分组可以被传输。为了简单起见,通信设备360被示为仅包括加密子系统;然而,与本公开一致的通信设备可以既能够加密数据又能够解密数据。在一些实施例中,可以生成包括认证码的尾部,该认证码可以使接收设备能够认证发送设备。例如,来自数据产生设备376的未加密的数据374可以包括允许接收设备认证接收到的数据分组并且确认这些分组源自数据产生设备376的认证码。

通信设备360可以在通信设备360和通信设备382之间生成加密的数据分组流和未加密的数据分组流397。通信设备382和数据消耗设备396、399位于变电站b354中。尽管未示出,但是加密的数据流可以在到达通信设备382之前穿过各种中间设备。换句话说,通信设备360和通信设备382可以彼此不直接进行通信,而是可以通过更大的网络(未示出)连接。

解密子系统334可以被配置为在386处接收加密的数据分组流和未加密的数据分组流。再次,为了简单起见,通信设备384被示为仅包括路由和解密子系统384。当然,通信设备384还可以包括实现与通信设备360或其他设备进行双向通信的加密子系统。在388处,路由和解密子系统384可以确定每个数据分组是否应该被解密。如果特定的分组不需要被解密,则可以在392处传输该分组。如果在388处确定分组需要被解密,则在390处,封装可以被剥离,并且在390处分组可以被解密。在封装被剥离并且分组被解密之后,在392处可以传输该分组。

图4图示了与本公开的实施例一致的动作表400,其可以在通信设备中实现并且可以准许选定数据流的数据分组有效载荷的加密。表400可以包括关于本地通信设备308及其相关数据流的各种类型的信息。在所示的实施例中,规则1规定,在入口端口1中接收的任何数据分组都被加密并被转发到端口10。当这样的端口从数据产生设备接收到未加密的数据流时,加密在特定入口端口上接收到的所有数据的规则可能是适当的。在各个实施例中,这样的设备可以包括例如被配置成监视电力传输和配电系统的方面的ied。

规则2规定,从具有特定mac地址的设备接收的并且指向具有特定mac地址的设备的信息不被加密。数据被转发到端口2。准许流量在没有加密的情况下通过的规则可以在与本公开一致的各种情况下被创建。例如,在通信保持在物理控制区域内(例如,局限于同一变电站)的情况下,或者在数据具有低优先级或低安全性风险的情况下,规则可能是适当的。

规则3规定,从具有特定ip地址的设备接收的信息将被加密并被转发到特定的目的地ip地址。准许流量被识别的规则可准许使用ip地址将流量路由到另一设备。

规则4规定,在端口3上接收的任何分组将被解密并被转发到端口8。规则4可以指示纳入动作表400的通信设备与接收设备直接进行通信。解密可以使加密能够在不涉及接收设备的情况下被执行。

规则5规定,任何不满足规则1-4的标准的分组将被丢弃。按规则5实现的默认拒绝设置通过禁止未被现有规则包括的任何通信来增加安全性。按规则5实现的默认拒绝策略防止授权通信在网络上发生,并准许网络运营商识别网络流量的变化。

图5图示了与本公开的实施例一致的可由被配置为对包括多个数据分组的数据流选择性地加密或解密的通信设备实现的方法500的流程图。在502处,分组可以被通信设备接收。在504处,通信设备可以确定数据分组的数据有效载荷是否应该被加密或解密。如以上所讨论的,可以指定各种条件来选择性地识别哪些数据分组包括应该被加密或解密的数据有效载荷。在一些实施例中,类似于图4中所示的动作表的动作表可以指定用于在sdn内选择性地加密某些数据流的标准。

返回到图5的讨论,在506处,分组可以被解析,并且有效载荷可以与路由信息分离。在一些实施例中,分组还可以包括可以用于错误检测和校正的尾部或其他信息,该尾部或其他信息也可以被分离。

在508处,可以使用各种加密和/或密码认证技术中的任何一种来加密数据有效载荷。这些技术可以包括但不限于具有消息摘要5(md5)的散列消息认证码(hmac)算法或安全散列算法(sha),以及诸如数据加密标准(des)、高级加密标准(aes)、国际数据加密算法(idea)、rsa、diffie-hellman等的加密算法。在一些实施例中,可以使用硬件来执行数据有效载荷的加密,以最小化与数据分组的加密相关联的延迟。在一个特定实施例中,数据有效载荷的加密可以使用现场可编程门阵列(fpga)或专用集成电路(asic)来执行。在一些实施例中,用于加密的密钥也可以用于消息验证和发送者认证,而在其他实施例中,用于认证的密钥可以与用于加密的密钥不同。

在510处,如有必要,可以基于结合方法500所使用的通信协议的类型来生成尾部520。在各种通信协议中,尾部可以包括检测通信错误的信息,诸如循环冗余校验(crc)。在一些实施例中,尾部还可以包括可以使某些通信错误被纠正的纠错信息。在512处,可以组合包括路由信息518、加密的有效载荷516和尾部520的分组。在514处,可以将分组传输到在路由信息中指定的接收设备。

图6图示了与本公开的实施例一致的被配置为对选定数据流的数据分组有效载荷进行加密或解密的通信设备的功能框图。在一些实施例中,通信设备600可使用硬件、软件、固件和/或它们的任意组合来实现。此外,本文描述的某些组件或功能可以与其他设备相关联或由其他设备执行。具体图示的配置仅代表与本公开一致的一个实施例。

通信设备600包括被配置为与其他设备(未示出)进行通信的通信接口604。通信接口604可促进与多个设备进行通信。通信设备600还可包括时间输入端602,其可用于接收时间信号(例如,公共时间参考),允许通信设备600将时间戳应用到接收的数据。在某些实施例中,公共时间参考可经由通信接口604接收,因此,可不需要单独的时间输入端。一个这样的实施例可采用ieee1588协议。数据总线624可以促进通信设备600的各个组件之间的通信。

处理器606可被配置为对经由通信接口604和时间输入端602接收的通信进行处理并协调通信设备600的其他组件的操作。处理器606可使用任意数量的处理速率和架构来操作。处理器606可被配置为执行本文中所描述的各种算法和计算中的任何一个。处理器606可被实施为通用集成电路、专用集成电路、现场可编程门阵列和/或任何其他合适的可编程逻辑设备。

分组处理子系统610可以被配置为接收、解析和重新生成被选定用于加密或解密的数据分组。如以上结合图5所讨论的,当数据分组被选定用于加密或解密时,分组可以被解析,使得与分组相关联的路由信息保持不变。此外,可能需要基于数据有效载荷的加密来重新生成用于检测通信错误的分组尾部或其他信息。

待由处理器606执行的指令可以存储在随机存取存储器614(ram)中。这些指令可以包括用于基于多个数据流处理路由和处理经由通信接口604接收的数据分组的信息。

sdn控制器通信子系统612可以被配置为与sdn控制器进行通信并且基于从sdn控制器接收的指令来配置通信600。在各个实施例中,sdn控制器通信子系统612可以被配置为接收或生成包括用于路由数据以及加密或解密特定数据流的规则的动作表608。流量路由子系统618可以被配置为对经由通信接口604接收的数据通信进行处理并且基于可应用的数据流来适当地路由这些通信。

在各个实施例中,sdn控制器通信子系统612可以被配置为从sdn控制器接收加密密钥。sdn控制器可以分发通信设备600所需的适当的加密密钥来加密或解密选定的数据分组。使用sdn控制器来分发加密密钥620可避免对预共享加密密钥620的需要,因为sdn控制器已经建立了与通信设备600的信任关系。在一些实施例中,当sdn控制器建立了由通信设备600实现的规则时,可以完成密匙分发,并且密钥在整个会话期间可以是持续的。在其他实施例中,可以为每个会话分发新的密钥。

加密子系统616可以被配置为选择性地加密或解密经由通信接口604接收的与某些数据分组相关联的数据有效载荷。加密子系统616可以被配置为实现各种类型的标准化或专有的加密算法。在一些实施例中,加密子系统616可以与处理器606集成在一起,使得数据的加密/解密以硬件来执行。使用硬件来执行数据的加密/解密可以有助于最小化由于加密和解密数据而引起的延迟。

认证子系统626可以被配置为认证消息和/或消息的发送者。在各个实施例中,认证子系统626可以使用多种技术。在一个特定实施例中,认证子系统626可以被配置为接收可以用于验证数据完整性并且认证消息源的hmac摘要。hmac摘要可以通过源作为尾部附加到数据帧。在一些实施例中,用于认证的密钥可以是与用于加密相同的密钥,而在其他实施例中,用于认证的密钥可以与用于加密的密钥不同。

虽然已经图示并描述了本公开的特定实施例和应用,但是应理解的是,本公开不限于本文中所公开的精确配置和组件。因此,在不脱离本公开的基本原理的情况下,可以对上述实施例的细节做出许多改变。因此,本发明的范围应仅由随附的权利要求限定。

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