IPsec (Internet Protocol Security) est un ensemble de protocoles (couche 3 modèle OSI) utilisant des algorithmes permettant le transport de données sécurisées sur un réseau IP.
Réalisée dans le but de fonctionner avec le protocole IPv6, la suite de protocoles IPsec fut adaptée pour l'actuel protocole IP (IPv4).
Son objectif est d'authentifier et de chiffrer les données : le flux ne pourra être compréhensible que par le destinataire final (chiffrement) et la modification des données par des intermédiaires ne pourra être possible (intégrité).
IPsec est souvent un composant de VPN, il est à l'origine de son aspect sécurité (canal sécurisé ou tunneling).
La mise en place d'une architecture sécurisée à base d'IPsec est détaillée dans la RFC 2401 (la RFC 2401 est obsolète et remplacée par la RFC 4301).
Fonctionnement
Lors de l'établissement d'une connexion IPsec, plusieurs opérations sont effectuées :
Échange des clés
un canal d'échange de clés, sur une connexion UDP depuis et vers le port 500 (ISAKMP pour Internet Security Association and Key Management Protocol), défini dans la RFC 2408.
Le protocole IKE est en charge de négocier la connexion. Ce protocole permet deux types d'authentifications, PSK (Pre-Shared Key ou secret partagé) pour la génération de clefs de sessions ou à l'aide de certificats/signatures RSA.
Transfert des données
un ou plusieurs canaux de données par lesquels le trafic du réseau privé est véhiculé, deux protocoles sont possibles :
le protocole n°51, AH, (Authentication Header), défini dans la RFC 2402 et qui ne fournit que l'intégrité.
Modes de fonctionnement
Indépendamment des deux protocoles possibles AH/ESP, deux modes sont possibles, tunnel ou transport :
Dans le cadre du mode transport, Si l'on ne veut sécuriser que les données, on va choisir d'utiliser le mode transport. Il est généralement utilisé pour acheminer les données de type Host-to-Host. On peut choisir le protocole AH, ESP ou les deux.
Dans le cadre du mode tunnel, IPsec crée un tunnel pour la communication entre deux machines pour bien sécuriser les données. Le mode tunnel est très utilisé par le protocole IPsec dans le réseau de type LAN-to-LAN car il offre une protection contre l'analyse de trafic, les adresses de la source et l'adresse de destinataire sont toutes masquées. On doit choisir entre le protocole AH ou ESP. Ce mode crée un nouveau paquet IP encapsulant celui qui doit être transporté.