Une présentation approfondie du chiffrement de bout en bout : comment les systèmes de chiffrement à clé publique fonctionnent-ils ?
Dernière révision : November 29, 2018
Utilisé correctement, le chiffrement de bout en bout peut aider à protéger le contenu de vos messages, de vos textes et même de vos fichiers les rendant incompréhensibles par quiconque autre que les destinataires prévus. Il peut aussi être utilisé pour prouver qu’un message provient d’une personne précise et qu’il n’a pas été altéré.
Au cours des dernières années, les outils de chiffrement de bout en bout sont devenus plus utilisables. Les outils de messagerie sécurisés (page en anglais) tels que Signal (iOS ou Android) pour les appels voix, les appels vidéo, les dialogues en ligne et le partage de fichiers sont de bons exemples d’applis qui utilisent le chiffrement de bout en bout pour chiffrer les messages entre l’expéditeur et le destinataire prévu. Ces outils rendent les messages illisibles aux yeux indiscrets du réseau, mais aussi pour les fournisseurs de services mêmes.
Cela dit, certaines mises en application du chiffrement de bout en bout peuvent être difficiles à comprendre et à utiliser. Avant que vous commenciez à utiliser des outils de chiffrement de bout en bout, nous vous recommandons fortement de prendre le temps de comprendre les bases de la cryptographie par clé publique.
Le type de chiffrement dont nous parlons dans ce guide, et sur lequel les outils de chiffrement de bout en bout reposent, est appelé cryptographie par clé publique , ou chiffrement par clé publique . Pour en apprendre davantage sur les autres types de chiffrement, consultez notre guide Que devrais-je savoir au sujet du chiffrement ?
Comprendre les principes sous-jacents de la cryptographie par clé publique vous aidera à utiliser ces outils avec succès. La cryptographie par clé publique peut accomplir certaines choses et d’autres non, et il est important de comprendre quand et comment vous pourriez l’utiliser.
Que fait le chiffrement ? anchor link
Voici comment le chiffrement fonctionne lors de l’envoi d’un message secret :
1. Un message clairement lisible (« bonjour Maman ») est chiffré en un message brouillé qui est incompréhensible pour quiconque le voit (« OhsieW5ge+osh1aehah6 »).
2. Le message chiffré est envoyé par Internet où d’autres voient le message brouillé « OhsieW5ge+osh1aehah6 »
3. Quand il arrive à destination, le destinataire prévu, et seulement le destinataire prévu, possède une façon de le déchiffrer sous sa forme originale (« bonjour Maman »).
Le chiffrement symétrique : passer des notes secrètes avec une seule clé anchor link
Julie veut envoyer une note « Rencontre-moi dans le jardin » à son ami César, mais elle ne veut pas que ses compagnons de classe la lisent.
La note de Julie passe par plusieurs compagnons de classe intermédiaires avant d’atteindre César. Bien que neutres, les intermédiaires sont curieux et peuvent facilement jeter un coup d’œil au message avant de le passer. Ils font aussi des copies du message avant de le passer et notent l’heure à laquelle Julie a envoyé le message à César.
Julie décide de chiffrer son message avec une clé de 3, décalant de trois en aval les lettres de l’alphabet. Donc A serait D, B serait E, etc. Si Julie et César utilisent une simple clé de 3 pour chiffrer et une clé de 3 pour déchiffrer, alors le charabia de leur message chiffré est facile à craquer. Quelqu’un pourrait utiliser la « force brute » pour découvrir la clé en essayant toutes les combinaisons possibles. En d’autres mots, cette personne peut continuer à deviner jusqu’à ce qu’elle obtienne la réponse pour déchiffrer le message.
La méthode qui consiste à décaler l’alphabet de 3 caractères est un exemple historique de chiffrement utilisé par Jules César : le chiffre de César. Quand il existe une clé pour chiffrer et déchiffrer, comme dans cet exemple où la clé est simplement un 3, nous avons affaire à la cryptographie symétrique.
Le chiffre de César est une forme faible de cryptographie symétrique. Heureusement, le chiffrement a bien évolué depuis le chiffre de César. Grâce à des mathématiques incroyables et à l’aide d’ordinateurs, une clé beaucoup, beaucoup plus grande peut être générée, clé qui est beaucoup, beaucoup plus difficile à deviner. La cryptographie symétrique a bien évolué et ses applications pratiques sont nombreuses.
Cependant, la cryptographie symétrique ne règle pas la situation suivante : que se passerait-il si quelqu’un pouvait simplement écouter indiscrètement et attendre que Julie et César partagent la clé pour la volée afin de déchiffrer leurs messages? Que se passerait-il si cette personne attendait que Julie et César se disent le secret pour déchiffrer leurs messages, 3? Et si Julie et César se trouvaient dans régions différentes du globe et n’avaient pas prévu de se rencontrer en personne ?
Comment César et Julie peuvent-ils contourner ce problème ?
Disons que Julie et César se sont informés sur la cryptographie par clé publique. Une personne indiscrète ne pourrait vraisemblablement pas attraper Julie et César en train de partager la clé de déchiffrement, car ils n’ont pas besoin de la partager. Dans le cas de la cryptographie par clé publique, les clés de chiffrement et de déchiffrement sont différentes.
Le chiffrement par clé publique : l’histoire de deux clés anchor link
Examinons le problème de plus près : comment l’expéditeur envoie-t-il la clé de chiffrement symétrique au destinataire sans que quelqu’un espionne aussi cette conversation ? Plus précisément, que se passe-t-il si l’expéditeur et le destinataire sont physiquement éloignés l’un de l’autre, mais souhaitent converser à l’abri des regards indiscrets?
La cryptographie par clé publique (aussi appelée cryptographie asymétrique) offre une solution intéressante pour résoudre ce problème. Elle permet à chaque personne dans une conversation de créer deux clés, une clé publique et une clé privée. Les deux clés sont liées l’une à l’autre. Ce sont en fait de très grands nombres qui possèdent certaines propriétés mathématiques. Si vous encodez un message en utilisant la clé publique d’une personne, elle peut le décoder en utilisant sa clé privée correspondante.
Julie et César utilisent maintenant deux ordinateurs pour s’envoyer des messages chiffrés grâce à la cryptographie par clé publique, au lieu de se passer des notes. Leurs compagnons de classe sont maintenant remplacés par des ordinateurs. Il existe des intermédiaires entre Julie et César : les points d’accès Wi-Fi, les fournisseurs d’accès à Internet et les serveurs de courriel respectifs de Julie et César. En réalité, il pourrait y avoir des centaines d’ordinateurs entre Julie et César pour faciliter cette conversation. Ces intermédiaires effectuent et enregistrent des copies des messages de Julie et César chaque fois qu’ils les acheminent.
Peu leur importe que ces intermédiaires puissent voir qu’ils communiquent, mais ils veulent que le contenu de leurs messages reste confidentiel.
Julie a d’abord besoin de la clé publique de César. César envoie sa clé publique (un fichier) par une voie non sécurisée, par exemple un courriel non chiffré. Il lui importe peu que les intermédiaires puissent y accéder, car la clé publique est quelque chose qu’il peut partager librement. Remarquez que la métaphore de la clé s’arrête à peu près ici ; il n’est pas tout à fait juste de penser à une clé publique comme à une vraie clé. César envoie la clé publique par plusieurs voies, afin que les intermédiaires ne puissent pas plutôt envoyer une de leurs clés publiques à Julie.
Julie reçoit le fichier de clé publique de César. Julie peut maintenant lui chiffrer un message ! Elle rédige son message : « Rencontre-moi dans le jardin ».
Elle envoie le message chiffré. Seul César pourra le déchiffrer.
Julie et César peuvent tous deux comprendre le message, mais il ressemble à du charabia à quiconque essaie de le lire. Les intermédiaires peuvent voir les métadonnées telles que la ligne d’objet, les dates, l’expéditeur et le destinataire.
Dans la mesure où le message est chiffré pour la clé publique de césar, seuls César et l’expéditeur (Julie) peuvent lire le message.
César peut lire le message grâce à sa clé privée.
Récapitulons :
- La cryptographie par clé publique permet à quelqu’un d’envoyer sa clé publique ouvertement, par une voie non sécurisée.
- Avoir la clé publique d’un ami vous permet de chiffrer des messages à son intention.
- Votre clé privée est utilisée pour déchiffrer les messages chiffrés à votre intention.
- Les intermédiaires tels que les fournisseurs de services de courriel, les fournisseurs d’accès à Internet et ceux qui se trouvent sur leurs réseaux peuvent voir les métadonnées pendant tout ce temps : qui envoie quoi à qui, quand, l’heure de réception, la ligne d’objet, si le message est chiffré, etc.
Un autre problème : quand est-il de l’usurpation d’identité ? anchor link
Dans l’exemple de Julie et césar, les intermédiaires peuvent voir les métadonnées pendant tout ce temps.
Disons que l’un des intermédiaires est malveillant. Par malveillant, nous faisons référence à quelqu’un qui à l’intention de vous causer du tort en essayant de voler vos informations ou de les compromettre. Pour quelque raison, cette personne malveillante veut espionner le message de Julie à César.
Disons que cette personne malveillante amène, par la ruse, Julie à obtenir le mauvais fichier de clé publique pour César. Julie ne remarque pas que cette clé publique n’est en fait pas celle de César. La personne malveillante reçoit le message de Julie, y jette un coup d’œil et l’achemine à César.
La personne malveillante pourrait même décider de changer le contenu du fichier avant de le passer à César.
La plupart du temps, la personne malveillante décide de ne pas modifier le contenu. La personne malveillante achemine donc le message de Julie à César comme si de rien n’était, César sait qu’il doit rencontrer Julie dans le jardin et, à leur grande surprise, la personne malveillante s’y trouve aussi.
C’est ce qu’on appelle une attaque de l’intercepteur.
Heureusement, la cryptographie par clé publique propose une méthode pour prévenir les attaques de l’intercepteur.
La cryptographie par clé publique vous permet de comparer l’identité numérique de quelqu’un avec son identité réelle grâce au procédé appelé « vérification d’empreinte ». Il est préférable de l’effectuer en personne s’il vous est possible de rencontrer votre ami. Vous auriez l’empreinte de votre clé publique avec vous et votre ami revérifierait que chaque caractère de l’empreinte de votre clé publique correspond à ceux de l’empreinte de votre clé publique qu’il a de son côté. C’est un peu fastidieux, mais cela en vaut la peine.
D’autres applis chiffrées de bout en bout proposent aussi une manière de vérifier les empreintes, bien que cette vérification puisse être appelée et mise en application différemment. Dans certains cas, vous devrez lire très précisément chaque caractère de l’empreinte et vous assurer qu’il correspond à ce que vous voyez sur votre écran, comparé à ce que votre ami voit sur son écran. Dans d’autres cas, vous devrez balayer un code QR sur le téléphone d’une autre personne afin de « vérifier » son appareil. Dans l’exemple ci-dessous, Julie et César peuvent se rencontrer en personne pour vérifier les empreintes de leur téléphone en balayant mutuellement leur code QR avec l’appareil photo de leur téléphone.
S’il vous est impossible de vous rencontrer en personne, vous pouvez communiquer votre empreinte par une autre voie sécurisée telle qu’une autre appli de messagerie ou un système de dialogue en ligne, tous deux chiffrés de bout en bout, ou encore sur un site HTTPS .
Dans l’exemple ci-dessous, César envoie l’empreinte de sa clé publique à Julie en utilisant une appli chiffrée de bout en bout différente sur son téléphone intelligent.
Résumons :
- Il y attaque de l’intercepteur quand quelqu’un intercepte votre message à quelqu’un d’autre. L’assaillant peut altérer le message et le passer ou simplement choisir de le lire.
- La cryptographie par clé publique vous permet de régler la question des attaques de l’intercepteur en vous proposant des façons de vérifier les identités de l’expéditeur et du destinataire. Ce processus est appelé « vérification de l’empreinte ».
- En plus d’être utilisée pour chiffrer un message à votre ami, la clé publique de votre ami comprend aussi quelque chose appelé « empreinte de clé publique ». Vous pouvez utiliser l’empreinte pour vérifier l’identité de votre ami.
- La clé privée est utilisée pour chiffrer les messages et pour signer numériquement les messages comme provenant de vous.
Signe des temps anchor link
La cryptographie par clé publique fait en sorte que vous n’avez pas à passer en cachette la clé de déchiffrement au destinataire de votre message secret, car cette personne a déjà la clé de déchiffrement. La clé de déchiffrement est la clé privée de cette personne. Par conséquent, tout ce dont vous avez besoin pour envoyer un message est la clé de chiffrement publique correspondante de votre destinataire. Et vous pouvez l’obtenir facilement, car votre destinataire peut partager sa clé publique avec tout le monde, dans la mesure où les clés publiques ne sont utilisées que pour chiffrer les messages et non pour les déchiffrer.
Mais plus encore ! Nous savons que si vous chiffrez un message avec une clé publique précise, il ne peut être déchiffré que par la clé privée correspondante. Mais le contraire est vrai aussi. Si vous chiffrez un message avec une certaine clé privée, il ne peut être déchiffré que par sa clé publique correspondante.
Pourquoi cela pourrait-il être utile ? À première vue, il ne semble pas y avoir davantage à envoyer un message secret avec votre clé privée, message qui pourrait être déchiffré par tous ceux qui posséderaient votre clé publique. Mais supposons que vous avez écrit un message qui disait « J’ai promis de payer 100 $ à Aazul » et que vous ayez ensuite rendu ce message secret en utilisant votre clé privée. N’importe qui pourrait déchiffrer ce message, mais seule une personne pourrait l’avoir écrit : la personne qui possède votre clé privée. Et si vous avez réussi à conserver votre clé privée en lieu sûr, cela signifie que vous et vous seul avez pu l’écrire. En fait, en chiffrant le message avec votre clé privée, vous avez garanti qu’il ne pouvait provenir que de vous. En d’autres mots, vous avez fait la même chose avec ce message numérique que nous faisons quand nous signons un message dans le monde réel.
La signature rend aussi les messages inviolables. Si quelqu’un essayait de changer votre message « J’ai promis de payer 100 $ à Aazul » en « J’ai promis de payer 100 $ à Ming », cette personne ne pourrait pas le resigner en utilisant votre clé privée. Donc, un message signé garantit qu’il provient d’une certaine source et qu’il n’a pas été altéré en transit.
En résumé : utiliser la cryptographie par clé publique anchor link
Résumons. La cryptographie par clé publique vous permet de chiffrer et d’envoyer des messages en toute sécurité à toute personne dont vous connaissez la clé publique.
Si d’autres personnes connaissent votre clé publique :
- elles peuvent vous envoyer des messages secrets que vous seul pouvez décoder en utilisant votre clé privée correspondante et
- vous pouvez signer vos messages avec votre clé privée afin que les destinataires sachent que les messages ne peuvent provenir que de vous.
Et si vous connaissez la clé publique de quelqu’un d’autre :
- Vous pouvez décoder un message signé par cette personne et savoir qu’il provient d’elle.
Il devrait maintenant être clair que la cryptographie par clé publique s’avère plus utile quand plus de gens connaissent votre clé publique. La clé publique est partageable, dans le sens que c’est un fichier que vous pouvez traiter comme une adresse dans un annuaire : elle est publique, les gens savent qu’ils peuvent vous y trouver, vous pouvez largement la partager et les gens savent qu’en chiffrant des messages pour cette clé publique ils les chiffrent pour vous.
La clé publique est accompagnée d’un fichier appelé une clé privée. Vous pouvez considérer la clé privée comme une clé réelle que vous devez protéger et conserver en lieu sûr. Votre clé privée est utilisée pour chiffrer et pour déchiffrer des messages.
Il devrait être aussi évident que vous devez assurer la sécurité totale de votre clé privée. Si votre clé privée est accidentellement supprimée de votre appareil, vous ne pourrez plus déchiffrer vos messages chiffrés. Si quelqu’un copiait votre clé privée (soit en accédant physiquement à votre ordinateur, soit par le biais d’un programme malveillant sur votre appareil, soit si vous publiez ou partagiez accidentellement votre clé privée), d’autres pourraient alors lire vos messages chiffrés. Ils pourraient se faire passer pour vous et signer des messages en prétendant que vous les avez écrits.
Il n’est pas rare que des gouvernements volent des clés privées sur les ordinateurs de certaines personnes (en saisissant les ordinateurs ou en y introduisant des programmes malveillants, que ce fut par un accès physique ou grâce à des attaques par hameçonnage). Cela annule la protection que la cryptographie par clé privée offre. C’est un peu comme dire que vous pourriez avoir un verrou incrochetable sur votre porte, mais qu’un voleur à la tire pourrait quand même dérober la clé dans votre poche, la copier et l’y remettre à votre insu. Il pourrait alors rentrer chez vous sans même crocheter le verrou.
Cela nous ramène au modèle de menaces : déterminer la nature des risques auxquels vous êtes exposé et y remédier adéquatement. Si vous estimez que quelqu’un pourrait déployer de grands efforts pour essayer d’obtenir votre clé privée, vous ne voudrez peut-être pas utiliser une solution de chiffrement de bout en bout dans le navigateur. Vous préférerez peut-être juste stocker votre clé privée sur votre ordinateur ou sur votre téléphone au lieu de l’ordinateur de quelqu’un d’autre (comme dans le nuage ou sur un serveur).
Résumé de la cartographie par clé publique et un exemple précis : PGP. anchor link
Nous avons donc passé en revue le chiffrement symétrique et le chiffrement par clé publique dans des explications séparées. Nous devrions cependant remarquer que le chiffrement par clé publique utilise aussi le chiffrement symétrique ! Le chiffrement par clé publique ne fait que chiffrer une clé symétrique qui est ensuite utilisée pour déchiffrer le message même.
PGP est un exemple de protocole qui utilise à la fois la cryptographie symétrique et la cryptographie par clé publique (asymétrique). D’un point de vue fonctionnel, l’utilisation d’outils de chiffrement de bout en bout tel que PGP vous permettra de bien comprendre les pratiques de la cryptographie par clé publique.
Que sont les clés exactement ? Et comment sont-elles reliées l’une à l’autre ? anchor link
La cryptographie par clé publique repose sur la prémisse qu’il y a deux clés : une clé pour le chiffrement et une clé pour le déchiffrement. Voici comment cela fonctionne : vous pouvez envoyer une clé par une voie non sécurisée telle qu’Internet. Cette clé est appelée la clé publique. Vous pouvez publier cette clé publique n’importe où, dans tous les lieux publics, sans compromettre la sécurité de vos messages chiffrés.
Cette clé partageable est la clé publique : un fichier que vous pouvez traiter comme une adresse dans un annuaire : elle est publique, les gens savent qu’ils peuvent vous y trouver, vous pouvez largement la partager et les gens savent qu’en chiffrant des messages pour cette clé publique ils les chiffrent pour vous.
La clé publique est accompagnée d’un fichier appelé la clé privée. Vous pouvez considérer la clé privée comme une clé réelle que vous devez protéger et conserver en lieu sûr. Votre clé privée est utilisée pour chiffrer et déchiffrer des messages.
Nous allons examiner la génération de clés dans le cas d’un algorithme de cryptographie par clé publique utilisé couramment et appelé (Rivest–Shamir–Adleman). RSA est souvent utilisé pour générer des paires de clé (biclé ) pour le courriel chiffré avec PGP.
La clé publique et la clé privée sont générées ensemble et reliées l’une à l’autre. Toutes deux reposent sur les mêmes très grands nombres premiers secrets. La clé privée est une représentation de deux très grands nombres premiers secrets. Métaphoriquement, la clé publique est le nombre produit : elle est composée des deux même très grands nombres premiers utilisés pour générer la clé publique. Ce qui est incroyable, c’est qu’il est très difficile de déterminer quels très grands nombres premiers ont créé la clé publique.
Ce problème est appelé factorisation de nombres premiers et certaines mises en application de la cryptographie par clé publique exploitent cette difficulté qu’éprouvent les ordinateurs à calculer les nombres premiers qui la composent. La cryptographie moderne nous permet d’utiliser des nombres premiers aléatoires ridiculement gigantesques qu’humains et ordinateurs ont du mal à deviner.
Et l’atout de la cryptographie par clé publique réside dans le fait que les utilisateurs peuvent partager leur clé publique par des voies non sécurisées pour se permettre de chiffrer les uns à l’intention des autres ! Ce faisant, ils ne divulguent jamais leur clé privée (leurs nombres premiers secrets), car ils ne sont jamais tenus d’envoyer leur clé privée pour déchiffrer les messages.
Souvenez-vous : pour que la cryptographie par clé publique fonctionne, l’expéditeur et le destinataire doivent connaître la clé publique de l’autre.
Voici une autre manière de se la représenter : la clé publique et la clé privée sont générées ensemble, comme un symbole du yin et du yang. Elles sont interconnectées.
Il est possible de chercher la clé publique et de la partager. Vous pouvez la distribuer à n’importe qui. Vous pouvez la publier sur vos réseaux sociaux si vous ne voyez pas d’objection à ce qu’elle divulgue l’existence de votre adresse courriel. Vous pouvez la mettre sur votre site Web personnel. Vous pouvez la distribuer.
La clé privée doit être conservée en lieu sûr et à portée de main. Vous n’en avez qu’une. Vous ne souhaitez ni la perdre, ni la partager, ni en faire des copies qui se promènent, car il deviendrait plus difficile d’assurer le caractère confidentiel de vos messages privés.
Comment PGP fonctionne-t-il? anchor link
Examinons comment la cryptographie par clé publique pourrait fonctionner, toujours en utilisant l’exemple de PGP. Disons que vous souhaitez envoyer un message secret à Aarav :
- Aarav possède une clé privée et comme tout bon utilisateur du chiffrement par clé publique, il a mis sa clé publique connexe sur son site Web HTTPS.
- Vous téléchargez sa clé publique.
- Vous chiffrez votre message secret en utilisant la clé publique d’Aarav et lui envoyez.
- Seul Aarav peut décoder votre message secret, car lui seul possède la clé secrète correspondante.
« Pretty Good Privacy » (PGP) s’occupe principalement des tâches de création et d’utilisation des clés privées. Vous pouvez l’utiliser pour créer une biclé publique/privée, pour protéger la clé privée par mot de passe , et pour l’utiliser combinée à votre clé publique pour signer et chiffrer des textes.
Si vous ne deviez retenir qu’une chose de cette présentation, ce serait : conservez votre clé privée en lieu sûr et protégez-la par une longue phrase de passe .
Les métadonnées : ce que le chiffrement par clé publique ne peut pas faire anchor link
La raison d’être du chiffrement par clé publique est de garantir que le contenu d’un message est secret, authentique et inaltéré. Mais ce n’est peut-être pas la seule préoccupation que vous pourriez avoir au sujet de la protection de l’information. Comme nous l’avons noté, les renseignements concernant vos messages peuvent être aussi révélateurs que leur contenu (voir les métadonnées).
Si vous échangez des messages chiffrés avec un dissident connu dans votre pays, le simple fait de communiquer avec cette personne pourrait vous mettre en danger, même si ces messages ne sont pas décodés. Dans certains pays, vous pouvez faire face à une peine d’emprisonnement simplement pour avoir refusé de décoder des messages chiffrés.
Il est plus difficile de dissimuler que vous communiquez avec une personne précise. Dans l’exemple de PGP, une façon de le faire est d’utiliser tous les deux des comptes anonymes de courriel et d’y accéder avec Tor. Si vous le faites, PGP sera quand même utile à la fois pour assurer la confidentialité des courriels et pour vous prouver mutuellement que les courriels n’ont pas été altérés.
Maintenant que vous vous êtes familiarisé avec la cryptographie par clé publique, essayez d’utiliser des outils de chiffrement de bout en bout tels que Signal pour iOS ou Signal pour Android.