在第 1 部分中,我們查看了有關加密的一些注意事項。在第 2 部分中,我們介紹了消息身份驗證的概念,以增加我們的安全系統中提供的保護。在許多應用中,消息的加密和認證足以保護有價值的數據。然而,隨著攻擊者變得越來越老練,有必要為安全性添加更多功能。我一直認為它增加了安全層,就像洋蔥皮一樣。如果惡意代理克服了其中一個保護層,那么他將面臨另一個保護層。在這里,我將討論以太網系統如何將附加功能添加到嵌入式 IP 核中。
以太網傳輸已經發展到主導通信,因為它既高效又可擴展到高速傳輸。已指定對以太網的擴展,在 IEEE 802.1AE 規范下添加了一系列全新的安全措施,該規范具有集成的安全系統,可加密和驗證消息以及檢測和抵御網絡上的一系列攻擊。該規范被稱為媒體訪問控制安全標準,或者更常見的是 MACsec。
MACsec 在它所基于的 AES-GCM 加密之外提供了三種基本的安全功能。首先,MACsec 通過安全通道的概念增加了密鑰管理,允許將不同的密鑰用于不同的通信鏈路。其次,MACsec 提供重放保護,防止攻擊者通過捕獲有效數據包并再次發送它來破壞系統。第三,除了通過加密阻止攻擊外,它還提供統計數據收集以允許檢測攻擊并采取更高級別的措施來應對攻擊,例如調查其來源。
MACsec IP 核是一種復雜的硬件設計,用于嵌入在第 2 層工作的 FPGA。MACsec 方案基于網絡節點,這些節點形成一組稱為安全實體 (SecY) 的可信實體。每個 SecY 都被分配了一個唯一的安全通道來傳輸數據包。該通道最多可以鏈接四個安全關聯 (SA),每個安全關聯都有一個密鑰。因此,每個節點都使用不同的密鑰,這意味著只有系統管理員提供該密鑰的節點才能解密該節點發送的數據包。
MACsec 在每個數據包離開以太網 LAN 時對其進行解密和驗證。因此,通過兩個 LAN 之間的網橋的數據包??將在離開第一個時被解密,并在進入第二個時再次加密,因此該系統被稱為逐跳方案。這意味著可以驗證所有數據包。身份驗證是通過將數據附加到消息末尾的一個稱為完整性檢查值 (ICV) 的字段中來實現的。這與加密密鑰一起工作以驗證幀,包括標頭和 MACsec 標記,以確保即使是幀的源地址或目標地址也不會被操縱。
解密的消息(有時稱為明文)現在可以在機器內部使用,以供上層軟件進行進一步的可選處理。這可能是深度數據包檢查,以識別數據包是否包含惡意軟件或病毒。明文數據包也可以被送入流量管理器,該流量管理器調節數據的流出或在出現過載情況時決定丟棄哪些數據包。請記住,將安全標簽 (SecTag) 和 ICV 添加到數據包意味著減少了鏈路的最大容量。當系統準備好轉發數據包時,它將被重新加密,但這一次使用本地機器的安全通道傳輸 SecY。
此外,SecY 在數據包級別收集和記錄一系列統計信息。這允許系統管理員查看有多少數據包因多種不同的原因被 MACsec 拒絕。例如,它們可能會被拒絕,因為它們由于無效的解密密鑰或使用了錯誤的密鑰而未能通過完整性檢查。這可以幫助識別和擊敗網絡上嘗試的拒絕服務 (DoS) 攻擊。每個數據包也被編號,如果數據包到達時已經被處理,這個重放可能表明所謂的中間人攻擊。同樣,MACsec 統計數據可以記錄和標記嘗試的重放事件。
IP 核使用 MACsec 數據包的 SecTag 標頭中的安全通道標識符 (SCI) 在解密消息之前檢索適當的密鑰。一些 IP 內核支持多個虛擬 SecY,使一個以太網 MAC 能夠擁有多個與其關聯的 MACsec SecY,用于多路訪問 LAN 等應用。因此,對于系統而言,該設備可能看起來像是多個消息源(每個消息源都有一個唯一的加密密鑰)。這有利于將系統劃分為邏輯域,例如,工廠員工無法使用會計數據,而工程設計僅可供授權人員使用。
MACsec 最初的設想是支持城域網,但現在它也可用于數據中心和云等一系列應用,這增加了對基于 FPGA 的嵌入式解決方案的整體需求。
工程師選擇使用第 2 層連接的原因是為了在數據包中以最小的延遲和開銷數據實現高速。逐跳設計還有助于在組織邊界的防火墻中進行數據包檢查,在這種情況下,像 IPsec 這樣的端到端加密系統將通過防火墻傳遞加密數據并屏蔽其不受檢查。MACsec 核心包括一個 AES-GCM 加密引擎和附加邏輯,用于執行協議處理、密鑰查找、統計整理和存儲功能。核心速度可以輕松達到 10 Gigabit 以太網,并將隨著以太網速度的增加而擴大。另一個重要的考慮因素是,與使用軟件解決方案執行加密功能等算法相比,FPGA 的能效要高得多。
在第 4 部分中,我將討論嵌入式 IP 內核如何加速常用的第 3 層技術,稱為 IPsec。
審核編輯:郭婷
-
嵌入式
+關注
關注
5141文章
19542瀏覽量
315178 -
以太網
+關注
關注
40文章
5586瀏覽量
174864 -
數據中心
+關注
關注
16文章
5146瀏覽量
73219
發布評論請先 登錄
如何將VCP功能添加到UVC應用程序代碼中?
如何將ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項目中?
使用示波器的汽車以太網物理層調試案例

評論