IPsec – Internet Protocol Security
Abkürzung: IPsec
IPsec ist kein einzelnes Protokoll, sondern ein Baukasten: ein Verfahren für die Nutzdaten, ein zweites für die Schlüsselaushandlung, dazu eine Zustandsverwaltung und Regeln, welcher Verkehr überhaupt behandelt wird. Diese Zerlegung erklärt die Flexibilität des Verfahrens ebenso wie seinen Ruf, aufwendig einzurichten zu sein.
Der entscheidende Unterschied zu TLS liegt in der Schicht. IPsec setzt direkt an der Vermittlungsschicht an, also am IP-Paket. Anwendungen müssen nichts davon wissen und nichts dafür tun — was geschützt wird, entscheidet die Konfiguration des Betriebssystems oder des Gateways, nicht das Programm.
In IPv6 war die Unterstützung ursprünglich vorgeschrieben. Diese Pflicht wurde später zur Empfehlung herabgesetzt, weil sich die Erwartung, IPsec werde sich dadurch flächendeckend durchsetzen, nicht erfüllt hat.
ESP und AH
Für die Behandlung der Pakete stehen zwei Protokolle zur Verfügung:
| ESP | AH | |
|---|---|---|
| Protokollnummer | 50 | 51 |
| Verschlüsselung | ja | nein |
| Integrität der Nutzdaten | ja | ja |
| Integrität des IP-Kopfes | nein | ja |
| verträglich mit NAT | mit UDP-Verpackung | nein |
ESP — Encapsulating Security Payload — ist der Normalfall und praktisch die einzige heute verwendete Wahl.
AH — Authentication Header — schützt zusätzlich die unveränderlichen Felder des IP-Kopfes, verschlüsselt aber nichts. Genau diese Eigenschaft macht es mit Adressumsetzung grundsätzlich unvereinbar: Eine Prüfsumme über die Absenderadresse wird ungültig, sobald ein Gerät diese Adresse austauscht. AH ist damit in der Praxis bedeutungslos geworden.
Der Zusatz, dass ESP auch ohne Verschlüsselung betrieben werden kann, ist vor allem eine historische Fußnote — als Betriebsart hat das keinen Zweck mehr.
Transportmodus und Tunnelmodus
Die zweite Grundentscheidung betrifft, wie viel des Pakets in den geschützten Teil wandert:
Original [ IP-Kopf ][ Nutzdaten ]
Transportmodus [ IP-Kopf ][ ESP ][ Nutzdaten ]
└── verschlüsselt ──┘
Tunnelmodus [ neuer IP-Kopf ][ ESP ][ IP-Kopf ][ Nutzdaten ]
└──── verschlüsselt ────────┘Im Transportmodus bleibt der ursprüngliche IP-Kopf sichtbar und wird weiterverwendet. Das passt für die direkte Absicherung zwischen zwei Endgeräten.
Im Tunnelmodus wird das vollständige Paket einschließlich seines Kopfes eingepackt und mit einem neuen Kopf versehen. Nur dieser neue Kopf ist unterwegs lesbar, die tatsächlichen Endpunkte bleiben verborgen. Das ist die Betriebsart für jedes Gateway-zu-Gateway-VPN — und der Grund, warum sich damit auch Netze mit privaten Adressen koppeln lassen.
Der Zustand: SA, SPI und die zwei Datenbanken
IPsec ist zustandsbehaftet, und wer das übersieht, versteht die Fehlermeldungen nicht.
Eine Security Association ist eine vereinbarte Schutzbeziehung: Verfahren, Schlüssel, Lebensdauer. Sie ist einseitig gerichtet — für eine beidseitige Verbindung bestehen also immer mindestens zwei, je Richtung eine. Identifiziert wird sie durch den Security Parameter Index, eine Kennung, die in jedem ESP-Paket mitläuft und dem Empfänger sagt, mit welchem Schlüssel er es öffnen muss.
Daneben stehen zwei Verzeichnisse. Die Security Policy Database legt fest, welcher Verkehr geschützt, verworfen oder unverändert durchgelassen wird — nach Adressen, Protokollen und Ports. Die Security Association Database hält die ausgehandelten Beziehungen.
Diese Trennung ist die häufigste Fehlerquelle im Betrieb: Passen die Regelsätze auf beiden Seiten nicht genau zueinander, kommt der Tunnel zustande, bestimmter Verkehr fällt aber hindurch oder wird verworfen.
Zum Zustand gehört schließlich ein Schutz gegen Wiedereinspielung. Jedes Paket trägt eine laufende Nummer; der Empfänger führt ein Fenster über die zuletzt gesehenen Nummern und verwirft Dubletten. Bei stark umsortiertem Verkehr kann ein zu kleines Fenster zu scheinbar unerklärlichen Paketverlusten führen.
Die Schlüssel kommen von IKE
Manuell gesetzte Schlüssel sind möglich, aber praktisch ausgeschlossen — sie werden nie gewechselt und bieten keine vorwärtsgerichtete Geheimhaltung. Die Aushandlung übernimmt stattdessen das Internet Key Exchange Protocol, das sich in einem eigenen Vorlauf gegenseitig authentifiziert und die Schlüssel über Diffie-Hellman vereinbart.
Maßgeblich ist heute ausschließlich die zweite Fassung, siehe IKEv2. Die erste wurde mit RFC 9395 förmlich abgekündigt.
Die beiden Praxisprobleme
Adressumsetzung. ESP ist kein UDP und kein TCP und hat damit keine Ports, an denen ein NAT-Gerät Verbindungen auseinanderhalten könnte. Die Lösung ist eine Verpackung in UDP auf Port 4500, die beide Seiten im Vorlauf vereinbaren, wenn sie ein NAT-Gerät auf der Strecke erkennen. Ältere Heimrouter behelfen sich stattdessen mit Sonderbehandlung, siehe VPN Passthrough und NAT.
Paketgröße. Jede Verpackung kostet Platz. Im Tunnelmodus mit UDP-Verpackung gehen leicht 70 bis 100 Byte verloren, und das ursprüngliche Paket passt nicht mehr in die Maximalgröße der Strecke. Klassisch zeigt sich das als Verbindung, die aufgebaut wird und auf der kleine Pakete sauber laufen, während große Übertragungen hängen bleiben — besonders dann, wenn die zugehörigen ICMP-Rückmeldungen unterwegs gefiltert werden. Die übliche Gegenmaßnahme ist, die angekündigte Segmentgröße von TCP-Verbindungen am Gateway nach unten zu korrigieren.
Was heute eingesetzt wird
Die Algorithmenwahl ist in eigenen Dokumenten geregelt — RFC 8221 für ESP und AH, RFC 8247 für IKEv2. Für den deutschen Behördenbereich und seine Dienstleister gilt Teil 3 der Technischen Richtlinie BSI TR-02102, die Verfahren, Schlüssellängen und Verwendungszeiträume einzeln benennt.
In der Summe läuft es auf wenige Festlegungen hinaus: ESP mit einem AEAD-Verfahren, in der Regel AES im Galois/Counter-Modus. Schlüsseleinigung auf einer elliptischen Kurve mit flüchtigen Schlüsseln, damit Perfect Forward Secrecy gegeben ist. Kein AH, kein DES, kein Triple DES, keine Verschlüsselung mit NULL-Verfahren, kein IKEv1.
Abgrenzung
TLS schützt eine einzelne Verbindung und wird von der Anwendung angefordert. IPsec schützt Verkehr nach Regeln und ist für die Anwendung unsichtbar. Das eine ersetzt das andere nicht: Wer durch einen IPsec-Tunnel arbeitet, hat hinter dessen Ende keinen Schutz mehr.
WireGuard löst dieselbe Aufgabe mit festgelegten Verfahren und ohne Aushandlung — schlanker, aber unflexibel gegenüber Altbestand. Siehe WireGuard.
MACsec liegt eine Schicht tiefer und verschlüsselt einen einzelnen Netzabschnitt, etwa zwischen Gerät und Switch, nicht einen Weg über mehrere Teilnetze.
MPLS-VPN trennt Verkehr, ohne ihn zu verschlüsseln — eine andere Zusicherung, siehe MPLS.