GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que le chiffrement à clé symétrique (comment fonctionnent les VPN, partie 1)

Cet article de la série « Comment fonctionnent les VPN » décrit le fonctionnement du chiffrement à clé symétrique. Si vous êtes déjà perdu, pas de panique ! Cette série d'articles explique les concepts et les méthodes derrière les VPN sans nécessiter une plongée approfondie dans les mathématiques qui les alimentent.

Si vous êtes entièrement nouveau dans le concept des VPN, consultez cette introduction. Si vous connaissez déjà un peu le fonctionnement des VPN et que vous souhaitez en savoir un peu plus, cette série est pour vous. Chaque article aborde un aspect de la façon dont un VPN aide à sécuriser les données en racontant une histoire qui sert de métaphore aux mécanismes logiques impliqués. Ces histoires impliquent Adam et Burt essayant de garder un secret et une troisième personne, Cesar, essayant de découvrir leur secret de manière néfaste. Étant donné que les VPN n'ont pas d'équivalent parfait dans le monde physique, certains éléments peuvent repousser les limites de la crédibilité (par exemple, Cesar a accès à un rayon duplicateur). Rappelez-vous, ce n'est qu'une histoire…

Chaque article comporte également des sections extensibles (indiquées par l'icône d'engrenage), qui contiennent une explication un peu plus approfondie qui est un peu plus technique mais évite toujours de se perdre trop dans les mathématiques. Ces sections lient un peu plus les événements de l'histoire aux composants ou aux étapes de chiffrement ou d'authentification, mais ne sont pas nécessaires pour acquérir une compréhension de base du sujet.

Cryptage à clé symétrique de base

Supposons qu'Adam et Burt écrivent une bande dessinée. Comme ils vivent dans des villes voisines et ne peuvent pas se rencontrer souvent en personne, ils s'envoient des brouillons de leur livre via le bureau de poste de la région métropolitaine. Ils ne veulent pas que quiconque jette un coup d'œil à leur livre avant qu'il ne soit terminé, ils utilisent donc un coffre-fort (cryptage) et font une copie de la clé (clé de cryptage) pour chacun d'eux. Désormais, lorsqu'Adam termine un script, il peut l'envoyer à Burt dans ce coffre-fort et être sûr que seul Burt pourra le déverrouiller lorsqu'il le recevra par courrier.


En quoi un lockbox ressemble au chiffrement à clé symétrique de base.

Ce mécanisme est analogue à l'une des premières normes de chiffrement largement utilisées pour les données informatiques, DES (Digital Encryption Standard). DES est un algorithme de chiffrement à clé symétrique, ce qui signifie que la clé utilisée pour chiffrer les données est également utilisée pour les déchiffrer. À un niveau simplifié, un algorithme de chiffrement à clé symétrique est une méthode d'application d'une série d'étapes mathématiques prédéfinies, et la clé est une sorte de variable pivot (on pourrait dire, une variable "clé") qui se branche sur cette méthode pour produire sortie unique - les données cryptées. Ce processus peut également être inversé en appliquant la même méthode en sens inverse, toujours avec la même clé.

La menace

Maintenant, Cesar entre en scène. Cesar est obsédé par la bande dessinée d'Adam et Burt et a hâte d'en savoir plus. Pour les besoins de cette histoire, Cesar a un rayon duplicateur. Il est également un maître du déguisement, il utilise donc ses talents pour se faire passer pour un postier. Son but ultime est de trouver un moyen d'intercepter la boîte qu'Adam et Burt envoient dans les deux sens pour jeter un coup d'œil à l'intérieur. Bientôt, Cesar s'insinue suffisamment profondément dans le bureau de poste de la région métropolitaine pour accéder à la salle de tri du courrier central et il repère la boîte d'Adam à Burt. Cesar ne veut pas éveiller les soupçons d'Adam ou de Burt à cause d'un retard de livraison, il utilise donc son rayon duplicateur pour faire une copie de la boîte. Malheureusement pour Cesar, cette boîte est également verrouillée (cryptée), comme l'original. Mais, parmi ses talents, il est compagnon serrurier, il emmène donc ce double de la boîte dans sa tanière pour tenter de contourner la serrure.


Attaque de l'homme du milieu.

Le trafic réseau est envoyé en unités discrètes appelées paquets. Ainsi, que vous envoyiez quelque chose de petit (un court e-mail) ou quelque chose de gros (une vidéo), les données seront segmentées en paquets faciles à gérer avant d'être transmises. C'est l'équivalent d'envoyer un puzzle à quelqu'un une pièce à la fois. Une fois arrivé à destination, il sera réassemblé.

Ce processus d'examen du trafic réseau en transit est appelé « inspection des paquets » (parfois plus officieusement appelé « reniflage de paquets » ou « reniflement du fil »). L'inspection des paquets permet aux administrateurs réseau d'identifier et de bloquer une grande partie du trafic hostile sur leur réseau. Cela peut également être très utile pour aider à résoudre les problèmes de connectivité au sein d'un réseau.

Il peut également être utilisé à des fins moins constructives, telles que l'écoute clandestine. Dans ces circonstances, ce type d'utilisation est souvent appelé une attaque Man-in-the-Middle (MitM). Pour quelqu'un comme Cesar, qui parvient à s'insérer dans le chemin de transit emprunté par ces messages, cette attaque permet à un intrus de copier tout le trafic qui passe (sans le retarder et potentiellement alerter l'une ou l'autre des extrémités que quelque chose ne va pas) afin de l'analyser plus tard. Le trafic qui n'est pas crypté peut être facilement réassemblé, permettant à toute personne disposant des outils appropriés de lire l'e-mail ou de voir la page Web demandée. Les données chiffrées nécessiteraient de connaître ou de découvrir la clé pour déchiffrer chaque paquet avant de le réassembler.

Crack Force Brute

Disons donc que Cesar passe du temps à travailler sur ce verrou et parvient finalement à crocheter le verrou. Après un peu de pratique, il apprend à réduire considérablement ce temps. Ensuite, il intercepte le prochain colis que Burt renvoie à Adam, le copie et renvoie l'original à Adam. Maintenant, Cesar peut crocheter la serrure à sa guise, et puisqu'Adam a reçu le colis sans délai, lui et Burt n'ont aucune idée que quelque chose ne va pas. Alors imaginez leur surprise et leur consternation lorsque Cesar publie tous les détails du spoil de leur nouvelle bande dessinée sur son blog (appelé, naturellement, "The Cesarian Section").

Adam et Burt réalisent qu'ils devront développer un meilleur moyen d'échanger des messages en toute sécurité. S'ils devaient recléer la serrure, il ne faudrait probablement pas longtemps à Cesar pour apprendre à crocheter cette nouvelle serrure. Ils décident d'investir dans une serrure avec une clé beaucoup plus compliquée (un algorithme de cryptage à clé symétrique plus puissant). Mais combien de temps faudra-t-il à Cesar pour casser ce verrou ?


Normes modernes de chiffrement symétrique.

DES n'est plus considéré comme un moyen de chiffrement fort, mis en œuvre seul. En 2008, SciEngines GmbH a annoncé qu'elle était capable de casser le DES en moins d'une journée.

Une variante appelée Triple Digital Encryption Standard (en abrégé 3DES, généralement prononcé « triple-dez ») a, dans de nombreux cas, supplanté DES. Comme son nom l'indique, il fonctionne à l'aide de l'algorithme DES mais s'exécute trois fois. La clé est trois fois plus longue et, dans son implémentation la plus robuste, elle est composée de trois clés DES différentes, une pour chaque itération de l'algorithme DES. Il peut être utile d'imaginer que cet algorithme fonctionne comme s'il s'agissait d'un puzzle complexe. La première clé pourrait être la combinaison de torsions et de machinations (comme avec un Rubik's Cube) nécessaires pour révéler un puzzle de style tuile coulissante, qui, une fois résolu (la deuxième clé), exposerait un trou de serrure pour votre clé (la troisième clé) .

Un algorithme de cryptage à clé symétrique encore plus puissant est AES (Advanced Encryption Standard, bien que vous puissiez aussi parfois le voir désigné par son nom d'origine "Rijndael", prononcé "rain-doll"). La force de ces types d'algorithmes est mesurée par les longueurs effectives de leurs clés (en bits). 3DES utilise des clés de 168 bits (dans son implémentation la plus puissante), bien qu'il ait été démontré que certaines attaques réduisent cette force équivalente à une clé de 80 bits. AES peut utiliser des clés de 128, 192 et 256 bits. À mesure que la longueur de chacune de ces clés augmente, sa force et ses exigences de calcul associées augmentent également.

L'évolution du chiffrement

Naturellement, Adam et Burt craignent que la maintenance de cette solution de verrouillage, même si elle est à la pointe de la technologie ligne, peut ne pas être aussi sécurisée qu'ils le souhaiteraient. Un vaurien comme Cesar dispose de plusieurs moyens pour tenter de déjouer ce système. Il peut tenter d'obtenir illicitement une copie de la clé d'Adam ou de Burt, ou des moyens qu'ils utilisent pour échanger la clé en premier lieu (surtout si cet échange se fait sur un support non sécurisé). Enfin, il peut, après entraînement ou avancée technologique, découvrir un moyen de « deviner » plus efficacement la clé. S'ils veulent garder une longueur d'avance sur Cesar, ils devront trouver de nouvelles façons de lui rendre beaucoup plus difficile le contournement ou le passage.

Plus d'informations dans la série sur le fonctionnement des VPN :

Partie 2 :Cryptographie à clé publique
Partie 3 :Échange de clé partagée
En savoir plus sur nos services d'hébergement VPS et le prix de l'hébergement VPS.


Linux
  1. Qu'est-ce qu'un Makefile et comment ça marche ?

  2. Qu'est-ce que NGINX ? Comment ça marche?

  3. Ssh – Comment Tcp-keepalive fonctionne-t-il dans Ssh ?

  4. Qu'est-ce que la cryptographie à clé publique (comment fonctionnent les VPN, partie 2)

  5. Qu'est-ce que l'échange de clés partagées (comment fonctionnent les VPN, partie 3)

Qu'est-ce que le DNS inversé et comment ça marche ?

Qu'est-ce que la VDI et comment ça marche ?

Qu'est-ce que Docker ? Comment ça marche?

Qu'est-ce que la commande source sous Linux et comment ça marche ?

Qu'est-ce que la commande Grep sous Linux ? Pourquoi est-il utilisé et comment fonctionne-t-il ?

Comment fonctionne un équilibreur de charge ? Qu'est-ce que l'équilibrage de charge ?