Sécurité des communications d'Internet I : Confidentialité

Leturia Azkarate, Igor

Informatikaria eta ikertzailea

Elhuyar Hizkuntza eta Teknologia

Aujourd'hui, les informations sur Internet sont très importantes : e-mails privés, documents confidentiels, mots de passe de compte de services en ligne, données de carte de crédit... Mais toutes ces informations sont sécurisées depuis Internet ?
interneteko-komunikazioen-segurtasuna-i-konfidentz
Ed. © Sergey Nivens/350RF

Tant au niveau de l'e-mail, en naviguant sur le web, que sur Internet, nous envoyons des informations; du point de départ cette information pour arriver à la destination passe par de nombreux points: il sort de notre ordinateur ou autre dispositif numérique, passe par un routeur (routeur de réseau de la société, wiko de maison ou de bar...), puis arrive au fournisseur d'Internet et d'où il passera encore beaucoup d'autres nœuds à destination. Celui qui exerce le contrôle de l'un de ces points intermédiaires, que ce soit l'informaticien de l'entreprise, le propriétaire du bar ou la police qui est en contact avec le fournisseur d'accès Internet --ou, dans le cas de la wifi, même ceux qui ont un ordinateur avec Wi-Fi, peut facilement accéder à l'information.

Une grande partie des communications du réseau (la plupart de la navigation sur le web, de nombreuses expéditions et réceptions de courrier) sont ouvertes et accessibles à toute personne. Mais Internet a des mécanismes pour transporter des informations sensibles comme les mots de passe, les données de carte de crédit ou les e-mails secrets de manière sécurisée et confidentielle. Pour cela, il utilise la cryptographie, c'est-à-dire en cryptant (en codant ou en codant) les messages deviennent incompréhensibles pour toute personne autre que le destinataire. Plus précisément, un type particulier de cryptographie est utilisé sur Internet : cryptographie à clé publique ou cryptographie asymétrique.

Problèmes de cryptographie classique sur internet

Les systèmes de cryptage de messages ont été largement utilisés tout au long de l'histoire, notamment pour des communications importantes entre rois, généraux et autres autorités, mais aussi pour des messages secrets d'amour entre amoureux. Les méthodes initialement simples sont devenues de plus en plus complexes à mesure que la technologie le permet et que des techniques de rupture des systèmes antérieurs ont été découvertes. Parmi les méthodes de cryptage les plus connues et les plus utilisées de l'histoire, on peut citer le chiffre de César, le chiffre de Vigène et les machines à rotor comme Lorenz ou Enigma.

Fondamentalement, tous ces systèmes de cryptage sont basés sur le même principe: le message est transformé par une fonction, en utilisant une clé, et le récepteur applique ensuite la fonction inverse pour obtenir le message original avec la même clé. Dans l'exemple le plus simple, la fonction peut être la soustraction et la clé le numéro 1. De cette façon, le message "IBM" deviendrait "HAL" si nous appliquons à chaque lettre la fonction "-1" que nous remplaçons par la lettre précédente, et le destinataire, connaissant la clé (numéro 1), en appliquant la fonction "+1" au message chiffré, obtiendrait encore "IBM". On l'appelle cryptographie symétrique parce qu'il utilise la même clé pour crypter et décrypter.

Ces systèmes sont devenus de plus en plus fragiles en compliquant la fonction de cryptage à l'aide de la technologie de chaque époque. Aujourd'hui, la cryptographie se fait à travers des ordinateurs qui permettent à ces fonctions d'être très complexes et que les clés soient longues pour développer des systèmes totalement inébranlables. Ainsi, le cryptage AES (Advanced Encryption Standard) utilisé par le gouvernement américain (parmi beaucoup d'autres) est un système de cryptographie symétrique.

Mais ce type de système a un problème pour naviguer sur Internet, acheter en ligne ou envoyer des emails privés: les deux parties doivent connaître la clé et personne d'autre. Par conséquent, vous ne pouvez pas toujours utiliser la même clé, vous avez besoin d'une clé différente pour chaque destinataire et expéditeur, et pour que personne ne sache cette clé, vous ne pouvez pas l'envoyer sur Internet, comme indiqué ci-dessus, car il peut être détecté. Ainsi, dans certains cas, comme ceux des gouvernements, pouvez-vous envoyer la clé par messager à chaque organisation que vous voulez communiquer, mais pour les communications sur Internet? Pour chaque magasin et client, pour chaque site web et visiteur, pour chaque expéditeur et destinataire de l'e-mail, il est impossible en pratique de partager au préalable une clé ou de l'envoyer par courrier : ce serait très cher et non sûr (les messagers peuvent être corrompus ou nous pouvons voler la clé sur le chemin).

Cryptographie avec clé publique

Si le commerce électronique et l'envoi d'informations compromises sur Internet ont évolué, c'est parce que dans les années 1970 a été inventé un nouveau système de cryptage totalement différent et rompant aux systèmes existants, totalement opposé à l'intuition et en même temps très sûr: cryptographie à clé publique ou cryptographie asymétrique.

Dans la cryptographie par clé publique, on utilise une fonction de cryptage et une clé, mais cette fonction n'est pas inverse (appelées fonctions unidirectionnelles), donc même si on sait la clé on ne peut pas déchiffrer le message, mais on a besoin d'une autre fonction de décryptage et d'une autre clé (c'est pourquoi on appelle cryptographie asymétrique). Donc, si quelqu'un veut permettre à d'autres de communiquer en privé avec lui (par exemple, le vendeur aux acheteurs afin qu'ils puissent envoyer les données de la carte de crédit), il rend publique la clé de cryptage. N'importe qui peut utiliser cette clé publique pour vous envoyer un message chiffré, mais même en connaissant cette clé publique partout dans le monde, le message ne peut le déchiffrer, car lui seul connaît la clé de déchiffrement (appelée clé privée).

Sur les sites de e-commerce, les services de messagerie web et de nombreux autres endroits, la version sécurisée de HTTP est habituelle: HTTPS. Ed. © Vlad Kochelaevskiy/350RF

Pour que ce système fonctionne, il faut qu'il y ait une fonction selon une clé qui n'est pas inversée, que l'investissement soit obtenu par une autre fonction et une autre clé et qu'il ne puisse pas être calculé en connaissant la deuxième clé. L'existence de ces fonctions et clés est totalement opposée à l'intuition, mais elles existent grâce à l'arithmétique modulaire, les nombres premiers et la factorisation. Des chercheurs du prestigieux MIT (Massachusetts Institute of Technology) ont trouvé les premiers en 1977.

Il a été noté que l'une des conditions de fonctionnement du système est que la clé de déchiffrement ne peut pas être basée sur la clé de chiffrement. Cependant, bien entendu, les deux sont liées et la seconde peut être calculée à partir de la première : c'est simplement une factorisation, c'est-à-dire l'extraction des diviseurs de ce nombre. La question est que pour être en mesure de le faire il n'y a pas de formules rapides, vous ne pouvez faire en testant tous les numéros. Par conséquent, si ces chiffres sont relativement grands (et que des centaines de chiffres sont utilisés), la factorisation devient un problème impossible avec la technologie actuelle, et le système de cryptage est pratiquement inviolable. La méthode, appelée RSA, en hommage aux inventeurs, a ensuite été inventée par le personnel de Clifford Cocks GCHQ (Government Communications Headquerosarters, ou le British Intelligence Service) en 1973, c'est-à-dire quatre ans plus tôt, mais toutes les informations de cette organisation étaient secrètes et n'étaient communiquées qu'en 1997.

Après le RSA, d'autres systèmes de cryptographie à clé publique comme DSA ou ElGamal ont été inventés.

Confidentialité sur Internet

Les communications à Internet sont organisées selon le modèle OSI, comme nous vous l'avons dit dans le numéro précédent. Et pour garantir la confidentialité de ces communications, un protocole TLS (Transport Layer Security) a été défini pour le niveau de transport (anciennement connu sous le nom de SSL ou Secure Sockets Layer). Dans ce cas, l'expéditeur et le destinataire utilisent la cryptographie par clé publique (RSA normalement, mais peut être une autre si les deux ont mis en œuvre) pour consensuer une autre clé (aléatoire) et ensuite la communication réelle est effectuée avec cette clé et avec une méthode de cryptographie symétrique (AES par exemple), car computationnellement n'est pas aussi coûteux et de sécurité équivalente.

Pour chaque protocole de niveau d'application Internet (HTTP pour le web, SMTP pour courrier et IMAP, FTP pour télécharger des fichiers, Telnet pour ouvrir des sessions sur des ordinateurs distants, etc.) ont été créés leurs versions sécurisées (HTTPS, SMTPS, IMAPS, SFTP et SSH respectivement). Certaines d'entre elles, comme HTTPS, SMTPS ou IMAPS, se limitent à ajouter TLS au protocole original au niveau de transport et à affecter un autre port au nouveau protocole (maintenant, via le nouveau protocole STARTTLS, les applications peuvent utiliser le même port pour des connexions sécurisées dans les cas où les deux parties l'ont implémenté). D'autres, comme SFTP et SSH, ont la même fonction mais sont des protocoles différents qui utilisent le cryptage par clé publique. Lorsque ces protocoles sont utilisés, nous pouvons garantir la confidentialité de nos communications. Et comment savoir si nous utilisons ces protocoles ?

Lorsque nous naviguons sur le web, si nous voyons un cadenas dans l'adresse et au début du même "https://", cela signifie que nous utilisons le protocole HTTPS et donc la communication est sûre. Lorsque vous payez sur des sites de e-commerce, il est généralement utilisé sur des services tels que le web mail et sur de nombreux autres sites.

Dans le cas des programmes de messagerie, nous devrons vérifier dans les paramètres de notre compte quels protocoles vous approuvez pour envoyer et recevoir du courrier. Quoi qu'il en soit, même si le programme de messagerie utilise les protocoles SMTPS et IMAPS, cela signifie que personne ne pourra lire la communication entre nous et notre fournisseur de messagerie, mais que dans les phases postérieures à l'envoi personne d'autre ne lira. Si nous voulons éviter cela, nous pouvons intégrer dans notre programme de messagerie le programme PGP (Pretty Good Privacy) (créé par Phil Zimmermann en 1991 et devenu très connu et utilisé) ou sa version libre GPG (GNU Privacy Guard), qui cryptent l'information en utilisant la clé publique du destinataire final et donc ne pourra la lire que.

Pour ouvrir des sessions ou télécharger des fichiers sur des ordinateurs distants, nous devons nous assurer que les protocoles SSH ou SFTP sont utilisés si nous voulons garder la confidentialité. Dans d'autres programmes (VNC, VPN ou réseaux privés virtuels, etc.) Nous devons vérifier si vous utilisez des protocoles de cryptage ou des systèmes de cryptage. Si nous prenons en compte ces questions, nos informations privées resteront ainsi même sur Internet.

Si vous êtes intéressé par la sécurité, la confidentialité et la cryptographie, vous trouverez plus d'informations dans l'intéressant livre de codes de Simon Singh que la Fondation Elhuyar a édité en basque.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila