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).
Cette commande va vous poser plusieurs questions :
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 :
Vous devez retrouver votre clé grâce à votre commentaire.
Maintenant, encrytons le fichier "fichier.txt" avec la clé "cle-pour-proteger-les-fichiers" :
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 :
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 :
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 !!!