Aller au contenu principal

2.2. Use of Sequence Numbers for Message ID

2.2. Use of Sequence Numbers for Message ID

Chaque message IKE contient un Message ID dans son en-tête fixe. Il sert à associer requêtes et réponses et à identifier les retransmissions. Une retransmission DOIT utiliser le même Message ID que le message d'origine.

Le Message ID est un quantité sur 32 bits, nulle pour les messages IKE_SA_INIT (y compris les nouvelles tentatives suite à COOKIE ou INVALID_KE_PAYLOAD), puis incrémenté pour chaque échange suivant. La première paire IKE_AUTH a l'ID 1, la seconde (avec EAP) 2, etc. Après rekey de l'IKE SA, le Message ID est remis à zéro sur la nouvelle IKE SA.

Chaque extrémité de l'IKE SA maintient deux Message ID « courants » : le prochain pour une requête qu'elle initie et le prochain attendu dans une requête de l'autre. Les compteurs s'incrémentent à l'émission et à la réception des requêtes. Les réponses portent toujours le même Message ID que la requête. Ainsi, après l'échange initial, un entier n peut apparaître dans quatre messages distincts : la n-ième requête de l'initiateur IKE d'origine, la réponse, la n-ième requête du répondant d'origine, et sa réponse. Si les deux extrémités émettent très différemment, les Message ID peuvent diverger fortement ; il n'y a pas d'ambiguïté car les drapeaux Initiateur et Réponse dans l'en-tête précisent lequel des quatre cas s'applique.

Dans tout ce document, « initiateur » désigne la partie qui a initié l'échange décrit. « Initiateur d'origine » désigne toujours celle qui a initié l'échange ayant conduit à l'IKE SA courante. Si le « répondant d'origine » lance un rekey IKE, il devient l'« initiateur d'origine » de la nouvelle IKE SA.

Les Message ID sont protégés cryptographiquement et limitent le rejeu de messages. Si les Message ID dépassent 32 bits (peu probable), l'IKE SA DOIT être fermée ou rekeyée.