Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Gerer Son Porte Clefs


Introduction

Gérer son porte-clefs, c'est :

  • Exporter sa clef public pour la diffuser,
  • Exporter sa clef privée pour la sauvegarder,
  • Importer les clefs publiques de ses connaissances.

Lister ses clefs

Voici comment lister ses différentes clés :

gpg --list-key
Pour connaître la liste des clefs publiques que vous possédez.
gpg --list-secret-keys
Pour connaître la liste des clefs privées.
gpg --delete-key la-clef-publique
Pour supprimer une clef publique.
gpg --delete-secret-key la-clef-privée
Pour supprimer la clef privée.

Exporter une clé

Comment exporter

Pour que vos correspondants puissent vérifier la validité des informations que vous leur envoyez, il faut leur donner la clef publique.

  $ gpg --export --armor votre-clef > clefpublique.asc

Cette commande génèrera un fichier .asc, qui est finalement un fichier texte. Alors, plusieurs solutions s'offrent à vous...

Que faire de sa clé publique ?

  • Soit vous la transmettez à un serveur sécurisé, par exemple http://pgp.mit.edu, en faisant un copier-coller du fichier texte produit, dans la fenêtre mise à disposition sur ledit site. Tout le monde pourra s'y référer rapidement.
  • Soit vous mettez ce fichier sur votre site internet personnel, et vous distribuez son lien.
Cette méthode n'est pas très sûre pour de multiples raisons. Par contre, elle vous permet de mettre à jour régulièrement, et simplement, votre clef.
  • Soit vous la remettez de la main à la main. C'est la méthode la plus sûre.

Export sécurisé

Il faut limiter absolument le nombre d'intermédiaires non sécurisés. Rien que l'exportation dans un fichier sur votre disque n'est pas sûr !

Il existe une commande qui permet d'exporter votre clef, de façon sécurisée, directement sur le serveur de clés :

  $ gpg --send-keys --keyserver pgp.mit.edu clef-publique

Importer une clé d'un fichier

Importer une clé publique

Pour importer une clé publique :

  $ gpg --import clef.asc

Importer sa propre clé privée

Pour pouvoir réimporter sa propre clef privée, après une réinstallation par exemple, il faut l'avoir précédemment exporté avec la commande suivante :

  $ gpg --export-secret-key -a > fichier

Alors, pour l'importer, on procède comme suit :

  $ gpg --import --allow-secret-key-import fichier

Cette opération étant relativement peu sécurisée, il vaut mieux l'éviter.

Révoquer sa clef

Constitution d'un certificat

Pour révoquer sa clé, il faut au préalable avoir constitué un certificat, comme suit :

  $ gpg --gen-revoke votre-clef

Cette commande créera un certificat, vous permettant de révoquer, un jour, votre clef. Il faudrait le conserver dans un fichier.

La révocation

Si vous souhaitez révoquer une clé, il faut déposer votre certificat de révocation sur les serveurs de clefs où se trouvent ladite clé.

Supposons que le certificat de révocation se trouve dans le fichier revocation.txt. On doit commencer par importez ce fichier, comme suit :

  $ gpg --import revocation.txt

Ensuite, on l'exporte au serveur de clefs :

  $ gpg --keyserver pgp.mit.edu --send-keys votreclef

Si tout s'est bien passé, votre clef est maintenant invalide.

Editer les clés

On remarque que notre propre clé publique est déjà dans le trousseau, et qu'elle est elle-même séparée en deux parties :

  • la première pour valider les signatures que l'on émet,
  • la deuxième pour que d'autres personnes puissent nous chiffrer des messages (que l'on déchiffrera donc avec notre clé secrète).

On peut aussi noter l'ID de notre clé, qui référence cette clé de manière unique : il est situé sur la première ligne, après le premier '/' : ici l'ID de notre clé est 0xA0BBED3B.

Si on le désire, il est possible d'ajouter une adresse email à notre clé. On va éditer notre clé et ajouter un uid :

  $ gpg --edit-key christophe
  gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

  La clé secrète est disponible.

  pub  1024D/B52FF09E  créé: 2009-01-30  expire: jamais   utilisation: SC  
                       confiance: ultime        validité: ultime
  sub  4096g/5552598C  créé: 2009-01-30  expire: jamais   utilisation: E   
  [ ultime ] (1). Christophe Guyeux (Clé du boulot) <christophe.guyeux@univ-fcomte.fr>

  Commande> 

À ce stade, il est possible de taper la commande help pour avoir la liste des sous-commandes disponibles. On constate que la commande recherchée est adduid...

  Commande> adduid

Grâce à cette commande on peut ajouter un uid de la même façon qu'on avait créé l'utilisateur initial. On remarque dès maintenant l'appel à la passphrase pour autoriser la modification.

Reste à sauvegarder les changements...

  Commande> save

Après les changements sauvés, on remarque qu'une nouvelle entrée est apparue dans notre trousseau (l'ordre des adresses email importe peu) :

  $ gpg --list-keys /home/guyeux/.gnupg/pubring.gpg
  ...

On pourra maintenant signer et se faire envoyer des mails chiffrés en utilisant indifféremment l'une ou l'autre de ces adresses email.

Diffusion des clés

Les serveurs de clés

Maintenant que notre clé publique est complète, on peut la diffuser.

L'usage veut que les clés publiques soient envoyées sur des serveurs de clés qui eux-mêmes communiquent entre-eux.

Ainsi, lorsqu'on reçoit un message signé d'une personne dont on n'a pas la clé dans notre trousseau, il est possible d'aller chercher la clé publique sur un serveur de clés afin de vérifier l'authenticité du message.

De la même façon, si on veut envoyer un message chiffré à une personne, on peut récupérer sa clé publique afin de l'utiliser pour chiffrer le message.

ATTENTION ! Cette méthode n'est pas sûre. Avant de faire confiance à une clé récupérée de cette manière, bien lire ce qui concerne les réseaux de confiance.

Quels serveurs de clés

Il existe plusieurs serveurs de clés usuels. Citons, par exemple, les serveurs

  • pgp.mit.edu,
  • www.keyserver.net,
  • wwwkeys.pgp.net,
  • wwwkeys.us.pgp.net,
  • wwwkeys.uk.pgp.net,
  • etc.

La commande

  $ host -l pgp.net | grep wwwkeys

donne une liste, non exhaustive, de serveurs de clés.

L'envoi des clés

Envoyons notre clé sur le serveur pgp.mit.edu, par exemple :

  $ gpg --keyserver pgp.mit.edu --send-key 0xA0BBED3B
  gpg: success sending to `pgp.mit.edu' (status=200)

Notre clé est donc maintenant disponible sur ce serveur, et par la suite, elle sera normalement répliquée sur les autres serveurs de clés.

Importer une clé d'un serveur

Maintenant, nous souhaitons ajouter un ami à notre trousseau. Il nous faut son id...

  $ gpg --search-key christophe guyeux
  gpg: recherche de « christophe guyeux » du serveur hkp keys.gnupg.net
  (1)	Christophe Guyeux <guyeux@ens-cachan.org> 
  	  1024 bit DSA key E8CEA9F2, créé: 2007-12-12
  (2)	Christophe Guyeux <guyeux@iut-bm.univ-fcomte.fr>
  	  1024 bit DSA key 347AE5F2, créé: 2007-12-10
  Keys 1-2 of 2 for "christophe guyeux".  Entrez le(s) nombre(s), 
  S)uivant, ou Q)uitter > 

Il suffit donc de taper le numéro correspondant à la clé recherchée, afin d'importer la clé publique du serveur de clés vers notre trousseau.

On peut aussi effectuer une recherche rapide en se connectant sur le site web de pgp.mit.edu (par exemple), puis importer la clé trouvée comme suit :

  $ gpg --keyserver pgp.mit.edu --recv-key 0xCE63A2E7
  gpg: requesting key CE63A2E7 from pgp.mit.edu ... 
  gpg: key CE63A2E7: public key imported 
  gpg: Total number processed: 1 gpg: imported: 1

Maintenant, lorsque l'on listera les clés de notre trousseau, on aura une clé supplémentaire :

  $ gpg --list-keys
  /home/guyeux/.gnupg/pubring.gpg
  -------------------------------
  pub   1024D/B52FF09E 2009-01-30
  uid                  Christophe Guyeux (Clé du boulot)   <christophe.guyeux@univ-fcomte.fr>
  sub   4096g/5552598C 2009-01-30

  pub   1024D/E8CEA9F2 2007-12-12
  uid                  Christophe Guyeux <guyeux@ens-cachan.org>
  sub   2048g/06A37D6A 2007-12-12

Page Actions

Recent Changes

Group & Page

Back Links