connectiva penguin bsd logo

Protéger un fichier avec un mot de passe (avec gpg)

Pourquoi utiliser gpg ?

Créer une paire de clés

Voir la liste des clés

Encrypter le fichier "fichier.txt" en lui spécifiant la clé associée

Décrypter le fichier

Effacer une paire de clés


Pourquoi utiliser gpg ?

Au départ, je cherchais un moyen de protéger un fichier avec un mot de passe car, au boulot, j'avais besoin qu'un fichier soit illisible de certaines personnes, y compris des personnes connaissant le mot de passe root.

Il y avait comme solution de zipper le fichier avec un mot de passe, mais ce mot de passe est facile à casser, et ça oblige à dézipper le fichier à chaque fois qu'on veut le voir. Et il ne faut pas oublier de supprimer le fichier dézippé (et donc déprotégé) une fois qu'on a fini de de lire.

La solution que j'ai trouvé n'est pas parfaite, car un peu lourde à mettre en place, et si on change le fichier d'ordinateur, il faut faire suivre la clé. Mais je n'ai pas trouvé mieux (n'hésitez pas à m'écrire si vous avez une meilleure solution).

Cette solution consiste à générer une paire de clés avec gpg et à encrypter le fichier avec la clé créée (c'est la paire de clés qui va contenir la passphrase).

Créer une paire de clés

gpg --gen-key

Cette commande va vous poser plusieurs questions :

Votre paire de clés est maintenant générée. Le plus dur est fait.

Voir la liste des clés

Pour voir la liste des clés créées, il faut taper :

gpg --list-key

Vous devez retrouver votre clé grâce à votre commentaire.

Encrypter le fichier "fichier.txt" en lui spécifiant la clé associée

Maintenant, encrytons le fichier "fichier.txt" avec la clé "cle-pour-proteger-les-fichiers" :

gpg -e --recipient cle-pour-proteger-les-fichiers fichier.txt

Le "-e" veut dire qu'on encrypte.

Le "--recipient" indique la clé qui va être utilisée. Il suffit de prendre une partie de la description de la clé qu'on ne retrouve dans aucune autre clé. Normalement, le commentaire suffit, voire juste une partie du commentaire. Sinon, on peut prendre toute la ligne qui apparait en faisant "gpg --list-key" en l'entourant de guillemets.

Puis en dernier, on met le nom du fichier à crypter.

On obtient alors un nouveau fichier nommé fichier.txt.gpg qui est la version cryptée de fichier.txt. Il faut donc supprimer fichier.txt pour qu'il n'y ait plus de trace des données en clair.

Décrypter le fichier

Maintenant, pour voir le contenu de notre fichier, il faut le décrypter avec la commande suivante :

gpg -d fichier.txt.gpg

Le "-d" veut dire qu'on décrypte.

Le contenu du fichier va être affiché sur la sortie standard (l'écran).

Effacer une paire de clés

Si vous voulez supprimer votre paire de clés, utilisez l'option "--delete-secret-and-public-key" de gpg, comme suit :

gpg --delete-secret-and-public-key cle-pour-proteger-les-fichiers

Il vous sera demandé plusieurs confirmations.

Attention : avant de supprimer votre paire de clés, assurez-vous de ne plus avoir de fichiers cryptés avec ces clés, sinon ils ne seront plus décryptables !!!

Valid XHTML 1.1

logo firefox logo ubuntu logo debian logo mandriva logo gimp