Le chiffrement PGP : comment ça marche

Pretty Good Privacy (PGP) est une norme et système de chiffrement libre invité en 1991.
PGP s'utilise pour chiffrer (crypter) des fichiers, partitions de disque ou mail.
Le chiffrement et l'authentification de mail se fait grâce au standard OpenPGP.
Sa plus grande utilisation est d'assurer le chiffrement bout en bout d'un mail afin de sécuriser vos communications.
Enfin il permet de signer un message pour vérifier l'identité de la personne qui envoyé un message.

Dans ce tutoriel, je vous explique le fonctionnement des chiffrement PGP et pourquoi vous avez intérêt à utiliser PGP.

Le chiffrement PGP : comment ça marche

Pourquoi utiliser PGP ?

Internet est un moyen de communication rapide de plus en plus utilisé.
On communique et échange toute sorte d'informations ou de message.
Parfois, on a besoin d'envoyer des mails sensibles.
Pour assurer la sécurité et confidentialité, on peut chiffrer ses mails pour être certains que seul le destinataire puisse le lire.
On appelle cela le chiffrement bout en bout.

PGP est un moyen simple d'y parvenir grâce à une norme de chiffrement libre.
Enfin il permet de signer ses mails afin de vérifier l'identité de l'expéditeur.
Avec PGP vous êtes sûr que le mail a bien été rédigé par votre correspondant et non par une personne qui tente de l'usurper.

C'est donc un moyen très simple pour sécuriser vos communications sur internet.

Le chiffrement PGP : comment ça marche

Le chiffrement de mail par PGP

PGP utilise à la fois le chiffrement symétrique et asymétrique pour chiffrer un mail.

Le principe général pour un chiffrer un mail avec PGP :

  • On génère une paire de clés (privée/secrète et publique)
  • Puis on transmet la clé publique à tous les contacts
  • Ensuite ces derniers utilisent celle-ci pour chiffrer le mail
  • A la réception du mail, vous déchiffrer le contenu du mail

En réalité, c'est un peu plus complexe.
Voici un schéma qui récapitule les étapes du chiffrement d'un mail par PGP.

Schéma de chiffrement d'un mail avec PGP
  • Tout d'abord, l'expéditeur génère une paire de clés (une clé privée et une clé publique) généralement avec l'algorithme RSA (Rivest–Shamir–Adleman) ou ECC
    • La clé publique sert à chiffrer ou signer les mails rédigés par les correspondants
    • La clé privée ou secrète sert à déchiffrer les données du mail
  • Puis on exporte la clé publique que l'on transmet à ses correspondants
La clé publique PGP
  • Au moment de créer un nouveau mail vers le destination, de la création d'un nouveau message, une paire de clé symétrique de session est aussi générée
  • Le message et contenu du mail est chiffré avec la clé symétrique
  • Puis la clé de session symétrique est chiffrée avec la clé publique asymétrique du destinataire
  • Le client mail envoie le mail au destination. Voici un exemple de mail chiffré. Le mail transite alors sur internet de manière sécurisé
  • A la réception du mail par le destinataire, celui-ci déchiffre la clé symétrique de session avec sa clé privée asymétrique
  • Enfin le destinataire peut alors déchiffrer le mail avec la clé symétrique pour accéder au contenu du mail

Voici à quoi ressemble le chiffrement de mail par PGP.
Ce dernier est totalement incompréhensible par un être humain.

Un mail chiffré en PHP

Ce qu'il faut donc bien comprendre :

Pour déchiffrer le mail, il faut connaître la clé symétrique du mail qui est elle même accessible qu'avec la clé privée du destinataire.
Ainsi, votre clé privée doit être protégée correctement.
En cas de fuite, il faut regénérer une nouvelle paire de clés.
En quelque sorte, votre adresse email est en quelques sortes associés à une clé publique.

Signer ses mails avec PGP

Comment un expéditeur peut-il savoir que la clé publique qu'il utilise appartient à la personne qu'il pense ? Après tout, le serveur pourrait facilement donner une fausse clé publique à l'expéditeur.
Pour identifier de manière sûr l'expéditeur, ce dernier peut signer numérique le mail.

L'expéditeur d'un message peut signer le message avec sa clé privée. La clé publique dont dispose le récepteur peut être utilisée pour vérifier que la signature est effectivement envoyée par l'utilisateur indiqué.

Message chiffré et signé avec PGP

Chiffrer et signer des fichiers avec Gpg4win

Gpg4win est un ensemble d'outils de cryptographie gratuits pour Windows.
Il prend en charge les deux normes de cryptographie pertinentes, OpenPGP et S/MIME (X.509), et est la distribution officielle de GnuPG pour Windows.

Avec ce dernier, vous pouvez chiffrer vos e-mails Outlook ou encore chiffrer vos fichiers.
Cela permet donc de les protéger par un mot de passe.

Déchiffrer ses fichiers avec OpenPGP et Kleopatra