Chiffrement : notre antisèche pour l'expliquer à vos parents

Grâce à Axelle, Bernard et François 89
image dediée
Crédits : Vertigo3d/iStock
Sécurité

Cette année, le chiffrement a pris une place importante dans l’actualité. Et cela va continuer avec la période électorale qui nous attend. Nous avons donc décidé de faire le point sur les concepts de la cryptologie, qui semblent parfois tenir du mystère pour les internautes comme pour nos élus.

Ces dernières années, la question du chiffrement est largement revenue sur le devant de la scène. Il faut dire que suite aux révélations d’Edward Snowden, nombreux sont ceux qui ont commencé à prendre sérieusement conscience des problématiques concernant la sécurisation de leurs données et de leurs échanges.

Pourtant, ces sujets n’existent pas que par rapport à la NSA. La surveillance, si elle s’exerce au niveau des états, peut aussi être plus quotidienne. Ainsi, elle nous touche le plus souvent dans un cadre professionnel, à travers la curiosité d'un concurrent par exemple, ou même personnel (vous n’avez jamais eu un conjoint un peu trop jaloux ?).

Mais si 2016 nous a appris une chose, c’est que des sujets complexes et techniques comme le chiffrement peuvent souvent être l’objet de fantasmes et de préjugés. Alors que la fin de l’année approche, et avec elle ses repas de famille, nous avons donc décidé de vous préparer une antisèche.

Envie de savoir ce qu’est le chiffrement ? Comment l’expliquer simplement ? En comprendre quelques notions parfois complexes ? Savoir où renvoyer vos proches qui pensent que vous virez crypto-nazi-terroriste parce que vous utilisez Signal ? Nous avons préparé ce bilan pour vous.

Il viendra se nourrir de vos commentaires et de vos interrogations, n’hésitez donc pas à intervenir. Il servira aussi de base à une série d’articles que nous publierons tout au long des semaines qui viennent.

Le chiffrement, c’est quoi exactement ?

Commençons par répondre à la première des questions qu’il convient de se poser : qu’est-ce que le chiffrement ? Pour faire simple, on pourrait dire qu’il s’agit de rendre illisible un document, excepté pour son destinataire. Pour cela, on utilise une clef de chiffrement (nous y reviendrons).

Ce document peut prendre plusieurs formes : un message, une image, un fichier quelconque ou même votre disque dur complet. Le chiffrement a ainsi pour objectif la protection des données, notamment lorsqu'elles doivent être transportées ou transmises. Dans ce dernier cas, le messager (un prestataire ou un fournisseur d'accès par exemple) ne peut pas en prendre connaissance, seulement son destinataire.

Une analogie, qui n’est pas tout à fait correcte, mais qui est souvent utilisée dans le cadre de l'envoi d'un email chiffré, est celle de l’enveloppe pour le courrier. En effet, lorsque vous placez une lettre dans une enveloppe, le facteur peut la transporter sans en lire le contenu, contrairement à une carte postale. Chiffrer un message revient donc à placer une lettre dans une enveloppe.

Cryptologie, Chiffrer, Déchiffrer, Décrypter : les bases

Avant d’aller plus loin il nous faut expliquer certains termes qui peuvent parfois être l’objet de confusions, et vous éviter quelques problèmes souvent rencontrés lorsque l’on parle de chiffrement.

Il y a effectivement des mots que l’on peut utiliser, d’autres non. Et certains que l’on accepte (mais seulement dans certains cas) :

  • Chiffrer : il s’agit de rendre un document illisible avec une clef de chiffrement, excepté pour son destinataire
  • Déchiffrer : il s’agit de rendre lisible un document chiffré, en ayant connaissance de la clef de chiffrement
  • Décrypter : il s’agit de rendre lisible un document chiffré, sans avoir connaissance de la clef de chiffrement
  • Cryptologie : il s’agit de la science du secret, c’est son sens étymologique. Elle regroupe plusieurs disciplines :
    • La cryptographie : vise à étudier comment protéger par le chiffrement
    • La cryptanalyse : vise à analyser les méthodes de chiffrement pour les casser
  • Crypter : cela n’existe pas
  • Chiffrage : cela existe, dans le domaine de la comptabilité ou de la musique

Dans son référentiel de sécurité, l'Agence nationale de sécurité des systèmes d'information (ANSSI) indique pour sa part que « le seul terme admis en français est celui de chiffrement. On entend cependant souvent parler de « cryptage » qui est un anglicisme, voire de « chiffrage », mais ces mots sont incorrects. L’opération inverse du chiffrement est le déchiffrement. On désigne par « décryptage », ou « décryptement », l’opération qui consiste à retrouver le clair correspondant à un chiffré donné sans connaître la clé secrète, après avoir trouvé une faille dans l’algorithme de chiffrement ».

Notez une chose : si tous les dérivés de « Crypter » n’ont aucun sens (puisque l'on ne peut pas chiffrer sans clef), il existe une exception, validée par l’Académie Française, celui des « chaînes cryptées ». C’est un terme le plus souvent utilisé pour parler de chaînes à péage, comme Canal+.

Pour aller plus loin :

Mais ce n’est pas un outil de crypto-nazi-terroriste alors ?

Eh bien non ! Ou alors, nous en sommes tous.

Car sans le savoir, vous utilisez déjà le chiffrement au quotidien : dans la carte SIM de votre smartphone, dans votre carte bancaire, lorsque vous allez sur des sites internet de votre banque, lorsque vous achetez en ligne (vous savez, le fameux cadenas vert) ou que vous regardez une vidéo sur un service de SVOD comme Canalplay ou Netflix.

Mais je n’ai rien à cacher moi, pourquoi chiffrer quoi que ce soit ?

Cet argument est le plus souvent rencontré lorsque l’on parle de protection des données. Il est aussi le plus mauvais. Car vous mettez des enveloppes autour de votre courrier, vous n’affichez pas votre numéro et votre code de carte bancaire sur un t-shirt, vous fermez vos portes à clef, vous envoyez des messages sur Facebook Messenger et pas uniquement via votre mur public, vous portez même des vêtements !

Parfois vous voulez même dire du mal de tel ou tel collègue à la machine à café en petit comité ou aller chez votre médecin sans forcément que tout le monde sache que vous avez choppé une mycose. Vous avez donc déjà des tas de choses à cacher.

Un sujet qui a déjà été l'objet de nombreuses conférences, dont une de Julien Vaubourg à INRIA Nancy en 2015 qui avait été captée en vidéo (notez que celle-ci de Numendil est aussi très bien) :

Pour rappel, l’article 8 de la Convention Européenne des Droits de l’Homme dispose que :

« 1 Toute personne a droit au respect de sa vie privée et familiale, de son domicile et de sa correspondance.

2 Il ne peut y avoir ingérence d'une autorité publique dans l'exercice de ce droit que pour autant que cette ingérence est prévue par la loi et qu'elle constitue une mesure qui, dans une société démocratique, est nécessaire à la sécurité nationale, à la sûreté publique, au bien-être économique du pays, à la défense de l'ordre et à la prévention des infractions pénales, à la protection de la santé ou de la morale, ou à la protection des droits et libertés d'autrui. »

De son côté, la CNIL considère que « la cybersécurité est un vecteur de confiance et d’innovation. Protéger les données personnelles dans l’univers numérique, à l’aide notamment du chiffrement, c’est aussi protéger un droit fondamental et, au-delà, l’exercice des libertés individuelles dans cet univers ».

La cryptographie n’a rien de nouveau

D’ailleurs, ce besoin humain de ne pas exposer ses moindres pensées ou actions à tous n’est pas une nouveauté. Et l’on retrouve ainsi des traces de la cryptographie assez loin dans l’histoire.

Les premiers exemples souvent cités sont celui de l’Atbash et du chiffre de César. Dans les deux cas, il s’agissait d’une transformation alphabétique assez simple. Plus tard, les mathématiques sont entrées de manière plus importante en ligne de compte, avec des outils comme le cadran chiffrant ou la table de Vigenère.

Plus proche de nous, il a notamment été question de travaux de cryptographie et de cryptanalyse pendant la guerre, dont l’un des épisodes les plus emblématiques est celui autour de la machine Enigma et les travaux de l’équipe d’Alan Turing (sujets du film Imitation Game sorti en 2015).

Désormais, le chiffrement repose sur des algorithmes complexes (ou chiffres) comme RSA et AES, ainsi que des protocoles comme TLS (surtout utilisé dans le cadre de la navigation dite sécurisée via HTTPS et le cadenas vert).

En France, « l’utilisation des moyens de cryptologie est libre » selon l’article 30 de la LCEN votée en 2004, tout comme « la fourniture, le transfert depuis ou vers un État membre de la Communauté européenne, l'importation et l'exportation des moyens de cryptologie assurant exclusivement des fonctions d'authentification ou de contrôle d'intégrité ».

Aller plus loin :

Le chiffrement parfait, ça existe ?

On a l'habitude de dire qu'aucun système de chiffrement n'est incassable. L'histoire nous a en effet montré qu'il devenait toujours possible avec le temps de trouver des failles dans les systèmes, mêmes les plus robustes.

Actuellement, tous les yeux sont tournés vers l'informatique quantique qui pourrait mettre à mal les dispositifs actuels dans les années à venir. Plus proche de nous, des chercheurs ont déjà montré que même RSA, pourtant l'un des algorithmes les plus utilisé actuellement, pouvait être l'objet d'attaques efficaces. 

Reste néanmoins une solution inviolable, mais relativement complexe à mettre en œuvre dans de nombreux cas : le chiffre de Vernam ou masque jetable. Il s'agit d'utiliser pour chaque message une clef parfaitement aléatoire dont la longueur est au moins équivalente à celle du message lui-même. Autant dire que lorsqu'il s'agit de protéger des messages longs, ou même d'échanger de manière instantanée, cela peut rapidement devenir un problème.

Notez au passage qu'outre la question des algorithmes de chiffrement, c'est leur implémentation qui compte. Veillez donc à privilégier des solutions open source, ayant subi des audits, qui montrent une certaine régularité et rapidité dans leur capacité à corriger bugs et failles de sécurité. 

Vous devez aussi établir votre modèle de menace (threat model) afin de savoir ce que vous voulez protéger, de qui, dans quel but et avec quels moyens. 

Aller plus loin :

C’est l’histoire d’Axelle, Bernard et François

Pour la suite de nos explications, nous allons utiliser un trio de personnages afin de vous faire comprendre certaines notions. En général, il est question d’Alice, Bob et Eve. Pour rendre cela plus « concret », nous utiliserons plutôt Axelle, Bernard et François.

Imaginons en effet que les deux premiers cherchent à discuter ensemble de ce qu’ils feront à partir de mai 2017, une fois que le troisième ne sera plus au pouvoir. Ils veulent bien entendu que ces échanges restent entre eux, et que François ne puisse pas savoir ce que l’on dit de lui. Ils utiliseront donc un outil de chiffrement.

Mais François est curieux (et il a de plus en plus de temps à occuper). Il va donc chercher à décrypter le contenu des messages que s’envoient Axelle et Bernard.

Chiffrement symétrique ou asymétrique

Cela nous permet d'évoquer les deux principaux types de chiffrement qui sont utilisés : symétrique ou asymétrique.

Le premier est assez simple à comprendre, puisqu’il revient à utiliser une clef de chiffrement unique. Dans le cas d'AES, elle est en général d'une longueur de 128 à 512 bits. Elle permettra à la fois de chiffrer le document puis de le déchiffrer. C’est notamment ce qu’il se passe lorsque vous mettez un mot de passe sur un fichier compressé ou que vous utilisez un dispositif de chiffrement de votre disque dur comme Bitlocker ou VeraCrypt.

Mais voilà, si cela est utile pour protéger des fichiers sur votre machine, et vous protéger de personnes qui ne connaissent pas votre mot de passe, il en est autrement lorsque vous voulez protéger des documents qui sont destinés à des tiers.

Aller plus loin :

CNIL Chiffrement
Crédits : CNIL (licence: CC by 4.0)

Prenons Axelle et Bernard par exemple. Une fois que la première a chiffré son message, elle l’envoie à Bernard. Mais ce dernier doit aussi connaître la clef qui lui servira à déchiffrer le message. De plus, il aimerait bien s’assurer que c’est bien Axelle qui en est à l’origine. Avec le chiffrement symétrique, tout cela n'est pas simple.

On utilise donc plutôt des algorithmes dit asymétriques. Ils n’utilisent pas une clef de chiffrement unique, mais une paire de clefs : l’une publique, l’autre privée. La première sera diffusée largement, la seconde doit être protégée à tout prix.

Si vous voulez imaginer une analogie simple, pensez à la serrure d'un cadenas. En effet, le trou d'une serrure est public. Tout le monde peut le voir, mais seule votre clef peut l'ouvrir. Le chiffrement asymétrique revient à distribuer votre cadenas à tous ceux qui voudraient vous faire parvenir un message. 

Axelle pourrait par exemple donner le sien à Bernard, qui placerait son message dans un coffre, fermé par le cadenas. Il pourrait faire parvenir le coffre à Axelle qui serait la seule à pouvoir l'ouvrir. François n'aurait plus qu'à tenter d'y aller au chalumeau, s'il arrive à intercepter le coffre. Dans le cas du chiffrement asymétrique, on dit que Bernard utilise la clef publique d'Axelle pour chiffrer son message. Elle sera alors la seule à pouvoir le lire via sa clef privée.

Ils peuvent renforcer le dispositif avec une autre possibilité : la signature. En effet, avec sa clef privée, Bernard peut signer son message. Axelle pourra vérifier cette signature avec sa clef publique. Elle pourra ainsi s'assurer que Bernard en est bien à l'origine et que son contenu n'a pas été modifié.

CNIL Chiffrement
Crédits : CNIL (licence: CC by 4.0)

Une question de confiance

Le logiciel le plus connu est GnuPG, une implémentation open source de PGP (Pretty Good Privacy) qui a vu le jour dans les années 90. Il se base sur un dispositif de confiance décentralisé connu sous le nom de « Web of trust » (ou toile de confiance) ou chacun peut indiquer qu'il a vérifié que telle ou telle clef appartenait à telle ou telle personne en la signant. De quoi donner lieu à des « Key signing party ».

Il existe aussi des normes comme S/MIME (utilisée par exemple dans Outlook) qui reposent sur le standard X.509 et se distinguent par l’utilisation d’autorités de certification centrales. Celles-ci émettent des certificats permettant de s’assurer de la véracité des clefs publiques notamment. Ici, il s'agit donc de faire confiance plutôt à des entités privées, le plus souvent à but lucratif.

Mais des initiatives comme Let's Encrypt tendent à démocratiser l'accès aux certificats (voir ce précédent article) en proposant une gestion basique, mais gratuite pour la mise en place d'un hébergement HTTPS (avec le cadenas vert). Elle est déjà exploitée par la Freebox, Synology mais aussi par des hébergeurs comme Gandi, Infomaniak, Online ou OVH.

Notez que dans le cas des emails, ces deux solutions sont encore assez peu utilisées, en partie parce que pour communiquer en utilisant un chiffrement asymétrique, il faut que tous les interlocuteurs utilisent un même standard. Pourtant, la simple utilisation des signatures numériques dans les emails permettrait de réduire drastiquement le phishing (qui repose sur l’usurpation d’identité) ou même le spam, dans une moindre mesure.

HTTPS : une utilisation combinée

Parfois, chiffrement symétrique et asymétrique sont utilisés de manière conjointes. En effet, le chiffrement symétrique nécessite moins de puissance de calcul, il est donc à privilégier pour des usages où ce point est sensible. Ainsi, dans le cas d’une connexion HTTPS par exemple, il est utilisé de manière conjointe avec le chiffrement asymétrique.

Lorsque vous vous connectez à un site via HTTPS, vous allez assurer une communication chiffrée entre votre navigateur et le serveur du site ou de l'application concernée. Le premier envoie une demande de connexion au second et ils échangent la liste des versions de SSL/TLS et des suites cryptographiques (Ciphersuites) qu’ils gèrent ainsi que leur ordre de préférence.

Une authentification est ensuite effectuée à travers un certificat X.509. Pour cela, le serveur fait parvenir au client sa clef publique et son certificat. Cette phase est connue sous le terme « handshake » (poignée de mains). Une fois cette vérification effectuée, une clef secrète est établie par le navigateur afin d’ouvrir une communication chiffrée de manière symétrique le temps de la connexion.

Attention au chiffrement partiel

Mais attention, le fait qu’un élément soit chiffré dans une communication ne veut pas dire qu’elle est entièrement protégée. Ainsi, une notion qui est de plus en plus mise en avant par les services visant à assurer un certain niveau de confidentialité est celle du chiffrement de bout en bout (End-to-End ou E2E), qui n'est pas toujours proposé par défaut.

Cela consiste à s'assurer que seules les parties communicantes disposent des clefs de chiffrement, pas les intermédiaires, et que le message est chiffré avant son expédition puis après sa réception. De quoi éviter les attaques de type « homme du milieu », la surveillance par le service lui-même ou au niveau des FAI par exemple.

On peut assez facilement illustrer la problématique du chiffrement partiel avec l'envoi d'un email à un tiers. Dans un tel cas, une connexion chiffrée (SSL/TLS) peut être établie entre votre machine et le serveur d’envoi de l’email. Mais d’ici à sa réception, il peut passer par divers serveurs dont on ne sait pas s’ils communiqueront entre eux de manière chiffrée.

Une problématique notamment prise en compte par Google qui affiche des alertes dans Gmail et indique quels sont les services qui jouent le jeu ou non dans son « Transparency report ». En France, une charte a été signée en 2015 avec les fournisseurs d'accès à internet pour généraliser cette pratique.

Si l'on reprend l’analogie de la lettre et de la carte postale, cela revient à considérer qu’un courrier est protégé parce que votre facteur va le mettre dans sa besace. Mais cela ne vous assure pas qu’un employé ne va pas le lire avec ses collègues au centre de tri. D’où le besoin d’une enveloppe (et donc du chiffrement dans le cas de l’email).

Pour autant, cela ne suffit pas. Car ceux qui traitent vos emails peuvent avoir accès à leur contenu. Un élément pris en compte dans la loi Numérique, qui n'interdit pourtant pas le traitement à des fins publicitaires. Une pratique mise en œuvre par des services comme Gmail (par exemple), qui analyse le contenu de vos emails afin de mieux cibler la publicité qui vous est affichée. 

Cela est possible uniquement parce que les serveurs de Google peuvent lire le contenu des messages qu'ils hébergent. Certains services de webmail travaillent ainsi à l'implémentation du chiffrement PGP de manière native afin de vous assurer qu'ils ne peuvent pas accéder au contenu de vos échanges.

C'est notamment le cas de ProtonMail (voir la vidéo ci-dessous), mais aussi de solutions logicielles indépendantes comme Roundcube dans sa version 1.2 (proposée par quelques hébergeurs comme Online pour certaines de ses offres).

La question des métadonnées

L’autre aspect qui peut poser problème est celui des métadonnées. En effet, le contenu d’un message n’est pas la seule information qui peut être utile à un « observateur extérieur ». Son sujet, l’expéditeur, le ou les destinataires, l’heure d’envoi, etc. sont autant d’informations qui peuvent être exploitées.

On retrouve cette problématique assez souvent dans le domaine de la téléphonie mobile avec les fadettes (factures détaillées). Ce n'est ainsi pas ce que se disent deux personnes qui intéresse, mais qui parle à qui et à quel moment. Toujours utile quand, par exemple, vous voulez identifier la source d’un journaliste.

Il est donc important de prêter attention à ces métadonnées si vous ne voulez pas forcément que la liste de vos contacts soit identifiée. Si des outils tels que GPG ou S/MIME ne permettent pas simplement de cacher ces informations, les nouveaux services de communication qui misent sur le chiffrement comme Signal prennent cette problématique en compte.

Fonction de hachage et sel

Notez qu'outre les questions de chiffrement et de signature, il existe un autre élément qui s'avère pratique pour s'assurer de la véracité d'un élément : son empreinte (ou hash). 

Celle-ci est calculée par une fonction de hachage, les plus connues étant SFV, MD5 ou SHA-1/256/384/512. Ici, contrairement au chiffrement, on va s'arranger pour disposer d'un résultat non réversible. Ainsi, depuis une empreinte, il ne sera pas possible de retrouver le document initial.

Par contre, cette empreinte est unique (sinon on parle de collision) et permet de vérifier qu'un document ou une information est valide. On retrouve souvent deux usages pour les empreintes. Le premier est la vérification d'intégrité d'un fichier téléchargé. En comparant l'empreinte donné par l'hébergeur et celle que vous calculez, vous pouvez vous assurer que le fichier est complet et qu'il n'a pas été modifié pendant le transfert.

RapidCRC Unicode

Le second est le stockage des mots de passe. En effet, il serait dangereux de mettre en base de données les mots de passe de tous les utilisateurs, les nombreux cas de piratage de ces dernières années nous le prouvent. Ainsi, on stocke seulement une empreinte, qui permet de vérifier que le mot de passe entré par l'utilisateur est valide lorsqu'il se connecte. Pour cela, il est recommandé d'utiliser des fonctions spécifiques comme bcrypt, scrypt ou Argon2.

Pour renforcer la sécurité, on ajoute un élément aléatoire au calcul de l'empreinte, propre à chaque utilisateur : le sel. Ainsi, deux utilisateurs qui ont le même mot de passe n'obtiendront pas le même résultat. Cela permet d'éviter les attaques par force brute ou par rainbow table.

Aller plus loin :

Confidentialité persistante : attention aux paires de clef qui durent

Nous arrivons désormais dans les notions pointues concernant le chiffrement, notamment avec la confidentialité persistante (ou perfect forward secrecy). Ici, il s’agit d’un concept qui tend à s’assurer que si une clef privée finit par être découverte, cela ne compromettra pas l’ensemble des échanges.

En effet, en utilisant une paire de clefs unique, sans en changer de manière régulière, vous prenez le risque que si celle-ci vient à être découverte, ou son algorithme de chiffrement cassé, il devienne possible de déchiffrer tous vos messages passés.

Les outils qui utilisent la confidentialité persistante s’assurent donc d’utiliser une nouvelle paire de clef à chaque session sans utiliser une manière prévisible de les générer. Là encore, on retrouve des services qui intègrent déjà une telle notion dans le domaine de la messagerie, comme Cryptocat (qui se base sur OMEMO), Signal ou le plugin OTR de Pidgin.

Vers le chiffrement homomorphe

Depuis quelques années, un nouveau type de chiffrement que l'on doit en partie à Craig Gentry fait parler de lui, notamment dès qu'il est question de stockage dans le cloud : le chiffrement homomorphe

Pour faire simple, il s'agit ici de mettre en place un procédé de chiffrement qui permet d'effectuer des opérations sur le contenu, même lorsqu'il n'est pas déchiffré. Ainsi, on peut confier sa gestion et son stockage à un tiers sans jamais à avoir à lui donner le moyen de le consulter en clair.

Apporter la preuve, sans jamais rien divulguer

Terminons par un autre concept, né peu avant les années 90 : Zero Knowledge Proof (ou Preuve à divulgation nulle de connaissance). Ici, le but est de proposer un dispositif dans lequel il est possible de vérifier la véracité d'une information, sans jamais avoir à divulguer le moindre détail sur l'information elle-même.

Un dispositif très intéressant dès lors qu'il s'agit d'authentifier ou de signer un message.  Il est notamment utilisé dans les cartes à puce via le protocole Guillou-Quisquatier. Il trouve de plus en plus son utilité ailleurs, lorsqu’il s’agit d’établir des actions de manière anonyme par exemple. Récemment, cela a été mis en œuvre à travers une nouvelle crypto-monnaie : Zcash.

Retrouvez notre dossier Chiffrement, clefs de sécurité et cryptobidules :

Publiée le 23/12/2016 à 14:00
David Legrand

Directeur des rédactions et responsable des L@bs de Nancy. Geek de l'extrême spécialisé dans l'analyse des produits high-tech, les réseaux sociaux et les trios d'écrans. Adepte du libre.

Soutenez nos journalistes

Le travail et l'indépendance de la rédaction dépendent avant tout du soutien de nos lecteurs.

Abonnez-vous
À partir de 0,99 €


chargement
Chargement des commentaires...