Probablement le protocole VPN le plus utilisé
aujourd'hui, IPSec fit une première apparition dans les RFC numérotées
de 1825 à 1829 parues lors de l'année 1995. Ce protocole prend
directement en charge les trois composantes d'un VPN, à savoir : le
transport, l'authentification et la sécurisation des données.
Tandis qu'il agit comme une couche supplémentaire dans
IPv4, IPSec est partie intégrante de
IPv6.
Ceci ayant pour but de simplifier l'intégration de ce dernier au sein des
futurs réseaux IP (pas de redirections de ports entre les routeurs
d'une entreprise pour acheminer un tunnel correctement).
Il existe deux types d'implémentation de ce
protocole, suivant le niveau de sécurité et les besoins que l'on a, on
en choisira un en dépis de l'autre...
- Une première implémentation consiste à utiliser IP pour faire du
transport : IPSec génère un paquet et le transmet à IP, ce dernier
considèrera alors le contenu de la couche supérieure comme sécurisé et
fera acheminer directement le paquet sans le modifier. Entendez par là
que les en-têtes des couches supérieures ne seront pas cryptés
(notamment l'adresse IP source et l'adresse IP de destination), et donc
transmis en clair sur le réseau.
- Une autre implémentation, plus sécurisée, consiste à faire crypter
par IPSec les en-têtes du paquet. Deux associations de sécurité* (SA
en anglais) sont créées, une pour chaque extrémité du tunnel. Leur rôle
sera à la fois d'établir la connexion entre les deux points (avec le
protocole IKE), et de garantir l'intégrité de la communication (non
modification) et sa sécurité (protocole ISAKMP). Internet Key Exchange (IKE) et Internet Security Association and Key Managment Protocol (ISAKMP)
sont tous deux basés sur le principe de l'échange de clés publiques.
ISAKMP s'appuie sur les algorithmes de cryptage DES et 3DES.
Une autre méthode dite de " haute sécurité " utilise le protocole Encapsuling Security Payload
(ESP), dont le rôle est d'encapsuler les paquets. Couplé à un
algorithme de cryptage (DES, 3DES, AES). IKE peut être rajouté en
supplément pour encore plus de sécurité.
Les ports utilisés par IPSec sont le 500 en UDP (échange des clés) ainsi que le 50 et le 51 en TCP (transfert des données).