IPSec Security Policy [5-26]

Woher weiß IPSec, welche Sicherheitsmaßnahmen auf ein Datagramm anzuwenden sind? Dazu hat jeder IPSec-fähige Host eine Security Policy Database, kurz SPD. Diese SPD wird für jedes eingehende und ausgehende Datagramm konsultiert. Um Übereinstimmungen zu finden, werden die Felder des IP-Datagrammes mit den Einträgen in der SPD verglichen. Diese Übereinstimmungen können auf Quell- und Zieladressen basieren (oder einem Adressraum), Transportlayer-Protokoll, Transportlayer-Portnummer, … Diese Übereinstimmung bestimmt eine Security Association (SA) oder eine Gruppe von SAs (oder die Nötigkeit einer neuen SA). Jede SA ist eine Gruppe von Algorithmen, einem Modus (Transport oder Tunnel) und Schlüsseln die für die Verarbeitung der Datagramme verwendet werden sollen.

IPSec Security Associations [5-27]

Eine SA ist eine Einwegbeziehung (Simplex) zwischen Sender und Empfänger. Sie spezifiziert kryptographische Prozesse, die für dies Datagramm, von diesem Sender an diesen Empfänger angewendet werden sollen. SAs werden in einer SA-Datenbank (SADB) gelagert. Hier gibt es auch eine Liste aktiver SAs. Jede SA wird durch eine einzigartige SPI (ein 32-Bit-Wert übermittelt in AH und ESP Headern) identifiziert. Dies erlaubt dem Empfänger zu bestimmen, wie mit dem empfangenen Datagramm zu verfahren ist. Jede SA beinhaltet einen Sequenznummernzähler und ein Anti-Replay-Fenster, AH/ESP Infos (Algorithmus, IVs, Schlüssel, Schlüssellebenszeit), SA Lebenszeit, Protokollmodus, …

Was denn nun? Wird die SA durch die SPI bestimmt oder durch eine bestimmte Ziel/Quelladresse… ?