V.3.4.4. Fonctionnement des deux phases
Lorsque des services de sécurité sont
employés, il est nécessaire de savoir sans ambiguïté
à quelle SA se rapportent les échanges. Les phases de
négociations permettent leur identification par utilisation de champs
dédiés.
Lors de la première phase, l'initiateur émet un
cookie (Initiator Cookie) dans l'en-tête (HDR) ISAKMP du premier
message qui comprend :
V' Un bloc SA (SA Payload), précisant si
l'association de sécurité ISAKMP négociée est ou
non générique ;
V' Un bloc proposal (Proposal Payload), indiquant que le
protocole auquel se rapporte la SA est ISAKMP ;
1' Un ou plusieurs blocs Transform (Transform
Payload), chacun d'entre eux proposant différents attributs pour la
SA. Leur syntaxe est spécifiée par IKE.
La figure V.9 illustre les échanges d'IKEv1.
a) Echange Phase 1 d'IKE (Main mode) b) Echange Phase 2
d'IKE
(Quick mode)
Fig. V.9. Echanges d'IKEv1
Le destinataire communique en réponse son propre cookie
(Responder Cookie) et retourne le triplet (SA, Proposal,
Transform) correspondant à la solution retenue. A ce stade, le
couple (Initiator Cookie, Responder Cookie) qui identifie de
façon unique la SA ISAKMP, est inséré dans tous les
messages des deux phases. Les deux entités continuent la
négociation en échangeant leur valeur publique DH à
travers les blocs KE afin de créer une clé partagée et
trois autres clés pour la dérivation des nouveau clés, le
chiffrement et l'authentification des données. A ce point, les nouveaux
messages envoyés seront protégés en confidentialité
et en intégrité. L'initiateur et le répondeur
échangent leurs identités et s'authentifient a travers les blocs
ID et AUTH respectivement. Les identités sont des adresses IP ou des
champs liés au certificat X.509. Cependant, le bloc AUTH
représente trois méthodes d'authentification : des clés
partagés, des certificats X.509 ou le chiffrement avec des clés
publiques. Au terme de la première phase, les interlocuteurs jouent un
rôle symétrique puisque les deux peuvent initier une
négociation de phase 2. Une SA ISAKMP est par nature bidirectionnelle.
Dans la phase 2, les deux communicateurs négocient à nouveaux les
paramètres de sécurité d'IPSec. Chaque négociation
aboutit en fait a deux SA, une dans chaque sens de la communication. Plus
précisément, les échanges composant ce mode ont le
rôle suivant :
1' Négocier un ensemble de paramètres IPSec
(paquets de SA) ;
1' Échanger des nombres aléatoires
utilisés pour générer une nouvelle clé qui
dérive du secret généré en phase 1 avec le
protocole Diffie-Hellman. De façon optionnelle, il est possible d'avoir
recours à un nouvel échange Diffie-Hellman afin d'accéder
à la propriété de Perfect Forward Secrecy qui
n'est pas fournie si on se contente de générer une nouvelle
clé à partir de l'ancienne et des aléas ;
1' Identifier le trafic que ce paquet de SA protégera,
au moyen de sélecteurs (blocs optionnels IDi et IDr.
En leur absence, les adresses IP des interlocuteurs sont utilisées).
Notons finalement, que les exécutions de la phase 1
doivent être rarement faites. En effet, dans la phase 1, les
exécutions cryptographiques sont les plus intensives. Cette phase est
conçue pour échanger en toute sécurité une
clé secrète, même dans le cas quand il n'y a absolument
aucune protection de sécurité en place entre les deux machines.
Cette clé secrète est basée sur des valeurs publiques DH
et autres paramètres échangés durant la première
phase. En revanche, les échanges de la phase 2 sont moins complexes,
puisqu'ils sont utilisés seulement après que le mécanisme
de protection de sécurité, négocié dans la phase 1,
est lancé.
En général, les négociations en phase 1
sont exécutées une fois par jour ou peut-être une fois par
semaine, alors qu'on exécute des négociations de la phase 2 une
fois toutes les quelques minutes. Le tableau V.2 illustre le temps de
négociation des deux phases ISAKMP/IKEv16.
Tableau V.2. Temps de négociation des deux
phases ISAKMP/IKEv16.
Echanges ISAKMP/IKEv1
|
Temps en seconde (s)
|
Phase 1 : Main Mode (3DES, SHA, DH groupe 2, certificat X.509
avec une chaine de certification égale à 1)
|
0.201004
|
Phase 1 : Main Mode (3DES, SHA, DH groupe 2, clé
partagée)
|
0.188085
|
Phase 2 : Quick Mode (3DES, SHA, DH groupe 2) : avec PFS
|
0.118204
|
Phase 2 : Quick Mode (3DES, SHA) : sans PFS
|
0.006008
|
|