A2.1. Managing and Using the Anti-Replay Window (Gestion et utilisation de la fenêtre anti-rejeu)
A2.1. Managing and Using the Anti-Replay Window (Gestion et utilisation de la fenêtre anti-rejeu)
La fenêtre anti-rejeu peut être considérée comme une chaîne de bits où 'W' définit la longueur de la chaîne. W = T - B + 1 et ne peut pas dépasser 2^32 - 1 en valeur. Le bit le plus bas correspond à B et le bit le plus haut correspond à T, et chaque numéro de séquence de Bl à Tl est représenté par un bit correspondant. La valeur du bit indique si un paquet avec ce numéro de séquence a été reçu et authentifié, de sorte que les rejeux peuvent être détectés et rejetés.
Lorsqu'un paquet avec un numéro de séquence de 64 bits (Seq) supérieur à T est reçu et validé,
- B est augmenté de (Seq - T)
- (Seq - T) bits sont supprimés de l'extrémité basse de la fenêtre
- (Seq - T) bits sont ajoutés à l'extrémité haute de la fenêtre
- Le bit supérieur est défini pour indiquer qu'un paquet avec ce numéro de séquence a été reçu et authentifié
- Les nouveaux bits entre T et le bit supérieur sont définis pour indiquer qu'aucun paquet avec ces numéros de séquence n'a encore été reçu.
- T est défini sur le nouveau numéro de séquence
Lors de la vérification des paquets rejoués,
-
Dans le cas A: Si Seql >= Bl (où Bl = Tl - W + 1) ET Seql <= Tl, alors vérifiez le bit correspondant dans la fenêtre pour voir si ce Seql a déjà été vu. Si oui, rejetez le paquet. Si non, effectuez le contrôle d'intégrité (voir Annexe A2.2. ci-dessous pour la détermination de Seqh).
-
Dans le cas B: Si Seql >= Bl (où Bl = Tl - W + 1) OU Seql <= Tl, alors vérifiez le bit correspondant dans la fenêtre pour voir si ce Seql a déjà été vu. Si oui, rejetez le paquet. Si non, effectuez le contrôle d'intégrité (voir Annexe A2.2. ci-dessous pour la détermination de Seqh).