3.4.4. Vérification de la valeur de vérification d'intégrité
Le récepteur calcule l'ICV sur les champs appropriés du paquet, en utilisant l'algorithme d'intégrité spécifié, et vérifie qu'il est le même que l'ICV inclus dans le champ ICV du paquet. Les détails du calcul sont fournis ci-dessous.
Si les ICV calculés et reçus correspondent, alors le datagramme est valide, et il est accepté. Si le test échoue, alors le récepteur DOIT rejeter le datagramme IP reçu comme invalide. Ceci est un événement auditable. L'entrée du journal d'audit DEVRAIT inclure la valeur SPI, la date/heure de réception, l'adresse source, l'adresse de destination, et (dans IPv6) l'ID de flux.
Note d'implémentation:
Les implémentations peuvent utiliser n'importe quel ensemble d'étapes qui aboutit au même résultat que l'ensemble d'étapes suivant. Commencez par sauvegarder la valeur ICV et la remplacer (mais pas le remplissage du champ ICV) par zéro. Mettre à zéro tous les autres champs qui peuvent avoir été modifiés pendant le transit. (Voir section 3.3.3.1, "Gestion des champs mutables", pour une discussion sur les champs qui sont mis à zéro avant d'effectuer le calcul de l'ICV.) Si l'option ESN est choisie pour cette SA, ajouter les 32 bits de poids fort de l'ESN après la fin du paquet. Vérifier la longueur totale du paquet (comme décrit ci-dessus), et si elle nécessite un remplissage implicite basé sur les exigences de l'algorithme d'intégrité, ajouter des octets remplis de zéros à la fin du paquet (après l'ESN s'il est présent) selon les besoins. Effectuer le calcul de l'ICV et comparer le résultat avec la valeur sauvegardée, en utilisant les règles de comparaison définies par la spécification de l'algorithme. (Par exemple, si une signature numérique et un hachage à sens unique sont utilisés pour le calcul de l'ICV, le processus de correspondance est plus complexe.)