Le chiffrement : quoi, pourquoi, comment ?
Résumé
Le chiffrement est un procédé de cryptographie grâce auquel on souhaite rendre la compréhension d’un document impossible à toute personne qui n’a pas la clé. Ce principe remonte à des millénaires avant notre ère. Aujourd’hui implémenté sur nos ordinateurs, il devrait être utilisé par tous au quotidien, pour répondre (au moins partiellement) à plusieurs problèmes : stockage et transport de fichiers à caractère sensible sur des supports externes, atteinte à notre vie privée en ligne, surveillance de masse… Il existe des outils open-source et gratuits pour cela.
Le chiffrement, kesako ?
D’après Wikipédia :
Le chiffrement est un procédé de cryptographie grâce auquel on souhaite rendre la compréhension d’un document impossible à toute personne qui n’a pas la clé de (dé)chiffrement. Ce principe est généralement lié au principe d’accès conditionnel.
La définition est assez explicite, et ne devrait pas être étrangère à grand monde. Il semble cependant important de la préciser. Par abus de langage, on peut utiliser/mélanger plusieurs termes. C’est pourquoi il convient de définir les principaux :
- La cryptologie est la « science du secret ». Elle englobe la cryptographie - l’écriture secrète - et la cryptanalyse – l’analyse de cette dernière.
- La cryptographie est une des disciplines de la cryptologie s’attachant à protéger des messages (assurant confidentialité, authenticité et intégrité).
- Chiffrer : action de procéder à un chiffrement.
- Déchiffrer : consiste à retrouver le contenu original (aussi appelé clair) à partir de données préalablement chiffrées, connaissant le procédé et la “clé” utilisés pour le chiffrement.
- Décrypter : consiste à retrouver le contenu original à partir de données chiffrées, sans posséder la clé de (dé)chiffrement.
Attention : on entend/lit parfois des termes qui soit n’existent pas, soit n’ont aucun rapport avec le sujet. Par exemple :
- Crypter / Cryptage : la terminologie de cryptage reviendrait à chiffrer un fichier sans en connaître la clé et donc sans pouvoir le déchiffrer ensuite. Le terme n’est par ailleurs pas reconnu par le dictionnaire de l’Académie française.
- Coder / Encoder / Décoder : Coder / Encoder signifie “Constituer (un message, un énoncé) selon les règles d’un système d’expression”. Procédé par nature facilement inversible, donc aucune vocation à assurer la confidentialité, ce n’est donc pas du chiffrement.
- Chiffrage : évaluer le coût de quelque chose. Donc rien à voir avec le chiffrement.
- « encrypter » et ses dérivés : anglicismes, n’existent pas.
Pour finir, il faut globalement distinguer deux grands types de chiffrement :
- Le chiffrement symétrique : la clé de déchiffrement est aussi la clé de chiffrement.
- Le chiffrement asymétrique : la clé n’est plus unique, on parle parfois de paire de clés, constituée d’une clé dite publique, qui permet de chiffrer des données, et une clé secrète, qui permet de déchiffrer. La clé publique ne permet pas de déchiffrer.
Un peu d’histoire.
Le chiffrement ne date pas d’hier. Il faut remonter à la civilisation babylonienne, environ 3 000 ans avant notre ère, pour en trouver les premières traces.
L’histoire du chiffrement retrace une épopée passionnante dans laquelle cryptographes (« crypteurs ») et cryptanalystes (« décrypteurs ») se livrent une bataille acharnée, éternel recommencement de développement d’un algorithme par les uns, de décodage par les autres, de développement d’un nouvel algorithme plus puissant, etc.
On observe, dans un premier temps, l’apparition de méthodes de chiffrement par substitution simple. Il s’agit de substituer les lettres de l’alphabet par d’autres.
Par la suite, d’autre méthodes de chiffrement se sont développées, passant finalement de l’humain aux machines mécaniques, pour en arriver aujourd’hui aux algorithmes de chiffrements de plus en plus avancés, utilisés par les ordinateurs.
Revenons en à aujourd’hui : les algorithmes couramment utilisés sont RSA (chiffrement asymétrique) et AES (chiffrement symétrique). Ils sont, encore à ce jour, considérés comme sûrs. Il est cependant recommandé d’utiliser les versions les plus “solides” de ceux-ci, c’est à dire AES-256 et RSA-4096 (désignant la taille des clés, en bits).
Pourquoi avoir recours au chiffrement ?
Selon les besoins d’une entité ou d’un individu, le chiffrement peut être vital d’un point de vue stratégique, ou tout simplement souhaitable. Nous étudierons ici l’aspect souhaitable.
Ou, pour être tout à fait clair : pourquoi vous, moi, n’importe qui, en tant qu’individu “lambda”, devrait intégrer le chiffrement dans sa vie numérique.
Il y a deux grandes raisons majeures : protéger des fichiers/données auxquelles vous n’aimeriez pas que n’importe qui accède sur un support de stockage, et l’atteinte à la vie privée :
- Du fait de la marchandisation des données par énormément d’entreprises du numérique. Eh oui,
si c’est gratuit, c’est vous le produitsi vous êtes le produit, ce n’est pas gratuit. - Du fait de la surveillance de masse (voir aussi PRISM), par des gouvernements (surtout le gouvernement américain, et pas que pour ses citoyens !).
Bien entendu, le chiffrement n’est pas la solution miracle pour lutter contre les atteintes à notre vie privée. C’est un outil, qui peut nous rendre service dans cette situation. D’autres articles seront dédiés aux questions relatives à la vie privée !
Pour que cela soit plus parlant, je vais partir de deux exemples.
J’imagine que vous possédez une clé usb, et il est fort probable que vous emmeniez celle-ci un peu partout avec vous. Maintenant, admettons un instant qu’il y a des fichiers sensibles sur votre clé usb (ce qui tend à être le cas : données professionnelles comme personnelles…) : des mots de passe, des relevés bancaires, des scans de vos documents d’identié, bref, des fichiers que vous ne voudriez pas sous la main de n’importe qui. Eh bien, si vous laissez tomber cette fameuse clé usb dans la rue, ou si vous l’oubliez quelque part, cela est bien dommage pour vous.
J’imagine également que vous avez un compte mail, chez, à tout hasard, Google (Gmail). Et si je vous disiez que Google peut lire vos mails ? Mieux, que Google LIT vos mails ? Alors, non, il n’y a pas un humain derrière un ordinateur qui lit vos mails. Mais un bot, qui analyse globalement le mail, pour diverses raisons, plus ou moins légitimes (détection de spam, malware…). Mais pas seulement. Ils sont aussi, à priori, utilisés à des fins commerciales. Et Google ne refuse pas aux organisations gouvernementales de leur fournir vos données.
Face à ces deux problèmes, le chiffrement est en partie une solution.
Autre remarque : pensez-vous que votre mot de passe de session empêche d’accéder aux fichiers sur le disque dur de votre ordinateur ? La réponse est NON.
Ce mot de passe de session permet de limiter l’accès au système, mais pas aux fichiers. Si une personne obtient tous les privilèges sur votre machine (ce qui est le cas avec un accès physique à celle-ci, en démarrant un système d’exploitation “live” sur une clé usb par exemple, ou en retirant le disque dur pour le brancher à une autre machine), elle aura l’accès à l’ensemble des fichiers.
Donc, particulièrement si vous avez un ordinateur portable et que vous le transportez partout avec vous, ici aussi le recours au chiffrement est souhaitable, pour plusieurs raisons :
- De manière évidente, pour protéger les fichiers à caractère sensible qui sont sur votre disque dur. Exemple ici.
- Car il y a des traces sur votre disque dur de tout plein de chose : des mots de passe en clair (si vous enregistrez vos mots de passe dans votre navigateur, sans mot de passe maître), un historique des fichiers consultés, une partie de ceux-ci (par exemple une prévisualisation d’une image), votre historique de navigation, etc.
- Car votre système peut écrire des données de la mémoire vive (RAM) sur votre disque dur dans certaines situation (hibernation, saturation de la mémoire notamment), pour Windows comme les distributions linux. Des données très sensibles peuvent être contenues dans la RAM, comme des clés de déchiffrement. Cela peut donc compromettre le chiffrement d’un support externe.
Ainsi, si par exemple vous oubliez votre ordinateur dans un lieu public, personne n’aura accès aux données sur votre disque dur.
Il est à noté que cela protège les données sur votre disque dur uniquement dans le cas où l’ordinateur est éteint, le mot de passe de déchiffrement étant demandé au démarrage de celui-ci. Autrement, aucun changement n’est notable par rapport à une utilisation habituelle. Il faut donc également avoir un mot de passe de session solide et éteindre son ordinateur quand l’on ne l’utilise pas (plutôt que de le mettre en veille) !
Plus de détails dans la prochaine partie !
Comment avoir recours au chiffrement ?
Voici une liste des outils pour pallier les deux problèmes cités précédemment, mais aussi dans d’autres cas.
- VeraCrypt : programme multi-plateforme et open-source de chiffrement à la volée. Son fonctionnement est le suivant : vous créez un fichier de taille fixe, un volume virtuel, dont l’accès est restreint par un mot de passe. Vous pouvez ensuite le “monter” : vous verrez alors apparaître un support de stockage dans votre gestionnaire de fichier. En gros, pour en revenir à l’exemple de la clé usb, c’est comme s’il y avait une “clé usb virtuelle” dans la vraie clé usb, que vous ne pourriez utiliser qu’en entrant le mot de passe que vous avez défini. Vos fichiers sont alors en sûreté, si le mot de passe est solide ! VeraCrypt permet également de chiffrer entièrement des volumes : en branchant votre clé/disque, vous devrez le monter depuis VeraCrypt pour l’utiliser. VeraCrypt vous permet également de chiffrer le disque où est installé votre système d’exploitation.
- Cryptomator : programme multi-plateforme permettant de créer un “coffre”, où chaque fichier est chiffré individuellement. C’est une option qui peut s’avérer plus pratique qu’un volume fixe (ce qui est le cas avec VeraCrypt). Le cas d’usage typique est de chiffrer ses fichiers avant de les synchroniser sur un cloud, pour empêcher leur exploitation par l’hébergeur.
- LUKS : outil intégré à de nombreuses distributions de Linux, qui permet de chiffrer des volumes, y compris le disque sur lequel le système d’exploitation est installé.
- GNU Privacy Guard (gpg) : programme open-source qui implémente un chiffrement asymétrique, mais aussi symétrique. Il permet notamment de générer des pairs de clés (ex : RSA).
- ProtonMail : service de mail bien plus respectueux de la vie privée, qui stocke vos données avec un chiffrement de bout en bout, ce qui signifie que l’entreprise ne peut pas lire vos mails. Propose un plan gratuit.
Mise à jour (novembre 2024) : Proton propose des réduction pour les étudiants depuis peu. - Signal : application de messagerie instantannée issue d’un organisme a but non lucratif, qui propose un chiffrement de bout en bout par défaut, et de manière transparente. Bien plus préférable à WhatsApp, qui pour le coup appartient à Facebook, et qui récolte des métadonnées (par exemple à qui vous avez parlé, quand, etc, et en principe ils n’ont pas accès aux messages qui sont également chiffrés de bout en bout).
Sources
- Chiffrement, Wikipedia
- Cryptologie, Wikipedia
- Cryptographie, Wikipedia
- Chiffrer.info - Parce que les mots sont importants
- Histoire du chiffrement et de ses méthodes, Thawte Inc [PDF]
Mot de fin
J’espère que ce premier article vous a plu. J’ai du tronquer grandement certaines parties, l’article étant déjà assez dense dans son ensemble. J’ai cependant inséré des liens hypertexte pour vous rediriger vers des contenus supplémentaires.
Je me suis également rendu compte du travail titanesque que représente la rédaction d’un tel article : au moins 3h de travail. Cela ne me démotive en rien, mais cela me fait relativiser.
Celui-ci n’est pas parfait, loin de là, je pense que de nombreuses corrections seront apportées. N’hésitez pas à donner votre avis (constructif, de préférence !), et me signaler toute faute ou manquement. Bref, je suis ouvert à la critique ! :)