Warum Verschlüsselung allein ein wiedergespieltes Paket nicht stoppt
Ein altes Paket behält ein gültiges Authentifizierungs-Tag, daher beweist Integrität nie Frische. Sequenzzustand und ein Empfangsfenster leisten diese Arbeit.
Geschützte Pakete laufen kryptografisch nicht ab, daher ist ein Paket, das vor fünf Minuten gültig war, auch jetzt gültig, weil Verschlüsselung und Integritätsschutz nichts darüber aussagen, wann die Bytes erzeugt wurden. Ein Angreifer, der Verkehr mitschneiden und erneut senden kann, muss die Chiffre nicht brechen. Deshalb führt jedes ernsthafte Tunnelprotokoll Sequenzzustand neben seinen Schlüsseln mit.
Der Mechanismus ist klein, und seine Fehlermodi lassen sich leicht mit Paketverlust verwechseln.
Gültiger Chiffretext ist kein frischer Chiffretext
Authentifizierung beantwortet eine Frage: Stammen diese Bytes unverändert von jemandem, der den Schlüssel besitzt. Sie beantwortet nicht, ob der Empfänger sie zum ersten Mal sieht. Ein wiedergespieltes Paket besteht die erste Prüfung perfekt, und genau deshalb kann eine Integritätsprüfung allein eine Wiedergabe nicht stoppen, und deshalb braucht das Protokoll eine zweite Regel zur Annahme. Ein Empfänger, der nur authentifiziert, hat keine Abwehr gegen einen Angreifer mit einer Aufzeichnung.
Diese Regel ist billig zu implementieren und billig zu formulieren: ein gegebenes geschütztes Paket einmal akzeptieren, unter einem gegebenen Schlüssel. Alles Weitere in diesem Bereich folgt daraus, wie die Implementierung dieses Einmal verfolgt.
Einen Wiedergabe-Verwurf als Entschlüsselungsfehler zu lesen, schickt dich in das völlig falsche Teilsystem.
Eine Sequenznummer und ein Fenster
IPsec ESP trägt eine Sequenznummer, und der Empfänger führt ein gleitendes Fenster kürzlich akzeptierter Werte, wobei die ESP-Spezifikation die Standardfenstergröße und die Option beschreibt, es zu erweitern. WireGuard geht einen anderen Weg mit einem Zähler pro Schlüssel und einer ausdrücklichen Prüfung dagegen. Keines der Designs setzt voraus, dass Pakete in Reihenfolge ankommen, weil echte Netze sie umordnen. Beide tolerieren Umordnung, und keines toleriert Wiederholung.
Das Fenster macht diese Toleranz möglich. Ein Paket knapp hinter dem höchsten gesehenen Wert kann noch akzeptiert werden, wenn es nicht schon akzeptiert wurde; eines weit dahinter, oder eines, dessen Platz bereits markiert ist, wird verworfen. Vergrößere das Fenster, und du tolerierst mehr Umordnung auf Kosten von mehr Zustand pro Association.
Diagnosezähler zeigen dir, in welchem Fall du bist. Wiedergabe-Verwürfe erhöhen einen bestimmten Zähler statt eines allgemeinen Fehlers, und diesen Zähler zu lesen ist die erste nützliche Beobachtung.
nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer
Zustand gehört zum Schlüssel, nicht zum Host
Zählerzustand ist an eine Security Association oder eine Schlüssel-Epoche gebunden, daher erzeugt eine Neuverschlüsselung einen frischen Kontext und einen eigenen Sequenzraum. Einen Zähler zu löschen, ohne den Schlüssel zu ersetzen, oder eine Association nach einem manuellen Reset weiterzuverwenden, bricht die Annahme, auf der das Empfangsfenster beruht. Deshalb gibt es protokollgesteuerte Neuverschlüsselung statt einer für den Betreiber sichtbaren Reset-Taste.
Wenn sich ein Tunnel nach einem manuellen Eingriff falsch verhält, frage, ob der Eingriff den Sequenzzustand berührt hat. Eine Konfiguration, die identisch aussieht, kann sich anders verhalten, weil der geerbte Zustand nicht der erwartete ist.
Diagnostiziere die Ursache, bevor du etwas abschaltest
Verlust, Umordnung, duplizierter Verkehr und ein Implementierungsfehler zeigen sich alle als Neuübertragungen, und nur einer davon ist ein Wiedergabeproblem. Die Prüfung abzuschalten, um Rauschen zu dämpfen, entfernt die Eigenschaft, auf die du dich verlassen hast, und macht die ursprüngliche Ursache schwerer zu finden, weil die Neuübertragungen jetzt gar keine Erklärung haben.
Erfasse begrenzte Beweise: Association-IDs, Sequenznummern und Zähler, ohne Payloads. Das reicht, um ein Duplikat von einer umgeordneten Ankunft zu unterscheiden, und es macht aus deiner Diagnosedatei keine Kopie des Nutzerverkehrs.
Was die Prüfung nicht verspricht
Wiedergabeschutz ist eine Eigenschaft der Paketverarbeitung innerhalb eines Protokolls. Er bedeutet nicht, dass der Betreiber keine Protokolle führt, dass eine Website kein Konto erkennen kann oder dass eine Sitzung anonym ist. Das sind getrennte Fragen zu getrennten Systemen, und ein starkes Anti-Replay-Design beantwortet keine davon.
Gepflegte Software mit unterstützten Einstellungen ist die praktische Kontrolle, die einem Nutzer zur Verfügung steht. Das Protokoll behandelt das Paket; alles andere bleibt eine Betriebsentscheidung.