lucadp - stock.adobe.com

Netzwerkverschlüsselung mit MACsec: Schlüsselverteilung

MACsec schützt Ethernet auf Layer 2 vor Abhören und Manipulation und verschlüsselt Links zwischen Geräten. Überblick zu Schlüsselverteilung, Betrieb, Kompatibilität und Praxis.

MACsec schützt Ethernet-Verbindungen auf Layer 2 vor dem Mitlesen und der Manipulation. Die Technik verschlüsselt jeden Link zwischen zwei Geräten und prüft die Integrität der Frames. Die Schlüssel werden über MKA abgestimmt, wahlweise statisch oder dynamisch per 802.1X. Dieser Beitrag liefert einen kompakten Überblick über den Ablauf, den Frame-Aufbau und wichtige Betriebsaspekte wie Kompatibilität und Performance.

Der erste Teil dieser Artikelserie stellte die Grundlagen und Szenarien von MACsec dar.

Verschlüsselungsverfahren

MACsec setzt als Verschlüsselungsalgorithmus auf den Advanced Encryption Standard (AES) im Galois/Counter Mode (GCM). Dies ist ein Verfahren, das sowohl Verschlüsselung als auch eine Integritätssicherung bietet. Als Schlüssellängen stehen 128 Bit und 256 Bit zur Verfügung.

Die Verschlüsselung erfolgt Hop-by-Hop, was spezifische Vor- und Nachteile mit sich bringt. Dies bedeutet, dass MACsec beispielsweise zwischen zwei Switches verschlüsselt überträgt, dabei aber nicht sichergestellt ist, dass von einem dieser Switche zu einem dahinter liegenden Switch ebenfalls verschlüsselt wird und auch die Daten auf den Switchen im Klartext vorliegen. In einem geswitchten Netzwerk kann es also innerhalb einer Kommunikationsbeziehung zwischen Client und Server dazu kommen, dass Daten auf mehreren Links mit MACsec ver- und entschlüsselt werden.

Prinzipdarstellung der Hop-by-Hop-Verschlüsselung über MACsec.
Abbildung 1: Prinzipdarstellung der Hop-by-Hop-Verschlüsselung über MACsec. Am Switch liegt der Traffic unverschlüsselt vor. Auf den Links ist der Traffic verschlüsselt.

Um den Anforderungen moderner Netze mit hohen Datenraten gerecht zu werden, führte die IEEE mit 802.1AEbw das Extended Packet Numbering (AES-GCM-XPN) ein. Diese Erweiterung ermöglicht die Übertragung von 2³² Frames pro Sicherheitsassoziierungsschlüssel (SAK) und sichert so auch Datenraten von über 100 GBit/s zuverlässig ab. Dabei ist jedoch zu beachten, dass dies nicht alle Switches unterstützen. Damit MACsec funktioniert, muss der gewählte Algorithmus auf allen beteiligten Geräten also beiden Switchen oder Switch und Endgerät übereinstimmend konfiguriert sein. Hierbei lohnt also ein genauer Blick ins Datenblatt.

Frame-Aufbau

MACsec erweitert den klassischen Ethernet-Frame um einen sogenannten Security Tag, der 16 Byte lang ist. Zusätzlich ergänzt MACsec einen ebenfalls 16 Byte umfassenden Integrity Check Value (ICV) für die Prüfung der Integrität am Frame-Ende. Der Security Tag besteht aus fünf Feldern: Das Ethertype-Feld trägt den festen Wert 0x88E5 und identifiziert den Frame als MACsec-Paket. TCI/AN (TAG Control Information/Association Number) gibt die verwendete MACsec-Version an, ohne dass ein neuer Ethertype erforderlich wäre. Im SL-Feld (Short Length) wird die Länge der verschlüsselten Nutzdaten angegeben, während das PN-Feld (Packet Number) die fortlaufende Paketnummer enthält. Der Secure Channel Identifier (SCI) schließlich setzt sich aus der Port-ID und der MAC-Adresse der beteiligten Komponente zusammen und kennzeichnet so den sicheren Übertragungskanal.

MACsec-Frame-Aufbau.
Abbildung 2: MACsec-Frame-Aufbau. VLAN-Tag und Nutzdaten sind im Normalfall verschlüsselt. Zusätzlich wird zu klassischen Ethernet-Headern noch der 802.1ae-Header (Security Tag) und ein ICV eingefügt.

Der MACsec-Frame entspricht im Grundaufbau einem herkömmlichen Ethernet-Frame, ergänzt jedoch den Security Tag und die Integritätsprüfung. Empfänger entschlüsseln eingehende Frames und berechnen mithilfe des Session Keys aus dem MACsec Key Agreement (MKA) den erwarteten ICV. Stimmt dieser nicht mit dem übertragenen Wert überein, wird der Frame verworfen. So stellt der Empfänger sicher, dass die Daten während der Übertragung nicht manipuliert wurden.

Schlüsselverteilung bei MACsec: Statisch und dynamisch

Jede MACsec-Sitzung basiert auf einer Connectivity Association (CA), die eine logische Verbindung zwischen den beteiligten Peers darstellt. Bevor eine verschlüsselte Übertragung der Nutzdaten stattfinden kann, muss jedoch zuvor ein Schlüssel ausgetauscht werden. Das MKA-Protokoll baut die vorgenannte CA auf und organisiert die Verteilung des benötigten Schlüsselmaterials. MACsec unterstützt dabei sowohl statische als auch dynamische Schlüsselverteilung.

Statische Schlüsselverteilung

Bei der statischen Variante werden die Connectivity Association Keys (CAK) manuell auf den beteiligten Peers konfiguriert. Beide Seiten müssen denselben symmetrischen Pre-Shared-Key (CAK) sowie einen Connectivity Association Key Namen (CKN) hinterlegt haben. Der CKN dient als Rahmen für den CAK und wird im Klartext zwischen den Peers ausgetauscht. Allerdings sichert der CAK zunächst nur die Steuerungsebene (Control Plane), nicht jedoch die eigentliche Datenübertragung (Data Plane).

Für die Verschlüsselung der Nutzdaten wird ein Session Association Key (SAK) benötigt. Sobald CAK und CKN auf beiden Seiten übereinstimmen, startet das MKA-Protokoll: Es identifiziert benachbarte Peers und bestimmt den Key-Server. Dabei haben niedrigere Prioritätswerte Vorrang. Der Key-Server generiert dann die symmetrischen SAKs und verteilt sie an die gegenüberliegenden Switches. Anschließend kann die verschlüsselte Datenübertragung beginnen. Das MKA erneuert die SAKs regelmäßig (Key Rollover), um die Sicherheit zu erhöhen. Diese Methode kommt vor allem bei der direkten Kopplung von Switches zum Einsatz.

Dynamische Schlüsselverteilung

Die dynamische Schlüsselverteilung nutzt das EAP-Framework gemäß IEEE 802.1X. Nach erfolgreicher Authentifizierung und Autorisierung des Supplicants tauschen Authenticator und Supplicant MKA-Daten über einen speziellen EAPoL-Typ aus. Wie bei der statischen Variante identifiziert das MKA zunächst die MACsec-Peers.

Ein RADIUS-Server verteilt nach der EAP-Authentifizierung einen Master-Session-Key (MSK), aus dem der CAK abgeleitet wird. Der CAK ist wiederum mit einem CKN verknüpft. Aus dem CAK leiten sich weitere Schlüssel ab: der ICK (ICV Key) und der KEK (Key Encryption Key). Der Key-Server nutzt den KEK, um die generierten SAKs über die CA an den Peer zu übertragen, was durch AES Key Wrap gesichert wird.

Die SAKs schützen schließlich die eigentlichen Nutzdaten auf der Data Plane. Jeder SAK besitzt eindeutige Merkmale: einen 128-Bit-Identifier (KI) und eine 32-Bit-Key-Number (KN). Der KI wird in allen MACsec-Frames im Klartext übertragen, während die KN die Schlüsselversion kennzeichnet.

Erfahren Sie mehr über Netzwerksicherheit