Nous allons décrire dans cette section différentes méthodes pour sécuriser vos transactions, c'est-à-dire créer un VPN (Virtual Private Network). Un réseau privé virtuel (VPN) est utilisé pour établir des communications sécurisées en s'appuyant sur un réseau existant non sécurisé. Le principal outil utilisé pour la création de VPN est IPsec.
IPsec est facultatif sur IPv4 mais est obligatoire sur IPv6. IPsec a d'autres avantages que la sécurisation du trafic, il permet par exemple d'économiser la bande passante grâce à la compression des en-têtes des paquets.
IPsec fonctionne sous deux modes différents : le mode transport et le mode tunnel. Ces deux modes seront décris dans ce qui suit.
IPsec est composé de plusieurs protocoles différents : AH, ESP, IPcomp et IKE.
Le protocole AH (Authentification Header) permet de garantir l'authenticité des paquets échangés en leur inscrivant une somme de contrôle (de l'en-tête IP jusqu'à la fin du paquet) chiffrée.
Le protocole ESP (Encapsulating Security Payload) chiffre toutes les données du paquet garantissant leur confidentialité.
Le protocole IPcomp (IP payload compression) permet de compresser un paquet avant de le chiffrer avec ESP.
Le protocole IKE (Internet Key Exchange) est utilisé pour l'échange des clés utilisées pour le chiffrement.
AH, ESP et IPcomp fonctionnent dans le mode transport ou le mode tunnel. Le mode "transport" chiffre directement les échanges entre deux machines. Le mode "tunnel" encapsule les paquets chiffrés dans de nouveaux en-tête IPv4/IPv6. Il est conçu pour les passerelles VPN.
IPsec pose quelques problèmes dus à son implémentation. Certains problèmes apparaissent au niveau des messages de broadcast et multicast. IPsec est difficile à filtrer sur les firewalls existants. Il est aussi impossible à gérer pour les traductions d'adresse (NAT).
Description générale des tunnels et implémentation sous Linux : MISC Magazine n°15 - IPsec et Linux 2.6 http://www.securiteinfo.com/cryptographie/IPSec.shtml Description générale des tunnels et implémentation sous Windows : http://www.laboratoire-microsoft.org/articles/network/ipsec/