Cryptographie!

Chiffrer ses e-mails : principe de fonctionnement du PGP

Historique
  Le créateur de PGP est Philippe Zimmermann, un informaticien américain impliqué dans les luttes politiques. Dans les années 1980, il milite activement pour le gel de l'armement nucléaire américain, au moment où la tension entre blocs de l'est et de l'ouest est encore très forte. Avec l'arrivée de Gorbatchev au pouvoir en URSS et la détente des relations est/ouest qui s'en suivit, Zimmermann consacra son énergie à un autre projet : protéger la vie privée des gens. Il avait compris, dès le début des années 1990, au moment où Internet n'en était encore qu'à ses balbutiements, que le développement du courrier électronique permettrait aux États d'espionner à grande échelle leurs citoyens. Voici ce qu'il dit en 1991, dans le guide de l'utilisateur de PGP, comme le rapporte S. Singh dans Histoire des codes secrets :
Autrefois, si le gouvernement voulait percer l'intimité de simples citoyens, il devait se donner du mal pour intercepter, déceler et lire une correspondance écrite, ou écouter et éventuellement enregistrer des conversations téléphoniques. On peut comparer cela à attraper un poisson avec une ligne, un poisson à la fois. Heureusement pour la démocratie et la liberté, ce travail intensif d'espionnage n'est pas praticable à grande échelle. Aujourd'hui, le courrier électronique se substitue de plus en plus au courrier traditionnel, et bientôt ce sera peut-être la norme pour tout le monde, et non plus une nouveauté comme aujourd'hui. A l'inverse des lettres, les messages e-mail sont très simples à intercepter et à exploiter pour trouver d'utiles mots-clefs. Ceci peut être exécuté à grande échelle facilement, systématiquement et sans qu'on puisse le détecter. C'est comparable à la pêche au filet - et cela constitue une différence orwellienne quantitative et qualitative considérable pour la santé de la démocratie.

  La solution, pour Zimmermann, consiste à chiffrer les e-mails. C'est ainsi qu'il conçoit le logiciel PGP, pour Pretty Good Privacy, que l'on pourrait traduire par "plutôt bonne sécurité". Il utilise pour cela des techniques éprouvées, avec un cryptosystème hybride mélangeant système à clé publique (RSA) et système à clé privée (IDEA). En juin 1991, le logiciel est prêt. Zimmermann, par l'intermédiaire d'un ami, le place sur un serveur internet. PGP peut être copié et utilisé gratuitement par n'importe qui!

  Les ennuis commencent alors pour Zimmermann. D'une part, il n'a pas le droit d'utiliser l'algorithme RSA. Il est en effet breveté (aux États-Unis) par la société RSA Data Security, qui ne lui avait pas donnée de licence d'utilisation. D'autre part, il fut accusé par le FBI d'exportation illégale d'armement. En effet, le gouvernement américain incluait les logiciels de chiffrement dans sa définition des munitions, au même titre que les missile, les mitraillettes et les mortiers. PGP ne pouvait pas être exporté sans une autorisation du Département d'État… La procédure dura jusqu'en 1996, année où le FBI décida d'abandonner les poursuites. Il était trop tard, PGP avait essaimé partout et condamner Zimmermann n'y changerait rien.

Principe de fonctionnement

  Le PGP fonctionne suivant le principe suivant :

  1. Compression : le texte à envoyer est compressé. Cette étape permet de réduire le temps de transmission des données, et améliore également la sécurité. En effet, la compression détruit les modèles du texte (fréquences des lettres, mots répétés). Et on sait que ces modèles sont souvent utilisés dans les analyses cryptographiques.
  2. Chiffrement du message : une clé de session aléatoire est générée, et le message est chiffré par un algorithme symétrique à l'aide d'une clé de session. L'algorithme utilisé a varié au cours du temps : il s'agissait au début d'IDEA, puis de CAST.
  3. Chiffrement de la clé de session : la clé de session est chiffrée en utilisant la clé publique du destinataire (et l'algorithme RSA).
  4. Envoi et réception du message : l'expéditeur envoie le couple message chiffré / clé de session chiffrée au destinataire. Celui récupère d'abord la clé de session, en utilisant sa clé privée, puis il déchiffre le message grâce à la clé de session.

  Le PGP implémente donc le meilleur de la cryptographie à clé secrète et à clé publique. Il utilise la rapidité de la cryptographie à clé secrète, et résoud l'échange des clés secrètes grâce à la cryptographie à clé publique. Par ailleurs, PGP implémente aussi les fonctions de certificat (l'expéditeur est sûr qu'il envoie son message au bon destinataire) et de signature électronique (le destinataire est sûr que le message vient bien de l'expéditeur).

  Une propriété particulièrement intéressante de PGP, et qui contribua beaucoup à son succès, est qu'il agit de façon totalement transparente pour l'utilisateur, qui peut toujours utiliser son logiciel e-mail préféré sans se soucier de la façon dont le chiffrement est implémenté. Par exemple, le couple clé publique/clé privée est généré par PGP lors de son installation à partir des mouvements de souris de l'utilisateur. Voici une bonne façon de générer des nombres aléatoires!

  Une autre fonction particulièrement intéressante de PGP est sa façon de gérer les certificats. Alors que la procédure générale consiste à faire certifier son identité par une autorité de certification, procédure bien adaptée aux entreprises, mais pas aux particuliers, PGP fait fonctionner les réseaux sociaux. Si je fais toute confiance à Laurent, et que Laurent me garantit la clé publique de Yanick, j'ai toutes les raisons de faire moi aussi confiance en la clé de Yanick. On se constitue ainsi un trousseau de clés avec pour chacune une note de confiance, et on partage ce trousseau avec ses amis!