Le
Point-
To-
Point
Tunneling
Protocol (PPTP) est un protocole d’encapsulation s’appuyant sur le protocole
PPP pour la communication. Ce protocole ne peut travailler que sur des réseaux IP. Historiquement parlant, ce protocole a été implémenté pour la première fois par Cisco, il fut ensuite repris par Microsoft dans ses systèmes Windows. Une spécification fut publiée dans la
Request For Comments (RFC) 2637 en juillet 1999, parmi les auteurs on citera à nouveau Microsoft, mais également l’équipementier 3Com, ainsi que d’autres sociétés moins connues (Ascend Communications, Copper Mountain Networks, ECI Telematics, etc…)
Fonctionnement général d'un VPN avec PPTP
Le protocole PPTP consiste en deux flux de communication entre le client et le serveur, s'appuyant directement sur le protocole IP :
- Le premier flux a pour rôle la gestion du lien entre les deux parties, il s’agit là d’une connexion sur le port 1723 du serveur en TCP.
- Le second flux concerne les données échangées entre les deux parties, bien entendu ce flux peut et doit être chiffré, ce dernier transite en utilisant le protocole General Routing Encapsulation.
PPTP ne concerne que le transport des données, un de ces deux protocoles intervient ensuite pour sécuriser l'authentification, il faut en effet être certain que c'est la bonne personne qui se connecte au serveur VPN !
- Password Authentification Protocol (PAP) : ce protocole décrit dans la RFC 1994 consiste à mettre en place une authentification entre le client et le serveur VPN. Les informations d'authentification (nom d'utilisateur et mot de passe) transitent en clair, ce qui n'est pas l'idéal si l'on veut sécuriser au maximum...
- Challenge Handshake Authentification Protocol (CHAP) : ce protocole consiste en un mécanisme d'authentification crypté, il est donc sécurisé. Un protocole basé sur ce dernier, développé par Microsoft, est aussi utilisé : MS-CHAP.
L'authentification effectuée, il faut désormais sécuriser la communication au sein du VPN; comme pour l'authentification, la sécurisation des données repose sur un protocole de PPP : Compression Control Protocol. Différents types de cryptage sont utilisés, qu'ils soient
symétriques ou asymétriques. Les algorithmes
RSA (DES,
RC4 et
IDEA) et les clés publiques (Public Key Infrastructure,
PKI) entre autres.