Zum Hauptinhalt springen

A2. Anti-Replay Window (Anti-Replay-Fenster)

A2. Anti-Replay Window (Anti-Replay-Fenster)

Der Empfänger wird ein Anti-Replay-Fenster der Größe W beibehalten. Dieses Fenster begrenzt, wie weit außerhalb der Reihenfolge ein Paket sein kann, relativ zu dem Paket mit der höchsten Sequenznummer, die bisher authentifiziert wurde. (Über die bereits für 32-Bit-Sequenznummernfenster festgelegten Werte von 32 und 64 Paketen hinaus werden keine Anforderungen für minimale oder empfohlene Größen für dieses Fenster festgelegt. Es wird jedoch vorgeschlagen, dass ein Implementierer diese Werte entsprechend der von einer Implementierung unterstützten Schnittstellengeschwindigkeit skaliert, die die ESN-Option verwendet. Außerdem geht der unten beschriebene Algorithmus davon aus, dass das Fenster nicht breiter als 2^31 Pakete ist.) Alle 2^32 Sequenznummern, die mit einem beliebigen festen Wert für die höherwertigen 32 Bits (Seqh) verbunden sind, werden im Folgenden als Sequenznummern-Unterraum (sequence number subspace) bezeichnet. Die folgende Tabelle listet die relevanten Variablen und ihre Definitionen auf.

     Var.   Size
Name (bits) Meaning
---- ------ ---------------------------
W 32 Size of window (Fenstergröße)
T 64 Highest sequence number authenticated so far,
upper bound of window (Höchste bisher authentifizierte Sequenznummer, obere Grenze des Fensters)
Tl 32 Lower 32 bits of T (Niedere 32 Bits von T)
Th 32 Upper 32 bits of T (Höhere 32 Bits von T)
B 64 Lower bound of window (Untere Grenze des Fensters)
Bl 32 Lower 32 bits of B (Niedere 32 Bits von B)
Bh 32 Upper 32 bits of B (Höhere 32 Bits von B)
Seq 64 Sequence Number of received packet (Sequenznummer des empfangenen Pakets)
Seql 32 Lower 32 bits of Seq (Niedere 32 Bits von Seq)
Seqh 32 Upper 32 bits of Seq (Höhere 32 Bits von Seq)

Bei der Durchführung der Anti-Replay-Prüfung oder bei der Bestimmung, welche höherwertigen Bits zur Authentifizierung eines eingehenden Pakets verwendet werden sollen, gibt es zwei Fälle:

  • Case A (Fall A): Tl >= (W - 1). In diesem Fall befindet sich das Fenster innerhalb eines Sequenznummern-Unterraums. (Siehe Abbildung 1)
  • Case B (Fall B): Tl < (W - 1). In diesem Fall erstreckt sich das Fenster über zwei Sequenznummern-Unterräume. (Siehe Abbildung 2)

In den folgenden Abbildungen zeigt die untere Linie ("----") zwei aufeinanderfolgende Sequenznummern-Unterräume, wobei Nullen den Beginn jedes Unterraums anzeigen. Die beiden kürzeren Linien darüber zeigen die höherwertigen Bits, die gelten. Das "====" repräsentiert das Fenster. Das "****" repräsentiert zukünftige Sequenznummern, d.h. diejenigen jenseits der aktuell höchsten authentifizierten Sequenznummer (ThTl).

     Th+1                         *********

Th =======*****

--0--------+-----+-----0--------+-----------0--
Bl Tl Bl
(Bl+2^32) mod 2^32

Abbildung 1 -- Fall A


Th ====**************

Th-1 ===

--0-----------------+--0--+--------------+--0--
Bl Tl Bl
(Bl+2^32) mod 2^32

Abbildung 2 -- Fall B