• 12 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Découvrez les principes du chiffrement PGP

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Après avoir lu le chapitre précédent, vous vous dîtes certainement que tout cela est bien compliqué, et que vous n'allez pas vous amuser à mettre en place tous ces stratagèmes loufoques. Si chiffrer vos e-mails peut vous paraître une tâche bien fastidieuse, ce n'est en réalité pas compliqué à mettre en place !

Nous allons utiliser une solution nommée PGP (Pretty Good Privacy, une référence au nom d'une émission de radio aux États-Unis), qui se chargera de tout pour nous, de manière automatique. PGP rendra vos messages incompréhensibles pour les indésirables pirates.

Ainsi, si un curieux écoute sur le réseau Wi-Fi de votre appartement, de votre café préféré ou encore de votre chambre d'hôtel, et même s'il dispose d'un moyen de cracker vos connexions sécurisées via HTTPS, il ne pourra rien en tirer : vos mails resteront indéchiffrables pour lui. Qu'ils contiennent vos numéros de carte bancaire, vos coordonnées ou celles de vos contacts, vos photos, ou quoi que ce soit que vous souhaitiez garder secret.

En théorie

PGP est un système de chiffrement hybride, impliquant notamment une combinaison des chiffrements symétrique et asymétrique.

Pourquoi ne pas utiliser simplement un chiffrement asymétrique ?

Pour répondre à cette question, nous allons décortiquer le fonctionnement de PGP.

Lorsqu'un individu chiffre un message avec PGP, celui-ci est d'abord compressé. Sans trop rentrer dans les détails, cette compression a pour objectif d'améliorer la résistance du chiffrement. En effet, les cryptanalystes – c'est le terme qui désigne une personne cherchant à décoder un message chiffré sans détenir la clé – étudient la répétition des caractères, certaines formes (en anglais, on parle de patterns) pouvant se repérer dans le message chiffré si le contenu original contient des structures répétitives ou des doublons. Eh bien la compression, de par sa nature, réduit au maximum ces répétitions.

Cela dit, la compression n'est pas un remède à tous les maux, car certaines données sont difficilement compressibles (certains types d'images et de sons notamment), et d'autres sont de taille trop petite pour que la compression ait un impact suffisant.

PGP va ensuite créer une clé dite "de session", qui est une clé secrète et à usage unique, générée de manière aléatoire. Avec cette clé, PGP va alors chiffrer le message en s'appuyant sur un algorithme de chiffrement symétrique, rapide et sécurisé.

Symétrique ? Tu es sûr de ne pas avoir oublié une lettre ?!

Oui oui, vous avez bien lu, il s'agit d'un chiffrement symétrique. Pourquoi ? Eh bien tout simplement parce que le chiffrement symétrique est bien plus rapide (environ mille fois) que le chiffrement asymétrique ! Chiffrer un message volumineux en utilisant un chiffrement asymétrique prendrait bien trop de temps...

La contrepartie, vous la connaissez déjà : qui dit chiffrement symétrique dit nécessité de communiquer la clé de chiffrement au destinataire, et donc risque d'interception. Pour s'affranchir de cette contrainte, PGP va tout simplement s'appuyer sur un algorithme de chiffrement asymétrique pour chiffrer... la clé ! Et comme cette clé n'est pas très longue, contrairement à la longueur que pourrait avoir le contenu d'un message, ce traitement sera très rapide.

Ainsi, PGP réussit un véritable tour de force en chiffrant rapidement et de manière sécurisée, grâce à un algorithme symétrique à clé unique, et en assurant la transmission sécurisée de cette même clé, grâce à un algorithme asymétrique.

En résumé, voilà comment le tour de passe-passe est réalisé (les traitements annexes, comme la compression dont nous avons parlé, sont volontairement éludés afin de nous concentrer uniquement sur l'aspect chiffrement).

  • Un individu écrit un message, et demande à PGP de le chiffrer.

  • PGP crée alors une clé aléatoire à usage unique, et s'en sert pour chiffrer le message en suivant un algorithme symétrique.

  • PGP chiffre ensuite cette clé aléatoire, en utilisant un algorithme asymétrique, grâce à la clé publique du destinataire.

  • Le message est enfin transmis chiffré, accompagné de la clé servant à le déchiffrer, elle-même chiffrée !

Tout ça fait beaucoup de "chiffrer" en quelques lignes, mais si c'est encore un peu obscur pour vous, ce schéma devrait vous aider à y voir un peu plus clair :

Chiffrement avec PGP
Chiffrement avec PGP

À l'inverse, à la réception du message chiffré, le destinataire fera appel à PGP pour :

  • déchiffrer la clé de chiffrement accompagnant le message, grâce à sa clé privée ;

  • déchiffrer le message, grâce à la clé fraîchement déchiffrée.

Déchiffrement avec PGP
Déchiffrement avec PGP

Pour résumer, la combinaison de ces deux méthodes de chiffrement permet d'associer la facilité de communication via un système à clé publique, et la rapidité d'exécution via un chiffrement symétrique, sans jamais compromettre la sécurité.

En pratique

Comme vous vous en doutez, vous allez avoir besoin de destinataires qui eux aussi utilisent PGP. Si vous êtes le seul à chiffrer vos messages, mais que vos destinataires ne sont pas équipés pour les déchiffrer, ou si vos destinataires ne sont pas capables de vous envoyer des messages chiffrés, alors tout cela ne servira strictement à rien.

Vous allez ensuite devoir échanger vos clés publiques, pour permettre à vos destinataires de pouvoir lire vos messages, et pour vous permettre de lire les leurs. La plupart des gens communiquent leur signature PGP sur leur blog, ou dans la signature de leur profil sur leur(s) site(s) préférés, ou encore en tant que pièce jointe de leurs e-mails, pour que tous leurs destinataires aient leur clé publique à portée de main.

Concernant l'échange des clés publiques, nous verrons dans les chapitres suivants comment des outils nous simplifient grandement la tâche.

La première chose à faire est de générer votre paire de clés. Rappelez-vous : l'une sera votre clé publique, connue de tous, et l'autre sera la clé privée dont seul vous aurez connaissance. Il nous faut donc récupérer un logiciel qui en est capable.

PGP, OpenPGP, GPG... Késako ?

Si vous flânez un peu sur le web à la recherche d'informations sur PGP, vous allez vite vous rendre compte que certains sigles reviennent très souvent : on y parle principalement de PGP, d'OpenPGP et de GPG.

Quelle est la différence entre ces trois sigles ?

Historiquement, le sigle PGP désigne un logiciel de chiffrement propriétaire et payant, développé dans les années 1990, et racheté depuis par le groupe Symantec. Quelques années après, son créateur en a extrait et fourni un standard libre et ouvert, nommé OpenPGP. Mais le sigle PGP est resté dans le vocabulaire courant, et est encore aujourd'hui très largement employé pour désigner le concept du chiffrement en lui-même, et non pas le logiciel propriétaire. C'est d'ailleurs ce que nous avons fait dans ce cours.

Pour être exact, c'est donc sur le standard OpenPGP que se basent aujourd'hui la plupart des solutions de chiffrement PGP.

Une des alternatives libres et gratuites implémentant ce standard se nomme GPG, ou GnuPG. Ce logiciel est décliné sur la plupart des systèmes d'exploitation : Gpg4win pour Windows, GPGTools/GPG Suite pour Mac OS, et gnupg pour Linux.

Ainsi, nous allons installer le logiciel GPG pour créer nos clés et chiffrer nos données.

Installation de GPG

Sous Windows

L'implémentation de GPG de référence pour Windows se nomme Gpg4win. À l'heure de la rédaction de ce cours, elle fonctionne sur Windows XP, Vista, 7 et 8 (les deux versions 32 et 64 bits sont prises en charge), et est en version 2.2.4. Le projet est très actif et mis à jour régulièrement. Téléchargez la dernière version en date.

Installez alors simplement le logiciel en lançant le fichier  .exe  fraîchement téléchargé, comme vous installeriez n'importe quel autre programme. Laissez toutes les options proposées par défaut, et cliquez sur le bouton "Suivant" autant de fois que nécessaire. Une fois l'installation terminée, si le programme se lance automatiquement, fermez-le.

Sous Mac OS X

L'implémentation de GPG de référence pour Mac OS X se nomme GPG Suite. À l'heure de la rédaction de ce cours, elle requiert une version de Mac OS X égale ou ultérieure à 10.6. Téléchargez la dernière version en date.

Installez alors simplement le logiciel en lançant le fichier .dmg  fraîchement téléchargé :

Installation de GPG sous Mac
Installation de GPG sous Mac

Faites alors un double-clic sur l'icône nommée Install.pkg, et suivez l'assistant d'installation qui s'offre à vous en laissant les options par défaut. Une fois l'installation terminée, si le programme se lance automatiquement, fermez-le.

Sous Linux

L'implémentation de GPG de référence pour Linux se nomme gnupg, et est fournie par défaut dans la plupart des distributions. À l'heure de la rédaction de ce cours, le package à installer sur les distributions de type Debian/Ubuntu est gnupg2.

Installez alors simplement le logiciel, soit depuis votre gestionnaire de programmes, soit depuis un terminal en lançant la commande suivante (ou son équivalent si vous n'utilisez pas une distribution de type Debian/Ubuntu) : sudo apt-get install gnupg2 -y.

Utilisation de GPG

Je vous rassure tout de suite, nous n'allons pas travailler directement avec le logiciel GPG. Et c'est tant mieux, parce qu'il faut avouer que ce n'est pas très intuitif.

Quel est l'intérêt de nous avoir fait télécharger et installer GPG si nous n'allons pas l'utiliser ?

Nous allons tirer profit de logiciels bien plus ergonomiques, adaptés à nos usages, et qui eux-mêmes seront basés sur l'installation de GPG que nous venons de réaliser.

D'ailleurs, parlons-en de ces usages. L'époque où tout le monde avait un seul PC, et ne consultait ses e-mails que d'une seule manière est en passe d'être révolue. Aujourd'hui, on consulte ses e-mails depuis son ordinateur chez soi, on les consulte aussi souvent depuis son PC au travail, depuis sa tablette ou son smartphone, etc. Et tout ceci est un véritable challenge pour la mise en place efficace d'une solution de chiffrement comme PGP !

Eh oui, réfléchissez : le principe même de PGP, c'est d'utiliser une information secrète stockée uniquement sur votre machine (votre clé privée), afin de déchiffrer vos e-mails. Comme vous le savez, cela permet de faire transiter sur Internet vos e-mails dans un format complètement incompréhensible, et ces e-mails peuvent bien être copiés sur autant de serveurs que nécessaire avant d'arriver sur votre écran, cela n'a aucune influence sur leur confidentialité, car c'est seulement depuis votre machine que PGP procèdera à leur déchiffrement.

Vous commencez à voir où je veux en venir ? Pour pouvoir consulter un e-mail chiffré depuis votre PC à la maison, vous venez d'y installer GPG. Mais pour pouvoir consulter un e-mail chiffré depuis votre PC au travail, vous allez devoir y installer GPG également. Et pour pouvoir consulter un e-mail chiffré depuis votre smartphone, ou votre tablette, rebelote !

Si vous tentez d'accéder à un e-mail chiffré depuis une plate-forme non équipée pour le déchiffrement, eh bien tout ce que vous verrez, c'est un message incompréhensible, comme le verrait n'importe quel pirate interceptant vos communications.

Les usages étant très variés selon que l'on consulte ses e-mails depuis son ordinateur, sa tablette ou son smartphone, et selon que l'on utilise un client de messagerie ou un webmail, un chapitre a été dédié à chaque usage.

Vous voilà maintenant au point sur le fonctionnement de PGP, et sur les conditions nécessaires à son utilisation.

Il est temps maintenant de rentrer dans le vif du sujet, et de mettre en place le chiffrement PGP dans  vos divers environnements. Mais avant cela, un quiz vous attend pour vérifier si vous avez bien assimilé les notions présentées dans cette partie !

Exemple de certificat de réussite
Exemple de certificat de réussite