Quand on reçoit une lettre, l'expéditeur inscrit souvent son adresse au dos de la lettre ou il met un coup de tampon quelque part sur la lettre. Dans ce cas, on sait avant d'ouvrir la lettre qui nous écrit. Pour les courriels, il y a un principe équivalent, on voit toujours le nom et l'adresse électronique de l'expéditeur.

Que se passe-t-il si on écrit au dos d'une lettre, « Nicolas Sarkozy, Palais de l'Élysée, 55 rue du Faubourg-Saint-Honoré, 75008 Paris » ? Rien de spécial, la lettre arrivera à destination sans problème. Il en va de même pour les courriels ; on peut indiquer à son logiciel de courriel dans la section identité de l'utilisateur : nom : Nicolas Sarkozy, adresse électronique : nicolas.sarkozy@elysee.fr .

faux courriel de Sarkozy

Si vous pensez que ce n'est pas une vraie copie d'écran, envoyez-moi votre adresse électronique pour que je vous envoie ce courriel.

S'il n'y avait que des plaisantins sur Terre, on pourrait s'accommoder de blagues de ce type. La plupart des gens n'ont pas besoin de vérifier que l'expéditeur est bien celui qu'il prétend être mais si vous en avez besoin, il existe un moyen simple pour éviter ce problème : la signature numérique (détails plus loin).

Une autre comparaison peut être faîte entre le courrier classique et le courrier électronique. Pour éviter que les différents facteurs impliqués ne lisent les courriers échangés vous utilisez un moyen simple pour cacher le contenu du courrier : une enveloppe. Il arrive que certains courrier n'aient pas d'enveloppe : les cartes postales, des courriers dans lesquels rien d'important n'est écrit.

Existe-t-il des enveloppes pour le courrier électronique ? La réponse est non, tous les courriels envoyés sont lisibles sans efforts par les administrateurs des ordinateurs qui les ont transmis (une petite dizaine généralement). Pire encore, la plus part du temps, les courriels sont laissés dans la « boîte de réception » ce qui fait qu'ils sont toujours sur le serveur de courriel du fournisseur de votre adresse électronique. Un administrateur incorrect peut donc sans problème espionner la correspondance d'une personne (courriels envoyés et reçus). Pour éviter ces désagréments, il existe le cryptage numérique.

Cryptage et signature numérique sont en fait deux utilisations différentes d'un même outil : les fonctions à sens unique avec trappe.

Pour commencer, il faut bien réaliser que tout ce qui concerne les transmissions numériques se réduit simplement à la transmission de nombres. Par exemple, un fichier texte dans lequel est écrit le mot « arbre » est représenté par le nombre 107 143 905 830 154. Si on veut transmettre ce fichier il faut transmettre ce nombre entre deux ordinateurs. Si on le transmet en clair, tout les intermédiaires pourront s'en souvenir et ainsi connaître notre message. Mais si on le crypte, seul le destinataire, normalement, sait comment le décrypter.

Pour transformer un nombre, on utilise un outil mathématique créer pour ça : une fonction. Par exemple la fonction f(x)=x+3 ajoute 3 au nombre de départ. Généralement, si on connaît la fonction, on peut retrouver le nombre de départ en connaissant seulement le nombre d'arrivée.

Les fonctions à sens unique font exception : il est presque impossible de retrouver le nombre de départ si on ne connaît que le nombre d'arrivée. Le seul moyen serait d'essayer tous les nombres un à un jusqu'à tomber sur le bon nombre. Cette méthode prendrait des milliards d'années dans le cas des fonctions utilisées pour crypter ou signer.

Les fonctions à sens unique avec trappe sont faîtes de telle sorte que celui qui connaît la trappe (un nombre secret) peut retrouver facilement le nombre de départ à partir du nombre d'arrivée.

Si Alice veut crypter un message pour Bob, elle utilise une fonction qui est publique mais qui n'est utilisée que par Bob : c'est la clé publique de Bob. Pour décrypter le message qu'Alice lui a envoyé, Bob utilise la trappe de sa fonction : c'est sa clé privée. Comme il est le seul, en principe, à posséder cette clé, seul lui peut décrypter le message.

Si Bob répond à Alice et qu'elle veut être sûre que c'est bien Bob qui répond, Bob va ajouter à la fin de son message une signature électronique. Pour faire cette signature, souvenez-vous que les messages électroniques sont des nombres, Bob va utiliser le nombre qui correspond à son message. Il va considérer que ce nombre est un message crypté et il va le décrypter avec sa clé privée (la trappe de sa fonction). Ce nombre « décrypté » est la signature du message : seul Bob peut calculer ce nombre. Pour vérifier que la signature est bien celle de Bob, il suffit à Alice de crypter la signature en utilisant la clé publique de Bob : si elle obtient le message que Bob lui a envoyé, alors la signature est correcte.

Si vous souhaitez en savoir plus sur le cryptage et la signature numérique, lisez des sites traitant du fonctionnement de l'algorithme RSA et du programme PGP.

J'ai écrit cet article dans le but de présenter l'intérêt d'utiliser le système PGP pour les courriels (j'utilise l'extension Enigmail pour Thunderbird). Si vous décidez d'essayer : contentez-vous du strict minimum pour commencer, c'est-à-dire générer une clé, transmettre cette clé à vos contacts, importer les clés de vos contacts et essayer enfin d'avoir un échange crypté. Oubliez l'histoire de confiance dans une clé et de signature de clé, ça ne fait qu'ajouter de la confusion et il est tout à fait possible qu'un geek en qui on peut avoir toute confiance se fasse dérober sa clé privée.

Un dernier mot à propos de l'argument classique « je n'ai rien à cacher ». D'abord, c'est faux : la plupart du temps ça peut être vrai mais il est irréaliste de penser qu'on n'aura jamais besoin d'envoyer un message confidentiel ; dans ce cas, si c'est le seul message crypté de l'année : il risque d'attirer sérieusement l'attention ! Enfin, on ne sait pas ce que les fournisseurs de courriels peuvent faire avec tous les messages qu'ils font transiter : ils peuvent très bien faire des statistiques sur la fréquence des thèmes aborder dans les messages, et faire commerce de ces informations : les dirigeants économiques et politiques sont très intéressés de savoir ce qui intéresse les gens.

Si vous voulez m'envoyez un message crypté, voilà ma clé publique :

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)

mQENBE6XEk4BCACXDUFvi5ijBQuV/H/LqGAW5JpgxJRHcZlUYGH2kA3LmpRy1Chz
w7NdvHtCIY6X4wk/uZs+pqXO9mJZEuVjx7jmUIk+iLrxVpgUn8Ru8wlXlLrVNK85
aSIvKHutlQ5qx6bd4cZUUKTSeS8Guk2c+s8R9ThKhQdVaHCuptWfNHYi5EQwfkKp
UXRUqreWLhEqHFDiKbC+qz4TsGkiS/14gxqQLN/73LEt2zIkcOhIW2xSf7aijTee
pGTxa7mIE+aMaoz1hbR4mdCKGGDsfa5ZaF7NwKXaTP9xKdYXRhfemor80tL+Q1Z2
HkoXP9LLKiSp44m5X8uqDEIcXrkTOMmR4z0fABEBAAG0JVPDqWJhc3RpZW4gPHRp
Z3Jlc2V0ZHJhZ29uc0B5YWhvby5mcj6JAT4EEwECACgFAk6XEk4CGyMFCQlmAYAG
CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEJvqiuSZ5R2bEfsIAJHiKsMIVwko
sa6RewwXjVPPocGIW+3N99B8h+oYUSEMYBulWLYcXyVHKipvUTy83YwtU+tqDVR9
ozYbD2HhtCNADvKY0qz71IuLOZddrVWBeGwcETk4tgkIxZZ+eLppML8acHM8jJYY
4I/Kan6a4xB92MXkzHxkfGe5x9PW0mUb/hP/oO06oWBJYR166JFKyMI1HZtFaFti
Hr+YY1/lkcwLA4Ojtla19q0wE84Gv42uwAaKwdpLiSyzw7Z/KvTmeCyE8T1CSSaS
eZZrAHWeShnhakM2TSkx/pUzN9f94WrJIt1mvULfdcjVSBU9aCPAskOYEET/7GJp
7eqOjC8aeTS5AQ0ETpcSTgEIAMCBniQ7RH0bTt0/7pgmMndNc9dYofeCGWIgh5N5
RD5CJ3f1TdfgbQsKS1CWLXYRjIs62mIoKpLCgiB5PWLKRD6y97xb/IbneAQp9d7L
4n7lGmDwzvHImd3Vg4Xm+5I0f01TivonqkhmminmGgW6qBwnJ2HfVWuLc0zH58C/
AUKOiyIvmm+c1dGBeI16GLcZLPG98/Zm3rooosfgnXZWZqRjpxfghFwUNp39TlIV
ZC/vK+C0Ie/TYtj7UdKFL74KTuMOt96quSb+QynpbGqLsFbXBLj4aovTcc9QOAho
WqInqDdizAqNi6b+UlPfeP3cPRCRjtj4mC20/5FcrAFiKWkAEQEAAYkBJQQYAQIA
DwUCTpcSTgIbDAUJCWYBgAAKCRCb6orkmeUdm2lBB/wI6aj/OpHZ2owol0Commnd
QS+BY0mYSANM+mCM/CK3C6s+WTyB4Mwi6Uq5cAdXGi1TLclFo4XtnWB0+C2YAqfy
kbeBcZhnYxucmzQ+O0rDI9bw5zYjbWoz11KbNllwj8RyBzSIWi2HHa4v4w8yP/R8
0MpyhzPH5zc8YSbzIVkHhQ9G1h0+/z5LTAYvhKeAer+kKKFSIlYIxC7ylDsC8aOa
25zU2e8uK+nGNz2Oe2pqZvnZOO0K2wZHyJpDhcWrEJN0/WCgmuSvsnvykK7JLaYy
AgRiVBlvdyfdgJZoDjslK8VG8BFK+3Fs/VnMaXS1FFsUtcj9l+W1zhYHEk9EJXTq
=gxvJ
-----END PGP PUBLIC KEY BLOCK-----

Je rappelle que vous devez deviner mon courriel.