web-dev-qa-db-fra.com

gpg décrypte les fichiers sans demander de mot de passe

Je lance gpg -c file. Il demande un mot de passe (deux fois) et crée un fichier crypté. Jusqu'ici tout va bien.

Lorsque je lance gpg file.gpg pour déchiffrer le fichier, il le déchiffre sans demander le mot de passe! Inutile de dire que ce "cryptage" n'a aucune valeur.

Le cryptage de gpg, dans gnome ainsi que dans la ligne de commande, fonctionnait parfaitement pendant un certain temps et a tout simplement été interrompu à un moment donné et je ne sais pas ce que j'ai fait ou ce qui s'est passé.

Comment le réparer ?

3
JothamB

La phrase est mise en cache par l'agent GPG.

Pour vider le cache, lancez simplement

gpg-connect-agent reloadagent /bye

Le cryptage n'est pas sans valeur, car le cache sera effacé lors de la déconnexion et ne sera évidemment pas transmis avec le fichier. Gpg est principalement destiné à protéger les données en transit, et non à l'utilisateur connecté qui les a cryptées.

5
vidarlo

L'agent GPG met en cache les clés, voir la page de manuel de gpg (1):

--symmetric
 -c
        Encrypt with a symmetric cipher using a passphrase. [..]  gpg
        caches the passphrase used for symmetric encryption so that a decrypt
        operation may not require that the user needs to enter the passphrase.
        The option --no-symkey-cache can be used to disable this feature.

Donc, pour désactiver la mise en cache pour une seule invocation, utilisez quelque chose comme:

gpg -c --no-symkey-cache your-file.txt

Pour rendre ce paramètre persistant, ajoutez l'option (sans --) dans ~/.gnupg/gpg.conf:

no-symkey-cache
2
Lekensteyn