Pour crypter simplement un fichier avec un mot de passe :
gpg -o fichier.gpg -c fichier
Et pour le décrypter :
gpg -o fichier -d fichier.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).
gpg --gen-key
Cette commande va vous poser plusieurs questions :
le type de clé désiré : laissez le choix par défaut “DSA et Elgamal”
la taille des clés : laissez le choix par défaut, ou mettez plus si c’est vraiment sensible
la durée de validité des clés : si le fichier doit rester protégé en permanence, le mieux est que les clés n’expirent jamais (une confirmation sera demandée
votre nom : entrez-le
votre adresse e-mail : entrez-la
un commentaire : ce commentaire permet de reconnaitre notre clé parmis toutes les clés existante. Essayez donc de mettre quelque chose de parlant. Pour l’exemple, j’ai mis “cle-pour-proteger-les-fichiers”
demande de confirmation : confirmez avec Ok, ou modifiez le paramètre souhaité
la passphrase : entrez une phrase de passe. C’est la même chose qu’un mot de passe, mais ça peut contenir des espaces et être très long. Pour plus de sécurité, mélangez majuscules, minuscules, chiffres et caractères spéciaux. Mais ne faites pas trop compliqué non plus pour ne pas oublier… A vous de savoir doser. confirmez la passphrase
il vous est alors demandé de taper n’importe quoi au clavier ou de bouger la souris, pour ajouter plus de caractères aléatoires à la génération des clés
Votre paire de clés est maintenant générée. Le plus dur est fait.
Pour voir la liste des clés créées, il faut taper :
gpg --list-key
Vous devez retrouver votre clé grâce à votre commentaire.
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.
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).
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 !!!