Passa al contenuto principale

A2. Anti-Replay Window (Finestra anti-replay)

A2. Anti-Replay Window (Finestra anti-replay)

Il ricevitore manterrà una finestra anti-replay di dimensione W. Questa finestra limiterà quanto un pacchetto può essere fuori ordine, rispetto al pacchetto con il numero di sequenza più alto che è stato autenticato finora. (Non sono stabiliti requisiti per le dimensioni minime o raccomandate per questa finestra, oltre ai valori di 32 e 64 pacchetti già stabiliti per le finestre di numeri di sequenza a 32 bit. Tuttavia, si suggerisce che un implementatore ridimensioni questi valori in modo coerente con la velocità dell'interfaccia supportata da un'implementazione che fa uso dell'opzione ESN. Inoltre, l'algoritmo descritto di seguito presuppone che la finestra non sia più ampia di 2^31 pacchetti.) Tutti i 2^32 numeri di sequenza associati a qualsiasi valore fisso per i 32 bit di ordine superiore (Seqh) saranno d'ora in poi chiamati sottospazio di numeri di sequenza (sequence number subspace). La tabella seguente elenca le variabili pertinenti e le loro definizioni.

     Var.   Size
Name (bits) Meaning
---- ------ ---------------------------
W 32 Size of window (Dimensione della finestra)
T 64 Highest sequence number authenticated so far,
upper bound of window (Numero di sequenza più alto autenticato finora, limite superiore della finestra)
Tl 32 Lower 32 bits of T (32 bit inferiori di T)
Th 32 Upper 32 bits of T (32 bit superiori di T)
B 64 Lower bound of window (Limite inferiore della finestra)
Bl 32 Lower 32 bits of B (32 bit inferiori di B)
Bh 32 Upper 32 bits of B (32 bit superiori di B)
Seq 64 Sequence Number of received packet (Numero di sequenza del pacchetto ricevuto)
Seql 32 Lower 32 bits of Seq (32 bit inferiori di Seq)
Seqh 32 Upper 32 bits of Seq (32 bit superiori di Seq)

Quando si esegue il controllo anti-replay, o quando si determinano quali bit di ordine superiore utilizzare per autenticare un pacchetto in arrivo, ci sono due casi:

  • Case A (Caso A): Tl >= (W - 1). In questo caso, la finestra si trova all'interno di un sottospazio di numeri di sequenza. (Vedi Figura 1)
  • Case B (Caso B): Tl < (W - 1). In questo caso, la finestra si estende su due sottospazi di numeri di sequenza. (Vedi Figura 2)

Nelle figure seguenti, la linea inferiore ("----") mostra due sottospazi di numeri di sequenza consecutivi, con gli zeri che indicano l'inizio di ciascun sottospazio. Le due linee più corte sopra di essa mostrano i bit di ordine superiore che si applicano. Il "====" rappresenta la finestra. Il "****" rappresenta i numeri di sequenza futuri, cioè quelli oltre il numero di sequenza più alto attualmente autenticato (ThTl).

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

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

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

Figura 1 -- Caso A


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

Th-1 ===

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

Figura 2 -- Caso B