OpenVPN vs IKEv2 vs PPTP vs L2TP / IPSec vs SSTP – Ultimate Guide to VPN Encryption

Un réseau privé virtuel (VPN) crypte toutes les données lors de leur transfert entre votre ordinateur et un serveur VPN. Dans ce guide complet de cryptage VPN, nous examinons en détail ce qu'est le cryptage et comment il est utilisé dans les connexions VPN.


Peut-être plus important encore, nous expliquerons la gamme de termes de chiffrement utilisés par les services VPN. Nous espérons qu'après avoir lu ce document, vous comprendrez mieux ce sujet complexe et que vous serez mieux en mesure d'évaluer les affirmations de sécurité des fournisseurs de VPN.

Préliminaires

Si vous n'êtes pas sûr de ce qu'est un VPN et de ce que l'on peut faire pour vous, veuillez consulter notre Guide des VPN pour débutants.

Notre objectif est de présenter les fonctionnalités clés du cryptage VPN en termes aussi simples que possible. Bien qu'il n'y ait pas de fuite, du fait que le cryptage est un sujet complexe.

Si même le terme chiffrement fait que vos yeux commencent à se briller, mais que vous voulez toujours savoir quoi rechercher dans un bon service VPN, vous pouvez passer directement aux résumés.

Qu'est-ce que le cryptage?

Commencez au début," dit le roi, très gravement, "et continuez jusqu'à ce que vous arriviez à la fin: arrêtez-vous. »

Lewis Carroll, Alice au pays des merveilles

L'analogie la plus simple est que le chiffrement est un verrou. Si vous avez la bonne clé, le verrou est facile à ouvrir. Si quelqu'un n'a pas la bonne clé mais souhaite accéder au contenu d'un coffre-fort (c'est-à-dire vos données) protégé par ce verrou, il peut alors essayer de briser le verrou.

De la même manière que le verrou sécurisant un coffre de banque est plus fort que celui qui sécurise une valise, un certain cryptage est plus fort que d'autres cryptages.

Les bases

Quand vous étiez enfant, avez-vous joué au jeu dans lequel vous avez créé un «message secret» en remplaçant une lettre du message par une autre? La substitution a été effectuée selon une formule choisie par vous.

Vous pourriez, par exemple, avoir substitué chaque lettre du message d'origine par une trois lettres derrière dans l'alphabet. Si quelqu'un d'autre savait ce qu'était cette formule, ou était capable de la trouver, alors il pourrait lire votre «message secret».

Dans le jargon cryptographique, ce que vous faisiez était de «chiffrer» le message (les données) selon un algorithme mathématique très simple. Les cryptographes appellent cet algorithme un «chiffrement». Pour le déchiffrer, vous avez besoin de la clé. Il s'agit d'un paramètre variable qui détermine la sortie finale du chiffrement. Sans ce paramètre, il est impossible de déchiffrer le chiffrement.

Si quelqu'un veut lire un message crypté mais n'a pas la clé, il doit alors essayer de «cracker» le chiffre. Lorsque le chiffrement utilise un chiffrement de substitution de lettres simple, il est facile de le craquer. Le cryptage peut cependant être rendu plus sûr en rendant l'algorithme mathématique (le chiffrement) plus complexe.

Vous pouvez, par exemple, remplacer chaque troisième lettre du message par un chiffre correspondant à la lettre.

Longueur de clé de cryptage

Les chiffrements informatiques modernes sont des algorithmes très complexes. Même avec l'aide de superordinateurs, ceux-ci sont très difficiles à résoudre, voire impossibles à toutes fins pratiques. La façon la plus grossière de mesurer la force d'un chiffre est la complexité de l'algorithme utilisé pour le créer.

Plus l'algorithme est complexe, plus le chiffre est difficile à déchiffrer à l'aide d'une attaque par force brute. Cette attaque de forme très primitive est également connue comme une recherche de clé exhaustive. Il s'agit essentiellement d'essayer toutes les combinaisons de chiffres possibles jusqu'à ce que la bonne clé soit trouvée.

Les ordinateurs effectuent tous les calculs en utilisant des nombres binaires: des zéros et des uns. La complexité d'un chiffre dépend de sa taille de clé en bits - le nombre brut de uns et de zéros nécessaires pour exprimer son algorithme, où chaque zéro ou un est représenté par un seul bit.

Ceci est connu comme la longueur de clé et représente également la faisabilité pratique de réussir une attaque par force brute sur un chiffre donné.

Le nombre de combinaisons possibles (et donc la difficulté de les forcer brutalement) augmente de façon exponentielle avec la taille de la clé. Utilisation du chiffrement AES (voir plus loin):

Combinaisons de taille de clé

Pour mettre cela en perspective:

  • En 2011, le supercalculateur le plus rapide du monde était le Fujitsu K. Il était capable d'une vitesse de pointe Rmax de 10,51 pétaflops. Sur la base de ce chiffre, il faudrait à Fujitsu K 1,02 x 10 ^ 18 - environ un milliard de milliards (un quintillion) - d'années pour casser une clé AES (Advanced Encryption Standard) 128 bits par la force. C'est plus ancien que l'âge de l'univers (13,75 milliards d'années).
  • Le supercalculateur le plus puissant au monde (2017) est le Sunway TaihuLight en Chine. Cette bête est capable d'une vitesse de pointe de 93,02 pétaflops. Cela signifie que l'ordinateur le plus puissant du monde mettrait encore 885 quadrillions d'années pour forcer une clé AES 128 bits.
  • Le nombre d'opérations nécessaires pour forcer brutalement un chiffrement 256 bits est de 3,31 x 10 ^ 56. C'est à peu près égal au nombre d'atomes dans l'univers!

Chiffres informatiques

Alors que la longueur de la clé de chiffrement fait référence à la quantité de nombres bruts impliqués, les chiffres sont les mathématiques - les formules ou algorithmes réels - utilisées pour effectuer le chiffrement. Comme nous venons de le voir, le forçage brutal des chiffrements informatiques modernes est extrêmement impraticable.

Ce sont des faiblesses (parfois délibérées) dans ces algorithmes de chiffrement qui peuvent entraîner la rupture du chiffrement. En effet, la sortie du chiffrement (mal conçu) peut toujours révéler une certaine structure à partir des informations d'origine avant le chiffrement. Cela crée un ensemble réduit de combinaisons possibles à essayer, ce qui réduit en fait la longueur de clé effective.

Le chiffre Blowfish, par exemple, est vulnérable à une attaque qui exploite les mathématiques derrière le problème d'anniversaire dans la théorie des probabilités. L'étude des faiblesses des algorithmes cryptographiques est connue sous le nom de cryptoanalyse.

Des longueurs de clé plus longues compensent ces faiblesses, car elles augmentent considérablement le nombre de résultats possibles.

Au lieu d'attaquer le chiffre lui-même, un adversaire peut attaquer la clé elle-même. Cela peut affecter un site particulier ou certains produits logiciels. Mais la sécurité de l'algorithme de chiffrement est toujours intacte, et d'autres systèmes qui utilisent le même algorithme mais ont une génération sécurisée de clés ne sont pas affectés par la rupture..

Longueur de la clé de chiffrement

La force d'un chiffre dépend à la fois des mathématiques du chiffre lui-même et de sa longueur de clé exprimée en bits. Pour cette raison, les chiffres sont généralement décrits avec la longueur de clé utilisée.

Ainsi, l'AES-256 (le chiffrement AES avec une longueur de clé de 256 bits) est généralement considéré comme plus fort que l'AES-128. Notez que je dis généralement parce que nous traitons ici de mathématiques très complexes (voir mes notes sur AES plus tard).

Remarque Icon2 01 150X150

Il est important de noter que la longueur de clé seule n’est pas un bon indicateur de la force d’un chiffre. C'est la combinaison de la longueur de la clé et du chiffre qui compte. Les chiffrements utilisés pour le chiffrement asymétrique, par exemple, utilisent des tailles de clé beaucoup plus longues que celles utilisées pour le chiffrement symétrique pour fournir la protection équivalente.

Comparaison de la taille des clés

Ce tableau est un peu obsolète, car il ne prend pas en compte les attaques plus récentes qui ont été découvertes sur RSA. Il convient également de noter que la courbe elliptique et les variantes Diffie-Hellman de RSA sont beaucoup plus fortes que les variantes traditionnelles. Mais j'espère que vous avez l'idée.

Remarque Icon2 01 150X150

Une chose à noter est que plus la longueur de clé est élevée, plus le calcul est impliqué, donc plus la puissance de traitement nécessaire. Cela affecte la vitesse à laquelle les données peuvent être chiffrées et déchiffrées. Les fournisseurs de VPN et autres doivent donc décider de la meilleure façon d'équilibrer la sécurité et l'utilité pratique lors du choix des schémas de cryptage.

Nous discutons les chiffrements principaux utilisés par divers protocoles VPN un peu plus tard, mais les chiffrements les plus courants que vous rencontrerez probablement sont Blowfish et AES. En plus de cela, RSA est utilisé pour chiffrer et déchiffrer les clés d'un chiffre, et SHA-1 ou SHA-2 est utilisé comme fonction de hachage pour authentifier les données.

Cryptage asymétriqueCryptage asymétrique

Perfect Forward Secrecy

Perfect Forward Secrecy (PFS) est également appelé utilisation de clés de chiffrement éphémères, ou simplement Forward Secrecy (FS) par ceux qui ne sont pas à l'aise avec l'utilisation du mot «parfait».

La communication en ligne sécurisée la plus moderne repose sur SSL / TLS. Il est utilisé par les sites Web HTTPS et le protocole OpenVPN. TLS (Transport Layer Security) est un protocole de chiffrement asymétrique. L'utilisation d'un chiffrement asymétrique signifie que les données sont sécurisées à l'aide d'une clé publique, accessible à tous. Cependant, il ne peut être déchiffré que par un destinataire prévu qui détient la bonne clé privée.

Cette clé privée doit être gardée secrète. S'il est volé ou craqué par un adversaire, cet adversaire peut facilement intercepter et lire toutes les communications sécurisées par lui..

Malheureusement, il est courant que des serveurs ou même des entreprises entières n'utilisent qu'une seule clé de chiffrement privée pour sécuriser toutes les communications. Pourquoi? Parce que c'est facile. Cependant, si cette clé est compromise, un attaquant peut accéder à toutes les communications chiffrées avec elle..

Cette clé de chiffrement privée devient donc une «clé principale» qui peut être utilisée pour déverrouiller toutes les communications avec un serveur ou une entreprise. La NSA est connue pour avoir exploité cette faiblesse afin de collecter de vastes rames de données prétendument sécurisées.

La solution est Perfect Forward Secrecy. Il s'agit d'un système par lequel une nouvelle clé de chiffrement privée unique est générée pour chaque session. C'est une idée simple, même si l'échange mathématique Diffie-Hellman est complexe. Cela signifie que chaque session TLS possède son propre jeu de clés. D'où le terme «clés éphémères» - elles sont utilisées une fois puis disparaissent.

Il n'y a donc pas de «clé principale» qui puisse être exploitée. Même si une session est compromise, seule cette session est compromise - pas toutes les autres sessions que quiconque a avec ce serveur ou cette entreprise!

Bien que cela soit rare, il est même possible de rafraîchir les clés PFS dans une session (par exemple, toutes les heures). Cela limite davantage la quantité de données qui peuvent être interceptées par un adversaire, même si une clé privée est compromise.

Lorsque j'ai écrit cet article sur le sujet il y a quelques années, l'utilisation de Perfect Forward Secrecy pour les sites Web HTTPS et les connexions OpenVPN était malheureusement rare. Heureusement, cette situation a quelque peu changé. Bien que nullement universelle, l'utilisation des clés éphémères a considérablement augmenté ces derniers temps..

Protocoles de chiffrement VPN

Un protocole VPN est l'ensemble d'instructions (mécanisme) utilisé pour négocier une connexion cryptée sécurisée entre deux ordinateurs. Un certain nombre de ces protocoles VPN sont généralement pris en charge par les services VPN commerciaux. Les plus notables sont PPTP, L2TP / IPSec, OpenVPN, SSTP et IKEv2.

Je regarde chacun d'eux ci-dessous, mais OpenVPN est maintenant le protocole VPN standard utilisé par les services VPN commerciaux - pour une bonne raison. Il est très sécurisé et peut être utilisé sur presque tous les appareils compatibles VPN. Je vais donc passer de l'encre numérique supplémentaire à discuter d'OpenVPN en détail.

PPTP

AVANTAGES

  • Client intégré à presque toutes les plates-formes
  • Très facile à installer

LES INCONVÉNIENTS

  • Très peu sûr
  • Certainement compromis par la NSA
  • Facilement bloqué

Qu'est-ce que PPTP?

Il s'agit uniquement d'un protocole VPN et s'appuie sur diverses méthodes d'authentification pour assurer la sécurité. Parmi les fournisseurs de VPN commerciaux, il s'agit presque toujours de MS-CHAP v2. Le protocole de chiffrement (similaire à un chiffrement standard) utilisé par PPTP est le chiffrement point à point Microsoft (MPPE).

Le protocole PPTP (Point-to-Point Tunneling Protocol) a été développé par un consortium fondé par Microsoft pour la création de VPN sur des réseaux commutés. En tant que tel, PPTP est depuis longtemps le protocole standard pour les réseaux VPN d'entreprise.

PPTP est disponible en standard sur à peu près toutes les plateformes et tous les appareils compatibles VPN. Il est facile à installer, sans avoir besoin d'installer de logiciel supplémentaire. Cela garantit que PPTP reste un choix populaire à la fois pour les VPN professionnels et les services VPN commerciaux.

Il présente également l’avantage de nécessiter une faible charge de calcul pour être implémenté… il est donc rapide!

Malheureusement, PPTP n'est pas sécurisé. Du tout. Bien que l'on ne trouve désormais généralement que des clés de chiffrement à 128 bits, dans les années qui ont suivi son intégration avec Windows 95 OSR2 en 1999, un certain nombre de failles de sécurité sont apparues..

Le plus sérieux d'entre eux est la possibilité d'authentification MS-CHAP v2 non encapsulée. Grâce à cet exploit, PPTP a été piraté en deux jours. Microsoft a corrigé la faille, mais a lui-même émis une recommandation d'utiliser L2TP / IPsec ou SSTP à la place.

Il n'est pas surprenant que la NSA décrypte presque certainement les communications cryptées PPTP en standard. Plus inquiétant encore, la NSA a collecté de grandes quantités de données plus anciennes qui ont été cryptées lorsque PPTP était considéré comme sécurisé. Il peut aussi très certainement décrypter ces données héritées.

PPTP nécessite à la fois le port TCP 1723 et le protocole GRE. Il est facile de pare-feu GRE, ce qui facilite le blocage des connexions PPTP.

L2TP / IPsec

  • Généralement considéré comme sûr (mais voir les inconvénients)
  • Facile à installer
  • Disponible sur toutes les plateformes modernes
  • Plus rapide qu'OpenVPN (peut-être)
  • Peut être compromis par la NSA (non prouvé)
  • Probablement délibérément affaibli par la NSA (non prouvé)
  • Peut lutter avec des pare-feu restrictifs
  • Souvent mal mis en œuvre

Qu'est-ce que L2TP et IPsec?

Le protocole L2TP (Layer 2 Tunneling Protocol) est intégré à presque tous les systèmes d'exploitation modernes et appareils compatibles VPN. Il est donc aussi simple et rapide à mettre en place que PPTP.

À lui seul, L2TP ne fournit aucun cryptage ou confidentialité au trafic qui le traverse, il est donc généralement implémenté avec la suite d'authentification IPsec (L2TP / IPsec). Même si un fournisseur se réfère uniquement à L2TP ou IPsec (comme certains le font), cela signifie presque certainement L2TP / IPSec.

L2TP / IPsec peut utiliser les chiffres 3DES ou AES. 3DES est vulnérable aux attaques par collision Meet-in-the-middle et Sweet32, donc en pratique, il est peu probable que vous le rencontriez de nos jours.

Des problèmes peuvent survenir car le protocole L2TP / IPSec n'utilise qu'un nombre limité de ports. Cela peut entraîner des complications lorsqu'il est utilisé derrière des pare-feu NAT. Cette dépendance sur les ports fixes rend également le protocole assez facile à bloquer.

L2TP / IPsec encapsule les données deux fois, ce qui ralentit les choses. Ceci est compensé par le fait que le chiffrement / déchiffrement se produit dans le noyau et L2TP / IPsec permet le multithread. OpenVPN ne fonctionne pas. Le résultat est que L2TP / IPsec est théoriquement plus rapide que OpenVPN.

L2TP / IPsec utilisant le chiffrement AES n'a pas de vulnérabilités majeures connues et, s'il est correctement implémenté, il peut toujours être sécurisé. Cependant, les révélations d'Edward Snowden ont fortement fait allusion à la norme compromise par la NSA.

John Gilmore est un spécialiste de la sécurité et membre fondateur de l'Electronic Frontier Foundation. Il explique, il est probable qu'IPSec ait été délibérément affaibli pendant sa phase de conception.

Un problème sans doute beaucoup plus important est que de nombreux services VPN implémentent mal L2TP / IPsec. Plus précisément, ils utilisent des clés pré-partagées (PSK) qui peuvent être téléchargées gratuitement à partir de leurs sites Web..

Ces PSK sont uniquement utilisés pour authentifier la connexion, donc même s'ils sont compromis, les données restent cryptées en toute sécurité à l'aide d'AES. Un attaquant pourrait cependant utiliser la clé pré-partagée pour usurper l'identité d'un serveur VPN. Il pourrait alors espionner le trafic crypté, ou même injecter des données malveillantes dans la connexion.

Remarque Icon2 01 150X150

Sommaire

Malgré certains problèmes largement théoriques, L2TP / IPsec est généralement considéré comme sûr si des clés pré-partagées publiées ouvertement ne sont pas utilisées. Sa compatibilité intégrée avec un grand nombre d'appareils peut en faire un très bon choix.

AVANTAGES

  • Très sécurisé
  • Complètement intégré à Windows
  • Prise en charge Microsoft
  • Peut contourner la plupart des pare-feu

LES INCONVÉNIENTS

  • Norme propriétaire détenue par Microsoft

Qu'est-ce que SSTP?

SSTP est un type de cryptage qui utilise SSL 3.0 et offre des avantages similaires à OpenVPN. Cela inclut la possibilité d'utiliser le port TCP 443 pour échapper à la censure. Une intégration étroite avec Windows peut le rendre plus facile à utiliser et plus stable que OpenVPN sur cette plate-forme.

Contrairement à OpenVPN, cependant, SSTP est une norme propriétaire appartenant à Microsoft. Cela signifie que le code n'est pas soumis à l'examen du public. L'historique de coopération de Microsoft avec la NSA et les spéculations sur les possibles backdoors intégrés au système d'exploitation Windows n'inspirent pas confiance dans la norme.

Le protocole SSTP (Secure Socket Tunneling Protocol) a été introduit par Microsoft dans Windows Vista SP1. Bien qu'il soit désormais disponible pour Linux, et même Mac OS X, il s'agit toujours principalement d'une plate-forme Windows uniquement.

Un autre problème est que SSL v3.0 est vulnérable à ce que l'on appelle l'attaque POODLE et n'est donc plus recommandé. Il n'est pas clair si ce problème affecte également le SSTP, mais encore une fois, n'inspire guère confiance.

Remarque Icon2 01 150X150

Sommaire

Sur le papier, SSTP offre de nombreux avantages d'OpenVPN. Cependant, le fait d'être une norme propriétaire de Microsoft mine gravement sa crédibilité.

IKEv2

AVANTAGES

  • Vite
  • Stable - en particulier lors du changement de réseau ou de la reconnexion après une perte de connexion Internet
  • Sécurisé (si AES est utilisé)
  • Facile à installer (au moins du côté utilisateur!)
  • Le protocole est pris en charge sur les appareils Blackberry

LES INCONVÉNIENTS

  • Non pris en charge sur de nombreuses plateformes
  • L'implémentation d'IKEv2 au niveau du serveur est délicate, ce qui pourrait potentiellement entraîner des problèmes de développement
  • Ne faire confiance qu'aux implémentations open source

Qu'est-ce que IKEv2?

Internet Key Exchange version 2 (IKEv2) a été développé conjointement par Microsoft et Cisco. Il est pris en charge nativement par les appareils Windows 7+, Blackberry et iOS. C'est pourquoi de nombreux services VPN iOS utilisent IKEv2 au lieu d'OpenVPN.

Des versions compatibles développées indépendamment de IKEv2 ont été développées pour Linux et d'autres systèmes d'exploitation. Beaucoup de ces itérations sont open source. Comme toujours, je suggère de se méfier de tout ce qui a été développé par Microsoft. Les versions open source d'IKEv2, cependant, ne devraient avoir aucun problème.

IKEv2 fait partie de la suite de protocoles IPsec. Il garantit que le trafic est sécurisé en remettant l'attribut SA (Security Association) dans IPsec et améliore IKEv1 de plusieurs manières. IKEv2 est ainsi parfois appelé IKEv2 / IPsec. IKEv1, d'autre part, est souvent appelé simplement IPsec.

Surnommé VPN Connect par Microsoft, IKEv2 est particulièrement efficace pour rétablir automatiquement une connexion VPN lorsque les utilisateurs perdent temporairement leurs connexions Internet. Par exemple, en entrant ou en sortant d'un tunnel ferroviaire.

En raison de sa prise en charge du protocole MOBIKE (Mobility and Multihoming), IKEv2 est également très résistant aux changements de réseaux. Cela fait d'IKEv2 un excellent choix pour les utilisateurs de téléphones portables qui passent régulièrement du WiFi domestique aux connexions mobiles, ou qui se déplacent régulièrement entre les hotspots.

IKEv2 n'est pas aussi courant que L2TP / IPSec car il est pris en charge sur beaucoup moins de plateformes (bien que cette situation évolue rapidement). Il est cependant considéré comme au moins aussi bon, sinon supérieur, au L2TP / IPsec en termes de sécurité, de performances (vitesse), de stabilité et de capacité à établir (et à rétablir) une connexion..

OpenVPN

AVANTAGES

  • Très sécurisé (si PFS est utilisé)
  • Hautement configurable
  • Open source
  • Peut contourner les pare-feu
  • Nécessite un logiciel tiers

Qu'est-ce que OpenVPN?

OpenVPN est une technologie open source qui utilise la bibliothèque OpenSSL et les protocoles TLS, ainsi qu'un amalgame d'autres technologies, pour fournir une solution VPN solide et fiable. Il s'agit désormais du protocole VPN standard utilisé par les services VPN commerciaux - pour une bonne raison.

L'une des principales forces d'OpenVPN est qu'il est hautement configurable. Il n'est pris en charge nativement par aucune plate-forme, mais est disponible sur la plupart des plates-formes via un logiciel tiers. Les clients et applications OpenVPN personnalisés sont souvent disponibles auprès de fournisseurs VPN individuels, mais le code open source principal est développé par le projet OpenVPN.

De nombreux développeurs et contributeurs au projet OpenVPN travaillent également pour OpenVPN Technologies Inc., qui supervise le projet.

OpenVPN fonctionne mieux sur un port UDP, mais il peut être configuré pour s'exécuter sur n'importe quel port (voir les notes plus loin). Cela inclut le port TCP 443, qui est utilisé par le trafic HTTPS normal. En exécutant OpenVPN sur le port TCP 443, il est difficile de distinguer les connexions VPN du type de connexions sécurisées utilisées par les banques, les services de messagerie et les détaillants en ligne. Cela rend OpenVPN très difficile à bloquer.

Un autre avantage d'OpenVPN est que la bibliothèque OpenSSL utilisée pour fournir le chiffrement prend en charge un certain nombre de chiffres. Dans la pratique, cependant, seuls Blowfish et AES sont couramment utilisés par les services VPN commerciaux. J'en discute ci-dessous.

À la lumière des informations obtenues d'Edward Snowden, il semble que tant que Perfect Forward Secrecy est utilisé, OpenVPN n'a pas été compromis ou affaibli par la NSA.

Un récent audit participatif d'OpenVPN est maintenant terminé, tout comme un autre financé par Private Internet Access. Aucune vulnérabilité sérieuse affectant la confidentialité des utilisateurs n'a été découverte. Quelques vulnérabilités ont été découvertes qui rendaient les serveurs OpenVPN potentiellement ouverts à une attaque par déni de service (DoS), mais ceux-ci ont été corrigés dans OpenVPN 2.4.2.

OpenVPN est généralement considéré comme le protocole VPN le plus sécurisé disponible et est largement pris en charge dans l'industrie VPN. Je vais donc discuter du cryptage OpenVPN en détail ci-dessous.

Cryptage OpenVPN

Le cryptage OpenVPN comprend deux parties: le cryptage du canal de données et le cryptage du canal de contrôle. Le cryptage du canal de données est utilisé pour sécuriser vos données. Le cryptage du canal de contrôle sécurise la connexion entre votre ordinateur et le serveur VPN.

Toute défense n'est aussi forte que son point le plus faible, il est donc regrettable que certains fournisseurs de VPN utilisent un cryptage beaucoup plus fort sur un canal que l'autre (généralement plus fort sur le canal de contrôle).

Il n'est pas rare, par exemple, de voir un service VPN annoncé comme utilisant un chiffrement AES-256 avec cryptage de prise de contact RSA-4096 et authentification par hachage SHA-512. Cela semble très impressionnant jusqu'à ce que vous vous rendiez compte qu'il ne se réfère qu'au cryptage du canal de contrôle et non au canal de données, qui est crypté avec le simple Blowfish-128 avec l'authentification par hachage SHA1. Cela se fait uniquement pour des raisons de marketing.

Si un cryptage différent est utilisé sur les canaux de données et de contrôle, la force réelle de la connexion OpenVPN est mesurée par la suite de cryptage plus faible utilisée..

Pour une sécurité maximale, les données et le cryptage du canal de contrôle doivent être aussi solides que possible. Cependant, plus le cryptage utilisé est fort, plus la connexion sera lente, c'est pourquoi certains fournisseurs restreignent le cryptage du canal de données.

Le cryptage du canal de contrôle est également appelé cryptage TLS car TLS est la technologie utilisée pour négocier en toute sécurité la connexion entre votre ordinateur et le serveur VPN. Il s'agit de la même technologie utilisée par votre navigateur pour négocier en toute sécurité une connexion à un site Web crypté HTTPS.

  • Le chiffrement du canal de contrôle consiste en un chiffrement, un chiffrement de prise de contact et une authentification par hachage.
  • Le chiffrement du canal de données consiste en une authentification par chiffrement et par hachage.

Les fournisseurs VPN utilisent souvent le même niveau de cryptage pour les canaux de contrôle et de données. Dans nos avis et tableaux «feux de circulation», nous ne les listons séparément que si des valeurs différentes sont utilisées pour chaque canal.

Si nous déclarons qu'un fournisseur utilise un chiffrement AES-256, cela signifie qu'un chiffrement AES-256 est utilisé à la fois pour les canaux de contrôle et de données. *

(* Cela devrait être le cas, au moins. Certaines évaluations héritées ne respectent pas nos directives actuelles, mais elles devraient être supprimées à temps).

Chiffres

OpenVPN peut utiliser un certain nombre de chiffrements à clé symétrique afin de sécuriser les données sur les canaux de contrôle et de données. En pratique, les seuls utilisés par les fournisseurs de VPN commerciaux sont Blowfish, AES et (très rarement) Camellia.

Blowfish

Blowfish-128 est le chiffre par défaut utilisé par OpenVPN. Les tailles de clés peuvent en théorie aller de 32 bits à 448 bits, mais Blowfish-128 est la seule version que vous rencontrerez probablement dans la nature.

Blowfish est souvent considéré comme suffisamment sûr pour des usages occasionnels, mais présente des faiblesses. Il a été créé par le célèbre cryptographe Bruce Schneier, qui en 2007 a déclaré: "À ce stade, cependant, je suis étonné qu'il soit toujours utilisé."

À notre avis, l'utilisation de Blowfish-128 est acceptable comme deuxième ligne de défense sur le canal de données OpenVPN. Il ne doit cependant pas être considéré comme sûr lorsqu'il est utilisé sur le canal de commande.

AES

AES est devenu le chiffrement à clé symétrique «étalon-or» du secteur VPN. AES est certifié NIST et est presque universellement considéré comme très sécurisé. AES-256 est utilisé par le gouvernement américain pour protéger les données «sécurisées».

Le fait qu'il ait une taille de bloc de 128 bits plutôt que la taille de bloc de 64 bits de Blowfish signifie également qu'il peut gérer des fichiers plus volumineux (plus de 4 Go) mieux que Blowfish. De plus, l'ensemble d'instructions AES bénéficie de l'accélération matérielle intégrée sur la plupart des plates-formes.

AES est généralement disponible en tailles de clé 128 bits et 256 bits (AES 192 bits existe également). AES-128 reste sécurisé à la connaissance de tous. Compte tenu de ce que nous savons maintenant de l'étendue de l'attaque de la NSA contre les normes de chiffrement, la plupart des experts conviennent cependant que l'AES-256 offre une marge de sécurité plus élevée..

Pour s'assurer que personne ne trouve jamais ce sujet trop facile, il y a cependant un débat sur cette question. AES-128 a un calendrier clé plus fort que AES-256, ce qui conduit certains experts très éminents à faire valoir que AES-128 est en fait plus fort que AES-256.

Le consensus général, cependant, est que AES-256 est plus fort.

Camélia

Camellia est un chiffrement sécurisé moderne et est au moins aussi sûr et rapide que AES. Il est disponible dans des tailles de clé de 128, 192 et 256 bits. Merci à la certification NIST et son utilisation par le gouvernement américain, cependant, AES est presque toujours utilisé à la place de Camellia.

Mais comme je l'explique ci-dessous, il y a des raisons de ne pas faire confiance aux chiffrements certifiés NIST. Le fait que Camellia soit un chiffrement non-NIST est la principale raison de le choisir sur AES. Cette option n'est que rarement disponible, cependant.

Il convient également de noter que le camélia n'est pas aussi bien testé pour la faiblesse que l'AES.

Cryptage de la poignée de main

Afin de négocier en toute sécurité une connexion entre votre appareil et un serveur VPN, OpenVPN utilise une négociation TLS. Cela permet au client OpenVPN et au serveur VPN d'établir les clés secrètes avec lesquelles ils communiquent.

Pour protéger cette poignée de main, TLS utilise généralement le cryptosystème à clé publique RSA. Il s'agit d'un algorithme de chiffrement et de signature numérique utilisé pour identifier les certificats TLS / SSL. Cependant, il peut également utiliser un échange de clés Diffie-Hellman ou ECDH à la place.

RSA

RSA est un système de chiffrement asymétrique - une clé publique est utilisée pour chiffrer les données, mais une clé privée différente est utilisée pour les déchiffrer. C'est la base de la sécurité sur Internet depuis une vingtaine d'années.

Il est maintenant bien établi que le RSA avec une longueur de clé de 1024 bits (RSA-1024) ou moins n'est pas sécurisé et a presque certainement été piraté par le NSA. Il y a donc eu un mouvement concerté entre les sociétés Internet pour migrer du RSA-1024.

Malheureusement, nous constatons toujours que certains services VPN continuent d'utiliser RSA-1024 pour protéger les poignées de main. Ce n'est pas bien.

RSA-2048 et supérieur est toujours considéré comme sécurisé. À lui seul, RSA ne fournit pas Perfect Forward Secrecy (PFS). Cela peut cependant être mis en œuvre en incluant un échange de clés Diffie-Hellman (DH) ou à courbe elliptique Diffie-Hellman (ECDH) dans sa suite de chiffrement.

Dans ce cas, la force de la clé DH ou ECDH n'a pas d'importance car elle est utilisée uniquement pour fournir Perfect Forward Secrecy. La connexion est sécurisée à l'aide de RSA.

Parce qu'il peut être source de confusion, je noterai également que le cryptosystème RSA n'a rien à voir avec la firme de technologie américaine en disgrâce RSA Security LLC. Cette société a délibérément affaibli ses produits phares de cryptage BSAFE après avoir été corrompu de 10 millions de dollars par la NSA.

Diffie-Hellman et ECDH

Un autre cryptage de poignée de main (rival) qui est parfois utilisé par OpenVPN est l'échange de clés cryptographiques Diffie-Hellman (DH). Cela a généralement une longueur de clé de 2048 bits ou 4096 bits. Notez que rien de moins que DH-2048 doit être évité en raison de la sensibilité à l'attaque de blocage.

Le principal avantage d'une prise de contact Diffie-Hellman par rapport à RSA est qu'elle fournit nativement Perfect Forward Secrecy. Comme déjà noté, cependant, l'ajout d'un simple échange de clé DH à une prise de contact RSA permet d'atteindre une fin similaire.

Diffie-Hellman a provoqué une énorme controverse sur sa réutilisation d'un ensemble limité de nombres premiers. Cela le rend vulnérable à être craqué par un puissant adversaire, comme la NSA. Diffie-Hellman ne permet donc pas à lui seul un cryptage sécurisé de la négociation. C'est bien, cependant, lorsqu'il est utilisé dans le cadre d'une suite de chiffrement RSA.

La courbe elliptique Diffie-Hellman (ECDH) est une nouvelle forme de cryptographie qui n'est pas vulnérable à cette attaque. En effet, il utilise les propriétés d'un type particulier de courbe algébrique au lieu de grands nombres premiers pour crypter les connexions.

ECDH peut être utilisé dans le cadre d'une négociation RSA pour fournir Perfect Forward Secrecy, ou peut chiffrer en toute sécurité une négociation par lui-même (avec une signature ECDSA). Cela fournit également PFS.

La longueur de la clé ECDH commence à 384 bits. Ceci est considéré comme sécurisé, mais lorsqu'il est utilisé seul pour sécuriser une négociation TLS, le plus long sera le mieux (en termes de sécurité, de toute façon).

Authentification par hachage SHA

Ceci est également appelé authentification de données ou code d'authentification de message de hachage (HMAC).

Secure Hash Algorithm (SHA) est une fonction de hachage cryptographique utilisée (entre autres) pour authentifier les données et les connexions SSL / TLS. Cela inclut les connexions OpenVPN.

Il crée une empreinte unique d'un certificat TLS valide, qui peut être validé par n'importe quel client OpenVPN. Même le moindre changement est détectable. Si le certificat est falsifié, cela sera immédiatement détecté et la connexion refusée.

Ceci est important pour empêcher une attaque Man-in-the-middle (MitM), où un adversaire tente de détourner votre connexion OpenVPN vers l'un de ses propres serveurs au lieu de votre fournisseur VPN. Il pourrait le faire, par exemple, en piratant votre routeur.

Si un adversaire peut casser le hachage du véritable certificat TLS de votre fournisseur, il peut inverser le hachage pour créer un faux certificat. Votre logiciel Open VPN authentifierait alors la connexion comme authentique.

SHA est-il sécurisé?

Lorsqu'il est utilisé pour protéger les sites Web HTTPS, SHA-1 est cassé. Cela est connu depuis un certain temps. Les sites Web SHA-1 sont toujours disponibles, mais sont en cours de suppression. La plupart des navigateurs émettent désormais un avertissement lorsque vous essayez de vous connecter à un site Web sécurisé avec SHA-1.

Les fonctions de hachage SHA-2 et SHA-3 sont désormais recommandées et sont sécurisées. SHA-2 comprend SHA-256, SHA-384 et SHA-512. Pourtant…

OpenVPN utilise uniquement SHA pour HMAC. Je ne pense pas qu'il soit utile d'entrer dans trop de détails ici, mais l'authentification par hachage SHA fait partie de l'algorithme HMAC. Attaquer HMAC intégré avec SHA-1 est beaucoup plus difficile que d'attaquer la fonction de hachage SHA-1 elle-même.

En d'autres termes, HMAC SHA-1 tel qu'utilisé par OpenVPN est considéré comme sécurisé et il existe une preuve mathématique de cela. Bien sûr, HMAC SHA-2 et HMAC SHA-3 sont encore plus sûrs! En effet, le récent audit OpenVPN reconnaît que HMAC SHA-1 est sécurisé, mais recommande plutôt la transition vers HMAC SHA-2 ou HMAC SHA-3.

Remarques

NIST

AES, RSA, SHA-1 et SHA-2 ont tous été développés et / ou certifiés par le National Institute of Standards and Technology (NIST) des États-Unis. Il s'agit d'un organisme qui, de son propre aveu, travaille en étroite collaboration avec la NSA dans le développement de ses chiffres.

Compte tenu de ce que nous savons maintenant des efforts systématiques de la NSA pour affaiblir ou intégrer des portes dérobées dans les normes de chiffrement internationales, il y a toutes les raisons de remettre en question l'intégrité des algorithmes NIST.

Le NIST, bien sûr, réfute fermement ces allégations:

"Le NIST n'affaiblirait pas délibérément un standard cryptographique."

Il a également invité le public à participer à un certain nombre de normes de chiffrement proposées à venir, dans le but de renforcer la confiance du public..

Le New York Times, cependant, a accusé la NSA d'avoir contourné les normes de cryptage approuvées par le NIST en introduisant des portes dérobées indétectables ou en subvertissant le processus de développement public pour affaiblir les algorithmes.

Cette méfiance s'est encore renforcée lorsque RSA Security (une division d'EMC) a demandé en privé aux clients de cesser d'utiliser un algorithme de chiffrement qui contiendrait un défaut conçu par la NSA. Cet algorithme avait également été approuvé par le NIST.

De plus, Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) est une norme de cryptage conçue par le NIST. Il est connu pour être précaire depuis des années.

En 2006, l'Université de technologie d'Eindhoven aux Pays-Bas a noté qu'il était assez facile de lancer une attaque contre «un PC ordinaire». Les ingénieurs de Microsoft ont également signalé une porte dérobée présumée dans l'algorithme..

Malgré ces préoccupations, là où mène le NIST, l'industrie suit. Microsoft, Cisco, Symantec et RSA incluent tous l'algorithme dans les bibliothèques cryptographiques de leurs produits. Ceci est en grande partie dû au fait que la conformité aux normes NIST est une condition préalable à l'obtention de contrats avec le gouvernement américain.

Les normes cryptographiques certifiées NIST sont à peu près omniprésentes dans le monde entier, dans tous les domaines de l'industrie et des affaires qui reposent sur la confidentialité. Cela rend la situation plutôt effrayante.

Peut-être précisément parce que tant de choses dépendent de ces normes, les experts en cryptographie n'ont pas voulu faire face au problème.

AES-CBC contre AES-GCM

Jusqu'à récemment, le seul chiffrement AES que vous risquiez de rencontrer dans le monde VPN était AES-CBC (Cipher Block Chaining). Cela fait référence au mode de chiffrement par blocs, un sujet complexe qui ne vaut pas vraiment la peine d'être abordé ici. Bien que CBC puisse théoriquement présenter certaines vulnérabilités, le consensus général est que CBC est sécurisé. CBC est, en effet, recommandé dans le manuel OpenVPN.

OpenVPN prend désormais également en charge AES-GCM (mode Galios / Counter).

  • GCM fournit une authentification, supprimant le besoin d'une fonction de hachage HMAC SHA.
  • Il est également légèrement plus rapide que CBC car il utilise l'accélération matérielle (en se connectant à plusieurs cœurs de processeur).

AES-CBC reste le mode le plus courant en usage général, mais nous commençons maintenant à rencontrer AES-GCM "dans la nature." Compte tenu des avantages du GCM, cette tendance ne devrait que se poursuivre. D'un point de vue cryptographique, tho9ugh, AES-CBC et AES-GCM sont très sécurisés.

OpenVPN UDP contre OpenVPN TCP

OpenVPN peut s'exécuter sur TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol).

  • TCP = fiable. Chaque fois qu'un ordinateur envoie un paquet réseau à l'aide de TCP, il attend la confirmation que le paquet est arrivé avant d'envoyer le paquet suivant. Si aucune confirmation n'est reçue, il renverra le paquet. C'est ce qu'on appelle la correction d'erreurs. Il y a une «livraison garantie» de toutes les données, mais cela peut être assez lent.
  • UDP = rapide. En utilisant UDP, aucune telle correction d'erreur n'est effectuée. Les paquets sont simplement envoyés et reçus sans accusé de réception ni nouvelle tentative. Cela rend UDP beaucoup plus rapide que TCP, mais moins fiable.

Si vous avez le choix, je suggère d'utiliser le protocole UDP plus rapide, sauf si vous rencontrez des problèmes de connexion. Il s'agit de la stratégie par défaut adoptée par la plupart des fournisseurs VPN.

Vaincre la censure avec OpenVPN sur le port TCP 443

Un des grands avantages d'OpenVPN est qu'il peut être exécuté sur n'importe quel port, y compris le port TCP 443. Il s'agit du port utilisé par HTTPS, le protocole crypté qui sécurise tous les sites Web sécurisés..

Sans HTTPS, aucune forme de commerce en ligne, comme le shopping ou la banque, ne serait possible. Il est donc très rare que ce port soit bloqué.

En prime, le trafic VPN sur le port TCP 443 peut être acheminé à l'intérieur du cryptage TLS de la même manière que celui utilisé par HTTPS. Cela rend beaucoup plus difficile à repérer en utilisant des techniques avancées d'inspection approfondie des paquets. Le port TCP 443 est donc le port privilégié pour échapper aux blocs VPN.

De nombreux fournisseurs VPN offrent la possibilité de modifier le numéro de port utilisé par OpenVPN à l'aide de leur logiciel personnalisé.

Même si le vôtre ne le fait pas, de nombreux fournisseurs VPN prennent en charge OpenVPN en utilisant le port TCP 443 au niveau du serveur. Vous pouvez y accéder en modifiant simplement votre fichier de configuration OpenVPN (.ovpn). Il vaut donc la peine de demander à votre fournisseur VPN à ce sujet.

Il convient de noter que les ingénieurs réseau n'aiment pas cette tactique car TCP sur TCP est très inefficace. Quand il s'agit de vaincre la censure, cependant, cela fonctionne souvent.

SSTP utilise le port TCP 443 par défaut.

Résumés

Protocoles VPN

  • PPTP est très précaire et doit être évité. Bien que sa facilité d'installation et sa compatibilité multiplateforme soient attrayantes, L2TP / IPsec présente les mêmes avantages et est beaucoup plus sécurisé.
  • L2TP / IPsec est une bonne solution VPN pour une utilisation non critique. Cela est particulièrement vrai sur les périphériques hérités qui ne prennent pas en charge OpenVPN. Il a cependant été gravement compromis par la NSA.
  • SSTP offre la plupart des avantages d'OpenVPN, mais n'est principalement qu'un protocole Windows. Cela signifie qu'il est mieux intégré dans le système d'exploitation, mais il est mal pris en charge par les fournisseurs de VPN grâce à cette limitation. En plus de cela, sa nature exclusive et le fait qu'il a été créé par Microsoft signifient que, pour ma part, je ne lui fais pas confiance.
  • IKEv2 est un très bon protocole (sécurisé et rapide). Les utilisateurs mobiles, en particulier, peuvent même le préférer à OpenVPN en raison de sa capacité améliorée à se reconnecter lorsqu'une connexion Internet est interrompue. Pour les utilisateurs de Blackberry, c'est à peu près la seule option disponible. Utilisez des versions open source lorsque cela est possible.
  • OpenVPN est le protocole VPN recommandé dans la plupart des circonstances. Il est rapide, fiable, sécurisé et open source. Il n'a pas de réels inconvénients en soi, mais pour être vraiment sûr, il est important qu'il soit bien mis en œuvre. Cela signifie un cryptage fort avec Perfect Forward Secrecy.

Cryptage OpenVPN

En ce qui concerne le cryptage, le diable est dans les détails. Il est courant de voir des fournisseurs de VPN dire qu'ils utilisent le cryptage AES OpenVPN «ultra-fort 256 bits», mais cela ne nous dit pas grand-chose en réalité. AES-256 est en effet un chiffrement fort, mais si d'autres aspects de la suite de chiffrement utilisée sont faibles, vos données ne seront pas sécurisées.

  • Chiffrer - cela protège vos données réelles. AES-256 est désormais la norme de l'industrie et est recommandé.
  • Poignée de main - cela sécurise votre connexion au serveur VPN. RSA-2048 + ou ECDH-384 + sont sécurisés. Il est important de noter que les poignées de main RSA-1024 et Diffie-Hellman sont ne pas.
  • Authentification par hachage - crée une empreinte digitale unique, qui est utilisée pour valider les données et les certificats TLS (c'est-à-dire pour vérifier que le serveur auquel vous vous connectez est bien celui auquel vous pensez vous connecter). HMAC SHA-1 est tout à fait correct, mais HMAC SHA-2 (SHA-256, SHA-384 et SHA-512) et HMAC SHA-3 sont encore plus sûrs! Notez que l'authentification par hachage n'est pas requise si le chiffrement AES-GCM est utilisé.
  • Perfect Forward Secrecy (PFS) - cela garantit que de nouvelles clés de chiffrement sont créées pour chaque session. OpenVPN ne doit pas être considéré comme sécurisé à moins que PFS ne soit implémenté. Cela peut être fait en incluant un échange de clés Diffie-Hellman ou ECDH dans une prise de contact RSA, ou une prise de contact DH ou ECDH.
  • Le cryptage n'est aussi sécurisé que son point faible. Cela signifie que les paramètres de cryptage doivent être solides sur les canaux de données et de contrôle.
  • L'utilisation de longueurs de bits plus élevées pour les chiffres et les clés est presque toujours plus sûre, mais cela a un coût en vitesse.

OpenVPN négociera à volonté les chiffrements entre le client et le serveur. À moins que des paramètres très spécifiques ne soient définis, OpenVPN peut par défaut être des paramètres faibles. Au minimum, OpenVPN utilisera par défaut le chiffrement Blowfish-128, la prise de contact RSA-1024 sans PFS et l'authentification par hachage HMAC SHA-1.

Conclusion

Espérons que vous comprenez maintenant mieux ce qui fait une connexion VPN sécurisée. Cependant, lorsqu'il s'agit de configurer correctement un VPN, le cryptage n'est que la moitié de l'histoire. L'autre moitié s'assure qu'aucun trafic n'entre ou ne quitte votre ordinateur en dehors de la connexion VPN.

Pour en savoir plus à ce sujet, veuillez consulter notre Guide complet des fuites IP.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me