Le réputé système de cryptage Pretty Good Privacy (PGP) était vulnérable à un certain type d'attaque depuis environ trois ans. Si les connaissances techniques requises pour exploiter cette faille ne sont pas à la portée du premier venu, la méthode aurait pu prendre des airs de jeu d'enfant pour les experts de certains organismes policiers, gouvernementaux, criminels, etc.
Les fonctionnalités qui ont débouché sur cette faille ont été introduites dans le logiciel afin de répondre à l'exigence des compagnies et du gouvernement qui demandaient un moyen pour un tiers parti de pouvoir décrypter facilement l'information transmise. Dès leur introduction, ces fonctionnalités ont été très controversées.
Le logiciel PGP est un des systèmes les plus répandus d'infrastructure à clé publique. La première fois que le logiciel est utilisé, il crée deux clés: une publique et une privée. Tandis que la clé privée doit être jalousement protégée, la clé publique peut sans crainte être transmise à gauche et à droite. C'est elle que devront utiliser les personnes désirant vous transmettre des informations cryptées. Des serveurs de clés publiques existent d'ailleurs spécifiquement pour les distribuer facilement. La clé publique est donc celle qui permet d'encoder un message et la clé privée celle qui permet de le décoder.
Ce que les fonctionnalités controversées permettent de faire, c'est de juxtaposer discrètement une deuxième clé publique à la première, de façon à ce que quiconque code un message à destination d'une personne de sa connaissance le code également, bien souvent à son insu, de façon à ce qu'une troisième personne puisse le lire en utilisant sa propre clé privée.
Malheureusement, il existait jusqu'ici un certain laxisme dans la vérification de la provenance de la clé cachée. Il était donc possible pour un filou de télécharger la clé publique d'un utilisateur à partir d'un serveur conçu à cette fin, de la modifier pour y juxtaposer sa propre clé publique puis de renvoyer la clé modifiée sur le serveur. De plus, comme la deuxième clé publique est insérée dans le fichier de façon à ne pas être comptabilisée par le vérificateur d'intégrité, il faut examiner le fichier bit par bit pour savoir s'il est falsifié.
Voici une petite mise en situation destinée à illustrer de façon concrète le fonctionnement de la faille: Paul utilise PGP et a placé sa clé publique sur le serveur certserver.pgp.com, le plus populaire d'entre eux. Son ennemi Jean, constatant cela, télécharge la clé publique de Paul et lui juxtapose la sienne. Jean renvoie par la suite la clé sur le serveur et plus rien n'y paraît. Marie, la femme de Jean, secrètement éprise de Paul, désire lui envoyer une missive torride par courriel à partir de l'ordinateur familial mais, de peur que son jaloux de mari ne s'en aperçoive, prend la peine de la crypter en utilisant la clé publique de Paul qu'elle déniche sur certserver.pgp.com.
Confiante que ses secrets sont bien gardés, elle s'éloigne sans se méfier de l'ordinateur. Passe alors derrière elle son mari Jean qui, examinant la liste des messages envoyés, en trouve un crypté et destiné à Paul. Comme Marie l'a aussi inconsciemment crypté à son usage, il ne lui reste plus qu'à demander à PGP de décrypter le message en utilisant sa clé privée, tout comme le ferait Paul.
Network Associates, la compagnie derrière la plupart des versions de PGP, a lancé une multitude de logiciels et de rustine pour éliminer ce problème. GnuPG, un logiciel pour Linux compatible avec les versions PGP de Network Associates, est à l'abri de cette attaque.
Jean-François Codère
Le centre d'informations et de téléchargement mis sur pied par Network Associates
L'avertissement émis par le CERT sur le sujet
Un message de Phil Zimmerman, le créateur de PGP