Zusammenfassung

  • RFC 7146 ersetzte die Implementierungspflicht für 3DES-CBC aus RFC 3723 durch AES-CBC als verpflichtende Interoperabilitätsbasis für IPsec bei Blockspeicherprotokollen.
  • Die genannten 3 GiB veranschaulichen einen Sicherheitsabstand von einer Größenordnung unterhalb der 32-GiB-Birthday-Grenze eines 64-Bit-Blocks; sie sind weder eine universelle Rekey-Regel noch der Bericht eines Angriffs.

Das Datenvolumen lief der Sitzung davon

Eine IPsec-Sicherheitsassoziation konnte eine aktive Speichersitzung transportieren und sich trotzdem einer kryptografischen Grenze nähern, bevor die Sitzung endete. RFC 7146 vom April 2014 reagierte auf genau diese Diskrepanz: Blockspeicherprotokolle sollten mit mehreren Gigabit pro Sekunde arbeiten, während 3DES Daten in 64-Bit-Blöcken verarbeitet. Entscheidend war nicht nur das Alter des Schlüssels, sondern die Datenmenge, die mit ihm verschlüsselt worden war.

Das Dokument aktualisierte die IPsec-Anforderungen aus RFC 3723. Zuvor mussten Implementierungen 3DES im CBC-Modus unterstützen; AES im Counter-Modus (AES-CTR) sollte implementiert werden. RFC 7146 machte beide Implementierungen optional und verlangte stattdessen AES-CBC. Die Pflicht zur Unterstützung von NULL-Verschlüsselung blieb bestehen. Damit lassen sich Sicherheitsassoziationen ohne Vertraulichkeit, aber mit Authentisierung und Integrität einrichten. Das sind Anforderungen an Implementierungsfähigkeit, keine Anweisung, in jeder Umgebung einen bestimmten Algorithmus zu verwenden.

Eine Grenze ist kein Timer

Für eine Chiffre mit 64-Bit-Blockgröße nennt RFC 7146 eine Birthday-Grenze von 32 GiB. Der Schlüssel sollte deutlich vorher gewechselt werden, weil sich Schwächen zeigen, wenn die unter einem Schlüssel verschlüsselte Datenmenge dieser Grenze näherkommt. Das Dokument führt 3 GiB als Beispiel für einen Sicherheitsabstand um eine Größenordnung auf einer Verbindung mit mehreren Gigabit pro Sekunde an. Der Wert macht den Betriebsaufwand greifbar, ist aber kein vorgeschriebener Schwellenwert für jedes System.

Im Speicherverkehr können einige GiB schnell zusammenkommen. Eine Richtlinie, die nur die Sitzungsdauer betrachtet, kann das tatsächliche Volumen verfehlen. Häufige Schlüsselwechsel verlangen außerdem, dass beide Endpunkte neue Sicherheitsassoziationen zuverlässig aushandeln und installieren, während der Datenverkehr weiterläuft. RFC 7146 beschreibt diesen Druck, behauptet jedoch weder, dass jede 3DES-Sitzung die Grenze erreichte, noch dass ein Angriff erfolgreich war.

AES verarbeitet 128-Bit-Blöcke; RFC 7146 nennt dafür die wesentlich größere Birthday-Grenze von 2^68 Byte. AES-CBC wurde zum neuen verpflichtend zu implementierenden Interoperabilitätsalgorithmus. Die Modi sind damit nicht austauschbar: Implementierungen mit IKEv2-Unterstützung sollten auch AES-GCM implementieren. Die Änderung an AES-CTR begründet das Dokument anders: Hardwareüberlegungen begünstigten inzwischen GCM. Es beschreibt keinen Sicherheitsbruch von CTR.

Was die Anforderungsänderung aussagt

RFC 7146 aktualisiert eine Implementierungsbasis. Es ist weder eine Bestandsaufnahme installierter Geräte noch eine Messung von Speichernetzen oder eine heutige universelle Kryptoempfehlung. 3DES-CBC darf weiterhin implementiert werden, wenn geringere Datenraten und die daraus folgende Rekey-Häufigkeit akzeptabel sind. Geändert wurde die minimale Interoperabilitätszusage für den beschriebenen Einsatz, nicht jede Altverwendung.

Die historische Lehre: Implementierungsanforderungen tragen Betriebsannahmen in sich. Ein Algorithmus kann verfügbar bleiben, während steigender Durchsatz die Kosten erhöht, ihn innerhalb der vorgesehenen Grenze zu halten. Gemeinsam zu betrachten sind deshalb unterstützte Algorithmen, ausgehandelte SA-Laufzeiten, übertragene Bytes, Sequenznummernraum und die Fähigkeit zum unterbrechungsfreien Rekeying. RFC 7146 legt diese Verbindung offen; konkrete Richtlinien und Betriebsnachweise bleiben Aufgabe der Betreiber.

Quellen: RFC 7146; RFC-7146-Informationen; RFC-7146-Errata; RFC 3723; RFC 4106; RFC 3602; RFC 4303; RFC 4301; RFC 8221; RFC 6071; RFC 6176.