VPN IPSec
Phases de l’établissement d’un VPN IPsec
Phase 1 : Échange IKEv2
L’objectif de la Phase 1 est d’établir un canal sécurisé pour négocier les paramètres de sécurité de la Phase 2. Cela se fait en créant une IKE Security Association (IKE SA).
Étape 1 : IKE_SA_INIT
IKE_SA_INIT Request (Initiateur → Répondeur)
- L’initiateur envoie une proposition de sécurité contenant les algorithmes de chiffrement et de hachage qu’il supporte (par exemple, AES-256 pour le chiffrement et SHA-256 pour l’intégrité).
- Il inclut également un nonce (nombre aléatoire utilisé une seule fois) et sa clé publique Diffie-Hellman.
IKE_SA_INIT Response (Répondeur → Initiateur)
- Le répondeur choisit les algorithmes de sécurité parmi ceux proposés par l’initiateur.
- Il envoie son propre nonce et sa clé publique Diffie-Hellman.
- Les deux parties utilisent maintenant les clés publiques Diffie-Hellman échangées pour générer une clé secrète partagée.
Étape 2 : IKE_AUTH
IKE_AUTH Request (Initiateur → Répondeur)
- L’initiateur envoie son identité (souvent une adresse IP ou un FQDN) et un message d’authentification.
- L’authentification peut se faire via une Pre-Shared Key (PSK). Un HMAC basé sur la PSK est utilisé pour prouver l’identité.
- L’initiateur peut également demander un certificat si l’authentification par certificat est utilisée.
IKE_AUTH Response (Répondeur → Initiateur)
- Le répondeur vérifie l’identité et l’authentification de l’initiateur.
- Il envoie son propre message d’authentification, également protégé par HMAC si une PSK est utilisée.
- Une fois l’authentification réussie, l’IKE SA est établie.
Phase 2 : Échange IPsec
L’objectif de la Phase 2 est d’établir les SAs IPsec qui seront utilisées pour chiffrer et authentifier le trafic de données réel.
Étape 1 : CREATE_CHILD_SA
CREATE_CHILD_SA Request (Initiateur → Répondeur)
- L’initiateur envoie une proposition pour les paramètres de sécurité IPsec, y compris les algorithmes de chiffrement et d’authentification (par exemple, AES-256 et SHA-256).
- Il peut également inclure un nouvel échange Diffie-Hellman pour la Perfect Forward Secrecy (PFS), bien que cela ne soit pas obligatoire.
CREATE_CHILD_SA Response (Répondeur → Initiateur)
- Le répondeur accepte les paramètres de sécurité proposés.
- Les deux parties établissent maintenant les IPsec SAs pour le trafic de données.
À la fin des échanges décrits, le tunnel VPN est établi et sécurisé. Les données transmises à travers ce tunnel sont chiffrées à l’aide des algorithmes convenus (AES-256 pour le chiffrement et SHA-256 pour l’intégrité) et authentifiées, permettant ainsi un échange sécurisé et confidentiel des informations entre les deux parties.
Protocoles et leurs rôles
- IKEv2 : Protocole pour établir les SAs nécessaires à IPsec. Il gère l’échange de clés et l’authentification.
IKE_SA_INIT : Échange initial pour négocier les algorithmes de sécurité et les clés Diffie-Hellman.
IKE_AUTH : Échange pour l’authentification mutuelle et l’établissement de l’IKE SA.
- IPsec : Protocole pour sécuriser les communications IP en chiffrant et authentifiant chaque paquet IP.
ESP (Encapsulating Security Payload) : Protocole utilisé pour le chiffrement et l’authentification des données.
AH (Authentication Header) : Protocole utilisé pour l’authentification des données (moins courant avec l’utilisation d’ESP).
- Diffie-Hellman : Protocole pour l’échange de clés cryptographiques. Il permet aux deux parties de générer une clé secrète partagée sur un canal non sécurisé.
Groupe 19 : Un groupe spécifique utilisé pour l’échange de clés Diffie-Hellman, offrant un niveau de sécurité élevé.
- HMAC : Fonction de hachage pour vérifier l’intégrité et l’authenticité des messages échangés pendant l’authentification.