Aller au contenu principal

Annexe C. Échanges et charges utiles

Cette annexe contient un bref résumé des échanges IKEv2 et des charges utiles (payloads) pouvant apparaître dans chaque message. Cette annexe est purement informative ; en cas de divergence avec le corps du présent document, le reste du texte fait foi.

Les charges utiles Vendor ID (V) peuvent être incluses à n'importe quel endroit de n'importe quel message. La séquence ci-dessous indique les emplacements les plus logiques.

C.1. Échange IKE_SA_INIT​

requête              --> [N(COOKIE),]
SA, KE, Ni,
[N(NAT_DETECTION_SOURCE_IP)+,
N(NAT_DETECTION_DESTINATION_IP),]
[V+][N+]

réponse normale <-- SA, KE, Nr,
(sans cookie) [N(NAT_DETECTION_SOURCE_IP),
N(NAT_DETECTION_DESTINATION_IP),]
[[N(HTTP_CERT_LOOKUP_SUPPORTED),] CERTREQ+,]
[V+][N+]

réponse cookie <-- N(COOKIE),
[V+][N+]

autre groupe <-- N(INVALID_KE_PAYLOAD),
Diffie-Hellman [V+][N+]
requis

C.2. Échange IKE_AUTH sans EAP​

requête              --> IDi, [CERT+,]
[N(INITIAL_CONTACT),]
[[N(HTTP_CERT_LOOKUP_SUPPORTED),] CERTREQ+,]
[IDr,]
AUTH,
[CP(CFG_REQUEST),]
[N(IPCOMP_SUPPORTED)+,]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, TSi, TSr,
[V+][N+]

réponse <-- IDr, [CERT+,]
AUTH,
[CP(CFG_REPLY),]
[N(IPCOMP_SUPPORTED),]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, TSi, TSr,
[N(ADDITIONAL_TS_POSSIBLE),]
[V+][N+]

erreur lors de la <-- IDr, [CERT+,]
création d'une AUTH,
Child SA N(error),
[V+][N+]

C.3. Échange IKE_AUTH avec EAP​

première requête     --> IDi,
[N(INITIAL_CONTACT),]
[[N(HTTP_CERT_LOOKUP_SUPPORTED),] CERTREQ+,]
[IDr,]
[CP(CFG_REQUEST),]
[N(IPCOMP_SUPPORTED)+,]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, TSi, TSr,
[V+][N+]

première réponse <-- IDr, [CERT+,] AUTH,
EAP,
[V+][N+]

/ --> EAP
répéter 1..N fois |
\ <-- EAP

dernière requête --> AUTH

dernière réponse <-- AUTH,
[CP(CFG_REPLY),]
[N(IPCOMP_SUPPORTED),]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, TSi, TSr,
[N(ADDITIONAL_TS_POSSIBLE),]
[V+][N+]

C.4. Échange CREATE_CHILD_SA pour créer ou refaire les clés des Child SA​

requête              --> [N(REKEY_SA),]
[CP(CFG_REQUEST),]
[N(IPCOMP_SUPPORTED)+,]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, Ni, [KEi,] TSi, TSr,
[V+][N+]

réponse <-- [CP(CFG_REPLY),]
normale [N(IPCOMP_SUPPORTED),]
[N(USE_TRANSPORT_MODE),]
[N(ESP_TFC_PADDING_NOT_SUPPORTED),]
[N(NON_FIRST_FRAGMENTS_ALSO),]
SA, Nr, [KEr,] TSi, TSr,
[N(ADDITIONAL_TS_POSSIBLE),]
[V+][N+]

cas d'erreur <-- N(error)

autre groupe <-- N(INVALID_KE_PAYLOAD),
Diffie-Hellman [V+][N+]
requis

C.5. Échange CREATE_CHILD_SA pour refaire les clés de l'IKE SA​

requête              --> SA, Ni, KEi,
[V+][N+]

réponse <-- SA, Nr, KEr,
[V+][N+]

C.6. Échange INFORMATIONAL​

requête              --> [N+,]
[D+,]
[CP(CFG_REQUEST)]

réponse <-- [N+,]
[D+,]
[CP(CFG_REPLY)]