Copyright © 2004 Rob Mitchell
Copyright © 2004 Sylvain Baron
Copyright © 2004 Joëlle Cornavin
Article paru dans le n°102 de la Gazette Linux de mai 2004.
Traduction française par Sylvain Baron
<sb CHEZ sylvain TIRET baron POINT net>
.
Relecture de la traduction française par Joëlle Cornavin
<jcornavi CHEZ club TIRET internet POINT fr>
.
Article publié sous Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.
L'un des premiers problèmes que j'ai rencontrés lorsque j'ai commencé à utiliser gnupg était la nécessité de recevoir des messages électroniques chiffrés sur plusieurs machines. Si vous avez l'expérience de gnupg, vous avez constaté que les clés sont stockées dans des trousseaux de clés, lesquels se trouvent dans le répertoire .gnupg de votre répertoire personnel. Vous pourriez vous contenter de copier votre clé privée sur les deux machines, mais cette solution ne vous conviendra peut-être pas car vous pourriez ne pas être en mesure de protéger physiquement les deux machines en permanence.
L'autre possibilité serait d'utiliser plusieurs clés publiques. Dans mon cas, je créerais une clé pour la maison et une pour le travail. L'opération est certainement réalisable mais elle limite mon usage des clés à deux machines. Quid si je souhaitais déchiffrer un message électronique obtenu via une interface web sur une autre machine ? Pour cela, vous devez prendre votre clé privée avec vous.
Nous allons voir comment transporter en toute sécurité des clés d'une machine à l'autre à l'aide de commandes et de techniques Linux de base.
Dès que vous avez créé vos clés publique et privée, voici à quoi ressemble votre répertoire .gnupg :
testpc:.gnupg->ll total 32 drwx------ 2 testacct testacct 4096 Apr 21 13:05 . drwx------ 13 testacct testacct 4096 Apr 21 13:03 .. -rw-rw-r-- 1 testacct testacct 7793 Apr 21 13:03 options -rw-rw-r-- 1 testacct testacct 899 Apr 21 13:05 pubring.gpg -rw-rw-r-- 1 testacct testacct 0 Apr 21 13:03 pubring.gpg~ -rw------- 1 testacct testacct 600 Apr 21 13:05 random_seed -rw------- 1 testacct testacct 1356 Apr 21 13:05 secring.gpg -rw-rw-r-- 1 testacct testacct 1240 Apr 21 13:05 trustdb.gpg |
Il semble que nous ayons au moins une clé publique dans pubring.gpg et au moins une dans secring.gpg. Vous pouvez vérifier l'existence des clés nécessaires avec deux commandes gnupg.
Vérifiez la clé publique avec l'option --list-keys
:
testpc:.gnupg->gpg --list-keys /home/testacct/.gnupg/pubring.gpg -------------------------------- pub 1024D/3445AAA9 2004-04-21 Test Key sub 1024g/A3F729EE 2004-04-21 |
Et la clé secrète avec l'option --list-secret-keys
:
testpc:.gnupg->gpg --list-secret-keys /home/testacct/.gnupg/secring.gpg -------------------------------- sec 1024D/3445AAA9 2004-04-21 Test Key ssb 1024g/A3F729EE 2004-04-21 |
Vous pouvez importer autant de clés publiques que vous en avez besoin ou que vous en utilisez régulièrement avant de les lister. Une fois que vous avez vérifié que toutes les clés que vous souhaitiez rendre portables sont dans le trousseau de clés, vous pouvez passer à la production des supports.
La méthode la plus rapide (et la moins onéreuse) pour produire un disque de clés est d'utiliser une disquette. La création de la disquette implique de :
Formater la disquette
Déplacer les trousseaux de clés sur la disquette
Insérez une disquette dans votre lecteur. Cette opération supprimant toutes données existantes, assurez-vous au préalable de n'avoir plus besoin de son contenu. Le fichier de périphérique associé à la disquette est /dev/fd0. Tout ce dont nous avons besoin est la commande mke2fs, les paramètres par défaut et un shell root.
testpc:dcs6255->su - Password: [root@testpc root]# mke2fs /dev/fd0 mke2fs 1.27 (8-Mar-2002) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 184 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user First data block=1 1 block group 8192 blocks per group, 8192 fragments per group 184 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. |
Après que le formatage est achevé, montez la disquette. La commande mount ne devra rien retourner.
[root@testpc root]# mount /dev/fd0 /mnt/floppy |
Cette étape doit en fait démarrer par une copie des fichiers du trousseau de clés sur la disquette. Si vous employez la commande mv pour les déplacer, la destruction des fichiers restants sur le disque dur ne peut être garantie. Par conséquent, avec l'aide d'un script simple sur la ligne de commande, vous pouvez copier les fichiers sur la disquette et recourir à l'utilitaire shred pour détruire ce qui reste.
[root@testpc home]#cd /home/testacct/.gnupg [root@testpc .gnupg]#for x in `ls` > do > cp $x /mnt/floppy > shred -zu $x > done |
L'option z
ordonne à shred de remplir de zéros l'espace sur disque qu'occupe le fichier ; l'option u
lui ordonne de supprimer le fichier à la fin de l'opération. Il n'y a maintenant plus de fichiers dans le répertoire .gnupg et voici à quoi ressemble le disque de clés :
[root@testpc .gnupg]#ll /mnt/floppy total 31 drwxr-xr-x 3 root root 1024 Apr 21 10:53 . drwxr-xr-x 4 root root 4096 Mar 23 14:07 .. drwx------ 2 root root 12288 Apr 21 09:02 lost+found -rw-r--r-- 1 root root 7793 Apr 21 10:53 options -rw-r--r-- 1 root root 899 Apr 21 10:53 pubring.gpg -rw-r--r-- 1 root root 0 Apr 21 10:53 pubring.gpg~ -rw------- 1 root root 600 Apr 21 10:53 random_seed -rw------- 1 root root 1356 Apr 21 10:53 secring.gpg -rw-r--r-- 1 root root 1240 Apr 21 10:53 trustdb.gpg |
Démontez la disquette. Vous pouvez vous en servir sur n'importe quelle machine sur laquelle il suffira de la monter. La commande umount ne devra rien retourner.
[root@testpc root]#umount /mnt/floppy |
Lorsque vous serez prêt à utiliser le disque de clés, montez-le simplement dans le répertoire .gnupg sur le disque dur. La commande df vous permet de vérifier le montage :
[root@testpc root]#mount /dev/fd0 /home/testacct/.gnupg [root@testpc root]#df Filesystem Size Used Avail Use% Mounted on /dev/hda2 2.6G 2.2G 347M 87% / /dev/hda1 72M 9.2M 59M 14% /boot none 62M 0 61M 0% /dev/shm /dev/fd0 1.4M 27K 1.2M 3% /home/testacct/.gnupg |
Vous êtes maintenant à même d'utiliser gpg avec le trousseau de clés portable sur la disquette. [1]
L'emploi de cette technique empêche quiconque ayant un accès physique à votre machine de voler votre clé privées Il va sans dire qu'il est d'une importance vitale de ne pas perdre votre disque de clés.
Un autre avantage de cette technique est que vous pouvez retirer votre trousseau de clés de la machine lorsqu'elle est connectée à l'Internet ou à un autre réseau.
D'autres supports pourraient être produits pour la portabilité des clés. Un CD-R est un support plus « permanent » qu'une disquette. Les distributions exécutant la version actuelle de Gnome ou KDE font appel à une fonctionnalité d'automontage pour les cédéroms qui rendraient l'utilisation d'un CD-R plus pratique que de monter manuellement une disquette. Cependant, comme le recours à un CD-R dans ce but gaspillerait beaucoup d'espace, je recommanderais d'employer un CD-RW si cela vous concerne. Vous pourriez également faire appel à une clé USB (ou flashdrive) avec cette technique. [2]
[1] | La méthode proposée nécessite d'être root. Pour une méthode générique, il me semble plus avisé de monter la disquette dans /mnt/floppy ( ou /floppy pour les utilisateurs de la Debian), puis de créer un lien symbolique :
Si un répertoire gnupg existe déjà, renommez-le le temps de l'opération. (N. d. T.) | |
[2] | L'usage de l'automontage semble se heurter au fait qu'il ne s'effectuera vraisemblablement pas dans ~/.gnupg. Dans ce cas, le lien symbolique susmentionné serait une solution. (N. d. T.) |