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
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
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
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. *************** 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
Code : Tout sélectionner
req -config C:\repertoire précedemment créé\openssl.cnf -new -key maclef.key -out maclef.csr
* 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
*************** 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
*************** Vous faites pareil pour pierre et c'est fini avec open SSL , vous pouvez taper exit pour fermer la fenêtre de commande
*************** 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 ' 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 ( 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). 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
--> 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.
--> é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 Vous pouvez vérifier la validité de la commande en cliquant sur le bouton ' sécurité ' 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 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
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