Garants de la sécurité et de la transmission efficace des données sur Internet, les protocoles pris en charge par les meilleurs VPN sont essentiels à la stabilité et à la fiabilité du service utilisé.
Souvent configuré par défaut au sein des applications VPN grand public, le protocole est une donne à ne surtout pas négliger au regard d’une connexion anonyme et sécurisée. Il en existe aujourd’hui des dizaines, standardisés, open source ou propriétaires, qu’il faut impérativement étudier avant d’utiliser. Car tous n’atteignent pas le même niveau de sécurité et n’offrent pas les mêmes conditions de confidentialité. Les VPN gratuits, n'intègrent d'ailleurs pas tous les protocoles disponibles.
Qu’est-ce qu’un protocole VPN ?
Commençons par le commencement. Un VPN, ou réseau privé virtuel, est une technologie permettant de générer un tunnel de connexion privé sur un réseau de télécommunication public (Internet). Pour mettre en place ce chemin alternatif, le VPN repose sur un protocole de tunneling permettant à la fois de chiffrer et de faire circuler les données émises et reçues par un utilisateur entre son appareil et le serveur VPN.
Concrètement, lorsque l’on envoie une requête à un serveur distant – pour accéder à une page sur Internet ou au réseau intranet de son entreprise, par exemple – le trafic est chiffré à la source (ordinateur et/ou appareils mobiles) et isolé du reste du trafic public en empruntant un canal virtuel qui le conduit au serveur VPN avant d'être redirigé sur le réseau Internet public.
En clair, se connecter à un serveur ou à un réseau distant à l’aide d’un VPN génère une connexion privée entre l’appareil source et le serveur VPN, puis une connexion classique entre le serveur VPN et le serveur cible. Le serveur cible ne voit rien du tunnel privé et interprète le trafic reçu comme provenant directement de l'adresse IP du serveur VPN, et non de celle de l'internaute.
Dans cette configuration, le protocole de tunneling, ou protocole VPN, est l’élément qui permet de réaliser le tunnel virtuel, de chiffrer et d’encapsuler les données (paquets) envoyées, de les transporter, de les décapsuler et de les déchiffrer une fois réceptionnées par le serveur VPN.
Comment choisir son protocole VPN ?
Dans la mesure du possible, on ne choisit pas un protocole de tunneling par défaut. Toutes les technologies existantes ne se valent pas, certaines étant aujourd’hui considérées comme obsolètes, d’autres comme peu fiables au regard du nombre de paquets (non-)acheminés. Sans parler des protocoles VPN ne proposant aucun mode de chiffrement. Il convient donc d’identifier les caractéristiques propres à chacun puisqu’elles sont garantes de la sécurité et de l’intégrité des données, mais également de la vitesse des transferts.
Un tel prérequis peut effrayer les utilisateurs les moins expérimentés, d’autant plus lorsque les spécifications techniques ressemblent à un charabia indigeste. Point rassurant : la plupart des fournisseurs dominant le marché des VPN domestiques font sensiblement appel aux mêmes protocoles de tunneling reconnus comme sécurisés.
Néanmoins, parce qu’on n’est jamais mieux informé que par soi-même, connaître les quelques protocoles de tunneling à privilégier, ainsi que ceux à éviter, avant de choisir un VPN ne peut pas faire de mal. Bien au contraire.
Les protocoles de tunneling présentés ici peuvent être considérés comme fiables et sécurisés. Tous ne recourent pas aux mêmes algorithmes de chiffrement ni ne conviennent à tous les appareils connectés. Cette liste n’est pas exhaustive, mais elle regroupe les protocoles VPN les plus couramment utilisés.
Libre et gratuit, OpenVPN est considéré comme le protocole VPN à prioriser car fiable et hautement sécurisé. Dans le détail, il fait massivement appel à OpenSSL et fournit donc l’ensemble des algorithmes de chiffrement que contient la bibliothèque. Parmi les standards disponibles, on ne saurait que trop recommander le recours à l’AES qui, couplé à une clé 128 ou 256 bits, garantit un mode de cryptage inviolable, et donc une excellente sécurité des données.
En termes de protocoles de transmission, OpenVPN utilise au choix TCP et UDP. Pour rappel, dans une configuration TCP, la machine envoie les paquets un à un et attend confirmation de leur réception avant d’envoyer le suivant. La méthode est fiable mais peut ralentir la connexion réseau.
A contrario, UDP transmet les paquets sans attendre de confirmation de bonne réception. La connexion est plus rapide, mais moins fiable : des paquets peuvent se perdre en chemin et le handshaking n'a pas lieu (authentification mutuelle expéditeur/destinataire).
OpenVPN utilise également un troisième protocole personnalisé basé sur SSL/TLS fournissant un chiffrement des données allant jusqu’à 256 bits.
Un autre avantage d’OpenVPN réside la possibilité de le configurer sur n’importe quel port. Sur le port TCP HTTPS (443), il masque le trafic, le rendant presque impossible à distinguer du HTTPS standard, et donc très difficile à bloquer. De fait, OpenVPN contourne aisément les pare-feux et les proxys.
Quelle que soit la méthode de transmission et de chiffrement choisie, OpenVPN n’a jamais été compromis. Compatible avec tous les OS existants (Windows, macOS, Linux, Android, iOS), il n’est cependant pas intégré nativement aux systèmes et nécessite l’installation d’un client ou d'un fichier de configuration spécifique pour fonctionner.
WireGuard : l'alternative
WireGuard est un protocole VPN libre très récent et prometteur. Plus rapide, léger et plus facile à configurer qu’OpenVPN, il utilise les technologies de chiffrement robustes que sont Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF et le framework Noise. Concernant les protocoles de transmission, WireGuard délaisse TCP pour ses performances peu glorieuses, et se concentre sur UDP.
Son code très court est un autre gage de sa fiabilité : moins de lignes entraînent moins de bugs. Il est par ailleurs plus facile de traquer et corriger des failles sur quelques milliers de lignes que sur des centaines de milliers.
Différences de codes et degré de sécurité
Nombreuses ont été les comparaisons entre OpenVPN et WireGuard. Le premier engloberait près de 600 000 lignes quand le second se satisferait de 4 000 lignes. Le raccourci est tentant mais grossier, et il convient de faire une mise au point sur la densité du code d’OpenVPN vis-à-vis de celui de WireGuard. En réalité, la version open source d’OpenVPN ne comporte que 70 000 lignes de code environ. Le chiffre reste élevé, mais il faut comprendre qu’il inclut le support pour deux bibliothèques de chiffrement différentes. Par conséquent, on y trouve un nombre important de possibilités d’identification avancée (id/mot de passe, authentification à double facteur, certificats, etc.). WireGuard, de son côté, embarque une palette de méthodes d’identification restreinte, certes suffisante pour un utilisateur standard, mais trop succincte pour un utilisateur en quête d’une solution plus avancée.
Depuis 2020, Wireguard est intégré au noyau Linux. Il est par ailleurs compatible avec tous les autres systèmes d’exploitation et propose des optimisations pour les appareils mobiles (mise en veille du protocole lorsque le tunnel n’est pas utilisé, support de l’itinérance) et les objets connectés.
SSTP : pour une bande passante suffisante
SSTP est un protocole propriétaire de Microsoft, nativement intégré aux systèmes Windows depuis Vista SP1. Il est également disponible sur Linux.
Souvent couplé à l’AES (128 ou 256), SSTP est un protocole VPN sécurisé. Par là même, parce qu’il utilise le protocole de transmission SSL/TLS, il est facile de le configurer sur le port TCP 443, et ainsi de contourner pare-feux et proxys.
Néanmoins, le recours exclusif à TCP présente également des inconvénients. Outre une vitesse de connexion revue à la baisse, TCP peut souffrir d’un « meltdown » en cas de délai de transmission dépassé. Une défaillance technique qui conduit à la chute drastique des performances réseau et à la dégradation de la transmission des paquets de données.
En définitive, SSTP est un protocole clairement sécurisé mais soumis aux caprices de la bande passante. Par ailleurs, son statut de protocole VPN propriétaire l’empêche d’être audité en parfaite indépendance. Il s’agira alors de faire aveuglément confiance à Microsoft.
IKEv2/IPSec : la solution mobile idéale
À l’origine, IKE sert à configurer les informations de sécurité (chiffrement et clé de chiffrement) pour les données qui circulent avec IPSec. Dans sa deuxième version, il devient IKEv2 et se sert d’IPSec pour transporter les paquets UDP. Souvent associé à l’AES (128 ou 256), il propose un bon niveau de sécurité. Dans la mesure où il utilise le port 500, il contourne difficilement les pare-feux.
Le grand avantage d’IKEv2 réside dans sa rapidité. Son mode de fonctionnement lui permet de gérer parfaitement l’itinérance des appareils (connexion/déconnexion, changement de type de réseau), ce qui en fait une technologie adaptée aux smartphones et tablettes.
Légère ombre au tableau : IKEv2 est issu de l’association entre Microsoft et Cisco. Se pose une nouvelle fois la question de la transparence et de l’indépendance au regard d’un protocole VPN plus difficile à auditer de manière impartiale qu’un pair open source.
L2TP/IPSec : à condition de rester vigilant
L2TP a la particularité de ne proposer aucun chiffrement, d’où son association récurrente à IPSec : L2TP encapsule les paquets et IPSec les chiffre (HMAC, AES-CBC, AES-GCM, Triple DES-CBC, ChaCha20/Poly1305), leur offrant une seconde encapsulation lorsqu’ils empruntent le tunnel virtuel.
Le niveau de sécurité est donc élevé, mais cette double encapsulation génère régulièrement des ralentissements à l’émission et à la réception des paquets. Il faudra également s’assurer que tous les équipements du VPN (serveurs distants, notamment) implémentent le protocole IPSec. Dans le cas contraire, L2TP pourrait utiliser un autre protocole et la sécurité des données pourrait être compromise.
L2TP/IPSec utilise le port UDP 500. Il est facile à bloquer et contourne difficilement les pare-feux.
PPTP : le protocole à éviter
Bien qu’il ait été un modèle pour de nombreux protocoles VPN actuels, PPTP est aujourd’hui trop vieux et vulnérable pour aspirer à sécuriser quoi que ce soit.
Mis au point par Microsoft et implémenté à Windows depuis Windows 95, PPTP peut être associé aux algorithmes MS-CHAPv2 (authentification) et MPPE (chiffrement de bout en bout) avec une clé de chiffrement 128 bits. Au regard de ce que propose la concurrence, c’est vraiment peu.
Par ailleurs, les clés de session sont générées à partir d’un hachage du mot de passe utilisateur alors qu’elles devraient être générées aléatoirement pour garantir un niveau de sécurité plus élevé. De cette méthode de cryptage découle une faiblesse identifiée dès 1999 dans MS-CHAP qui résiste très mal aux attaques de force brute. Microsoft a évidemment tenté de corriger cette vulnérabilité avec un patch (MS-CHAPv2), mais aucun audit indépendant n’a permis de confirmer l’efficacité des corrections apportées.
Aujourd’hui, il est toujours aussi facile de casser un tunnel PPTP et de déchiffrer les données qui y circulent. En conséquence de quoi, établir une connexion VPN avec PPTP reviendrait à ne rien faire du tout, mis à part créer un tunnel virtuel. C’est acceptable si le VPN sert uniquement à accéder à un réseau externe (et encore : sa configuration sur le port TCP 1723 ne lui permet pas de contourner tous les pare-feux), mais inenvisageable si l’on souhaite rester anonyme et protéger des données confidentielles. Configuré sur PPTP, un VPN ne protègera pas ses utilisateurs et utilisatrices d'un piratage.
Tous ces inconvénients auront néanmoins l’avantage de faire émerger quelques atouts de PPTP dans le cas où aucune alternative ne serait possible. En raison de son faible niveau de sécurité, ce protocole est très rapide. Il est également facile à configurer, disponible sur toutes les plateformes et ne nécessite pas d’application tierce pour être déployé.
Le cas particulier des protocoles maison
Les meilleurs fournisseurs de VPN domestiques jouent la carte du protocole maison, arguant un meilleur anonymat et une meilleure sécurité grâce à des méthodes de chiffrement toutes plus robustes les unes que les autres.
C’est notamment le cas d’ExpressVPN et de sa solution Lightway dont on sait qu’elle fait appel à la bibliothèque de chiffrement wolfSSL et dont les sources sont publiées sur GitHub.
Audité à plusieurs reprises par différents cabinets indépendants, Lightway fonctionne sur les protocoles de communication réseau TCP et UDP, à l’image d’OpenVPN. Il est également compatible avec les clés de chiffrement 256 bits et prend aussi bien en charge l’AES que ChaCha20.
Afin de laisser à l’internaute plus expérimenté le choix du niveau de sécurité dont il a besoin, ExpressVPN l’autorise à sélectionner manuellement l’un ou l’autre de ces deux algorithmes dans les options du client VPN. Les utilisateurs et utilisatrices moins à l’aise avec ces spécificités techniques continuent, quant à eux, de bénéficier d’une protection optimale grâce au paramétrage par défaut du logiciel : ExpressVPN s’engage en effet à sélectionner automatiquement le chiffrement le plus adapté à l’appareil utilisé pour se connecter au service VPN.
Conscient qu’intégrer un unique protocole VPN à son service n’est pas suffisant, ExpressVPN prend également en charge OpenVPN (TCP et UDP). Précédé par sa réputation de protocole de référence, OpenVPN, bien que très stable et fiable, offre des performances légèrement moins élevées que Lightway, comme nous avions pu le constater à l’issue des tests de vitesse menés dans le cadre de notre avis sur ExpressVPN.
Tout savoir sur les VPN. Consultez nos autres définitions
- Onion over VPN : comment et pourquoi utiliser Tor en plus d'un VPN
- Qu'est-ce que le split tunneling et à quoi ça sert ?
- Quelles différences entre la navigation privée, TOR et un VPN ?
- Tout savoir sur votre adresse IP
- Qu'est-ce que le kill switch d'un VPN ?
- Zoom sur le protocole VPN Wireguard
- VPN ou proxy : quelles différences ?
- Sécurité vs protection de la vie privée : les différences-clés
- Zoom sur les protocoles NordLynx et WireGuard