1. Concepts
Le but des VPN (Virtual Private Network) est d'essayer et de fournir les mêmes possibilités
de sécurité qu'une liaison louée peut fournir.
En effet, sur une liaison louée un routeur est sûr que son copain d'en face est bien
qui il est et qu'il n'y a pas possibilité d'interception du trafic.
Les VPN fournissent ce genre de service au moyen de :
2. IPSec
Définition: IPSec est un framework de services de sécurité sur les réseaux IP.
IPSec définit par exemple des fonctions d'encryption, d'authentification, ... En bref, IPSec
fournit la base des services définit au 1. + échange de clefs.
Encryptage :
Les types d'encryptage :
Afin d'encrypter les données, on a vu dans le premier schéma, qu'il faut une clef. En général,
ces clefs sont partagées. Néanmoins, le partage n'est pas simple. On ne peut envoyer en clair
les clefs sur le réseau. La première solution a l'idée sont les PSK (Pre-Shared Key). Les clefs
sont échangées par oral, téléphone, ... et rentrées manuellement.
Le problème avec cela est que ces clefs sont échangées par des humain et donc rarement changées.
L'échange de clefs dynamiques (les clefs sont changées souvent, donc peu de chance qu'elles
soient cassées) est une sécurité et donc utilisé. Pour cela, il faut un mécanisme pour échanger
les clefs de manière sure.
Echange de clefs:
Afin de survenir à ce problème, IPSec utilise le framework IKE (Internet Key Exchange) (RFC4306).
IKE utilise l'algorithme DH (Diffie-Hellman) afin d'échanger les clefs de manières sûre
et non en clair sur le réseau.
Authentification et intégrité des données:
L'authentification fait en sorte que l'on soit sûr que le périphérique réseau qui nous envoie
des données est bien celui qui doit nous les envoyer. L'intégrité des données a pour but de
vérifier que les données n'ont pas été altérées durant la transmission.
La vérification de l'intégrité des données est réalisé au moyen du protocole AH. Dans ce protocole,
on utilise une fonction de "hash" (HMAC) qui permet comme dans l'encryption des données de valider
qu'il n'y a pas eu falcification des données. L'émetteur calcule une fonction de "hash" et l'envoit
dans le header VPN, et le receveur au moyen d'une clef partagée (la même de chaque côté) calcule
lui aussi le hash (via le paquet) et vérifie avec le "hash" fourni dans le header VPN qu'il a bien
le même => Données intègres.
L'authentification se base sur le principe des clefs préviées et publiques. Le même principe
que pour la vérification de l'intégrité des données est utilisé pour l'authentification, à la
différence près que les données sont envoyées cryptées avec la clef privée de l'émetteur
et que le receveur peut la décrypter avec la clef publique de l'émetteur.
ESP (Encryption Security Protocol) a pour but de crypter, d'authentifier, antireplay et
vérifier l'intégrité des données.
3. VPN SSL
Les VPN SSL sont en fait des VPN basés sur SSL et TLS. En général ils sont utilisés via
des serveurs web en SSL. Les clients sont donc des clients légers Web : Web VPN.