Protections VPN
Dans une configuration VPN conventionnelle, tout votre trafic Internet est tunnelisé à travers un seul serveur géré par le fournisseur du VPN. Voici ce que cela signifie en pratique :
- Chiffrement : Votre trafic est chiffré entre votre appareil et le serveur VPN, empêche les observateurs locaux (comme les FAI ou les opérateurs Wi-Fi publics) de voir ce que vous faites.
- Anonymisation (partielle) : Votre adresse IP est masquée du monde extérieur, remplacée par celle du serveur VPN.
La vulnérabilité des VPNs traditionnels
Cependant, il y a une contrepartie majeure : le serveur VPN lui-même devient un point de surveillance puissant. Il voit votre adresse IP réelle et la destination finale de votre trafic. Même si la connexion est chiffrée, le fournisseur de VPN peut suivre chaque site Web que vous visitez et quand. Vous avez essentiellement échangé la confiance dans votre FAI pour faire confiance à votre fournisseur VPN.
Dans la plupart des cas d'utilisation dans le monde réel, comme la navigation Web, les données à l'intérieur du tunnel VPN sont chiffrées au niveau de la couche d'application en utilisant HTTPS. Cela signifie que si le fournisseur VPN peut voir le serveur auquel vous vous connectez (par ex. l'adresse IP ou même le domaine, via les métadonnées DNS ou TLS), il ne peut pas lire le contenu réel de votre communication, comme les pages Web que vous consultez ou les données que vous soumettez dans les formulaires. Néanmoins, le fournisseur conserve la visibilité dans les métadonnées comme les IPs de destination, les domaines (dans certains cas), le volume de trafic et les informations de chronométrage qui peuvent toujours être utilisées pour profiler l'activité de l'utilisateur.
Pourquoi deux sauts ? Entrez dans le VPN multi-sauts
Pour atténuer ce problème de centralisation, les VPN à 2 sauts, souvent appelés VPN décentralisés (dVPNs), acheminent le trafic à travers deux serveurs séparés : un noeud d'entrée et un noeud de sortie. L'idée principale est qu'aucun serveur unique ne devrait être en mesure de lier votre identité à votre activité :
- Le nœud d'entrée (ou passerelle) voit votre adresse IP mais pas celle de la destination finale de votre trafic sur le web
- Le nœud de sortie voit l’adresse IP de la destination finale, mais ne sait pas qui vous êtes.
Ce modèle de confiance séparée augmente considérablement la confidentialité si les deux nœuds sont exécutés par des entités indépendantes et non complices. Mais c'est un gros « si ». Par exemple, si une seule entreprise ou entité gère à la fois les serveurs d'entrée et de sortie, ils peuvent corréler et reconstruire le chemin de toute votre activité. Cela nous ramène au problème original de la confiance centralisée ci-dessus.
WireGuard : Quatre façons de concevoir un VPN à 2 sauts
Nous allons explorer différentes façons de construire un VPN à 2 sauts en utilisant WireGuard, un protocole VPN rapide et moderne, connu pour sa simplicité et ses performances. Chaque méthode a des implications différentes sur la protection de la vie privée.
1. Tunnel WireGuard unique vers le nœud de sortie
Le client crée un tunnel WireGuard directement avec le nœud de sortie. Le nœud d'entrée ne fait que faire suivre les paquets chiffrés par un tunnel sans effectuer de chiffrement ou de déchiffrement. La connexion du client au nœud d'entrée peut utiliser n'importe quel protocole de transport, par exemple, QUIC, TCP, ou même un tunnel offusqué, selon le support du système.
Conséquences sur la confidentialité
Comme le trafic relayé par le nœud d'entrée est chiffré dans le tunnel WireGuard entre le client et la sortie, le nœud d'entrée n'a pas accès au contenu du trafic ou à l'adresse IP de destination. Comme il n’y a pas de connexion directe entre le client et le nœud de sortie, le nœud de sortie ne connait pas l’adresse IP du client.
Cependant, il est à noter que le tunnel WireGuard établi entre le client et le nœud de sortie nécessite un échange de clés publiques. Cela signifie que le nœud de sortie connaît la clé publique du client, et que les clés WireGuard ont une durée de vie importante par défaut, le nœud de sortie peut en principe suivre et corréler l'activité du client à travers plusieurs sessions, même si l'adresse IP change. Bien que la rotation des clés puisse réduire ce risque, elle n'est pas gérée automatiquement par WireGuard. Ce qui résulte au fait que le point de sortie peut relier l’identité du client à la destination finale du trafic. Par conséquent, cette configuration peut potentiellement permettre le profilage à long terme des clients.
2. Un seul tunnel WireGuard vers le nœud d'entrée
Le client établit un tunnel WireGuard avec le nœud d'entrée, qui déchiffre le trafic et le transfère vers le nœud de sortie sur les canaux normaux. La connexion entre les nœuds d'entrée et de sortie peut utiliser n'importe quel protocole de transport, mais il ne fait pas partie du tunnel WireGuard établi avec le client.
Conséquences sur la confidentialité
Puisque le tunnel WireGuard se termine au nœud d'entrée, le nœud d'entrée peut voir l'adresse IP du client et la destination prévue. Bien que le nœud de sortie ne voit que le trafic depuis le nœud d'entrée et ne puisse pas le lier au client d'origine, le nœud d'entrée accède à la fois à l'identité du client et à la destination, permettant au nœud de corréler qui est l'utilisateur et sa destination. Si votre objectif est de ne pas lier l'identité du client à la destination, ce modèle échoue parce que le nœud d'entrée a une visibilité dans les deux extrémités de la conversation. Par conséquent, du point de vue de la confidentialité, ce n'est pas mieux qu'un VPN traditionnel.
3. Tunnels WireGuard enchaînés (re-chiffrement au nœud d'entrée)
Le client établit un tunnel WireGuard avec le nœud d'entrée. Le nœud d’entrée déchiffre le trafic du client, puis le chiffre à nouveau vers le nœud de sortie dans un nouveau tunnel WireGuard. Le nœud de sortie déchiffre ce deuxième tunnel et redirige le trafic vers la destination finale.
Ce design implique deux tunnels WireGuard distincts :
- Un depuis le client vers le nœud d'entrée
- Un du nœud d'entrée au nœud de sortie
Le client ne participe qu'au premier tunnel. Le second est géré entièrement par le nœud d'entrée et le nœud de sortie.
Conséquences sur la confidentialité
Vu que le tunnel WireGuard du client se termine au nœud d'entrée, le nœud d'entrée a une pleine visibilité sur l'identité et l'activité de l'utilisateur. Il voit l'adresse IP réelle du client et le contenu déchiffré du trafic, y compris l'adresse IP de destination ainsi que toutes les données non chiffrées. Cela signifie que le nœud d'entrée peut inspecter, loguer ou modifier le trafic avant de le transmettre.
Le nœud de sortie, en revanche, reçoit le trafic du nœud d'entrée à l'intérieur d'un tunnel WireGuard séparé. Il ne connaît pas l'adresse IP du client d'origine, mais peut voir l'adresse IP de destination et tout le contenu en texte brut. Cette approche offre une amélioration partielle par rapport aux VPN à simple saut en impliquant deux nœuds, mais le nœud d’entrée a toujours une visibilité sur l’identité du client et sur la destination. Seul le nœud de sortie est isolé de la connaissance de la source du trafic. En outre, sans chiffrement au niveau de la couche d'application (par exemple, HTTPS), le contenu de la communication est également exposé aux deux nœuds.
4. Tunnels WireGuard imbriqués (approche tunnel-in-tunnel de NymVPN)
Dans cette configuration, le client établit deux tunnels imbriqués WireGuard : un tunnel interne au nœud de sortie et un tunnel extérieur au nœud d'entrée. Le tunnel intérieur est créé en premier lieu et encapsule le trafic réel ; le tunnel extérieur enveloppe ensuite ce tunnel intérieur.
Le trafic est d'abord chiffré pour le nœud de sortie, puis de nouveau pour le nœud d'entrée. Le nœud d'entrée ne déchiffre que le tunnel externe WireGuard et redirige le tunnel interne de WireGuard, toujours entièrement chiffré, vers le nœud de sortie. Le nœud de sortie déchiffre ensuite la couche intérieure et redirige le trafic vers sa destination.
Conséquences pour la confidentialité
C'est l'approche utilisée par le Mode Rapide de NymVPN, qui tire parti des tunnels imbriqués de WireGuard pour préserver l'impossibilité de faire le lien entre les utilisateurs et leurs destinations. Voyons comment ça fonctionne.
Parce que le nœud d'entrée ne déchiffre que le tunnel externe WireGuard, il n'a pas accès au contenu du trafic ou à l'IP de destination. Il connaît l'adresse IP du client, car il établit le tunnel extérieur directement avec le client, mais il ne voit que le tunnel interne WireGuard destiné au nœud de sortie. Il ne peut pas inspecter, modifier ou apprendre quoi que ce soit sur la destination.
Le nœud de sortie, entre-temps, déchiffre le tunnel interne de WireGuard et voit l'adresse IP de destination et le trafic déchiffré. Cependant, il ne reçoit que des paquets provenant du noeud d'entrée et n'a aucune visibilité sur l'adresse IP ou l'identité originale du client.
Cette séparation stricte des informations signifie qu’aucun des deux nœuds, seuls, ne peut corréler la source (IP client) avec la destination (IP du serveur). Le nœud d’entrée sait qui est l’utilisateur, mais pas où il va. Le nœud de sortie sait où se dirige le trafic, mais pas de qui il provient. Tant que les deux nœuds sont gérés de façon indépendante et ne partagent pas les logs ou les métadonnées, cette configuration assure une impossibilité de lier l'identité de l'utilisateur et son activité en ligne. Même si un nœud est compromis, il ne peut pas désanonymiser complètement l'utilisateur seul.
Comme dans le cas d'un seul tunnel WireGuard vers le nœud de sortie, le client doit échanger sa clé publique avec le nœud de sortie. Par conséquent, à moins que le client ne change régulièrement ses clés, le nœud de sortie peut associer l'identité WireGuard du client à son activité en ligne au fil du temps.
Cependant, dans une configuration à un seul tunnel de sortie, si aucun chiffrement supplémentaire lors du transport n'est utilisé, un observateur de réseau capable de surveiller à la fois la liaison entre le client et le noeud d'entrée, et le lien entre le noeud d'entrée et de sortie, peut corréler les modèles de trafic et potentiellement lier les clients à des noeuds de sortie spécifiques. Cela fragilise l'impossibilité de faire le lien et augmente le risque de profilage par l'analyse du trafic.
Conclusion : la conception du VPN importe
"Décentralisation" est souvent utillisé dans le marketing VPN, mais le véritable gain de confidentialité vient de la façon dont les systèmes sont conçus, pas de comment ils sont appelés. Une configuration VPN à 2 sauts peut être nettement meilleure pour la confidentialité, mais seulement si :
- Les nœuds d'entrée et de sortie sont gérés par des parties indépendantes et non complices
- Le protocole et la conception du tunnel empêchent l'inspection et la corrélation du trafic
Si vous évaluez une solution dVPN ou que vous envisagez d'en créer un, gardez à l'esprit : la décentralisation ne consiste pas seulement à avoir plus de nœuds, Il s'agit de distribuer la confiance d'une manière qu'aucune des parties ne peut rassembler l'image complète de votre vie en ligne.