一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

低延迟介质访问控制安全认证的制作方法

2022-07-10 13:43:07 来源:中国专利 TAG:

低延迟介质访问控制安全认证
1.优先权
2.本专利申请要求于2020年3月16日提交的美国临时专利申请第62/990,003号的优先权,该申请的内容据此全文并入本文。
技术领域
3.本公开涉及电子联网和通信,并且更具体地,涉及用于低延迟macsec认证的系统和方法。


背景技术:

4.ieee 802.1ae是ieee介质访问控制(mac)安全标准,也称为macsec。macsec可以定义用于第二层介质访问协议(诸如以太网)的数据保密性和完整性。
5.macsec使用加密协议来在数据传输中提供完整性和可选保密性。macsec可以在第二层提供用于更高层协议(诸如tcp/ip)的本机安全性。由macsec保护的数据将作为macsec分组或帧传输。macsec分组可以包括标头,诸如以太网标头。macsec分组标头之后可以是macsec安全标记,其包含用于识别所使用的加密和解密的信息(如果有的话)。可以包括用于识别分组编号的信息。macsec分组可以包括可被加密的有效载荷。macsec分组可以包括用于认证的完整性检查值(icv),该icv可以指示macsec分组由拥有指定加密密钥的节点创建或源自该节点,并且macsec有效载荷在传输期间尚未被修改。
6.本公开的发明人已发现各种标准和技术中的问题,因为macsec和其他专用的加密和认证标准可以替换或添加到标准以太网具体实施。本公开的发明人已发现,这些可能具有显著的延迟。因此,本公开的发明人已开发出可以提供安全性和低延迟的实施方案,以便解决这些需求中的一个或多个需求。这些实施方案可以适用于macsec和其他安全协议和应用。
附图说明
7.图1是根据本公开的实施方案的用于低延迟macsec认证的系统的图示。
8.图2是用于低延迟macsec认证的设备的实例的更详细图示,包括将设备配置为在对在设备之间传送的分组进行加密/解密并且进行认证或不进行认证的模式下操作。
9.图3是根据本公开的实施方案的用于低延迟macsec认证的方法的图示。
10.图4是根据本公开的实施方案的用于低延迟macsec认证的另一方法的图示。


技术实现要素:

11.本公开的实施方案包括一种装置。该装置可以包括:流水线电路,该流水线电路被配置为处理分组;和认证引擎,该认证引擎被配置为对分组进行认证并且基于分组是否已被认证而将认证信号提供给流水线电路。该装置可以进一步包括控制电路,该控制电路被配置为将给定传入分组路由到该认证引擎和旁路路径两者。该旁路路径可以被配置为将该
给定传入分组的副本提供给该流水线电路以避开该认证引擎。
12.本公开的实施方案可包括一种方法。该方法可以包括:在装置处接收给定传入分组;以及将该给定传入分组路由到旁路路径和该装置的认证引擎两者。该方法可以进一步包括在该认证引擎处,对该给定传入分组进行认证并且基于分组是否已被认证而将认证信号提供给该流水线电路。将该给定传入分组路由到该旁路路径可以包括将该给定传入分组的副本提供给该流水线电路以避开该认证引擎。
13.本公开的实施方案可包括一种制品。该制品可包括非暂态机器可读介质上的指令。当由处理器读取和加载时,该指令可以使得该处理器在装置处接收给定传入分组,并且将该给定传入分组路由到旁路路径和该装置的认证引擎两者。该指令可以进一步使得该处理器在该认证引擎处,对该给定传入分组进行认证并且基于分组是否已被认证而将认证信号提供给该流水线电路。将该给定传入分组路由到该旁路路径可以包括将该给定传入分组的副本提供给该流水线电路以避开该认证引擎。
具体实施方式
14.本公开的实施方案可以包括使用macsec的传输技术,但可以适用于其他数据安全协议。
15.使用macsec可能增加分组传输和处理延迟。macsec基于以太网,因此总体吞吐量可能极高。然而,发送或接收信息的初始请求与该信息的实际传输之间的时间延迟形式的延迟可能由于macsec而增加。该延迟可为往返延迟,这意味着macsec连接的发送方和接收方都经受相同或类似的延迟。单一传输方向上的延迟的总量可能包括由诸如以太网mac和phy功能等内部延迟引起的延迟的总和,可取决于电缆长度和其中材料、内部布线、切换的电缆延迟,以及排队延迟诸如帧存储器的输入和输出的延迟,以及macsec特有的延迟。macsec特有的延迟可以包括由macsec功能诸如加密、解密和认证的传输等产生的延迟。
16.本公开的实施方案可包括一种装置。该装置可以包括被配置为处理分组的流水线电路。分组可以具有任何合适的网络流量结构,如macsec分组。分组可以是以其他方式由装置处理的中间分组。该装置可以包括认证引擎,该认证引擎被配置为对分组进行认证并且基于分组是否已被认证而将认证信号提供给流水线电路。认证信号可以是用于指示认证结果的任何合适的信号,诸如分组、单个位或其他信息。该装置可以包括控制电路,该控制电路被配置为将给定传入分组路由到认证引擎和旁路路径两者。旁路路径可以被配置为将给定传入分组的副本提供给流水线电路以避开认证引擎。
17.结合上述实施方案中的任一实施方案,该装置可以进一步包括加密和解密引擎。认证引擎、加密和解密引擎和流水线电路可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行本文功能的处理器执行的指令,或它们的任何合适的组合。
18.控制电路可以被配置为以任何合适的方式路由传入分组。例如,控制电路可以被配置为控制解复用器、多路复用器、切换器或以任何合适的方式互连认证引擎、加密和解密引擎和流水线电路的切换结构。装置中的分组的路由可以通过以任何合适的方式指定的操作模式来确定,诸如由用户或系统偏好或命令指定,并且记录在寄存器中。控制电路可以被配置为读取配置并且应用或引起对分组的路由,如本文所述。
19.结合上述实施方案中的任一实施方案,第一分组可到达该装置。控制电路可以被
配置为将第一分组选择性地路由到认证引擎、加密和解密引擎以及流水线电路。该第一分组可以并行地路由到认证引擎和子电路。该子电路可以包括与旁路路径并行的加密和解密引擎。子电路的输出可以通往流水线电路。加密和解密引擎可以被配置为对分组进行加密或解密,并且将所得的经加密或解密的分组提供给流水线电路。结合上述实施方案中的任一实施方案,控制电路可以被进一步配置为将给定传入分组选择性地路由到旁路路径或子电路内的加密和解密引擎。将给定传入分组路由到旁路路径可以避开加密和解密引擎的操作。因此,路由通过旁路路径的第一分组可以产生路由到流水线电路的第二分组,该第二分组与第一分组保持不变。路由通过加密和解密引擎的第一分组可以产生作为第一分组的解密或加密版本的第二分组。
20.结合上述实施方案中的任一实施方案,控制电路可以被进一步配置为基于确定传入分组将被认证而不被解密或加密来将给定传入分组选择性地路由到认证引擎和旁路路径。给定传入分组可以不被路由到加密和解密引擎。
21.结合上述实施方案中的任一实施方案,控制电路可以被进一步配置为基于确定传入分组将被加密或解密来将给定传入分组选择性地路由到加密和解密引擎。给定传入分组可以不被路由到旁路路径。
22.结合上述实施方案中的任一实施方案,控制电路可以被进一步配置为并行地将给定传入分组的副本路由到认证引擎并且通过旁路路径路由到流水线电路。这可以基于确定传入分组将不被加密或解密而将被认证来执行。
23.结合上述实施方案中的任一实施方案,流水线电路可以被进一步配置为接收给定传入分组。这可以通过旁路路径接收。流水线电路可以被进一步配置为接收认证信号,并且在接收给定传入分组和认证信号之间处理给定传入分组以生成输出分组。
24.结合上述实施方案中的任一实施方案,流水线电路可以被进一步配置为基于认证信号中对给定传入分组未通过认证的指示,采取纠正措施。结合上述实施方案中的任一实施方案,流水线电路可以被进一步配置为基于认证信号中对给定传入分组已通过认证的指示,发出输出分组。
25.图1是根据本公开的实施方案的用于低延迟macsec认证的系统100的图示。
26.系统100可包括一个或多个设备102。设备102可以由任何合适的电子设备或其部分来实现。设备102可以包括例如电子设备的通信模块、phy、网络接口卡(nic)、网络交换机、网络路由器或它们的任何部分。设备102可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行如本文所述的设备102的功能的处理器(诸如处理器108)执行的指令,或它们的任何组合。设备102可以被配置为基于macsec或其他合适的协议来执行通信。尽管在图1的系统100的示例中示出了两个设备102a、102b,但系统100可以包括任何合适数量和种类的设备102。
27.设备102可以被配置为接收或生成网络流量。网络流量可以被发送到其他电子设备,诸如设备102的其他实例。在一些情况下,网络流量可以旨在在作为最终目标的设备102的实例处被接收。可将网络流量分为例如分组。在图1的示例中示出了各个传输阶段处的各种分组,诸如分组120、122、126、130、134。
28.分组120可以在设备102a处接收或由该设备生成。分组120可以来自任何合适的来源,诸如通信地耦接到设备102a的另一电子设备(未示出),或者来自设备102a内的来源,诸
如使用存储在诸如存储器110的非暂态机器可读介质上的指令在处理器108上执行的应用(未示出)。可以在处理期间在设备102a内内部地生成分组122。在设备102a中处理之后,可以生成分组126。
29.设备102可以被配置为将网络流量发送到其他电子设备或者发送到设备102内或通信地耦接到该设备的子系统。例如,设备102a可以被配置为将网络流量以分组126的形式通过网络128发送到设备102b。网络128可以包括任何合适的网络,包括无线或有线网络。继而,设备102b可以被配置为将流量提供给在处理器108b上运行的应用(未示出)或者将流量发送到其他电子设备(未示出)。例如,可以在处理期间在设备102b内内部地生成分组130。在设备102b中处理之后,可以生成分组134。
30.分组126可以基于分组122。继而,分组122可以基于分组120,并且因此分组126可以基于分组120。设备102a可以被配置为基于分组120的输入或生成来发出分组126。在一个实施方案中,分组126可以包括与分组120相同的有效载荷。在另一个实施方案中,分组126可以包括与分组120中的有效载荷相同但经加密的有效载荷。在另一个实施方案中,分组126可以包括与分组120中的有效载荷相同但经解密的有效载荷。在另一个实施方案中,分组126可以包括除分组120中所包括的信息之外的附加信息。此类附加信息可以包括认证信息,诸如icv,或附加的路由或传输信息。当分组126符合macsec协议时,此类分组可以始终被配置为被认证。然而,在macsec协议下,分组126的有效载荷可以是加密的或不加密的。
31.类似地,分组134可以基于分组130。继而,分组130可以基于分组126,并且因此分组134基于分组126。设备102b可以被配置为基于分组126的输入来发出分组134。在一个实施方案中,分组134可以包括与分组126相同的有效载荷。在另一个实施方案中,分组134可以包括与分组126中的有效载荷相同但经加密的有效载荷。在另一个实施方案中,分组134可以包括与分组126中的有效载荷相同但经解密的有效载荷。在另一个实施方案中,分组134可以包括除分组126中所包括的信息之外的附加信息。此类附加信息可以包括认证信息,例如icv、校验和、验证代码或附加的路由或传输信息。
32.设备102可以各自包括电路104。电路104可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行如本文功能的处理器(诸如处理器108)执行的指令,或它们的任何组合。电路104可以各自包括控制电路114、一个或多个寄存器116和引擎118。
33.控制电路114可以被配置为读取用于确定电路104操作的设置。控制电路114可以被配置为根据此类设置和分组内容(诸如以太网标头和安全标记内容)来路由分组。控制电路114可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行如本文功能的处理器(诸如处理器108)执行的指令,或它们的任何组合。控制电路114可以包括开关逻辑部件(未示出)以用于路由输入分组,诸如分组120(用于设备102a)或分组126(用于设备102b)。开关逻辑部件可以被配置为路由通过控制电路114处理的中间分组,诸如分组122(用于设备102a)或分组130(用于设备102b)。开关逻辑部件可以被配置为路由输出分组,诸如分组126(用于设备102a)或分组134(用于设备102b)。在一个实施方案中,开关逻辑部件可以被配置为选择性地避开将分组路由通过相应引擎118或其部分。
34.设备102可以各自包括寄存器116的实例。寄存器116可以以任何合适的方式来实现,诸如存储器位置,并且可以被配置为存储任何合适的信息。例如,寄存器116可以包括一个或多个查找表或配置寄存器。
35.如上所述,控制电路114可以被配置为读取设置。设备102可以包括或可以通信地耦接到这些设置,这些设置定义了设备102的操作以基于诸如分组120(用于设备102a)或分组126(用于设备102b)的输入分组产生诸如分组126(用于设备102a)或分组134(用于设备102b)的输出分组的特定具体实施。此类设置可以以任何合适的方式实现,诸如通过相应设备102中的寄存器116实现。这些设置可以由用户或设备102的制造商编程,或者可以通过其他元件(现在示出)以编程方式更改。在一些示例中,设置中的一些或全部可以包括在分组标头内或分组中的其他位置。
36.设备102可以各自包括引擎118的实例。引擎118可以被配置为加密、解密或认证引擎,并且可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行如本文功能的处理器(诸如处理器108)执行的指令,或它们的任何组合。引擎118可以被配置为选择性地应用输入分组的加密、解密或认证。
37.设备102可以各自包括附加的流水线电路106。流水线电路106可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由执行如本文功能的处理器(诸如处理器108)执行的指令,或它们的任何组合。流水线电路106可以被配置为对分组执行附加处理以用于各种功能、协议或专用目的,诸如时间戳、其他非macsec应用程序处理或其他macsec处理。
38.控制电路114a可以被配置为接收分组120。在一个实施方案中,基于寄存器116a中的在系统100中的传输期间对分组内容进行加密、解密或认证的设置,控制电路114a可以被配置为将分组120路由到引擎118a。
39.在另一个实施方案中,如果设置指示分组内容不需加密、解密或认证,控制电路114a可以被配置为避开将分组120路由到引擎118a或其部分,或者指示引擎118a避开此类操作。
40.在另一个实施方案中,如果设置指示分组内容不需加密或解密,但要进行认证,控制电路114a可以被配置为将分组120路由到引擎118a以进行处理。控制电路114a可以被配置为将分组120的副本路由到流水线电路106a,同时避开引擎118a的一部分进行加密和解密。此外,控制电路114a可以被配置为使分组120的另一副本发送到引擎118a的一部分以进行认证。
41.引擎118a可以被配置为对分组120的有效载荷进行加密或解密。所得的经加密或解密的有效载荷可以包括在分组122中。引擎118a可以被配置为将分组122提供给流水线电路106a以对分组122执行附加处理,诸如时间戳、其他非macsec应用程序处理或其他macsec处理。
42.引擎118a可以被配置为执行对分组120的认证。此类认证可以包括检查由向设备102a发送分组120的实体创建的分组120中所包括的icv值。在一个实施方案中,引擎118a可以被配置为除了要由引擎118a执行的启用的加密或解密功能之外,还选择性地执行认证。在此类实施方案中,引擎118a可以被配置为在分组122中将认证信息的结果在分组122中经加密/解密的有效载荷之后的位置处提供给流水线电路106a。在另一个实施方案中,引擎118a可以被配置为在不存在要由引擎118a执行的启用的加密或解密功能的情况下或独立于这些功能,选择性地执行认证。在此类实施方案中,引擎118a可以被配置为在分组122中提供认证信息的结果。在各种实施方案中,引擎118a可以被配置为通过任何合适的信号或
信息将认证的结果提供给流水线电路106a。引擎118a可以通过路径124a向流水线电路106a提供分组或其他信息。路径124a可以以任何合适的方式实现,以用于在引擎118a与流水线电路106a之间传送信息,诸如共享存储器位置或另外的合适信号。
43.流水线电路106a可以被配置为接收分组122和路径124a上提供的任何信息。流水线电路106a可以被配置为执行用于准备使用macsec协议将分组122发送到其他设备的各种任务,诸如时间戳或其他macsec或非macsec应用程序处理。在一个实施方案中,流水线电路106a可以被配置为确定在路径124a上接收的信息是否指示分组120通过了由引擎118a执行的认证评估。如果分组120已通过引擎118a进行的认证评估,则流水线电路106a可以继续处理分组122。否则,如果分组120未通过引擎118a进行的认证评估,则流水线电路106a或设备102a可以采取任何合适的纠正措施。例如,设备102a可以提醒用户、请求重新发送分组120或中止处理分组120。在一个实施方案中,流水线电路106a可能启动对分组122的处理,而引擎118a仍在对分组120执行认证评估。因此,可以使由认证评估引起的延迟最小化。
44.在一个实施方案中,在完成对分组122的所有修改并发送所得的分组126之前,可能需要完成由引擎118a执行的认证评估。
45.类似地,设备102b可以处理分组126以产生分组134,包括生成中间分组130。例如,设备102b中的控制电路114b可以被配置为接收分组126。在一个实施方案中,基于寄存器116b中的在系统100中的传输期间对分组内容进行加密、解密或认证的设置,控制电路114b可以被配置为将分组126路由到引擎118b。
46.在另一个实施方案中,如果设置指示分组内容不需加密、解密或认证,控制电路114b可以被配置为避开将分组126路由到引擎118b或其部分,或者指示引擎118b避开此类操作。
47.在另一个实施方案中,如果设置指示分组内容不需加密或解密,但要进行认证,控制电路114b可以被配置为将分组126路由到引擎118b以进行处理。控制电路114b可以被配置为将分组126的副本路由到流水线电路,同时避开引擎118b的一部分进行加密和解密。此外,控制电路114b可以被配置为使分组126的另一副本发送到引擎118b的一部分以进行认证。
48.引擎118b可以被配置为对分组126的有效载荷进行加密、解密或认证。所得的经加密或解密的有效载荷可以包括在分组130中。引擎118b可以被配置为将分组130提供给流水线电路106b以对分组130执行附加处理,诸如时间戳、其他非macsec应用程序处理或其他macsec处理。
49.引擎118b可以被配置为执行对分组126的认证。此类认证可以包括检查由向设备102b发送分组126的实体创建的分组126中所包括的icv值,不论是直接地还是通过设备102a。在一个实施方案中,引擎118b可以被配置为除了要由引擎118b执行的启用的加密或解密功能之外,还选择性地执行认证。在此类实施方案中,引擎118b可以被配置为将认证信息的结果在分组130中的经加密/解密的有效载荷之后提供给流水线电路106b。在另一个实施方案中,引擎118b可以被配置为在不存在要由引擎118b执行的启用的加密或解密功能的情况下,选择性地执行认证。在此类实施方案中,引擎118b可以被配置为在分组或其他合适的信号诸如分组130中提供认证信息的结果。引擎118b可以被配置为通过路径124b向流水线电路106b提供分组130。路径124b可以以任何合适的方式实现,以用于在引擎118b与流水
线电路106b之间传送信息。
50.在此类实施方案中,引擎118b可以被配置为在分组130中提供认证信息的结果。在各种实施方案中,引擎118b可以被配置为通过任何合适的信号或信息将认证的结果提供给流水线电路106b。引擎118b可以通过路径124b向流水线电路106b提供分组或其他信息。路径124b可以以任何合适的方式实现,以用于在引擎118b与流水线电路106b之间传送信息,诸如共享存储器位置或另外的合适信号。
51.流水线电路106b可以被配置为接收分组130和路径124b上提供的任何信息。流水线电路106b可以被配置为执行用于准备使用macsec协议将分组130发送到其他设备的各种任务,诸如时间戳或其他非macsec应用程序处理。在一个实施方案中,流水线电路106b可以被配置为确定在路径124b上接收的信息是否指示分组126通过了由引擎118b执行的认证评估。如果分组126已通过引擎118b的认证评估并且经认证为与最初在系统100中发送的分组126相同,则流水线电路106b可继续处理分组130。否则,如果分组126未通过引擎118b的认证评估并且未被认证为与最初在系统100中发送的分组126相同,则流水线电路106b或设备102b可采取任何纠正措施。例如,设备102b可以提醒用户、请求重新发送分组126或中止处理分组126并且丢弃该分组。在一个实施方案中,流水线电路106b可能启动对分组130的处理,而引擎118b仍在对分组120执行认证评估。因此,可以使由认证评估引起的延迟最小化。
52.在一个实施方案中,在完成对分组130的所有修改并发送所得的分组134之前,可能需要完成认证评估。
53.寄存器116的设置可以定义设备102的操作模式,如上所述。这些设置可以由例如软件、设备102的制造商或设备102的用户来定义。操作模式可以包括:
54.[a]:对在设备102之间传送的分组进行加密/解密,但不进行认证的模式;
[0055]
[b]:对在设备102之间传送的分组进行加密/解密和认证的模式;
[0056]
[c]:对在设备102之间传送的分组既不加密/解密也不认证的模式;以及
[0057]
[d]:对在设备102之间传送的分组不进行加密/解密但进行认证的模式。
[0058]
图2至图4中示出了这些操作模式。在这些附图中的每个附图中,操作可由控制电路114的实例通过任何合适的机构来指导,诸如切换结构或其他路由机构(未示出)。分组可以在控制电路114的控制下路由到引擎118的实例,从引擎118的实例路由到流水线电路106的实例,或避开引擎118的实例或其部分并直接提供给流水线电路106的实例。此外,可以根据需要经由路径124的实例将附加信息提供给流水线电路106。
[0059]
模式[a]可能不符合macsec协议,但仍可用于任何合适的协议。
[0060]
模式[b]可能符合macsec协议,并且也可用于任何其他合适的协议。模式[b]可以表示常用类型的macsec操作。
[0061]
模式[c]可能不符合macsec协议,但仍可用于任何合适的协议。此外,模式[c]可以由其他符合macsec的设备使用,其中macsec处理基本上被禁用,或者其中分组不受macsec保护。
[0062]
模式[d]可能符合macsec协议,并且也可用于任何其他合适的协议。本公开的实施方案可以减少在这种模式下操作时所经历的延迟,其中认证仍保护了分组的macsec有效负载,但macsec分组的进一步处理可能并行进行。
[0063]
图2是根据本公开的实施方案的设备102的实例的更详细图示。
[0064]
所示示例可以实现设备102的任何合适实例,诸如设备102a或设备102b。输入分组202可以实现用于设备102a的实例的分组120或用于设备102b的实例的分组126。在设备102内用作解密或加密引擎的输出的分组可以包括分组202’。在设备102内用作引擎118的输出的分组可以包括分组204。分组204可以实现用于设备102a的实例的分组122或用于设备102b的实例的分组130。
[0065]
设备102可以被配置为在其中在选择性地使用加密的情况下传输分组的模式下操作。例如,设备102可以从另一设备接收加密形式的分组202,并且可以被配置为对分组202进行解密。在此类示例中,设备102可以被配置为加密要发送到其他设备的任何分组,作为流水线电路106的输出,尽管这在附图中未示出。可由引擎118执行加密和解密。此外,可以由引擎118选择性地执行加密和解密。可以使用任何合适的机构,使得引擎118可以选择性地执行加密和解密。
[0066]
例如,引擎118可以包括加密和解密引擎208。尽管被称之为加密和解密引擎208,但加密和解密引擎208可以被配置为仅对分组进行加密、仅对分组进行解密、对分组进行解密和加密或者选择性地执行这些任务中的任一者。加密和解密引擎208可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由处理器执行的指令,或它们的任何组合。加密和解密引擎208操作可以由来自控制电路114的信号(未示出)、存储在存储器中的设置或任何其他合适的来源控制。在图2的示例中,加密和解密引擎208可以被配置为对在加密和解密引擎208处接收到的任何内容执行解密。因此,为了选择性地执行解密,引擎118可以被配置为选择性地将数据路由到加密和解密引擎208。例如,引擎118可包括解复用器206。尽管示出了解复用器206,但可以使用任何合适的切换器或其他机构。解复用器206可以被配置为将传入数据(诸如分组202)选择性地路由到加密或解密(e|d)路径上的加密和解密引擎208,或者路由到旁路路径,该旁路路径避开加密和解密引擎208。解复用器206可以由来自控制电路114的控制信号控制。因此,控制电路114可以被配置为将给定传入分组选择性地路由到旁路路径或路由到加密和解密引擎208。
[0067]
加密和解密引擎208的输出可以是根据加密和解密引擎208的功能而被解密或加密的经修改分组,其表示为分组202'。旁路路径可以提供分组202的副本。引擎118可以被配置为选择性地输出这些分组中的一个分组作为输出。这可以以任何合适的方式执行,诸如使用多路复用器212。多路复用器212可以由来自控制电路114的信号控制。
[0068]
设备102可以被配置为在其中在选择性地使用认证的情况下传输分组的模式下操作。例如,设备102可以从另一设备接收分组202,并且可以被配置为对分组202的内容或来源进行认证。可由引擎118执行认证。引擎118可以包括用于执行认证的任何合适的部件。
[0069]
例如,引擎118可以包括认证引擎210。认证引擎210可以以任何合适的方式实现,包括模拟电路、数字电路、可配置逻辑部件、由处理器执行的指令,或它们的任何组合。认证引擎210操作可以由来自控制电路114的信号、存储在存储器中的设置或任何其他合适的来源控制。在图2的示例中,认证引擎210可以被配置为对在认证引擎210处接收到的任何内容执行认证。在一个实施方案中,可以由认证引擎210选择性地执行认证。认证引擎210可以基于来自控制电路114的控制信号选择性地执行认证。在未示出的其他示例中,引擎118可以通过选择性地路由分组202以避开认证引擎210来选择性地执行认证。认证引擎210的输出可以是用于指示认证结果的任何合适的信号,诸如分组、单个位或其他信息。因此,认证引
擎210可被配置为对其接收到的分组进行认证并且基于分组是否已被认证而将认证信号提供给流水线电路。
[0070]
引擎208、210和旁路路径的输出可以以任何合适的方式提供给流水线电路106。例如,认证引擎210的输出和多路复用器212的输出均可以经由路径124来提供。在未示出的其他示例中,认证引擎210的输出和多路复用器212的输出都可以经由单独的路径来提供。在未示出的其他示例中,认证引擎210的输出可以作为附加输入路由到多路复用器212,以选择性地经由路径124来提供。
[0071]
可以在设备102、电路104或控制电路114处接收分组202。分组202可以由另一设备或在设备102内例如由软件生成。控制电路114可以访问寄存器116中或分组202内的设置,以确定设备102的操作模式是否将包括加密/解密。此外,控制电路114可以确定设备102的操作模式是否将包括对分组的认证。控制电路114可以向引擎118发出指示操作模式的控制信号。这些控制信号可以提供给例如解复用器206、多路复用器212和认证引擎210。
[0072]
控制电路114可以被配置为将分组202路由到引擎118以进行选择性解密/加密和认证。引擎118可以被配置为对分组202执行解密并且将完成的分组作为分组204经由路径124提供给流水线电路106。此外,如果这样配置,引擎118可以被配置为对分组202执行认证并且将分组204中或除该分组之外的结果经由路径124提供给流水线电路106。流水线电路可以接收分组204,对分组204执行处理,并发出所得的分组。
[0073]
在诸如如上所述的模式[a]或[b]的操作模式下,引擎118可以被配置为执行加密/解密。在此类情况下,控制电路114可以使分组202由解复用器206路由到加密和解密引擎208。可能不使用旁路路径。加密和解密引擎208可以被配置为生成分组202'。分组202'可以是例如分组202的经解密版本。分组202'可以被路由到多路复用器212。控制电路114可以使分组202'作为分组204由多路复用器212经由路径124路由到流水线电路106。因此,加密和解密引擎208可以被配置为对分组(诸如分组202)进行加密或解密,并且将所得的经加密或解密的分组(诸如分组202’)提供给流水线电路106。控制电路114可以被配置为基于确定传入分组将被加密或解密来将给定传入分组选择性地路由到加密和解密引擎208。
[0074]
在诸如如上所述的模式[a]的操作模式下,引擎118可以不被配置为执行认证。在此类情况下,控制电路114可以禁用认证引擎210。认证结果可能不被发送到流水线电路106。
[0075]
在诸如如上所述的模式[b]的操作模式下,引擎118可以被配置为执行认证。在此类情况下,控制电路114可以启用认证引擎210。分组202可以被路由到认证引擎210。认证引擎210可以被配置为对分组202的来源或内容进行认证并返回认证结果。该认证结果可以被发送到流水线电路106。
[0076]
在诸如如上所述的模式[c]的操作模式下,引擎118可能不执行加密/解密。在此类情况下,控制电路114可以使分组202通过解复用器206路由以避开e|d路径上的加密和解密引擎208。可以使用旁路路径。分组202可以被路由到多路复用器212。控制电路114可以使分组202作为分组204由多路复用器212经由路径124路由到流水线电路106。引擎118可以不被配置为执行认证。在此类情况下,控制电路114可以禁用认证引擎210。认证结果可能不被发送到流水线电路106。
[0077]
在诸如如上所述的模式[d]的操作模式下,引擎118可能不执行加密/解密。在此类
情况下,控制电路114可以使分组202被解复用器206路由以避开加密和解密引擎208。可以使用旁路路径。分组202可以被路由到多路复用器212。控制电路114可以使分组202作为分组204由多路复用器212经由路径124路由到流水线电路106。引擎118可以被配置为执行认证。在此类情况下,控制电路114可以启用认证引擎210。分组202可以被路由到认证引擎210。认证引擎210可以被配置为对分组202的来源或内容进行认证并返回认证结果。该认证结果可以被发送到流水线电路106。控制电路114可以被配置为基于确定传入分组将被认证而不被解密来将给定传入分组选择性地路由到认证引擎210和旁路路径。此外,控制电路114可以被配置为并行地将给定传入分组的副本路由到认证引擎并且通过旁路路径路由到流水线电路。
[0078]
此外,在诸如模式[d]的操作模式中,基于确定将不执行解密或加密,控制电路114可以确定必要信息可以用于流水线电路106开始处理分组202。然而,在所得的分组从设备102发出之前,分组202仍可以被指定为需认证。此认证将花费给定时间量,否则可能导致在流水线电路106可以开始处理之前出现延迟。因此,在一个实施方案中,基于确定将不执行解密或加密,并且将执行认证,控制电路114可以使得对分组202的副本进行路由,该路由避开将由引擎118执行加密和解密过程。这可以以任何合适的方式执行,诸如通过经由旁路路径将分组202直接路由到流水线电路,并且选择用于由多路复用器212路由的旁路路径。因此,控制电路114可以被配置为将给定传入分组路由到认证引擎210和旁路路径两者,其中该旁路路径被配置为将传入分组的副本提供给流水线电路106以避开认证引擎210。
[0079]
在经由路径124接收到通过旁路路径的分组202之后,流水线电路106可以被配置为处理其内容。同时,并行地,引擎118可以被配置为使用例如认证引擎210对分组202执行认证。基于认证结果,认证引擎210可以经由路径124向流水线电路106提供用于指示认证结果的任何合适的信号。
[0080]
在接收到分组204或认证结果后,流水线电路106可以被配置为评估该信号是否指示分组202的内容被认证。如果分组202的内容未被认证,则流水线电路106可以采取任何合适的纠正措施,诸如提醒用户或系统的其他元素,请求重新发送分组或中止对分组的处理。因此,流水线电路106可以被配置为接收给定传入分组(诸如分组204)并且接收认证信号,并且在接收给定传入分组和认证信号之间处理给定传入分组以生成输出分组(诸如分组134)。
[0081]
流水线电路106可以被配置为抑制其输出分组(未示出)的发送,直到分组202被引擎118认证或不进行认证为止。流水线电路106可以被配置为在任何合适的基础上抑制其输出分组的发送。在一个实施方案中,流水线电路106可以被配置为接收分组204并且立即开始对其进行处理,但根据分组204确定其尚未被认证,因此在发出其输出分组(未示出)之前期望后续的认证信号。在此类实施方案中,流水线电路106可以被配置为在指定时间内等待认证信号的到达,然后传播其自身的输出分组(并且隐含地假设分组已被认证)或采取纠正措施(并且隐含地假设分组尚未被认证)。指定时间可以是用于引擎118执行对分组202的认证的足够时间。在另一个实施方案中,流水线电路106可以被配置为接收分组204并且立即开始对其进行处理,而不存在对是否应发送后续认证结果的期望。在此类实施方案中,流水线电路106可以被配置为在指定时间内等待分组204的到达,并且如果未接收到该分组,则传播输出分组。因此,流水线电路106可以被配置为基于认证信号中的给定传入分组(诸如
分组204所基于的分组202)未通过认证的指示,采取纠正措施。此外,流水线电路106可以被配置为基于认证信号中的给定传入分组(诸如分组204所基于的分组202)已通过认证的指示,发出基于传入分组的输出分组(诸如分组134)。
[0082]
在一个实施方案中,在图2的示例操作中,控制电路114可能不确定将不执行解密或加密,而是确定解密或加密已被执行,可能无需执行,或者可以与认证并行执行。在此类情况下,控制电路114可以根据上述配置操作对分组202的处理,其中将不执行解密或加密。
[0083]
在各种实施方案中,引擎208、210可以单独实现或以组合方式实现。此外,引擎208、210可以共享各种资源。例如,引擎208、210可以组合成单个引擎(未示出)。在这种情况下,可以将组合的引擎(未示出)放置在图2中所示的加密和解密引擎208的位置处。分组202可以经由加密、解密或认证路径(e|d|a)(未示出)选择性地路由到该组合引擎,其中e|d路径在图2中示出。组合的引擎可以由来自控制电路114的控制信号来控制。在模式[a]中,控制电路114可以使分组202选择性地经由e|d|a路径而不是经由旁路路径发送到组合引擎。在模式[b]中,控制电路114可以使分组202选择性地经由e|d|a路径而不是经由旁路路径发送到组合引擎。在模式[c]中,控制电路114可以使分组202选择性地经由旁路路径发送到流水线电路106,而不是经由e|d|a路径发送到组合引擎。在模式[d]中,控制电路114可以使分组202选择性地经由e|d|a路径发送到组合引擎,并且经由旁路路径发送到流水线电路106。该认证结果可以经由路径124发送到流水线电路106。
[0084]
图3示出了根据本公开的实施方案的用于低延迟macsec认证的示例方法300。方法300可由任何合适的装置诸如系统100的元件执行。具体地,方法300可以由设备102、电路104、控制电路114或引擎118中的一者或多者执行。例如,方法300可以由控制电路114和引擎118的组合来执行以产生分组,然后该分组可以由例如流水线电路106处理,如图4所示。
[0085]
方法300可以包括比图3所示更多或更少的步骤。方法300的各种步骤可以重复、省略、递归地执行,或者以不同的顺序执行。方法300可以基于任何合适的标准启动,可以重复,并且可以基于任何合适的标准终止。方法300可始于任何合适的步骤,诸如步骤305。
[0086]
在步骤305处,可以接收分组。该分组可能已由另一个设备生成或在所考虑的设备内生成。
[0087]
在步骤310处,可确定将对分组执行的操作。这些操作可以包括例如加密/解密或认证。
[0088]
在步骤315处,可确定是否将执行加密/解密。如果是,则方法300可以前进至步骤320。否则,方法300可前进至步骤335。
[0089]
在步骤320处,可以根据步骤310的确定来执行解密或加密。当完成时,可以将所得分组发送到流水线电路。方法300可前进至步骤325。
[0090]
在步骤325处,可确定是否将对分组执行认证。如果否,则方法300可前进至步骤355。如果是,则方法300可前进至步骤330。在一个实施方案中,步骤325-330可以与步骤320中的加密或解密的执行并行执行。
[0091]
在步骤330处,可以将分组发送到认证引擎。在完成认证后,可以将认证信号发送到流水线电路。方法300可前进至步骤355。
[0092]
在步骤335处,可确定是否将对分组执行认证。如果否,则方法300可前进至步骤350。如果是,则方法300可前进至步骤340。
[0093]
在步骤340处,可以通过避开解密和加密引擎的旁路路径将分组发送到流水线电路。此外,旁路路径还可以避开认证引擎。分组可以并行发送到认证引擎。方法300可前进至步骤345。
[0094]
在步骤345处,当认证过程已完成时,可以将认证信号发送到流水线电路。该认证信号可以指示分组是否被认证。方法300可前进至步骤355。
[0095]
在步骤350处,可以通过避开解密和加密引擎的旁路路径将分组发送到流水线电路。此外,旁路路径还可以避开认证引擎。方法300可前进至步骤355。
[0096]
在步骤355处,该方法可以终止。
[0097]
图4示出了根据本公开的实施方案的用于低延迟macsec认证的另一示例方法400。方法400可由任何合适的装置诸如系统100的元件执行。具体地,方法400可以由设备102、电路104、或流水线电路106中的一者或多者执行。例如,方法400可以由流水线电路106针对由例如控制电路114和引擎118的组合生成的分组而执行。
[0098]
方法400可以包括比图4所示更多或更少的步骤。方法400的各种步骤可重复、省略、递归地执行,或者以不同的顺序执行。例如,多个分组可以同时由方法400进行处理。方法400可以基于任何合适的标准启动,可以重复,并且可以基于任何合适的标准终止。方法400可始于任何合适的步骤,诸如步骤405。
[0099]
在步骤405处,可以从设备的另一部分(诸如引擎或控制电路)接收分组。在步骤410处,可以开始处理分组。
[0100]
在步骤415处,可确定是否需要针对所接收的分组进行认证。如果已知不需要认证,则方法400可前进至步骤445。如果已知需要认证,则方法400可前进到步骤430。如果不知道是否需要认证,或者如果认证是任选的,则方法400可前进至步骤420。
[0101]
在步骤420处,可确定是否已接收到认证信号。如果否,则方法400可前进至步骤425。如果是,则方法400可前进至步骤440。
[0102]
在步骤425处,可确定指定时间是否已到期。指定时间可以指定自已接收到分组以来要等待的时间量。指定时间可以是足以接收到认证信号的时间量。指定时间可以是以其他方式处理分组所需的时间。如果指定时间已到期,则方法400可以前进至步骤445。否则,方法400可返回至步骤420。
[0103]
在步骤430处,可确定是否已接收到认证信号。如果否,则方法400可前进至步骤435。如果是,则方法400可前进至步骤440。
[0104]
在步骤435处,可确定指定时间是否已到期。指定时间可以指定自已接收到分组以来要等待的时间量。指定时间可以是足以接收到认证信号的时间量。指定时间可以是以其他方式处理分组所需的时间。如果指定时间已到期,则方法400可以前进至步骤450。否则,方法400可返回至步骤430。
[0105]
在步骤440处,可确定接收到的认证信号是否指示分组被认证。如果分组被认证,则方法400可前进至步骤445。如果分组未被认证,则方法400可前进至步骤450。
[0106]
在步骤445处,可将以其他方式处理的分组作为输出分组发出。方法400可前进至步骤455。
[0107]
在步骤450处,可针对未被认证的分组采取任何合适的纠正措施。方法400可前进至步骤455。
[0108]
在步骤445处,方法400可终止。
[0109]
尽管上文已描述了示例实施方案,但在不脱离这些实施方案的实质和范围的情况下,可由本公开进行其他变型和实施方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献