Die bereits abgeschlossene EthTrcv-MACsec-Serie dieses Blogs behandelt MACsec/MKA auf Transceiver-Ebene. Die reale SWS EthSwt zeigt: auch der Switch selbst besitzt eine vollständige MACsec-Implementierung mit eigenem API-Satz — inklusive Bypass-Listen und derselben MKA-Schlüsselinfrastruktur.

Alle in diesem Post genannten EthSwt_MacSec*-APIs sind in der SWS R25-11 als Status: DRAFT markiert.

Warum MACsec im Switch UND im Transceiver?

EthTrcv/MKA sichert eine einzelne Punkt-zu-Punkt-Strecke ab. Ein Switch mit mehreren Ports kann zusätzlich pro Port line-rate ver-/entschlüsseln — relevant, wenn unterschiedliche Segmente eines Zonal-Netzes unterschiedliche Vertrauensstufen haben und der Switch selbst als Sicherheitsgrenze fungiert.

Aktivierung je Port

EthSwtPortMacSecEnabled schaltet MACsec für einen Port frei. Ist der Parameter nicht vorhanden oder FALSE, ignoriert der Treiber alle MACsec-Konfigurationen an diesem Port vollständig und behandelt Frames ohne MACsec-Verarbeitung.

Bypass-Listen

Selbst bei aktiviertem MACsec lassen sich bestimmte Frames gezielt von der Verschlüsselung ausnehmen:

ParameterBypass-Kriterium

EthSwtPortMacSecBypassEtherTypes

Frames mit einem der konfigurierten EtherTypes

EthSwtPortMacSecBypassVlans

Frames mit einer der konfigurierten VLAN-IDs

EthSwtPortMacSecBypassDestinationMacAddresses

Frames mit einer der konfigurierten Ziel-MAC-Adressen

Bypass-Listen sind in der Praxis unverzichtbar für Boot- und Management-Traffic, der noch vor dem Aufbau der MACsec-Session (also vor dem Vorliegen gültiger Secure Associations) fließen muss.

Secure Channels und Secure Associations aufbauen

MACsec Secure-Association-Aufbau

Pro Association Number (An) darf laut SWS immer nur eine Secure Association existieren. Soll eine neue SA mit demselben An angelegt werden, muss die vorherige zuerst über EthSwt_MacSecDeleteRxSa bzw. DeleteTxSa entfernt werden.

Adressiert werden alle diese APIs über EthSwt_MgmtInfoType (SwitchIdx+SwitchPortIdx) — dieselbe Struktur, die auch beim Switch-Management-Support für Zeitstempel-Metadaten verwendet wird (siehe Global-Time-Post dieser Serie). Auffällig: Alle Secure-Association-Funktionen sind asynchron, was auf potenziell längere Hardware-Zugriffszeiten beim Schlüsselladen hindeutet.

Gemeinsame Schlüsselinfrastruktur mit EthTrcv

EthSwt_MacSecAddTxSa/AddRxSa erwarten einen Mka_SakKeyPtrType-Zeiger — denselben Typ, den auch die MKA-Implementierung auf EthTrcv-Seite nutzt (siehe EthTrcv-MACsec-Post). Das bestätigt: Es gibt eine zentrale MKA-Instanz, die Schlüsselmaterial (SAK) erzeugt — ob die eigentliche Ver-/Entschlüsselung dann im Transceiver oder im Switch passiert, ist eine reine Frage der Hardware-Platzierung, keine getrennte Schlüsselverwaltung.

Statistik und PAE-Steuerung

  • EthSwt_MacSecGetMacSecStatistics liefert MACsec-Statistiken eines MKA-Teilnehmers (Mka_Stats_SecYType)

  • EthSwt_MacSecGetTxSaNextPn liefert die nächste Packet Number einer Transmit-SA — wichtig für die Replay-Schutz-Überwachung

  • EthSwt_MacSecSetControlledPortEnabled aktiviert/deaktiviert den Controlled Port der PAE (Port Access Entity, IEEE 802.1X-Konzept) — der Port, über den erst nach erfolgreicher Authentifizierung Datenverkehr fließen darf

Zusammenfassung

AspektKernaussage

Aktivierung

EthSwtPortMacSecEnabled je Port, mit granularen Bypass-Listen für EtherTypes/VLANs/Ziel-MACs

SA-Verwaltung

Init/Add/Update/Delete für Rx- und Tx-Secure-Associations, exakt eine SA je An

Adressierung

Über EthSwt_MgmtInfoType (SwitchIdx + SwitchPortIdx)

Schlüsselinfrastruktur

Gemeinsame MKA-Typen (Mka_SakKeyPtrType) mit der EthTrcv-Seite — eine zentrale Schlüsselquelle, zwei mögliche Verschlüsselungsorte