[Tuto]Générer vos clés et chiffrer vos échanges avec Thunderbird

Avatar de l’utilisateur
TChatenet
Messages : 438
Inscription : mar. 21 févr. 2012 12:53
Localisation : Au milieu de l'océan

[Tuto]Générer vos clés et chiffrer vos échanges avec Thunderbird

Message par TChatenet » sam. 13 févr. 2016 09:32

Sans entrer dans des détails que d'ailleurs je ne connais pas le principe du chiffrement repose sur deux clés, une publique que vous fournissez à vos correspondants et qui est utilisée pour chiffrer un message mais qui ne fonctionne pas dans l'autre sens, et une clé privée qui est utilisée pour déchiffrer le message . Cette clé ne doit absolument pas être communiquée à qui que ce soit d'autre .
La clé publique est contenue dans la signature de votre mail quand vous le signez électroniquement, si vous souhaitez établir une liaison chiffrée avec un correspondant il vous suffit de lui adresser un mail signé , il récupère votre clé publique dans la signature et peut l'utiliser pour chiffrer sa réponse.
Pratiquement ces clefs et signature sont contenues dans des certificats .
Ces certificats peuvent vous être délivrés par des autorités de certification ( thawte par exemple ) et peuvent quand l'autorité en question a elle même vérifié votre identité servir à authentifier vos envois .
Le présent tutoriel a pour seule ambition de vous apprendre à générer vous mêmes vos certificats afin de chiffrer vos échanges . On va prendre l'exemple du cabinet de radiologie des dr DEMO Pierre et Jean disposant de deux sites à Paris .
On va dans un premier temps créer une autorité de certification qui sera le cabinet , puis les certificats personnels de Pierre et de Jean qui seront authentifiés par le cabinet .

On va d'abord télécharger les outils nécessaires là :
code.google.com/p/openssl-for-windows/downloads/list.

On choisit le 32 ou le 64 bits selon sa version de windows ( 32 si on ne sait pas ) et une fois le fichier zip téléchargé on le dézippe où on veut sur son disque; Mais : on le dézippe le plus près possible de la racine et dans une arborescence simple ne contenant pas d'espace car on sera amené plus loin à la recopier en ligne de commande. En pratique on double clique sur le fichier téléchargé (chez moi openssl-0.9.8k_X64.zip ) on sélectionne tout son contenu , clic droit copier , on va à gauche cliquer sur C: , à droite clic droit nouveau dossier que l'on nomme openssl et une fois dedans on colle. Une fois ceci fait on sélectionne dans le répertoire \bin l'exécutable openssl.exe , clic droit , exécuter en tant qu'administrateur et on se retrouve dans une console
A SAVOIR :
-> Tous les fichiers générés seront écrits sur le disque dans le répertoire \bin
->En pratique et contrairement à ce que j'ai fait dans l'exemple illustrant le présent tuto : n'utilisez de caractères accentués à aucun moment

*************** On crée d'abord l'autorité de certification
--- Et pour commencer on va lui créer une clé de chiffrement, pour cela , taper derrière le prompt :

Code : Tout sélectionner

genrsa -des3 -out autorite.key 4096
autorite.key est le nom du fichier qui sera écrit sur le disque ( vous auriez pu mettre moimeme.key ou n'importe quoi d'autre , mais surtout pas moimême.key) . Il vous
sera demandé de créer un mot ou une phrase de passe, faites simple et retenez la car elle vous sera souvent demandée.

--- Ensuite il vous faut créer un certificat comme suit ,renseignez le chemin du fichier de configuration qui est le chemin des fichiers précédemment décompressés

Code : Tout sélectionner

req -config C:\repertoire précedemment créé\openssl.cnf -new -key autorite.key -out autorite.csr
autorite.key est le nom de la clé que vous avez générée un peu plus haut, autorite.csr le nom que vous choisissez de donner au certificat.
Ce certificat est celui de l'autorité certifiante qu'il vous faudra ensuite valider dans Thunderbird. Si vous prévoyez d'entretenir des relations chiffrées avec de
nombreux correspondants je pense qu'il y a intérêt à ce que tous utilisent la même afin d'éviter la multiplication de cette validation .
On va dire que l'autorité certifiante s'appelle 'Mon cabinet crypté' située à Paris .

Il vous sera demandé
* le mot de passe que vous aurez inventé pour protéger la clé autorite.key
* divers renseignements qu'il serait possible de zapper mais qu'il vaut mieux renseigner :

Country Name ( en deux lettres , par défaut AU ) : FR
State or province Name ( nom complet de la région , département ..): Paris
Locality Name : Paris
Organization Name ( par défaut c'est Internet Widgits Pty Ltd ): Mon cabinet crypté
Organizational Unit Name (pas de valeur par défaut) : site de l'opéra
Common Name : médecins associés
Email Address (mettez une adresse quelconque) : medecins.associes@yahoo.fr

Renseignement optionnels
challenge password (je ne sais pas à quoi ça sert , on va écrire Challenge) : challenge
optional company name : pas mieux , on va taper un espace

--- Puis il faut signer ce certificat

Code : Tout sélectionner

x509 -req -days 365 -in autorite.csr -signkey autorite.key -out autorite.crt
autorite.csr non signé devient autorite.crt signé .
L'option -days stipule la durée de validité du certificat 365 = 1 an , 3650 = 10 ans .


*************** Voilà , vous venez de créer une autorité de certification , elle se nomme autorite et son certificat est autorite.crt présent dans le sous répertoire bin de votre arborescence.
Illustration1.png
Illustration1.png (100.98 Kio) Consulté 8393 fois
*************** Maintenant vous allez créer vos propres certificats , c'est le même processus

----> On crée la clé

Code : Tout sélectionner

genrsa -des3 -out maclef.key 4096
----> On crée le certificat

Code : Tout sélectionner

req -config C:\repertoire précedemment créé\openssl.cnf -new -key maclef.key -out maclef.csr
comme tout à l'heure il vous sera demandé

* le mot de passe que vous aurez inventé pour protéger la clé maclé.key
* divers renseignements qu'il vaut mieux renseigner :

Country Name ( en deux lettres , par défaut AU ) : FR
State or province Name ( nom complet de la région , département ..):
Locality Name :
Organization Name ( par défaut c'est Internet Widgits Pty Ltd ): Mon cabinet crypté
Organizational Unit Name (pas de valeur par défaut) : ce que vous voulez, on va mettre le nom du site dans lequel exerce Jean
Common Name : Quelque chose qui vous identifie ( votre nom par exemple )
Email Address : Très important , vous inscrivez ici l'adresse mail qui utilisera ce certificat

----> On va le signer et pour ce faire utiliser le certificat et la clé de l'autorité de certification

Code : Tout sélectionner

x509 -req -days 365 -in maclef.csr -CA autorite.crt -CAkey autorite.key -set_serial 00 -out maclef.crt
(-set_serial 00 donne un numéro d'ordre au certificat signé généré , là il s'agit du premier et on incrémente pour les suivants )

*************** Pour utiliser ce certificat personnel avec thunderbird il faut générer un certificat au format P12. Pour ce faire :

Code : Tout sélectionner

pkcs12 -export -in maclef.crt -inkey maclef.key -name "Votre Nom d'utilisateur" -out maclef.p12
Il vous sera demandé pour la dernière fois le mot de passe de la clé créée au tout début , et il vous faudra inventer un mot de passe qui vous permettra d'utiliser cette clé de déchiffrement plus tard

*************** Vous faites pareil pour pierre et c'est fini avec open SSL , vous pouvez taper exit pour fermer la fenêtre de commande
Illustration3 creation de pierre.png
Illustration3 creation de pierre.png (128.71 Kio) Consulté 8393 fois

*************** Il va falloir maintenant paramétrer Thunderbird pour utiliser les certificats

--> paramétrer les certificats
Ecran d'accueil de thunderbird, on appuie sur la touche Alt du clavier pour faire apparaitre les menus
Menu ' outils ' --> Options --> Onglet avancé --> Onglet certificats
-- > on décoche la case ' interroger le répondeur OCSP pour confirmer la validité de vos certificats'
Puis bouton ' voir les certificats '
Illustration 4.png
Illustration 4.png (37 Kio) Consulté 8393 fois
Onglet Autorités, bouton importer et on va chercher le autorite.crt on ouvre et on lui fait confiance au moins pour signer les mails, puis OK
Illustration 5.png
Illustration 5.png (41.23 Kio) Consulté 8393 fois
( on peut vérifier que Mon cabinet crypté --> Médecins associés est bien présent dans les autorités de confiance et on comprend pourquoi il vaut mieux éviter les lettres accentuées tout au long du processus).
Illustration 6.png
Illustration 6.png (49.68 Kio) Consulté 8393 fois
Puis onglet ' vos certificats ' et bouton importer . Jean va importer son certificat personnel ( Demo.p12) et pierre le sien ( pierre.p12 ) chacun sur son poste, le mot de passe demandé est celui que vous avez créé lors de la génération du P12 ( la dernière étape ) . bouton OK
Enfin onglets 'Personnes ' bouton importer, Jean va importer ici le crt de pierre ( pierre.crt ) et Pierre celui de Jean ( on l'avait appelé maclef.crt ) Dans mon exemple, je ne suis ni pierre ni jean , j'ai importé leurs deux certificats . Comme vous le voyez ces certificats sont attachés à leur adresse mail
Illustration 7.png
Illustration 7.png (31.62 Kio) Consulté 8393 fois
--> paramétrer les comptes
Dans paramètres des comptes , Dans la zone ' certificat personnel pour signer numériquement les messages envoyés : bouton sélectionner un certificat , sélectionnez votre certificat, puis à la question voulez vous utiliser le même certificat pour chiffrer et déchiffrer les messages qui vous sont envoyés , vous répondez oui , puis bouton OK.
Illustration 8.png
Illustration 8.png (33.53 Kio) Consulté 8393 fois


--> échanger des messages

Une fois ceci fait vous ouvez échanger des messages signés et chiffrés entre vous ce que vous pouvez vérifier car un cadenas et une enveloppe scellée figurent sur votre page de rédaction, pour ce faire une fois votre message écrit allez dans options et cochez chiffer , signer
Illustration 9.png
Illustration 9.png (26.25 Kio) Consulté 8393 fois
Vous pouvez vérifier la validité de la commande en cliquant sur le bouton ' sécurité '
Illustration10.png
Illustration10.png (25.33 Kio) Consulté 8393 fois
Et vous assurer que votre mail est bien signé et chiffré en vérifiant la présence du cadenas et d'une enveloppe scellée à droite de sa barre d'état
Illustration11.png
Illustration11.png (1.6 Kio) Consulté 8393 fois
Voilà un exemple . On aurait pu se dispenser de l'autorité de certification et autosigner les certificats , dans ce cas la ligne de commande devient

Code : Tout sélectionner

x509 -req -days 365 -in maclef.csr -signkey maclef.key -out maclef.crt
Elle ne fait plus appel à l'autorité de certification , dans ce cas il faut pour chaque certificat définir son périmètre de confiance dans thunderbird qui finit par s'y perdre , c'est pourquoi il m'a semblé plus fiable de vous faire créer une autorité de confiance ayant le pouvoir de signer les certificats personnels générés un peu plus loin

Voilà , ce tuto est un peu long mais ce n'est pas difficile en réalité . Il aura, j'espère, le mérite de vous faire mieux comprendre le fonctionnement des services payants de messagerie que vous utilisez comme apicrypt par exemple
Bonne journée
TC

Répondre