VPN IPSec

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.
Dernière modification