chiffrement de bout en bout

Le chiffrement de bout en bout est le processus de codage des informations entre un expéditeur et un destinataire de sorte que seuls l’expéditeur et le destinataire puissent déchiffrer le message.

Disons qu’Alice et Bob veulent parler. Étant des êtres humains normaux, ils aimeraient un peu d’intimité – surtout vis-à-vis de leur ami Charlie ! Heureusement pour eux, le chiffrement de bout en bout vient à la rescousse. Grâce à cette merveille cryptographique, Alice et Bob peuvent communiquer en toute confidentialité, loin des yeux indiscrets de Charlie.

C’est pas cool, ça ? Et ce n’est même pas la meilleure partie ! En effet, aussi puissant que soit Charlie, il ne peut pas décrypter leurs messages, même pas dans un million d’années. Charlie pourrait même être le roi du monde : cela n’a aucune importance. Comme l’a dit un sage, « l’univers croit au chiffrement ».

Oui, ça a l’air très gentil et cool mais … comment ça marche ? Jetons un coup d’oeil.

Qu’est-ce que le chiffrement de bout en bout (E2EE) ?

Le chiffrement de bout en bout est une méthode bien connue utilisée dans les réseaux pour garantir des communications privées entre deux parties. Il convertit un message de texte en clair en texte chiffré, empêchant ainsi les écoutes potentielles de décrypter le message.

Ce qui est génial, c’est que les deux parties n’ont pas besoin de se mettre d’accord au préalable sur la clé de chiffrement, ce qui signifie que le chiffrement de bout en bout (E2EE) permet à deux inconnus de communiquer en toute confidentialité. En d’autres termes, E2EE est une mise en œuvre de la cryptographie asymétrique.

Cryptographie symétrique

La cryptographie, pour être sûr que nous sommes sur la même longueur d’onde, est l’art de la communication privée. Elle protège vos messages WhatsApp, le protocole de transfert hypertexte, pierre angulaire du World Wide Web, et même votre compte bancaire. En gros, il est partout. Mais en fait, ce n’est pas nouveau.

Aujourd’hui, la vie privée est souvent tenue en piètre estime, mais dans le passé, c’était un art. De la même manière que vous ne voulez pas que quelqu’un lise vos messages, les généraux et les rois du bon vieux temps en faisaient autant.

Le premier et le plus célèbre exemple de chiffrement est le chiffre de César. Nommé d’après Jules César, ce protocole de chiffrement était utilisé par le Divus Iulius pour chiffrer les messages d’importance militaire. Il est très simple – à tel point que vous l’avez probablement utilisé vous-même à l’école primaire pour envoyer des notes à vos amis pendant la classe. En tout cas, je l’ai fait.

Le chiffrement de César est un chiffrement par substitution. Les deux parties se mettent d’accord sur une certaine clé de chiffrement, qui n’est rien d’autre qu’un protocole définissant comment remplacer les lettres de votre message par d’autres lettres de l’alphabet.

Par exemple, disons que vous voulez envoyer ce message : « LES BARBARES ATTAQUERONT DANS TROIS JOURS. » Une façon d’utiliser cette méthode pour chiffrer ce message serait de remplacer chaque lettre du message par la lettre suivante de l’alphabet. Vous voyez ce que je viens de faire ? Je viens d’expliquer le protocole pour décrypter et chiffrer le message – en d’autres termes, la clé. Le message apparaîtrait comme ceci.

CBSCBSJBOT XJMM BUUBDK JO UISFF EBZT

Ça a l’air cool, non ? Le problème avec cette méthode est que vous devez d’abord envoyer un message non chiffré dans lequel vous partagez la clé de chiffrement en clair. Vous pourriez vous rencontrer en personne, mais cela vous exposerait, vous et votre complice, à l’attention de tous ceux qui vous surveillent. Et si votre destinataire vit très loin, c’est carrément impossible.

Ce que vous venez de lire est appelé chiffrement symétrique. Pourquoi symétrique ? Parce que la même clé est utilisée pour chiffrer et déchiffrer le message. Attention : clé symétrique n’est pas synonyme de mauvais. En fait, elle est encore utilisée aujourd’hui – à l’exception du chiffre César, bien sûr.

La cryptographie asymétrique

La cryptographie asymétrique, quant à elle, utilise deux clés, l’une pour chiffrer le message et l’autre pour le déchiffrer. Comment cela est-il possible ? L’ingrédient magique est la fonction à sens unique. (Oui, nous plongeons dans les eaux mathématiques, je sais, mais croyez-moi : c’est simple. Et aussi cool).

Une fonction à sens unique est une fonction qui est facile à exécuter mais difficile à inverser. Vous n’avez rien compris, n’est-ce pas ? Laissez-moi vous expliquer. Imaginez un nombre – disons, 2133. Quels sont les plus petits nombres premiers qui, multipliés ensemble, vous donneront 2133 comme résultat ? C’est difficile, non ? La solution est – j’ai cherché – 3 x 3 x 3 x 79 – ou, autrement dit, 27 x 79. C’est ce qu’on appelle la « factorisation ».

Ce qui est bien avec la factorisation, c’est que si je vous donne 27 et 79, vérifier que leur produit est 2133 est un jeu d’enfant. Vous prenez juste votre calculatrice, et voilà ! C’est juste l’inverse qui est difficile (difficile signifie qu’il ne peut pas être résolu en temps polynomial, mais nous n’avons pas besoin d’aller aussi loin dans les mathématiques. Il suffit de dire que la force brute est votre seule option).

Revenons-en au sujet. La cryptographie asymétrique, également appelée cryptographie à clé publique, fonctionne à l’aide d’une paire de clés – une clé privée que vous devez garder pour vous et une clé publique que vous pouvez distribuer ouvertement. En bref, l’expéditeur et le destinataire disposent tous deux de leur propre jeu de clés privées et publiques. Chacun d’eux peut utiliser la clé publique de l’autre pour chiffrer un message qui ne peut être déchiffré que par la clé privée de l’autre.

Dans une certaine mesure, vous pouvez assimiler votre clé publique à votre adresse et votre clé privée à votre mot de passe. Ce qui est super cool, c’est que les clés privées et publiques étant générées par des fonctions à sens unique, il est littéralement impossible de casser le chiffrement. Enfin, pas exactement – cela prend juste plus de temps que l’âge de l’univers.

Vous comprenez ? Ceci, mon ami, est le chiffrement de bout en bout.
Le chiffrement de bout en bout n’est pas synonyme de confidentialité.

Vous avez donc appris ce qu’est le chiffrement de bout en bout. Vous voulez envoyer des messages privés ? Pas de problème. Il suffit de trouver un fournisseur de services de messagerie instantanée ou d’email qui prend en charge E2EE. Pas vrai ? Non, c’est faux. Le chiffrement de bout en bout n’est pas synonyme de confidentialité. Pourquoi ? Rappelez-vous ce que je vous ai dit.

Les clés publiques et privées de l’expéditeur et du destinataire sont, pardonnez-moi, des clés qui garantissent que personne ne peut décrypter le message. La question est de savoir où elles sont stockées. C’est là toute la question. Si le fournisseur de services vous dit qu’il n’y a pas de problème, que vos messages sont chiffrés de bout en bout et que nous détenons vos clés, c’est là, mon ami, que vous vous faites avoir. En fait, vous devez partir du principe que votre gentil fournisseur de services utilise la clé que vous venez de lui donner (c’est-à-dire le chiffrement côté serveur) et qu’il peut accéder à vos messages comme bon lui semble.

Attendez une minute… je ne vous ai pas dit ce qu’est le chiffrement côté serveur ?

Chiffrement côté serveur ou côté client ?

Le chiffrement côté serveur et le chiffrement côté client sont tous deux des processus permettant de chiffrer les informations entre un expéditeur et un destinataire. La différence entre les deux réside dans la personne qui génère et détient les clés privées. Dans le cas du chiffrement côté serveur, le serveur génère et détient les clés privées. Dans le cas du chiffrement côté client, c’est le client qui génère et détient les clés privées.

Comme vous pouvez le supposer, la différence est énorme. Dans le cas du chiffrement côté serveur, vous confiez vos clés au serveur de la même manière que vous pouvez donner à votre voisin la clé de votre porte pendant que vous êtes en vacances. Théoriquement, le voisin peut s’introduire chez vous, mais comme vous lui faites confiance, vous supposez qu’il ne le fera pas. Le chiffrement côté client, quant à lui, signifie que vous détenez votre clé et personne d’autre.

Bien sûr, cela implique que si vous perdez votre clé pour une raison quelconque, vous ne pourrez pas rentrer dans votre maison. Pourquoi ? Parce que le craquage d’une clé de chiffrement n’est pas aussi facile que le crochetage de serrures. Comme je vous l’ai dit plus haut, le forçage brutal d’une fonction à sens unique n’est pas vraiment une option.

Chiffrement E2EE ou en transit ?

Cela signifie-t-il que je vous ai menti lorsque je vous ai donné la définition du chiffrement de bout en bout ? Oui et non. C’est le problème avec ces définitions – elles évoluent. À vrai dire, ce sont des armes de marketing pour vous faire sentir en sécurité. De nombreuses entreprises prétendent employer le chiffrement de bout en bout, alors qu’elles stockent en fait vos clés privées. Elles utilisent ce qu’on appelle désormais le chiffrement en transit ou le chiffrement de transport. Cela signifie qu’elles chiffrent vos messages pendant leur transit, mais qu’elles conservent vos clés privées. En d’autres termes, vos messages sont toujours inaccessibles aux destinataires non autorisés, mais qui décide qui est autorisé et qui ne l’est pas ? Vous et, selon la situation, votre fournisseur de services. Si les forces de l’ordre frappent à leur porte, il y a fort à parier qu’elles vont les autoriser.

Cela signifie-t-il que vous ne devez pas faire confiance à WhatsApp pour vos affaires privées ? Non. Contrairement à Telegram, WhatsApp utilise le chiffrement de bout en bout – en fait, le chiffrement en transit + le chiffrement côté client. Quelle est la différence ? Tout simplement que WhatsApp ne peut pas montrer vos messages à la police, même si elle le voulait. En d’autres termes, WhatsApp, contrairement à Telegram, protège votre vie privée.

Laisser un commentaire