Introduction à la Cryptographie à Clé Publique et PGP

PGP signifie Pretty Good Privacy (Confidentialité Plutôt Bonne). Il s’agit vraiment d’une  très&nbsp bonne confidentialité. S’il est correctement utilisé, il peut protéger le contenu de vos messages, textes, voire fichiers, d’être compris même par les programmes de surveillance étatique bien financés. Lorsqu’Edward Snowden déclare que le “chiffrement fonctionne,” il parle de PGP et de son logiciel associé. Il n’est pas exceptionnel que les gouvernements volent les codes privés des ordinateurs de certaines personnes (en emportant l’ordinateur, ou en y infiltrant un logiciel malveillant par accès physique, ou en l’attaquant par le biais du hameçonnage), ce qui détruit la protection et permet même de lire des courriers anciens. Il serait comparable de dire que votre porte dispose d’un cadenas indéverrouillable mais que quiconque peut vous soustraire votre code dans la rue, puis le copier et le glisser de nouveau dans votre poche—et ainsi entrer chez vous sans même déverrouiller le cadenas.

Malheureusement, PGP n’est pas facile à comprendre ou à utiliser. Le fort chiffrement utilisé par PGP—chiffrement à code public—est ingénieux mais difficile saisir. Le logiciel de PGP lui-même existe depuis 1991, ce qui le rend vintage, comme les premières versions de Microsoft Windows, et son apparence n’a pas beaucoup changé depuis lors.

La bonne nouvelle réside dans le fait qu’il existe de nos jours de nombreux programmes disponibles, capables de dissimuler le design vieilli de PGP et de le rendre plus facile à utiliser, tout particulièrement en matière de chiffrement et d’authentification du courrier—l’utilisation principale de PGP. Nous avons inclus des guides afin d’installer et de faire fonctionner ce logiciel autre part.

Avant de faire vos expériences avec PGP ou d’autres programmes l’utilisant, il vaut la peine de perdre quelques minutes afin de comprendre les fondements du chiffrement à code public : ce qu’il peut faire pour vous, ce qu’il ne peut pas faire et quand devez-vous l’utiliser.

Une Histoire de Deux Codes

Lorsque nous utilisons le chiffrement afin de combattre la surveillance, voici ce que nous tâchons de faire :

Nous prenons un message clairement lisible, comme “bonjour maman. Nous le chiffrons dans un message codé incompréhensible pour celui que le lira (“OhsieW5ge+osh1aehah6,” dit-il). Nous envoyons ce message chiffré sur Internet où il peut être lu par beaucoup de personnes mais, heureusement, impossible à comprendre. Puis, il arrive à destination, notre destinataire désigné, et seulement lui dispose de la manière de le déchiffrer et lui rendre son sens d’origine.

Pourquoi notre destinataire sait-il déchiffrer le message alors que personne d’autre ne le sait ? Parce qu’il connaît des informations complémentaires que personne ne connaît. Appelons-les le code de décodage, car il déverrouille le message à l’intérieur du code.

Pourquoi le destinataire connaît-il ce code ? Parce que l’expéditeur le lui a préalablement indiqué, que ce soit en “en maintenant le message face à un miroir” ou en “prenant chaque lettre et la transformant en la prochaine lettre de l’alphabet.” Il existe cependant un problème avec cette stratégie. Si vous vous souciez d’être épié lorsque vous envoyez votre message code, comment envoyez-vous le code au destinataire sans que quelqu’un épie également cette conversation ? Il n’est pas logique d’envoyer un message ingénieusement chiffré si votre attaquant connaît d’ores-et-déjà le code afin de le déchiffrer. Et si vous disposez d’une manière secrète d’envoyer des codes de décodage, pourquoi ne l’utilisez-vous pas pour tous vos messages secrets ?

La cryptographie à clé publique possède une solution élégante à ce problème. Chaque personne, au cours d’une conversation, possède une manière de créer deux codes. L’un d’eux est un code privé qu’elle garde secrètement et ne divulgue à personne. L’autre code est public et elle le met à la disposition de quiconque souhaitant communiquer avec elle. Peu importe qui peut voir ce code public. Vous pouvez l’afficher en ligne où tout le monde puisse le voir.

Les “codes” eux-mêmes sont, fondamentalement, des chiffres très longs avec certaines propriétés mathématiques. Le code public et le code privé sont reliés. Si vous chiffrez quelque chose en utilisant le code public, quelqu’un d’autre peut le décoder en utilisant son code privé correspondant.

Voyons son fonctionnement. Vous souhaitez envoyer un message secret à Aarav. Aarav possède le code privé, mais comme tout bon utilisateur du chiffrement à code public, il a affiché son code public associé sur sa page Web. Vous téléchargez le code public, chiffrez le message en utilisant ce dernier et le lui envoyez. Il peut le décoder car il possède le code privé correspondant– mais il n’y a que lui qui puisse le faire.

Signature des temps actuels

La cryptographie à clé publique se débarrasse également du problème de la contrebande de codes de déchiffrage vis-à-vis de la personne à laquelle vous souhaitez envoyer un message, car cette personne possède déjàle code. Vous devez juste disposer du code de chiffrement public correspondant que le destinataire peut mettre à disposition de tous, même des espions. Il est seulement utile au moment de chiffrer un message, il est inutile pour celui qui tâche de le déchiffrer.

Il y a plus ! Si vous chiffrez un message avec un certain code public, il ne peut être déchiffré que grâce au code privé correspondant. Mais l’inverse est aussi vraie. Si vous chiffrez un message avec un certain code privé, il ne peut être déchiffré que grâce au code public correspondant.

Pourquoi est-ce utile ? Au premier abord, il ne semble y avoir aucun avantage à créer un message secret avec votre code privé que tout le monde (ou tout du moins, ceux qui possèdent votre code public) peut cracker. Mais supposez que j’ai écrit un message disant “J’ai promis de payer 100$ à Aazul” puis que l’ai transformé en message secret grâce à mon code privé. N’importe qui peut déchiffrer ce message—mais une seule personne pet l’avoir écrit : la personne qui possède mon code privé. Si j’ai fait un bon travail en gardant mon code privé en lieu sûr, je suis le seul concerné. En effet, en le chiffrant avec mon code privé, j’ai garanti qu’il ne puisse provenir que de moi. En d’autres mots, j’ai fait la même chose avec ce message digital que nous faisons lorsque nous signonsun message dans le monde réel.

Signer rend également le message infalsifiable. Si quelqu’un essaie de modifier “J’ai promis de payer 100$ à Aazul” par “J’ai promis de payer 100$ à Bob,” il ne pourra pas le re-signer en utilisant mon code privé. Un message signé garantit son origine, ainsi que le fait de na pas être tripatouillé en transit.

Donc, la cryptographie à clé publique vous permet de chiffrer et d’envoyer des messages en toute sécurité à tous ceux dont vous connaissez le code public. Si d’autres personnes connaissent votre code public, ils peuvent vous envoyer des messages que vous seul pouvez déchiffrer. Et si les autres connaissent votre code public, vous pouvez signer les messages afin qu’ils sachent qu’ils viennent de vous. Et si vous connaissez le code public de quelqu’un d’autre, vous pouvez déchiffrer le message que cette personne a signé et savoir qu’il ne pouvait venir que d’elle.

Il doit maintenant être clair que la cryptographie à clé publique devient utile quand bon nombre de personnes connaissent votre code public. Il doit également être évident que vous devez garder votre code privé en lieu sûr. Si quelqu’un d’autre obtient une copie de votre code privé, il peut se faire passer pour vous et signer des messages en prétendant que vous les avez écrits. PGP dispose d’une caractéristique vous permettant de “révoquer” un code privé et d’avertir les autres qu’il n’est plus digne de confiance, mais la solution n’est pas géniale. Le plus important lorsque vous utilisez le système de cryptographie à clé publique est de garder votre code privé en lieu très sûr.

Fonctionnement de PGP

Pretty Good Privacy se centre sur les menus détails de la création et de l’utilisation des codes public et privé. Vous pouvez créer une paire de codes public/privé grâce à lui, protéger le code privé avec un mot de passe et l’utiliser, ainsi que votre code public, afin de signer et de chiffrer des textes. Il vous permettra également de télécharger les codes publics d’autres personnes, ainsi que les vôtres sur des “serveurs de codes publics”, qui consistent en des référentiels où les autres peuvent trouver votre code. Consultez nos guides afin d’installer le logiciel compatible avec PGP sur votre logiciel de courrier.

Si vous ne deviez retenir qu’une seule chose du présent aperçu, ce serait la suivante : vous devez garder votre code privé en lieu sûr et protégé moyennant un long mot de passe. Vous pouvez mettre votre code public à disposition de quiconque afin de communiquer ou de faire savoir que le message provient bien de vous.

PGP Avancé : Le Web de Confiance

Vous avez sans doute remarqué un défaut potentiel de fonctionnement de la cryptographie à clé publique. Supposez que je distribue un code public que je sais appartenir à Barack Obama. Si les autres me croient, ils commenceront sans doute à envoyer des messages secrets à Barack, en les chiffrant au moyen du code. Soit ils peuvent croire que tout ce qui a été signé grâce à ce code est une déclaration assermentée de Barack. Ceci est tout à fait particulier, est survenu à certaines personnes dans la vie réelle, y compris certains auteurs du présent document—certaines personnes leur ont écrit pour leur faire savoir qu’elles avaient été dupées ! (Nous ne sommes pas tout à fait sûrs, dans ces cas, si certains de ceux qui créent les faux codes peuvent réellement intercepter les messages en transit et les lire, ou s’il s’agit de l’équivalent d’un canular afin que ce soit moins pratique de maintenir des conversations sécurisées).

Une autre attaque sournoise consiste en ce que l’attaquant se trouve entre deux personnes parlant en ligne, épiant ainsi toute leur conversation, et en y introduisant à l’occasion des messages trompeurs. Grâce à la conception d’Internet en tant que système de transport de messages via divers ordinateurs et parties privées, cette attaque est tout à fait possible. Dans cette circonstance (dénommée “attaque de l’homme du milieu”), échanger les codes sans accord préalable peut devenir extrêmement risqué. “Voici mon code”, annonce une personne qui semble être Barack Obama et vous envoie un fichier contenant un code public. Mais quid si quelqu’un a brouillé la transmission du code d’Obama et introduit son propre code ?

Comment pouvons-nous prouver qu’un certain code appartient réellement à une certaine personne ? Une manière de procéder est d’en obtenir directement le code, mais elle ne vaut pas mieux que notre idée originale d’obtenir un code secret sans que personne ne nous épie. Pourtant, les personnes continuent d’échanger leurs codes publics lorsqu’elles se rencontrent, de en privé ou lors de soirées cryptographiques publiques.

PGP dispose d’une solution légèrement meilleure, dénommée le “Web de confiance.” Sur le Web de confiance, si je crois qu’un code appartient à une certaine personne, je peux signer ce code puis le télécharger (ainsi que la signature) sur le serveur de codes publics. Ces serveurs de codes fourniront ensuite les codes publics signés à quiconque en faisant la demande.

Grossièrement parlant, plus je croirais que les personnes ont signé le code et plus il est probable que je croie réellement que le code appartient à celui qui le réclame. PGP vous permet de signer les codes des autres personnes et d’avoir confiance en les autres signataires, s’ils signent un code, votre logiciel croira automatiquement que ce code est valide.

Le Web de confiance possède ses propres défis et les organisations comme la Fondation Frontières Électroniques examinent actuellement de meilleures solutions. Mais pour l’instant, si vous souhaitez disposer d'une alternative à la fourniture des codes en personne, utiliser le Web de confiance et le réseau du serveur de codes publics demeure la meilleure option.

Métadonnées : Ce Que PGP Ne Peut Pas Faire

PGP consiste en garantir la confidentialité, l’authenticité et l’absence de falsification du contenu d’un message. Mais ce souci de confidentialité peut ne pas être le seul. Nous avons vu que les informations concernantvos messages peuvent être aussi révélatrices que leur contenu (Cf. “métadonnées”). Si vous échangez des messages PGP avec un dissident bien connu de votre pays, vous pouvez être en danger du seul fait de cette communication, et bien que ces messages ne soient pas déchiffrés. Effectivement, dans certains pays, vous pouvez risquer la prison simplement pour avoir refusé de décoder des messages chiffrés.

PGP ne peut rien faire afin de déguiser la personne avec qui vous communiquez, ou que vous utilisiez PGP pour ce faire. Effectivement, si vous téléchargez votre code public sur les serveurs de codes, ou signez les codes d’autres personnes, vous faîtes savoir au monde entier quel code vous appartient et qui vous connaissez.

Vous n’avez pas besoin d’en arriver là. Vous pouvez garder votre code public à l’abri et ne le mettre à la disposition que des personnes en qui vous avez confiance, ainsi que de leur interdire de le télécharger sur des serveurs de codes publics. Vous n’avez pas besoin de joindre votre nom à un code.

Camoufler que vous communiquez avec une personne en particulier est plus difficile. Une manière de procéder consiste en ce que vous utilisiez tous les deux des comptes e-mail anonymes et ayez accès à eux en utilisant Tor. Ce faisant, PGP sera toujours d’utilité, à la fois afin de maintenir la confidentialité de vos messages et de prouver que ces derniers n’ont pas été falsifiés.

Dernière actualisation: 
2014-11-07
JavaScript license information