Dans le précédent numéro de Linux Pratique, nous vous avons présenté GnuPG, un outil utilisant un système de clés asymétriques, vous permettant de crypter vos e-mails. Peut-être souhaitez-vous à présent savoir comment crypter un fichier quelconque (un fichier texte OpenOffice par exemple), car celui-ci contient des informations de la plus haute importance que vous devez protéger...
Le chiffrement de fichiers nécessite bien entendu que l'application GnuPG soit installée sur votre machine (site officiel :
http://www.gnupg.org). GnuPG est disponible pour GNU/Linux, Mac OS X et Windows. Vous devez également déjà disposer d'au moins une clé de chiffrement. Si ce n'est pas le cas, je vous invite à consulter l'article paru dans Linux Pratique #32 concernant GnuPG.
Vous utilisez Gnome : chiffrez vos fichiers avec Seahorse
SeaHorse est une interface graphique Gnome pour GnuPG. Mais il n'est pas un simple gestionnaire de clés GPG. Il permet également de signer ou de crypter un fichier via Nautilus à l'aide d'une entrée dans le menu contextuel Encrypt...
Chiffrement du fichier
La procédure est très simple :
- Vous créez votre fichier texte, puis vous l'enregistrez normalement.
-  Via votre navigateur de fichier Nautilus, vous ouvrez le répertoire où se trouve votre fichier texte, et vous effectuez un clic droit dessus avec la souris.

Fig. 1 : Dans Nautilus, le menu contextuel vous permet de crypter et/ou de signer un fichier.
- Dans le menu contextuel qui apparaît alors, choisissez Encrypt...
- Une nouvelle fenêtre apparaît, elle contient la liste de vos clés publiques et des clés publiques de vos correspondants. Il vous faut choisir ici le destinataire du fichier. Choisissez votre clé si vous souhaitez simplement protéger votre fichier des autres utilisateurs, choisissez la clé d'un de vos correspondants si le fichier lui est destiné.
Un nouveau fichier d'extension .pgp apparaît : il s'agit du fichier crypté. Cette extension dépend des options que vous aurez choisies pour le chiffrage (menu Édition -> Préférences dans Seahorse, onglet Paramétrage du chiffrage). Si vous cochez la case Armor Encode Files, vous obtenez ainsi un fichier crypté au format .asc (encodage avec armure ASCII).
Attention, le fichier d'origine, lui, est laissé en l'état, c'est-à -dire en clair. N'oubliez pas de le supprimer si nécessaire. Vous pouvez à présent envoyer votre fichier chiffré par mail à son destinataire en toute sécurité.

Fig. 2 : Le chiffrage du fichier génère un fichier crypté d'extension .pgp
Déchiffrement du fichier chiffré
Si votre fichier confidentiel a été chiffré avec la clef de votre correspondant, vous-même ne pourrez plus ouvrir et déchiffrer ce fichier (réfléchissez bien avant de supprimer toute trace du fichier d'origine !). En effet, seule la clé privée de votre correspondant permet maintenant d'ouvrir et de lire ce fichier. Sans elle, toute personne qui essayera de déchiffrer le fichier sera confronté au message suivant :

Fig. 3 : Sans le mot de passe associé à la clé privée du destinataire, il est impossible d'ouvrir un fichier crypté.
Pour votre correspondant en revanche, c'est très simple : il reçoit le fichier et l'enregistre sur son disque dur. Un double-clic sur le fichier, ou un clic droit et Ouvrir avec "Decrypt File", permet d'appeler le fenêtre de dialogue lui permettant d'entrer son mot de passe (le mot de passe correspondant à sa clé privé) (Fig. 4).
Si le mot de passe est correct, le fichier apparaît en clair au même endroit que le fichier crypté. Mon correspondant peut alors l'ouvrir et le lire normalement.

Fig. 4 : Pour déchiffrer un fichier crypté, entrez votre mot de passe et si celui-ci est correct le fichier apparaît en clair.
Signer un fichier
Vous avez également la possibilité de signer vos fichiers pour l'authentifier (les destinataires peuvent ainsi s'assurer de l'identité de l'auteur et de la nature du document, c'est-à -dire si ce dernier n'a pas été intercepté et falsifié par une tierce personne). Lors d'un envoi par mail, cela permet de s'assurer que personne n'a intercepté le mail et remplacé les fichiers joints par des fichiers corrompus.

Fig. 5 : Certifiez l'origine de votre fichier en un clic...
Pour signer un fichier, effectuez un clic droit sur le fichier (un fichier texte OOo par exemple) et choisissez Signer... Seahorse vous propose alors la liste de vos clés publiques personnelles. Choisissez-en une. Vous devez ensuite entrer votre mot de passe. Enfin, un nouveau fichier a été créé, il porte l'extension .sig. Vous venez de générer une signature constituée de "l'empreinte" du fichier mêlé à la signature de votre clef pgp.

Fig. 6 : Le fichier généré est une signature numérique d'extension .sig
Mais ce fichier n'est jamais qu'un bout de texte incompréhensible, ce n'est pas un fichier chiffré ou le fichier original accompagné de quelque chose... C'est simplement une signature numérique. N'essayez donc pas de l'ouvrir sous OOo par exemple.
Il suffit d'envoyer à votre correspondant la signature, ainsi que le fichier original. Si votre fichier n'a pas été falsifié par une tierce personne, votre correspondant, via un clic droit sur la signature numérique, pourra lire un message du type "Good Signature from..." suivi de votre nom. Dans le cas contraire, le message indiquera "Bad Signature" (Fig. 7).

Fig. 7 : Lorsqu'une personne vous envoie un fichier, il suffit de vérifier la signature associée pour vous assurer de l'intégrité du fichier.
Signer un fichier est une procédure de sécurité, certes "un cran en dessous" du chiffrage, puisque tout le monde peut lire le fichier et/ou l'utiliser, mais cette fonction permet au moins de s'assurer de l'origine du fichier et qu'il a effectivement été validé par une personne de confiance.
Vous utilisez KDE : chiffrez vos fichiers avec Kgpg
Kgpg est également un gestionnaire de clés performant, qui regroupe les fonctionnalités que l'on attend de lui : import/export de clés, création, suppression, signature, etc. Puisque Kgpg et Seahorse sont des interfaces graphiques du même programme, la procédure de cryptage est quasiment la même.

Fig. 8: Kgpg s'iconifie dans le tableau de bord ; un simple glisser/déposer sur cette icône permet de crypter un fichier.
Cette application s'iconifie en haut à droite de votre écran. Un clic droit sur cette icône vous permettra d'accéder rapidement aux fonctionnalités les plus courantes. En outre, pour crypter un fichier, vous pourrez procéder par glisser/déposer sur cette icône. Aussitôt, une fenêtre de dialogue vous propose de choisir le destinataire du fichier, et vous propose diverses options. On en retiendra une très appréciable : au moment du cryptage vous pouvez choisir de broyer le fichier d'origine (Fig. 9, page suivante).
Constatez que Kgpg génère par défaut des fichiers cryptés au format .asc (Fig. 10, page suivante). Mais ceci est paramétrable via la fenêtre de configuration de Kgpg, où vous trouverez plusieurs options disponibles pour l'opération de chiffrement (clic droit sur l'icône et choisir Configurer Kgpg).


Fig. 9 : Kgpg peut se charger de détruire automatiquement le fichier d'origine dès la fin du chiffrement.
Fig. 10 : Les fichiers cryptés par Kgpg sont au format .asc par défaut.
Kgpg permet de chiffrer rapidement un texte ou quelques mots grâce à son éditeur intégré, qui permet de taper (ou copier/coller) rapidement un texte, puis de le crypter. Vous pourrez également signer ou vérifier une signature. Même procédure : vous tapez votre texte, vous choisissez un destinataire, et vous validez.

De plus, cet outil s'intègre parfaitement à Konqueror : un clic droit permet de crypter un fichier et un clic gauche permet de le décrypter. Contrairement à Seahorse, Kgpg ne permet pas de signer un fichier via le menu contextuel du navigateur de fichiers. Il faut passer soit par le presse-papiers, soit par l'éditeur intégré (Fig. 12).
De même, Kgpg interagit directement avec le presse-papiers. Un mot de passe, un code, etc. vous n'aurez qu'à copier l'information (avant de la faire disparaître) afin que celle-ci se trouve dans le presse-papiers. Puis, un simple clic droit sur l'icône de Kgpg vous permet de choisir Chiffrer le presse-papiers. Une petite fenêtre apparaît quelques secondes à l'écran pour vous confirmer quel texte a été chiffré.

Fig. 12 : Pour crypter un fichier, il suffit d'effectuer un clic droit dans Konqueror, puis de sélectionner l'option de cryptage.
Pour le déchiffrer, même méthode : clic droit puis choisir Déchiffrer le presse-papiers. L'éditeur intégré à Kgpg s'ouvre automatiquement et vous pouvez y lire des lignes de texte cryptées. Renseignez alors votre mot de passe, et hop ! le texte apparaît en clair...

Fig. 13 : Le fichier crypté n'apparaîtra en clair que si vous entrez le mot de passe approprié.
Il est bien entendu possible d'effectuer toutes ces opérations en ligne de commande. Les principales commandes à retenir sont :
|
|
$ gpg -e -r clef_du_destinataire fichier_a_chiffrer |
pour crypter un fichier destiné à une certaine personne.
|
|
$ gpg --sign [nom_fichier] |
pour signer un fichier
|
|
$ gpg –decrypt [fichier] |
pour décrypter un fichier (il vous faudra ensuite taper le mot de passe).
Des commandes plutôt intuitives en somme...Je vous invite à consulter l'intégralité des commandes dans le manuel (
$ gpg --help).