szecret

La plupart d'entre vous utilise des webmails comme Yahoo!, Gmail, ou encore Hotmail. Et nous l'avons vu dans l'affaire Twitter, c'est toujours très dangereux de laisser ses données à la merci de n'importe quel pirate.

Donc aujourd'hui, branle bas de combat dans les chaumières, voici comment chiffrez vos emails (et pas "crypter ses emails") afin de vous protéger des pirates et autres yeux indiscrets.

Oubliez tous les types de chiffrage que vous connaissez, le seul qui vaille, c'est le chiffrage par clé asymétrique... Le concept est parfois dur à saisir pour un novice mais au niveau technique c'est ultra simple.

J'utilise les illustrations de Wikipedia.

La fille de gauche vient de générer sa paire de clés. Les clés de chiffrements se génèrent toujours par 2. La première, la clé rose, c'est une clé PRIVÉE. C'est à dire que vous devez être le seul a en avoir possession. Et la seconde, la verte, c'est une clé PUBLIQUE.

Le monsieur en vert, si il veut écrire à la demoiselle devra utiliser la clé publique de la demoiselle avec SA clé privée que lui possède. Et vice versa, pour que la demoiselle puisse déchiffrer le message envoyé par le monsieur, elle devra utiliser SA clé privée connue d'elle seule, couplée à la clé publique du monsieur.

Un message doit donc pour être chiffré ou déchiffré correctement utiliser votre propre clé privé et la clé publique de votre destinataire.

Voici la version expliquée selon Wikipedia (histoire de vous embrouiller un peu plus)

Objectif : Bob souhaite envoyer des données chiffrées à Alice en lui garantissant qu'il en est l'expéditeur.

  1. Bob crée une paire de clés asymétriques : il conserve la clé privée et envoie la clé publique à Alice
  2. Alice crée une paire de clés asymétriques : clé privée (qu'elle conserve), clé publique (qu'elle diffuse librement, notamment à Bob)
  3. Bob effectue un condensat de son message « en clair » puis chiffre ce condensat avec sa propre clé privée
  4. Bob chiffre son message avec la clé publique d'Alice.
  5. Bob envoie le message chiffré accompagné du condensat chiffré.
  6. Alice reçoit le message chiffré de Bob, accompagné du condensat.
  7. Alice déchiffre le message avec sa propre clé privée. À ce stade le message est lisible mais elle ne peut pas être sûre que Bob en est l'expéditeur.
  8. Alice déchiffre le condensat avec la clé publique de Bob.
  9. Alice utilise la même fonction de hachage sur le texte en clair et compare avec le condensat déchiffré de Bob. Si les deux condensats correspondent, alors Alice peut avoir la certitude que Bob est l'expéditeur. Dans le cas contraire, on peut présumer qu'une personne malveillante a tenté d'envoyer un message à Alice en se faisant passer pour Bob !

Voilà pour la théorie... Maintenant que vous êtes super rodé à la théorie, on va passer à la pratique. Un très bon logiciel de chiffrement s'appelle GPG. C'est l'équivalent libre et open source de PGP donc c'est censé ne pas contenir de backdoor de la NSA :-)

Et surtout GPG est légal en France !

L'usage de PGP (Pretty Good Privacy), un des premiers logiciels de chiffrement disponibles sur l'Internet, a longtemps été interdit en France, car considéré jusqu'en 1996 comme une arme de guerre. La législation française s'est ensuite assouplie, et le chiffrement symétrique avec des clés aussi grandes que 128 bits a été autorisé. Certains logiciels, comme GNU Privacy Guard, peuvent être utilisés avec n'importe quelle taille de clé symétrique. Enfin, la Loi du 21 juin 2004 pour la confiance dans l'économie numérique a totalement libéralisé l'utilisation des moyens de cryptologie, en revanche leur importation ou exportation est soumise à déclaration ou autorisation (source)

GPG est a la base un programme qui s'utilise dans une console, ce qui rebute les moins puristes. Mais il existe une multitude d'interfaces graphiques et de plugins utilisant GPG, peu importe que vous utilisiez Outlook, Thunderbird ou Gmail en direct, vous trouverez toujours le petit soft GPG qui vous permettra de chiffrer vos emails.

Aujourd'hui, le soft dont je vais vous parler s'appelle FireGPG. Il s'agit d'un plugin pour Firefox qui permet de chiffrer n'importe quels messages dans un webmail. (ou n'importe quel champs texte dans firefox en fait... donc y compris des messages sur des forums and co). Ce n'est qu'un exemple parmi d'autres mais je pense que c'est bien pour se familiariser avec les concept du chiffrement asymétrique.

Pour installer ce plugin, c'est par là...

Une fois que c'est installé, vous avez accès à différentes options via le menu "Outils -> FireGPG" ou via un clic droit dans une zone de texte dans un webmail par exemple.

Capture-100

Cette capture ne correspond pas
à la dernière version de FireGPG

1ère étape - Créer votre clé !

Allez dans ce menu et cliquez sur "Gestionnaire de clés" puis cliquez sur le bouton "Nouvelle clé" pour générer votre paire de clés. C'est aussi à cet endroit que vous importerez les clés publiques de vos amis.

Capture-FireGPG - Nouvelle clé

Renseignez les champs... Plus le cryptage est fort et plus la clé mettra du temps à se générer. Pour les algo, RSA ou DSA, je ne sais pas quel est le plus sécurisé mais je pense que ça se vaut... Après si il y a des experts dans la salle, je serai ravi d'entendre leur opinion. Et surtout, mettez un vrai mot de passe qui tient la route avec des majuscules, des minuscules, des chiffres, et des caractères zarbis. Cliquez sur "Générer la clé". Firefox va alors se bloquer, pas de panique. Allez faire un démineur ou ouvrez un tchat avec votre contact MSN Tatiana pour patienter.

Votre paire de clés est maintenant créée. Importez les clés publiques de vos amis et surtout donnez leur la votre (et mettez la en signature de vos emails). Pour connaitre votre clé publique, toujours dans le menu de FireGPG, cliquez sur "Exporter" (ou importer pour ajouter les clés de vos pôtes)

Capture-FireGPG - résultat

On voit clairement que la clé commence par -- BEGIN PGP PUBLIC KEY BLOCK -- ce qui nous confirme qu'il s'agit bien de votre clé publique. (ouf)

Vous pouvez donc la diffuser sur votre site ou dans vos emails en guise de signature.

2ème étape - Chiffrage / signature de notre premier email

Ensuite, 2 choix s'offrent à vous... Signer ou chiffrer votre message. Le signer, ça permet de le laisser en clair mais d'en attester l'origine. Quand un de vos emails est signé, votre destinataire peut facilement savoir si c'est bien vous qui l'avez envoyé.

Le chiffrement lui, ne permet pas de voir le message.

Prenez un webmail classique...

Capture-99

Faites un clic droit et dans le menu FireGPG, sélectionnez l'option "Chiffrer". On vous demande alors un mot de passe et de sélectionner la clé publique de votre destinataire. Votre message apparaitra ensuite complétement chiffré et lisible seulement par votre destinataire. Vous pouvez donc l'envoyer sans crainte. (et pour le chiffrement des pièces jointes, utilisez un outil GPG standard pour les fichiers)

Capture-98

Et sous Gmail, c'est déjà intégré dans l'interface :

Capture-101

Ensuite, rebelotte... lorsque vous recevez un message chiffré, il ne vous reste plus qu'à le déchiffrer via l'option qui va bien. Rien de bien compliqué en somme. Maintenant, la balle est dans votre camp.

Voici ma clé publique. Vous pouvez donc m'écrire en chiffrant vos communications avec cette clé et je serai le seul à pouvoir les lire.

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

mI0ESmAZdQEEAKiGLYlGPV5z2UZt3W86C1c1Q7lJxZSeNLBEDVnJef7ZUpCmD1QQ
d2CPpNlhB+H7lNcFBudRdtVDVqdHKXALsm4f9d+GVgvNaJkn8kdDiJhyw/oPeM0J
31KBxAOtEBvKjKsTHlqw/kemoiNyvLEamRx5T/l3Sa4kayAlhkTXrbmbABEBAAG0
JUtvcmJlbiAoTWEgY2zDqSkgPGtvcmJlbkBrb3JiZW4uaW5mbz6ItgQTAQIAIAUC
SmAZdQIbLwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEPKmGyOdyLYTxaED/33L
kbsn8e9knkrhLradHWwXQhxyiCeilvov6iJeKjVopjy5jUDsE/RYMy/vqaEDpk5E
JsNG6exc8k632xSOtYbS/7Ul7pQItEUiguBSXY+JZJRLecqbp2UViUE+z4HXoCEv
ysvLI5g0HUleKLncQjNJVuFBZdoEEKfIdfVVnZ8zuI0ESmAZdQEEAN5Av4a0x1Zk
lx7N9IH/zr3vFi7NmQ6uaQLUODGj7EvqWnAELJOi2JGzY5q5amLXwOch8/xu7624
IYBjOq2Jn4Mxp8+QMftFeI2MTyqwCgXQMjOqteAnUjFipHMP+GhI8ASBBAHGFmaS
1h9MW6c56HQxzqtcy1Iv+uMHz7w9vrzBABEBAAGJAT0EGAECAAkFAkpgGXUCGy4A
qAkQ8qYbI53IthOdIAQZAQIABgUCSmAZdQAKCRCuswzOeChjvhFSA/9W8zepZt2i
sUoKR16XEQ+oAUO0Grp+RH523X3YOw7ASfCM7/Yu9bsNak86fa9XkuoHWPTG9u7I
s1kx4i47Ps94Jf37BQh+dNQEVuqMy8bWYV2pMV52/mlu4XghFTMx5Qgtegcw1bU0
Utx7iX+wt9cQA1YyTQuCtw8VHs33YnYQypqMBACanOmRNsq/Ya8S1vtilnL+Pkg6
yY1nuH0utWXl1Ip5CaN6Zup8Fi+KOlrHUX75q7XBw/DLXIX+IYBYi+7bOa/j/fc7
oHnnMO6+hT0qkvW79VtpOiqQokuDYPArneFTZlmLJmkVDEuphXmSnu3bQGcetQQE
RL/qPRYmFV4m6Dl5kA==
=qOzo
-----END PGP PUBLIC KEY BLOCK-----

J'espère que ce petit tuto vous aura appris quelques trucs...