TW202207682A - 低延遲MACsec驗證 - Google Patents

低延遲MACsec驗證 Download PDF

Info

Publication number
TW202207682A
TW202207682A TW110108866A TW110108866A TW202207682A TW 202207682 A TW202207682 A TW 202207682A TW 110108866 A TW110108866 A TW 110108866A TW 110108866 A TW110108866 A TW 110108866A TW 202207682 A TW202207682 A TW 202207682A
Authority
TW
Taiwan
Prior art keywords
packet
engine
verification
given incoming
incoming packet
Prior art date
Application number
TW110108866A
Other languages
English (en)
Inventor
布萊恩 布蘭斯科姆
Original Assignee
美商微晶片科技公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商微晶片科技公司 filed Critical 美商微晶片科技公司
Publication of TW202207682A publication Critical patent/TW202207682A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種設備可以包括:一管線電路,其係配置成處理封包;以及,一驗證引擎,其係配置成驗證封包,並根據封包是否已經通過驗證而提供一驗證信號至該管線電路。此設備可以進一步包括一控制電路,其係配置成將一給定的傳入封包路由至該驗證引擎及一旁路路徑。該旁路路徑可以配置成提供該給定的傳入封包之副本至該管線電路,以旁路繞過該驗證引擎。

Description

低延遲MACsec驗證
本發明係有關於電子網路連結及通信,並且更具體地,有關於一種用於低延遲MACsec驗證的系統和方法。
IEEE 802.1AE是IEEE媒體存取控制(MAC)安全標準,亦稱為MACsec。MACsec可以為諸如乙太網路之類的第2層媒體存取協定定義資料機密性及完整性。
MACsec使用加密協定以在數據傳輸中提供完整性及可選的機密性。MACsec可以在第2層為諸如TCP / IP之類的較高層協定提供本機安全(native security)。將要由MACsec保護的資料係作為MACsec封包或訊框而被傳輸。MACsec封包可以包括諸如乙太網路標頭之類的標頭(header)。MACsec封包可後隨有MACsec安全標籤(如果有的話),其含有用於標識所使用的加密及解密的資訊(如果有的話)。可以包含用於標識封包號碼的資訊。MACsec封包可以包括可被加密的負載(payload)。MACsec封包可以包括用於驗證的完整性檢查值(ICV),其可指示MACsec封包是由擁有給定的密碼鍵的節點所產生或由其所引起,並且,MACsec負載在傳輸期間尚未被修改。
當MACsec及其它專用的加密及驗證標準可以替代或添加至標準乙太網路實施時,本發明的發明人已經發現各種標準及技術中的問題。本發明的發明人已經發現這些問題可能具有顯著的延遲。於是,本發明的發明人已經開發出用於滿足可提供安全及低延遲的這些需求中之一個或多個需求的具體例。這些具體例可以適用於MACsec及其它安全協定及應用。
本發明的具體例包括一種設備。此設備可以包括:一管線電路,其係配置成處理封包;以及,一驗證引擎,其係配置成驗證封包,並根據封包是否已經通過驗證而提供一驗證信號至該管線電路。此設備可以進一步包括一控制電路,其係配置成將一給定的傳入封包路由(route)至該驗證引擎及一旁路路徑。該旁路路徑可以配置成提供該給定的傳入封包之副本至該管線電路,以旁路繞過該驗證引擎。
本發明的具體例可以包括一種方法。此方法可以包括:在一設備處接收一給定的傳入封包;以及,將該給定的傳入封包路由至該設備之一旁路路徑及一驗證引擎兩者。此方法可以進一步包括:在該驗證引擎處,驗證該給定的傳入封包,且根據封包是否已經通過驗證以提供一驗證信號至其管線電路。將該給定的傳入封包路由至該旁路路徑之步驟可以包括:提供該給定的傳入封包之一副本至該管線電路,以旁路繞過該驗證引擎。
本發明的具體例可以包括一種製品。此製品可以包括在一非暫時性機器可讀取媒體上的諸多指令。該等指令在由一處理器讀取及載入時,可以使該處理器在一設備處接收一給定的傳入封包,且將該給定的傳入封包路由至該設備之一旁路路徑及一驗證引擎。該等指令可以進一步使該處理器在該驗證引擎處驗證該給定的傳入封包,且根據封包是否已經通過驗證以提供一驗證信號至其管線電路。將該給定的傳入封包路由至該旁路路徑之操作可以包括:提供該給定的傳入封包之一副本至該管線電路,以旁路繞過該驗證引擎。
本發明的具體例可以包括使用MACsec的傳輸技術,但是其可以適用於其它資料安全協定。
使用MACsec可能會增加封包傳輸及處理延遲。MACsec係以乙太網路為基礎,因此總體傳輸量可能非常高。然而,由於MACsec,傳送或接收資訊的初始請求與該資訊的實際傳輸之間的時間延遲形式之延遲可能會增加。其延遲可能是往返延遲,這意味著MACsec連接的發送方及接收方都經歷相同或相似的延遲。單個傳輸方向上的延遲總量可以包括由內部延遲(例如,乙太網路MAC及PHY功能)、電纜延遲(可能是電纜長度及其中的材料之函數)、內部路由、交換、及佇列延遲(例如,訊框記憶體的輸入及輸出之延遲)以及MACsec特定延遲所引起的延遲總和。MACsec特定延遲可以包括由MACsec功能(例如,傳輸的加密、解密及驗證)引起的延遲。
本發明的具體例可以包括一種設備。此設備可以包括配置成處理封包的管線電路。封包可以具有任何合適的網路流量結構,例如,MACsec封包。封包可以是由此設備以其它方式處理的中間封包。此設備可以包括驗證引擎,其係配置成驗證封包,並根據封包是否已經通過驗證而提供驗證信號至管線電路。驗證信號可以是任何合適的信號,例如,封包、單一位元或其它資訊,以指示驗證的結果。此設備可以包括控制電路,其係配置成將給定的傳入封包路由至驗證引擎及旁路路徑。旁路路徑可以配置成提供給定的傳入封包之一副本至管線電路,以旁路繞過驗證引擎。
結合上述任何一個具體例,此設備可以進一步包括加密及解密引擎。驗證引擎、加密及解密引擎以及管線電路能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處功能的處理器所執行的指令、或其任何合適的組合。
控制電路可以配置成以任何合適的方式路由傳入封包。例如,控制電路可以配置成以任何合適的方式控制將驗證引擎、加密及解密引擎以及管線電路互連的解多工器、多工器、開關或開關結構(switch fabric)。可以藉由以任何合適方式指定的操作模式,例如,藉由用戶或系統偏好或命令,以確定設備中之封包之路由,並將其記錄在暫存器中。控制電路可以配置成讀取其配置並實施或引起此處所述之封包之路由。
結合上述任何一個具體例,第一封包可以到達此設備。控制電路可以配置成將第一封包選擇性地路由至驗證引擎、加密及解密引擎以及管線電路。可以將第一封包平行路由至驗證引擎及次電路(subcircuit)。次電路可以包括與旁路路徑平行的加密及解密引擎。可以使次電路的輸出連接至管線電路。加密及解密引擎可以配置成對封包進行加密或解密,並且將所得出的加密或解密封包提供給管線電路。結合上述任何一個具體例,控制電路可以進一步配置成將給定的傳入封包選擇性地路由至旁路路徑或次電路內的加密及解密引擎。將給定的傳入封包路由至旁路路徑,可以旁路繞過加密及解密引擎之操作。因此,通過旁路路徑以路由的第一封包可以產生路由至管線電路的第二封包,而該第二封包與第一封包相較並沒有變化。通過加密及解密引擎以路由的第一封包可以產生第二封包,而該第二封包係第一封包之解密或加密的變型。
結合上述任何一個具體例,控制電路可以進一步配置成根據將對傳入封包進行驗證而不進行解密或加密的確定,將給定的傳入封包選擇性地路由至驗證引擎及旁路路徑。可以不將給定的傳入封包路由至加密及解密引擎。
結合上述任何一個具體例,控制電路可以進一步配置成根據將對傳入封包進行加密或解密的確定,將給定的傳入封包選擇性地路由至加密及解密引擎。可以不將給定的傳入封包路由至旁路路徑。
結合上述任何一個具體例,控制電路可以進一步配置成將給定的傳入封包的諸多副本平行路由至驗證引擎且經由旁路路徑至管線電路。這可以根據將不對傳入封包進行加密或解密但仍將予驗證的確定而執行。
結合上述任何一個具體例,管線電路可以進一步配置成接收給定的傳入封包。這可以經由旁路路徑來接收。管線電路可以進一步配置成接收驗證信號,並且,在給定的傳入封包與驗證信號的接收之間,處理給定的傳入封包,以產生輸出封包。
結合上述任何一個具體例,管線電路可以進一步配置成根據驗證信號指示給定的傳入封包未通過驗證,而採取校正動作。結合上述任何一個具體例,管線電路可以進一步配置成根據驗證信號指示給定的傳入封包已經通過驗證,而發出輸出封包。
圖1係本發明具體例之用於低延遲MACsec驗證的系統100之圖示。
系統100可以包括一個或多個裝置102。裝置102可以由任何合適的電子裝置或其一部分實施。裝置102可以包括例如電子裝置的通信模組、PHY、網路介面卡(NIC)、網路交換機、網路路由器或其任何一部分。裝置102能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處所述的裝置102之功能的處理器(例如,處理器108)所執行的指令、或其任意組合。裝置102可以配置成根據MACsec或其它合適的協定以執行通信。雖然在圖1的系統100之實例中顯示兩個裝置102A、102B,但是,系統100可以包括任何合適數量及種類的裝置102。
裝置102可以配置成接收或產生網路流量。其網路流量可以被傳送至其它電子裝置,例如,其它裝置102。在某些情況下,其網路流量可能有意在作為終端目標的一個裝置102處被接收。網路流量可以被劃分為例如諸多封包。在圖1的實例中顯示在傳輸的各種階段之各種封包,例如,封包120、122、126、130、134。
可以在裝置102A處接收或由裝置102A產生封包120。封包120可以源自於諸如通信地耦接至裝置102A之另一個電子裝置(未顯示)的任何一個合適來源,或者源自於裝置102A內之諸如應用程式(未顯示)之類的來源,而使用儲存在非暫時性機器可讀取媒體(例如,記憶體110)上之諸多指令,以在處理器108上執行。可以在處理期間在裝置102A內部產生封包122。在裝置102A中處理之後,可以產生封包126。
裝置102可以配置成將網路流量傳送至其它電子裝置或者在裝置102內部或通信地耦接至裝置102的子系統上。例如,裝置102A可以配置成經由網路128而將網路流量以封包126的形式傳送至裝置102B。網路128可以包括任何合適的網路,包括無線或有線網路。接著,裝置102B可以配置成將流量提供至在處理器108B上執行的諸多應用程式(未顯示),或者將流量傳送至其它電子裝置(未顯示)上。例如,可以在處理期間在裝置102B內部產生封包130。在裝置102B中處理之後,可以產生封包134。
封包126可以基於封包122。轉而,封包122可以基於封包120,因此封包126可以基於封包120。裝置102A可以配置成根據封包120的輸入或產生以發出封包126。在一個具體例中,封包126可以包括與封包120相同的負載。在另一具體例中,封包126可以包括與封包120相同但是被加密的負載。在又一個具體例中,封包126可以包括與封包120相同但被解密的負載。在另一個具體例中,封包126可以包括除了封包120中所包含的資訊之外的附加資訊。這樣的附加資訊可以包括驗證資訊(例如,ICV)或者附加的路由或傳輸資訊。當封包126符合MACsec協定時,這樣的封包可以總是配置成要經過驗證。然而,根據MACsec協定,封包126的負載可以被加密或可以不被加密。
同樣地,封包134可以基於封包130。轉而,封包130可以基於封包126,因此封包134基於封包126。裝置102B可以配置成根據封包126的輸入以發出封包134。在一個具體例中,封包134可以包括與封包126相同的負載。在另一個具體例中,封包134可以包括與封包126相同但被加密的負載。在又一個具體例中,封包134可以包括與封包126相同但被解密的負載。在另一個具體例中,封包134可以包括除了封包126中包含的資訊之外的附加資訊。這樣的附加資訊可以包括驗證資訊(例如,ICV、檢查總和、驗證碼)或者附加的路由或傳輸資訊。
諸裝置102可以各自包括電路104。諸電路104能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處功能的處理器(例如,處理器108)所執行的指令或其任何組合。諸電路104可以各自包括控制電路114、一個或多個暫存器116及引擎118。
控制電路114可以配置成讀取諸多設定值,以確定電路104的操作。控制電路114可以配置成根據這樣的諸多設定值以及諸如乙太網路標頭及安全標籤內容之類的封包內容,以路由封包。控制電路114能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處功能的處理器(例如,處理器108)所執行的指令或其任何組合。控制電路114可以包括開關邏輯電路(未顯示),以路由所傳入的封包,例如,封包120(用於裝置102A)或封包126(用於裝置102B)。開關邏輯電路可以配置成在控制電路114的處理下路由中間的封包,例如,封包122(用於裝置102A)或封包130(用於裝置102B)。開關邏輯電路可以配置成路由諸多輸出封包,例如,封包126(用於裝置102A)或封包134(用於裝置102B)。在一個具體例中,開關邏輯電路可以配置成選擇性地旁路繞過通過各別的引擎118或其諸部分的封包之路由。
諸裝置102可以各自包括暫存器116。諸暫存器116能以任何合適的方式實施,例如,記憶體位置,並且可以配置成儲存任何合適的資訊。例如,暫存器116可以包括一個或多個查找表或組態暫存器。
如上所述,控制電路114可以配置成讀取設定值。裝置102可以包括或可以通信地耦接至這些設定值,而這些設定值係規定裝置102的操作,以根據諸如封包120(用於裝置102A)或封包126(用於裝置102B)之類的傳入封包,以產生諸如封包126(用於裝置102A)或封包134(用於裝置102B)的輸出封包之特定實施。這樣的設定值能以任何合適的方式實施,例如,藉由各別裝置102中的暫存器116。設定值可以由用戶或裝置102的製造商進行程式化,或者可以由其它元件(未顯示)以程式化方式進行改變。在一些實例中,一些或所有設定值可以包含在封包標頭內或封包中的其它地方。
諸裝置102可以各自包括引擎118。引擎118可以配置成為加密、解密或驗證引擎,並且能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處功能的處理器(例如,處理器108)所執行的指令或其任何組合。引擎118可以配置成選擇性地實施所傳入的封包之加密、解密或驗證。
裝置102可以各自包括附加的管線電路106。管線電路106可以配置成以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、由執行此處功能的處理器(例如,處理器108)所執行的指令或其任何組合。管線電路106可以配置成為了各種功能、協定或特定應用目的,而對封包執行附加處理,例如,時間戳記(timestamping)、其它非MACsec應用處理或其它MACsec處理。
控制電路114A可以配置接收封包120。在一個具體例中,根據用於在系統100中之傳輸期間對諸封包的內容進行加密、解密或驗證的暫存器116A中之諸多設定值,控制電路114A可以配置成將封包120路由至引擎118A。
在另一個具體例中,如果諸設定值指示不對封包的內容進行加密、解密或驗證,則控制電路114A可以配置成旁路繞過封包120至引擎118A或其部分的路由,或者指示引擎118A旁路繞過此等操作。
在又一個具體例中,如果設定值指示不對封包的內容進行加密或解密,而是進行驗證,則控制電路114A可以配置成將封包120路由至引擎118A,以進行處理。控制電路114A可以配置成在旁路繞過用於加密及解密的引擎118A之一部分的同時,將封包120的一副本路由至管線電路106A。再者,控制電路114A可以配置成將封包120的另一個副本傳送至用於驗證之引擎118A的一部分。
引擎118A可以配置成對封包120的負載進行加密或解密。所得出的加密或解密負載可以包含在封包122中。引擎118A可以配置成提供封包122至管線電路106A,以對封包122執行附加的處理,例如,時間戳記、其它非MACsec應用處理或其它MACsec處理。
引擎118A可以配置成執行封包120的驗證。這様的驗證可以包括檢查在封包120中所包含之ICV值,其係由將封包120傳送至裝置102A的一個實體所產生。在一個具體例中,除了要由引擎118A執行之啟用的加密或解密功能之外,引擎118A還可以配置成選擇性地執行驗證。在這樣的具體例中,引擎118A可以配置成將在封包122中之加密/解密的負載之後的位置處之封包122中的驗證資訊之結果,提供至管線電路106A。在另一個具體例中,引擎118A可以配置成在不存在引擎118A所要執行之啟用的加密或解密功能之情況下、或在與之分開的情況下,選擇性地執行驗證。在這樣的具體例中,引擎118A可以配置成在封包122中提供驗證資訊的結果。在各個具體例中,引擎118A可以配置成藉由任何合適的信號或資訊以將驗證的結果提供至管線電路106A。引擎118A可以透過路徑124A以將封包或其它資訊提供至管線電路106A。路徑124A能以用於在引擎118A與管線電路106A之間傳遞資訊的任何合適方式實施,例如,共享的記憶體位置或另一個合適的信號。
管線電路106A可以配置成接收在路徑124A上提供之封包122及任何資訊。管線電路106A可以配置成為了準備要使用MACsec協定以傳送至其它裝置的封包122而執行各種任務,例如,時間戳記或其它MACsec或非MACsec應用處理。在一個具體例中,管線電路106A可以配置成確定在路徑124A上接收之資訊是否指示封包120通過由引擎118A所執行的驗證評估。如果封包120已經通過引擎118A進行的驗證評估,則管線電路106A可以繼續處理封包122。否則,如果封包120未通過引擎118A進行的驗證評估,則管線電路106A或裝置102A可以採取任何合適的校正動作。例如,裝置102A可以警告用戶,請求重發封包120,或者中止處理封包120。在一個具體例中,當引擎118A仍然對封包120執行驗證評估之同時,管線電路106A可以開始實施封包122的處理。因此,可以最小化由驗證評估所引起的延遲。
在一個具體例中,在完成封包122之所有修改及傳送所得出的封包126之前,可能需要完成由引擎118A執行的驗證評估。
同樣地,裝置102B可以處理封包126,以產生封包134,其包括產生成中間的封包130。例如,裝置102B中之控制電路114B可以配置成接收封包126。在一個具體例中,根據用於在系統100中之傳輸期間對封包的內容進行加密、解密或驗證的暫存器116B中之設定值,控制電路114B可以配置成將封包126路由至引擎118B。
在另一個具體例中,如果設定值指示不對封包的內容進行加密、解密或驗證,則控制電路114B可以配置成旁路繞過封包126至引擎118B或其諸部分的路由,或者指示引擎118B旁路繞過這樣的操作。
在又一個具體例中,如果設定值指示不對封包的內容進行加密或解密,而是進行驗證,則控制電路114B可以配置成將封包126路由至引擎118B,以進行處理。控制電路114B可以配置成在旁路繞過用於加密及解密的引擎118B之一部分的同時,將封包126的一副本路由至管線電路。再者,控制電路114B可以配置成將封包126的另一個副本傳送至用於驗證之引擎118B的一部分。
引擎118B可以配置成對封包126的負載進行加密、解密或驗證。所得出的加密或解密負載可以包含在封包130中。引擎118B可以配置成提供封包130至管線電路106B,以對封包130執行附加的處理,例如,時間戳記、其它非MACsec應用處理或其它MACsec處理。
引擎118B可以配置成執行封包126的驗證。這様的驗證可以包括檢查在封包126中所包含之ICV值,其係由將封包126直接或經由裝置102A傳送至裝置102B的一個實體所產生。在一個具體例中,除了要由引擎118B所執行之啟用的加密或解密功能之外,引擎118B還可以配置成選擇性地執行驗證。在這樣的具體例中,引擎118B可以配置成將在封包130中之加密/解密的負載之後的驗證資訊之結果提供至管線電路106B。在另一個具體例中,引擎118B可以配置成在不存在引擎118B所要執行之啟用的加密或解密功能之情況下,選擇性地執行驗證。在這樣的具體例中,引擎118B可以配置成在封包或其它合適的信號(例如,封包130)中提供驗證資訊的結果。引擎118B可以配置成透過路徑124B以將封包130提供至管線電路106B。路徑124B能以用於在引擎118B與管線電路106B之間傳遞資訊的任何合適方式實施。
在這樣的具體例中,引擎118B可以配置成在封包130中提供驗證資訊的結果。在各種具體例中,引擎118B可以配置成藉由任何合適的信號或資訊,以將驗證的結果提供至管線電路106B。引擎118B可以透過路徑124B,以將封包或其它資訊提供至管線電路106B。路徑124B能以用於在引擎118B與管線電路106B之間傳遞資訊的任何合適方式來實施,例如,共享的記憶體位置或另一個合適的信號。
管線電路106B可以配置成接收在路徑124B上提供之封包130及任何資訊。管線電路106B可以配置成為了準備要使用MACsec協定傳送至其它裝置的封包130而執行各種任務,例如,時間戳記或其它非MACsec應用處理。在一個具體例中,管線電路106B可以配置成確定在路徑124B上接收之資訊是否指示封包126通過由引擎118B所執行之驗證評估。如果封包126已經通過引擎118B所進行的驗證評估且被驗證為系統100中最初傳送之相同的封包126,則管線電路106B可以繼續處理封包130。否則,如果封包126未通過引擎118B所進行的驗證評估,因而未被驗證為系統100中最初傳送之相同的封包126,則管線電路106B或裝置102B可以採取任何合適的校正動作。例如,裝置102B可以警告用戶,請求重發封包126,或者中止處理封包126及丟棄封包126。在一個具體例中,當引擎118B仍然對封包126執行驗證評估時,管線電路106B可以開始實施封包130的處理。因此,可以最小化由驗證評估所引起的延遲。
在一個具體例中,在完成封包130之所有修改及傳送所得出的封包134之前,可能需要完成驗證評估。
暫存器116的諸多設定值可以規定上述用於裝置102的操作模式。其設定值可以由例如軟體、裝置102的製造商或裝置102的用戶規定。其操作模式可以包括: [A]:對諸裝置102之間傳送的封包進行加密/解密但不進行驗證的模式; [B]:對諸裝置102之間傳送的封包進行加密/解密及驗證的模式; [C]:不對諸裝置102之間傳送的封包進行加密/解密及驗證的模式;以及 [D]:不對諸裝置102之間傳送的封包進行加密/解密但進行驗證的模式。
這些操作模式顯示在圖2至4中。在這些圖的每一者中,其操作可以由控制電路114經由任何合適的機制所指導,(例如,開關結構或其它路由機制(未顯示))。封包可以在控制電路114的控制下被路由至引擎118,接著從引擎118被路由至管線電路106,或者旁路繞過引擎118或其諸多部分而直接被提供至管線電路106。再者,可以依需要而在通向管線電路106的路徑124上提供附加的資訊。
模式[A]可能不符合MACsec協定,但是仍然可以用於任何合適的協定。
模式[B]可能符合MACsec協定,並且亦可以用於任何其它合適的協定。模式[B]可以代表一種常用的MACsec操作。
模式[C]可能不符合MACsec協定,但是仍然可以用於任何合適的協定。另外,模式[C]可能會被MACsec相容裝置使用,其中,MACsec處理係實質上被解除,或其中,封包沒有MACsec保護。
模式[D]可能符合MACsec協定,並且亦可以用於任何其它合適的協定。本發明具體例可以減少在以此模式中操作時經歷的延遲,其中,驗證仍然保護封包的MACsec負載,但是可以同時進行MACsec封包的進一步處理。
圖2係本發明具體例之裝置102的一個實例之更詳細圖示。
所示的實例可以實現裝置102之任何合適的範例,例如,裝置102A或裝置102B。所輸入的封包202可以實現用於裝置102A的封包120或用於裝置102B的封包126。在裝置102內用作為解密或加密引擎之輸出的封包可以包括封包202'。在裝置102內用作為引擎118之輸出的封包可以包括封包204。封包204可以實現用於裝置102A的封包122或用於裝置102B的封包130。
裝置102可以配置成在選擇性地使用加密以傳輸封包的模式下操作。例如,裝置102可以從另一個裝置接收加密形式的封包202,並且可以配置成對封包202進行解密。在這樣的實例中,裝置102可以配置成對要從管線電路106傳送至其它裝置以作為輸出的任何封包進行加密,雖然未顯示在圖中。加密及解密可以由引擎118執行。再者,加密及解密可以由引擎118選擇性地執行。可以使用任何合適的機制,使引擎118可以選擇性地執行加密及解密。
例如,引擎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。
加密及解密引擎208之輸出可以是表示為封包202'的修改封包,該修改封包係已根據加密及解密引擎208的功能進行解密或加密。旁路路徑可以提供封包202的一副本。引擎118可以配置成選擇性地輸出這些封包中之一者以作為輸出。這能以任何合適的方式執行,例如,利用多工器212。多工器212可以由來自控制電路114的信號所控制。
裝置102可以配置成在選擇性地使用驗證以傳輸封包的模式下操作。例如,裝置102可以從另一個裝置接收封包202,並且可以配置成驗證封包202的內容或來源。其驗證可以由引擎118執行。引擎118可以包括用於執行驗證的任何合適的組件。
例如,引擎118可以包括驗證引擎210。驗證引擎210能以任何合適的方式實施,包括:類比電路、數位電路、可配置的邏輯電路、用於由處理器所執行的指令或其任何組合。驗證引擎210的操作可以由來自控制電路114的信號、儲存在記憶體中的設定值、或任何其它合適來源予以控制。在圖2的實例中,驗證引擎210可以配置成對在驗證引擎210處所接收到的任何內容執行驗證。在一個具體例中,驗證可以由驗證引擎210選擇性地執行。驗證引擎210可以根據來自控制電路114的控制信號以選擇性地執行驗證。在未顯示的其它實例中,引擎118可以藉由選擇性地路由封包202以旁路繞過驗證引擎210,選擇性地執行驗證。驗證引擎210的輸出可以是任何合適的信號(例如,封包、單一位元或其它資訊),以指示驗證的結果。因此,驗證引擎210可以配置成對所接收到的封包進行驗證,並且根據封包是否已經通過驗證而提供驗證信號至管線電路。
可以將引擎208、210及旁路路徑的輸出以任何合適的方式提供至管線電路106。例如,可以在路徑124上提供驗證引擎210的輸出及多工器212的輸出。在未顯示的另一個實例中,可以在分別的路徑上提供驗證引擎210的輸出及多工器212的輸出。在未顯示的又一個實例中,驗證引擎210的輸出可以作為附加的輸入被路由至多工器212,以被選擇性地提供在路徑124上。
可以在裝置102、電路104或控制電路114處接收封包202。封包202可以由另一裝置或者在裝置102內由例如軟體所產生。控制電路114可以存取暫存器116中或封包202內的設定值,以確定裝置102的操作模式將包括加密/解密。再者,控制電路114可以確定裝置102的操作模式是否將包括封包的驗證。控制電路114可以將指示操作模式的控制信號發出至引擎118。這些控制信號可以被提供至例如解多工器206、多工器212及驗證引擎210。
控制電路114可以配置成將封包202路由至引擎118,以進行選擇性解密/加密及驗證。引擎118可以配置成對封包202執行解密,並且透過路徑124將所完成的封包作為封包204提供至管線電路106。此外,如果這樣配置,則引擎118可以配置成對封包202執行驗證,並且透過路徑124將封包204中的或除封包204之外的結果提供至管線電路106。管線電路可以接收封包204,對封包204執行處理,並且發出所得出的封包。
在諸如上述模式[A]或[B]的操作模式中,引擎118可以配置成執行加密/解密。在這樣的情況下,控制電路114可以藉由解多工器206以將封包202路由至加密及解密引擎208。可能不使用旁路路徑。加密及解密引擎208可以配置成產生封包202'。封包202'可以是例如封包202之解密變型。可以將封包202'路由至多工器212。控制電路114可以藉由多工器212以將封包202'作為路徑124上的封包204而路由至管線電路106。因此,加密及解密引擎208可以配置成諸多加密或解密封包(例如,封包202),並且將所得出的諸多加密或解密封包(例如,封包202')提供至管線電路106。控制電路114可以配置成根據將對傳入封包進行加密或解密的確定,以將給定的傳入封包選擇性地路由至加密及解密引擎208。
在諸如上述模式[A]的操作模式中,引擎118可能未配置成執行驗證。在這樣的情況下,控制電路114可以解除驗證引擎210。可能不會將驗證結果傳送至管線電路106。
在諸如上述模式[B]的操作模式中,引擎118可以配置成執行驗證。在這樣的情況下,控制電路114可以啟用驗證引擎210。可以將封包202路由至驗證引擎210。驗證引擎210可以配置成驗證封包202的來源或內容,並回傳驗證結果。其驗證結果可以被傳送至管線電路106。
在諸如上述模式[C]的操作模式中,引擎118可以不執行加密/解密。在這樣的情況下,控制電路114可以藉由解多工器206路由封包202,以旁路繞過E|D路徑上的加密及解密引擎208。可以使用旁路路徑。可以將封包202路由至多工器212。控制電路114可以藉由多工器212以將封包202作為路徑124上的封包204路由至管線電路106。引擎118可以配置成不執行驗證。在這樣的情況下,控制電路114可以解除驗證引擎210。可以不將驗證結果傳送至管線電路106。
在諸如上述模式[D]的操作模式中,引擎118可能不執行加密/解密。在這樣的情況下,控制電路114可以藉由解多工器206路由封包202,以旁路繞過加密及解密引擎208。可以使用旁路路徑。可以將封包202路由至多工器212。控制電路114可以藉由多工器212以將封包202作為路徑124上的封包204路由至管線電路106。引擎118可以配置成執行驗證。在這樣的情況下,控制電路114可以啟用驗證引擎210。可以將封包202路由至驗證引擎210。驗證引擎210可以配置成驗證封包202的來源或內容,並回傳驗證結果。可以將驗證結果傳送至管線電路106。控制電路114可以配置成根據將對傳入封包進行驗證而不進行解密的確定,以將給定的傳入封包選擇性地路由至驗證引擎210及旁路路徑。此外,控制電路114可以配置成將給定的傳入封包的諸多副本平行路由至驗證引擎並經由旁路路徑至管線電路。
再者,在諸如模式[D]的操作模式下,根據不執行解密或加密的確定,控制電路114可以確定必要的資訊對於管線電路106可能是可利用的,以開始處理封包202。然而,在從裝置102發出所得出的封包之前,仍然可以指定要對封包202進行驗證。此驗證將花費給定的時間量,否則可能在管線電路106開始進行處理之前造成延遲。於是,在一個具體例中,根據不執行解密或加密而執行驗證的確定,控制電路114可以路由封包202之副本,旁路繞過由引擎118執行的加密及解密過程。這能以任何合適的方式來執行,例如,藉由將封包202透過旁路路徑直接路由至管線電路,並且由多工器212選擇用於路由的旁路路徑。控制電路114因此可以配置成將給定的傳入封包路由至驗證引擎210及旁路路徑,其中,旁路路徑係配置成將傳入封包的副本提供至管線電路106,以旁路繞過驗證引擎210。
在經由旁路路徑在路徑124上接收封包202之後,管線電路106可以配置成正在處理其內容。同時,平行地,引擎118可以配置成使用例如驗證引擎210對封包202執行驗證。根據驗證的結果,驗證引擎210可以透過路徑124以將任何合適的信號提供至管線電路106,以指示驗證結果。
在接收封包204或驗證結果之後,管線電路106可以配置成評估信號是否指示封包202的內容通過驗證。如果封包202的內容未通過驗證,則管線電路106可以採取任何合適的校正動作,例如,警告用戶或系統的其它元件,請求重發封包或中止封包的處理。管線電路106因此可以配置成接收給定的傳入封包(例如,封包204)及接收驗證信號,並且在給定的傳入封包與驗證信號的接收之間,處理給定的傳入封包,以產生輸出封包(例如,封包134)。
管線電路106可以配置成在暫止傳送其輸出封包(未顯示),直到引擎118已驗證或不驗證封包202。管線電路106可以配置成在任何適當的基礎上暫止傳送其輸出封包。在一個具體例中,管線電路106可以配置成接收封包204並立即開始對其進行處理,但是,根據封包204確定其尚未被驗證,並且因此在發出其輸出封包(未顯示)之前,期望後續的驗證信號。在這樣的具體例中,管線電路106可以配置成在傳遞其自己的輸出封包(並且隱含式地假設其封包已經通過驗證)或者採取校正動作(並且隱含式地假設其封包尚未通過驗證)之前,為了驗證信號的到來而等待一段指定的時間。所指定的時間可以是引擎118執行對封包202的驗證之足夠時間。在另一個具體例中,管線電路106可以配置成接收封包204並立即開始對其進行處理,但是,不期望是否後續的驗證結果應該被傳送。在這樣的具體例中,管線電路106可以配置成為了封包204的到來而等待其指定的時間,且如果未接收到封包204,則傳遞輸出封包。因此,管線電路106可以配置成根據驗證信號指示給定的傳入封包(例如,封包202,而封包204係基於該封包)沒有通過驗證而採取校正動作。此外,管線電路106可以配置成根據驗證信號指示給定的傳入封包(例如,封包202,而封包204係基於該封包)通過驗證而發出基於傳入封包的輸出封包(例如,封包134)。
在一個具體例中,在圖2的實例操作中,控制電路114可能不確定將不執行解密或加密,而是確定已經執行解密或加密,可能不需要執行解密或加密,或者可以同時執行解密或加密與驗證。在這樣的情況下,控制電路114可以根據上述配置來操控封包202的處理,其中將不執行解密或加密。
在各種具體例中,引擎208、210可以分開地或以組合的方式來實施。此外,引擎208、210可以共享各種資源。例如,引擎208、210可以被組合成單個引擎(未顯示)。在這樣的情況下,可以將組合引擎(未顯示)放置在圖2中顯示加密及解密引擎208的位置。可以在加密、解密或驗證路徑(E|D|A)(未顯示)上將封包202選擇性地路由至組合引擎,其中在圖2中顯示E|D路徑。組合引擎可能由來自控制電路114的控制信號控制。在模式[A]中,控制電路114可以在E|D|A路徑上而不是在旁路路徑上將封包202選擇性地傳送至組合引擎。在模式[B]中,控制電路114可以在E|D|A路徑上而不是在旁路路徑上將封包202選擇性地傳送至組合引擎。在模式[C]中,控制電路114可以在旁路路徑上將封包202選擇性地傳送至管線電路106,而不是在E|D|A路徑上將封包202選擇性地傳送至組合引擎。在模式[D]中,控制電路114可以在E|D|A路徑上將封包202選擇性地傳送至組合引擎及在旁路路徑上將封包202選擇性地傳送至管線電路106。可以在路徑124上將驗證結果傳送至管線電路106。
圖3說明本發明具體例之用於低延遲MACsec驗證的一個示例方法300。方法300可以由任何合適的設備來執行,例如,系統100的諸多元件。具體地,方法300可以由裝置102、電路104、控制電路114及引擎118中之一個或多個來執行。例如,方法300可以由控制電路114與引擎118的組合來執行,以產生封包,然後如圖4所示,藉由例如管線電路106來處理封包。
方法300可以包括比圖3所示之步驟較多或較少的步驟。可以重複、省略、遞歸地執行、或以不同順序執行方法300的各個步驟。方法300可以根據任何合適的準則開始實施、可以重複、且可以根據任何合適的準則終止。方法300能以任何適當的步驟(例如,步驟305)開始。
在步驟305,可以接收封包。封包可以由另一個裝置產生,或者在所提及的裝置內產生。
在步驟310,可以確定要對封包執行的諸多操作。該等操作可以包括例如加密/解密或驗證。
在步驟315,可以確定是否要執行加密或解密。如果是,則方法300可以前進至步驟320。否則,方法300可以前進至步驟335。
在步驟320,可以依據步驟310的確定以執行解密或加密。當完成時,可以將所得出的封包傳送至管線電路。方法300可以前進至步驟325。
在步驟325,可以確定是否要對封包執行驗證。如果否,則方法300可以前進至步驟355。如果是,則方法300可以前進至步驟330。在一個具體例中,步驟325至330的執行可以與步驟320中之加密或解密的執行同時進行。
在步驟330,可以將封包傳送至驗證引擎。在驗證完成之後,可以將驗證信號傳送至管線電路。方法300可以前進至步驟355。
在步驟335,可以確定是否要對封包執行驗證。如果否,則方法300可以前進至步驟350。如果是,則方法300可以前進至步驟340。
在步驟340,可以經由旁路繞過解密及加密引擎的旁路路徑以將封包傳送至管線電路。再者,旁路路徑亦可以旁路繞過驗證引擎。可以平行地將封包傳送至驗證引擎。方法300可以前進至步驟345。
在步驟345,當已完成驗證過程時,可以將驗證信號傳送至管線電路。驗證信號可以指示封包是否通過驗證。方法300可以前進至步驟355。
在步驟350,可以經由旁路繞過解密及加密引擎的旁路路徑以將封包傳送至管線電路。再者,旁路路徑亦可以旁路繞過驗證引擎。方法300可以前進至步驟355。
在步驟355,此方法可以終止。
圖4說明本發明具體例之用於低延遲MACsec驗證的另一個示例方法400。方法400可以由任何合適的設備來執行,例如,系統100的諸多元件。具體地,方法400可以由裝置102、電路104及管線電路106中之一個或多個來執行。例如,方法400可以由管線電路106針對由例如控制電路114與引擎118的組合所產生之封包來執行。
方法400可以包括比圖4所示之步驟較多或較少的步驟。可以重複、省略、遞歸地執行、或以不同順序執行方法400的各個步驟。例如,方法400可以同時處理多個封包。方法400可以根據任何合適的準則開始實施、可以重複、且可以根據任何合適的準則終止。方法400能以任何適當的步驟(例如,步驟405)開始。
在步驟405,可以從裝置之諸如引擎或控制電路之類的另一個部分接收封包。在步驟410,可以開始處理封包。
在步驟415,可以確定所接收的封包是否需要驗證。如果知道不需要驗證,則方法400可以前進至步驟445。如果知道需要驗證,則方法400可以前進至步驟430。如果不知道是否需要驗證,或者如果驗證是可選的,則方法400可以前進至步驟420。
在步驟420,可以確定是否已經接收到驗證信號。如果否,則方法400可以前進至步驟425。如果是,則方法400可以前進至步驟440。
在步驟425,可以確定所指定的時間是否已經到期。指定時間可以標定從接收到封包起要等待的時間量。指定時間可以是足以接收驗證信號之時間量。指定時間可以是另外處理封包所需的時間。如果指定時間已經到期,則方法400可以前進至步驟445。否則,方法400可以返回至步驟420。
在步驟430,可以確定是否已經接收到驗證信號。如果否,則方法400可以前進至步驟435。如果是,則方法400可以前進至步驟440。
在步驟435,可以確定所指定的時間是否已經到期。指定時間可以標定從接收到封包起要等待的時間量。指定時間可以是足以接收驗證信號之時間量。指定時間可以是另外處理封包所需的時間。如果指定時間已經到期,則方法400可以前進至步驟450。否則,方法400可以返回至步驟430。
在步驟440,可以確定接收到的驗證信號是否指示封包通過驗證。如果封包通過驗證,則方法400可以前進至步驟445。如果封包沒有通過驗證,則方法400可以前進至步驟450。
在步驟445,可以發出另外經過處理的封包作為輸出封包。方法400可以前進至步驟455。
在步驟450,可以對未驗證的封包採取任何合適的校正動作。方法400可以前進至步驟455。
在步驟455,方法400可以終止。
雖然上面已經描述示例性具體例,但是在不脫離這些具體例的精神及範圍的情況下,本發明可以實施其它變型及具體例。 [優先權]
本申請案主張2020年3月16日提出之美國臨時專利申請案第62/990,003號的優先權,在此將其整個內容併入本文中。
100:(低延遲MACsec驗證)系統 102:裝置 102A:裝置 102B:裝置 104:電路 104A:電路 104B:電路 106:管線電路 106A:管線電路 106B:管線電路 108:處理器 108A:處理器 108B:處理器 110:記憶體 110A:記憶體 110B:記憶體 114:控制電路 114A:控制電路 114B:控制電路 116:暫存器 116A:暫存器 116B:暫存器 118:引擎 118A:引擎 118B:引擎 120:封包 122:封包 124:路徑 124A:路徑 124B:路徑 126:封包 128:網路 130:封包 134:封包 202:(傳入)封包 202':封包 204:封包 206:解多工器 208:(加密及解密)引擎 210:(驗證)引擎 212:多工器 300:(低延遲MACsec驗證)方法 305、310、315、320、325、330、335、340、345、350、355:(方法)步驟 400:(低延遲MACsec驗證)方法 405、410、415、420、425、430、435、440、445、450、455:(方法)步驟
圖1係本發明具體例之用於低延遲MACsec驗證的系統之示意圖。
圖2係用於低延遲MACsec驗證的裝置之實例之較詳的示意圖,包括用於在具有加密/解密以及具有或不具有在諸多裝置之間傳送的封包之驗證的模式下操作之裝置的配置。
圖3係本發明具體例之用於低延遲MACsec驗證的方法之示意圖。
圖4係本發明具體例之用於低延遲MACsec驗證的另一種方法之示意圖。
102A:裝置
102B:裝置
104A:電路
104B:電路
106A:管線電路
106B:管線電路
108A:處理器
108B:處理器
110A:記憶體
110B:記憶體
114A:控制電路
114B:控制電路
116A:暫存器
116B:暫存器
118A:引擎
118B:引擎
120:封包
122:封包
124A:路徑
124B:路徑
126:封包
128:網路
130:封包
134:封包

Claims (20)

  1. 一種設備,包括: 一管線電路,配置成處理封包; 一驗證引擎,配置成驗證封包,並根據封包是否已經通過驗證而提供一驗證信號至該管線電路;以及 一控制電路,配置成將一給定的傳入封包路由至該驗證引擎及一旁路路徑,而該旁路路徑係配置成提供該給定的傳入封包之一副本至該管線電路,以旁路繞過該驗證引擎。
  2. 如請求項1之設備,其中進一步包括:一加密及解密引擎,其係配置成對封包進行加密或解密,並將所得出的加密或解密封包提供至該管線電路,其中,該控制電路係進一步配置成將該給定的傳入封包選擇性地路由至該旁路路徑或至該加密及解密引擎。
  3. 如請求項1之設備,其中進一步包括:一加密及解密引擎,其係配置成對封包進行加密或解密,並將所得出的加密或解密封包提供至該管線電路,其中,該控制電路係進一步配置成根據確定要對諸傳入封包進行驗證而不進行解密,以將該給定的傳入封包選擇性地路由至該驗證引擎及至該旁路路徑。
  4. 如請求項1之設備,其中進一步包括:一加密及解密引擎,其係配置成對封包進行加密或解密,並將所得出的加密或解密封包提供至該管線電路,其中,該控制電路係進一步配置成根據確定要對諸傳入封包進行加密或解密,以將該給定的傳入封包選擇性地路由至該加密及解密引擎。
  5. 如請求項1之設備,其中,該控制電路係進一步配置成將該給定的傳入封包之諸多副本平行路由至該驗證引擎,且經由該旁路路徑路由至該管線電路。
  6. 如請求項1之設備,其中,該管線電路係進一步配置成: 接收該給定的傳入封包; 接收該驗證信號;以及 在該給定的傳入封包與該驗證信號的接收之間,處理該給定的傳入封包,以產生一輸出封包。
  7. 如請求項6之設備,其中,該管線電路係進一步配置成: 根據該驗證信號指示該給定的傳入封包沒有通過驗證,採取一校正動作;以及 根據該驗證信號指示該給定的傳入封包已經通過驗證,發出該輸出封包。
  8. 一種方法,包括: 在一設備處接收一給定的傳入封包; 將該給定的傳入封包路由至該設備之一旁路路徑及一驗證引擎兩者; 在該驗證引擎處,驗證該給定的傳入封包,且根據封包是否已經通過驗證以提供一驗證信號至其管線電路;以及 其中,將該給定的傳入封包路由至該旁路路徑之步驟係包括:提供該給定的傳入封包之一副本至該管線電路,以旁路繞過該驗證引擎。
  9. 如請求項8之方法,其中進一步包括:將該給定的傳入封包選擇性地路由至該旁路路徑或至該設備之一加密及解密引擎。
  10. 如請求項8之方法,其中進一步包括:根據確定要對諸傳入封包進行驗證而不進行解密,以將該給定的傳入封包選擇性地路由至該驗證引擎及至該旁路路徑。
  11. 如請求項8之方法,其中進一步包括:根據確定要對該等傳入封包進行加密或解密,以將該給定的傳入封包選擇性地路由至該設備之一加密及解密引擎。
  12. 如請求項8之方法,其中進一步包括:將該給定的傳入封包之諸多副本平行路由至該驗證引擎,且經由該旁路路徑路由至該管線電路。
  13. 如請求項8之方法,其中進一步包括:在該管線電路處: 接收該給定的傳入封包; 從該驗證引擎接收一驗證信號;以及 在該給定的傳入封包與該驗證信號的接收之間,處理該給定的傳入封包,以產生一輸出封包。
  14. 如請求項8之方法,其中進一步包括:在該管線電路處: 根據該驗證信號指示該給定的傳入封包沒有通過驗證,採取一校正動作;以及 根據該驗證信號指示該給定的傳入封包已經通過驗證,發出該輸出封包。
  15. 一種製品,包括在一非暫時性機器可讀取媒體上的諸多指令,而該等指令在由一處理器讀取及載入時,使該處理器進行: 在一設備處,接收一給定的傳入封包; 將該給定的傳入封包路由至該設備之一旁路路徑及一驗證引擎; 在該驗證引擎處,驗證該給定的傳入封包,且根據封包是否已經通過驗證以提供一驗證信號至其管線電路;以及 其中,將該給定的傳入封包路由至該旁路路徑之操作係包括:提供該給定的傳入封包之一副本至該管線電路,以旁路繞過該驗證引擎。
  16. 如請求項15之製品,其中,該等指令係進一步使該處理器將該給定的傳入封包選擇性地路由至該旁路路徑或至該設備之一加密及解密引擎。
  17. 如請求項15之製品,其中,該等指令係進一步使該處理器根據確定要對該等傳入封包進行驗證而不進行解密,以將該給定的傳入封包選擇性地路由至該驗證引擎及至該旁路路徑。
  18. 如請求項15之製品,其中,該等指令係進一步使該處理器根據確定要對該等傳入封包進行加密或解密,以將該給定的傳入封包選擇性地路由至該設備之一加密及解密引擎。
  19. 如請求項15之製品,其中,該等指令係進一步使該處理器將該給定的傳入封包之諸多副本平行路由至該驗證引擎,且經由該旁路路徑路由至該管線電路。
  20. 如請求項15之製品,其中,該等指令進一步使該處理器在該管線電路處進行: 接收該給定的傳入封包; 從該驗證引擎接收一驗證信號;以及 在該給定的傳入封包與該驗證信號的接收之間,處理該給定的傳入封包,以產生一輸出封包。
TW110108866A 2020-03-16 2021-03-12 低延遲MACsec驗證 TW202207682A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062990003P 2020-03-16 2020-03-16
US62/990,003 2020-03-16
US17/193,172 US11677727B2 (en) 2020-03-16 2021-03-05 Low-latency MACsec authentication
US17/193,172 2021-03-05

Publications (1)

Publication Number Publication Date
TW202207682A true TW202207682A (zh) 2022-02-16

Family

ID=77665464

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110108866A TW202207682A (zh) 2020-03-16 2021-03-12 低延遲MACsec驗證

Country Status (5)

Country Link
US (1) US11677727B2 (zh)
CN (1) CN114731292B (zh)
DE (1) DE112021001678T5 (zh)
TW (1) TW202207682A (zh)
WO (1) WO2021188372A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956160B2 (en) * 2021-06-01 2024-04-09 Mellanox Technologies, Ltd. End-to-end flow control with intermediate media access control security devices
US20230239196A1 (en) * 2023-04-03 2023-07-27 Intel Corporation Network error reporting and recovery with in-line packet processing pipeline

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725371B1 (en) 1999-06-30 2004-04-20 Intel Corporation Secure packet processor
US7818563B1 (en) 2004-06-04 2010-10-19 Advanced Micro Devices, Inc. Method to maximize hardware utilization in flow-thru IPsec processing
US8010801B2 (en) 2006-11-30 2011-08-30 Broadcom Corporation Multi-data rate security architecture for network security
US9001846B2 (en) * 2009-06-09 2015-04-07 Broadcom Corporation Physical layer device with dual medium access controller path
US8627105B2 (en) * 2011-04-29 2014-01-07 Altera Corporation Method and apparatus for securing programming data of a programmable device
US10104060B2 (en) * 2013-01-30 2018-10-16 Hewlett Packard Enterprise Development Lp Authenticating applications to a network service
US9374344B1 (en) * 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US10051309B2 (en) * 2015-04-01 2018-08-14 Lattice Semiconductor Corporation Port processor capable of performing authentication for multiple source devices
JP2017011392A (ja) * 2015-06-18 2017-01-12 株式会社リコー 復号回路、これを用いた通信装置、及び通信システム
US10826876B1 (en) * 2016-12-22 2020-11-03 Amazon Technologies, Inc. Obscuring network traffic characteristics
US10560476B2 (en) * 2017-02-22 2020-02-11 International Business Machines Corporation Secure data storage system
US11177964B2 (en) * 2019-01-25 2021-11-16 International Business Machines Corporation Blockchain based authentication

Also Published As

Publication number Publication date
CN114731292B (zh) 2024-06-21
WO2021188372A1 (en) 2021-09-23
US11677727B2 (en) 2023-06-13
US20210288945A1 (en) 2021-09-16
CN114731292A (zh) 2022-07-08
DE112021001678T5 (de) 2023-01-19

Similar Documents

Publication Publication Date Title
CN110999248B (zh) 使用片上系统(SoC)体系结构的安全通信加速
US9456002B2 (en) Selective modification of encrypted application layer data in a transparent security gateway
US9015467B2 (en) Tagging mechanism for data path security processing
US7454610B2 (en) Security association updates in a packet load-balanced system
US7587587B2 (en) Data path security processing
WO2020072678A1 (en) Proxy ports for network device functionality
TW564624B (en) Non-invasive SSL payload processing for IP packet using streaming SSL parsing
US7017042B1 (en) Method and circuit to accelerate IPSec processing
US10699031B2 (en) Secure transactions in a memory fabric
TW202207682A (zh) 低延遲MACsec驗證
WO2012083653A1 (zh) 支持链路层保密传输的交换设备及其数据处理方法
US7603549B1 (en) Network security protocol processor and method thereof
JP2006041684A (ja) 暗号処理装置および暗号処理方法
US11595367B2 (en) Selectively disclosing content of data center interconnect encrypted links
US11599649B2 (en) Method and apparatus for managing transmission of secure data packets
JP4647479B2 (ja) IPsec回路及びIPsec処理方法
CN110929297A (zh) 一种fpga异步加解密系统及方法
CN118381684B (zh) 软硬件协同加密的安全通信实现方法及网络设备
US20230403136A1 (en) Computer and Network Interface Controller Securely Offloading Encryption Keys and Encryption Processing to the Network Interface Controller
JP2004180234A (ja) 暗号パケット処理装置
JP5149863B2 (ja) 通信装置及び通信処理方法