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)]