IPsec (Internet Protocol Security), défini par l’IETF comme un cadre de standards ouverts pour assurer des communications privées et protégées sur des réseaux IP, par l’utilisation des services de sécurité cryptographiques, est un ensemble de protocoles utilisant des algorithmes permettant le transport de données sécurisées sur un réseau IP. IPSec se différencie des standards de sécurité antérieurs en n’étant pas limité à une seule méthode d’authentification ou d’algorithme et c’est la raison pour laquelle il est considéré comme un cadre de standards ouverts. De plus IPSec opère à la couche réseau (couche 3 du modèle OSI) contrairement aux standards antérieurs qui opéraient à la couche application (couche 7 du modèle OSI), ce qui le rend indépendant des applications, et veut dire que les utilisateurs n’ont pas besoin de configurer chaque application aux standards IPSec.

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 4301 (la RFC 2401 est obsolète).

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 (la RFC 2408 est obsolète et remplacée par la RFC 4306).

Le protocole IKE (Internet Key Exchange) est chargé de négocier la connexion. Avant qu’une transmission IPSec puisse être possible, IKE est utilisé pour authentifier les deux extrémités d’un tunnel sécurisé en échangeant des clés partagées. 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. Une signature est un certificat signé par une tierce-partie appelée Autorité de certification (AC ou CA) qui offre l’Authentification et la Non-répudiation. Sans cette signature, une partie peut simplement nier la responsabilité de messages envoyés.

Sachant que l’usage de la cryptographie asymétrique (clés publiques) peut être utilisé avec IPSec, il ne permet pas la Non-répudiation. IPSec utilise une association de sécurité (Security association) pour dicter comment les parties vont faire usage de AH et de l’encapsulation de la charge utile d’un paquet.

  • Une association de sécurité (SA) est l’établissement d’information de sécurité partagée entre deux entités de réseau pour soutenir la communication protégée. Une SA peut être établie par une intervention manuelle ou par ISAKMP (Internet Security Association and Key Management Protocol).
  • ISAKMP est défini dans la RFC 2408 comme un cadre pour établir, négocier, modifier et supprimer des SA entre deux parties. En centralisant la gestion des SA, ISAKMP réduit la quantité de fonctionnalité reproduite dans chaque protocole de sécurité. ISAKMP réduit également le nombre d’heures exigé par l’installation de communications, en négociant tous les services simultanément.

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 no 51, AH, (Authentication Header), défini dans la RFC 2402 (remplacée par les RFC 4303 et RFC 4305) et qui fournit l’intégrité et l’authentification. AH authentifie les paquets en les signant, ce qui assure l’intégrité de l’information. Une signature unique est créée pour chaque paquet envoyé et empêche que l’information soit modifiée.
  • le protocole no 50, ESP (Encapsulating Security Payload), défini dans la RFC 2406 (remplacée par les RFC 4303 et RFC 4305) qui fournit également l’intégrité mais aussi la confidentialité par l’entremise de la cryptographie.

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é.
  • Share/Bookmark