Zum Hauptinhalt springen

2.5. Version Numbers and Forward Compatibility (Versionsnummern und Vorwärtskompatibilität)

2.5. Version Numbers and Forward Compatibility (Versionsnummern und Vorwärtskompatibilität)

Dieses Dokument beschreibt IKE 2.0 (Major 2, Minor 0) und ersetzt [IKEV2]. Implementierungen können 1.0 und 2.0 oder später weitere Versionen unterstützen.

Die Major-Version steigt nur, wenn Formate oder Pflichtverhalten so stark ändern, dass alte Knoten mit neuen nicht interagieren könnten, selbst wenn unbekannte Felder ignoriert werden. Die Minor-Version kennzeichnet neue Fähigkeiten: Knoten mit kleinerer Minor MÜSSEN sie ignorieren; größere Minor können sie informativ nutzen (z. B. neuer Notify-Typ).

Bei höherer Major im empfangenen Paket MUSS es verworfen werden; es SOLL ein unauthentifiziertes INVALID_MAJOR_VERSION mit der höchsten unterstützten Version gesendet werden. Unterstützte Majors n und m schließen alle dazwischen ein. Bei unterstützter Major MUSS mit dieser Major geantwortet werden. Ein Flag zeigt höhere Major-Fähigkeit an, um Downgrade-Tricks zu verhindern.

Die Major im IKE-Header ist die der Nachricht, nicht die höchste des Senders. Fehlverhandlung auf n bei gemeinsam höherer Fähigkeit → Verbindung trennen und mit n+1 neu verbinden.

IKEv1 folgt diesen Regeln nicht; Angreifer können v2-Knoten auf v1 zwingen → protokollieren.

RESERVED-Felder MÜSSEN in 2.0 null sein und von 2.0 ignoriert werden [IP]. Unbekannte Payload-Typen MÜSSEN übersprungen und ignoriert werden.

Das „critical“-Bit: bei unbekanntem Typ und critical MUSS die Nachricht abgelehnt und UNSUPPORTED_CRITICAL_PAYLOAD in der Antwort stehen (1 Oktett Typ in Daten). Ohne critical unbekannter Typ → Payload ignorieren. Antwort-Payloads ohne critical. Bekannter Typ, unbekannter Inhalt → critical ignorieren.

Neue Payload-Typen können eingestreut sein; Reihenfolge aus Abschnitt 1 und 2 SOLLTEN eingehalten werden, andere Reihenfolge DARF nicht als ungültig abgelehnt werden.