Rechnernetze
Home Nach oben

Encapsulating Security Payload

Encapsulating Security Payload (ESP) bietet 
verschiedene Sicherheitsdienste 
Verschlüsselung 
Authentisierung, 
in IPv4 und IPv6 
Transportmodus
Tunnelmodus 
im Prinzip universell einsetzbar
ESP-Header 
hinter IP-Header 
vor Header der oberen Transportschicht

ESP bietet die folgenden Sicherheitsdienste an:
  1. Vertraulichkeit,
  2. Datenquellenauthentisierung,
  3. Integrität bei verbindungsloser Kommunikation,
  4. Antireplay-Dienst,
  5. beschränkte Verkehrsflussvertraulichkeit.
Dienste hängen teilweise voneinander ab
Standard schreibt vor
Vertraulichkeit oder 
Authentisierung 
oder beides! 

Paketformat der Encapsulating Security Payload

ESP-Pakete 
Wert 50 im Nextheader-Feld des vorhergehenden Pakets 
ESP-Paket hat folgenden Aufbau

Security Parameters Index (SPI)
32 Bit-Wert
in Kombination mit Zieladresse und Protokoll ESP eindeutig SA identifiziert
Gewisse Werte (1..255) nicht, nur lokal (0) verwenden
Wert des SPI von Zielrechner beim Aufbau der SA festgelegt
Wert kommt in jedem ESP-Paket vor
Sequenznummer
32 Bit-Wert
Antireplay-Wert 
Sender muss diesen Wert einfügen 
beginnend bei 1 inkrementieren
der Empfänger kann auswerten, braucht nicht
Wert darf niemals über Höchstwert 232-1 inkrementiert werden
Wert kommt in jedem ESP-Paket vor.
Payload-Data
Daten, Typ im Nextheader-Feld beschrieben 
Initialisierungsvektor (Synchronisationsdaten) explizit angegeben
z.B. bei DES-CBC
RFC des Verschlüsselungsverfahren 
wie Synchronisationsdaten aus Payload-Datenfeld/ESP-Header 
Wert kommt in jedem ESP-Paket vor
Paddingdaten
keine Bedeutung für übertragene Payload-Daten
füllen Paket auf gewünscht Länge auf
bei Blockchiffren und ähnlichen Verschlüsselungsverfahren verwendet 
können wahre Länge eines Datenfeldes verschleiern
Wert optional (Länge null) 
Paddingfelder mit explizit oder implizit definierten Werten (1,2, ...) versehen 
Pad-Length
Anzahl der Padding-Oktette.
0-255 
kommt in jedem ESP-Paket vor
Next Header
Typ der Payload-Daten 
z.B. Transportprotokoll oder
Erweiterungsheader in IPv6 
kommt in jedem ESP-Header vor
Authentication Data
Authentisierung des ESP-Feldes
ohne Authentisierungsdaten 
Länge abhängig vom Authentisierungsalgorithmus
optional

Anordnung des ESP-Headers

Transportmodus 
ESP-Header nach IP-Header 
vor entsprechenden Daten der oberen Schichten
z.B. TCP oder 
ICMP 
vollständiges IP-Paket verschlüsseln
ESP-Header vor innerem IP-Header anordnen. 
Beispiel: Einkapselung eines TCP-Pakets.

In IPv6 
Destination-Options-Header an verschiedenen Stellen stehen
um mitzuverschlüsseln: hinter ESP-Header stellen
mehrere Destination-Options-Header möglich
Destination-Options-Header an verschiedenen Stellen

Tunnelmodus 
innere Header enthält Zieladresse
äußerer IP-Header kann andere Adresse enthalten
z.B. eines Security-Gateways 
für typische IPv4- und IPv6-Datagramme 
folgende Anordnung des ESP-Headers im Tunnelmodus

im Tunnelmodus 
gesamter innerer IP-Header verschlüsseln
einschließlich Zieladresse
auf diese Weise auch Verkehrsflussvertraulichkeit unterstützen

Funktionen beim Senden eines ESP-Pakets 

ESP-Implementierung 
mindestens DES-CBC zur Verschlüsselung anbieten; 
Initialisierungsvektor im Payloadfeld ablegen. 
NULL-Algorithmus (keine Verschlüsselung)
weitere Verschlüsselungsverfahren möglich
insbesondere zukünftig erweiterbar
sämtliche Parameter für Entschlüsselung in einem Block abgelegt 
als expliziter Wert im Payloadfeld oder 
aus ESP-Header ableitbar
Punkt-zu-Punkt-Kommunikation authentifiziert  
schlüsselbasierte Message Authentication Codes 
DES 
Hashfunktionen wie MD5 oder SHA-1 
müssen implementiert sein
Null-Authentisierung vorgeschrieben. 
Wird ESP eingesetzt, 
verschlüsselt oder 
authentisiert oder 
beides
ausgehendes Paket 
entsprechend Eintrag in Security Policy Database als ESP-Paket erkannt 
zunächst entsprechendes Paket im Klartext konstruiert
Transportmodus 
höheres Protokoll 
Tunnelmodus 
gesamtes IP-Datagramm einschließlich IP-Header
angehängt werden
Padding-Bytes, 
Pad-Länge und 
Next-Header-Feld 
mit gewähltem Algorithmus verschlüsseln (evtl. null)
Explizite oder implizite Verschlüsselungsparameter in Payloadfeld 
Initialisierungsvektor beim DES-CBC 
an festgelegter Stelle eingefügt oder 
aus ESP-Header nach festgelegtem Verfahren
Sequenzzähler inkrementiert und in entsprechendes Feld übernommen
Überlauf des Zählers führt zu Alarm und Löschung der SA
Verlangt SA Authentisierung
Sender berechnet Integrity Check Value (ICV) aus Paket 
ohne Authentisierungsdaten 
fügt ICV in Feld für Authentisierungsdaten 
Pakete vom Sender ggbfls. bei IPv6 fragmentiert 
vor Entschlüsselung wieder reassembliert

Funktionen beim Empfangen eines ESP-Pakets

eingehendes Paket 
aufgrund Eintrag in Security Policy Database als ESP-Paket erkannt 
Sequenznummernfeld überprüfen (wenn SA vorschreibt)
Da Pakete in beliebiger Reihenfolge eintreffen können
Fensterverfahren 
32 bis 64 Sequenznummern 
auf Duplikate überprüft.
bei dupliziertem Paket, in Logdatei protokollieren.
Authentisierung ( wenn SA vorschreibt)
ESP-Paket mit vereinbartem Algorithmus prüfen
ohne Authentisierungsdaten
gegen Authentisierungsdaten abgleichen 
Fehler in Logdatei protokollieren unter Angabe von 
SPI, 
Empfangszeit, 
Quell- und Zieladresse und 
Sequenznummer .
Dechiffrierung ( wenn SA vorschreibt)
ESP-Paket ohne Authentisierungsdaten mit vereinbartem Algorithmus entschlüsselt 
Aus Klartext Paddingdaten extrahiert und überprüft (1,2,.. bei impliziten Daten)
ursprüngliches Paket einschließlich IP-Header restauriert weiter an IP geleitetet
auch im Tunnelmodus 
Datenteil an Transportprotokoll 
im Tunnelmodus als neues IP-Paket weiterleiten
zu protokollierende Fehler auditable events
in der Regel in Logdatei protokolliert 
nicht verlangt wird 
jedes System protokolliert Fehler
wenn, müssen Mechanismen zum Protokollieren von AH-Fehlern vorgesehen werden 
Administrator muss dieses ein- bzw. ausschalten 
bei Fehlern ist Empfänger nicht verpflichtet, an Absender melden
Gefahr von Denial-of-Service-Angriffen verhindern