Aller au contenu principal

Appendix C. Exchanges and Payloads (Échanges et charges utiles)

Appendix C. Exchanges and Payloads (É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)]