ファイルを暗号化してgpg -c <file>
端末を閉じました。しばらくしてパスワードを復号化しようとしましたが、gpg <file>
パスワードを求めずに復号化されました。これは普通ですか?私のようなコンピュータでもgpgがパスワードを要求するようにするにはどうすればよいですか?
答え1
これは通常の動作で、秘密鍵gpg
の管理に使用され、gpg-agent
エージェントは特定の時間(デフォルトでは最大2時間、非アクティブタイムアウト10分)の間キーをキャッシュします。
デフォルト値を変更するには、~/.gnupg/gpg-agent.conf
次の項目で指定されたファイルを作成または編集します。
default-cache-ttl
最後の使用後にキャッシュエントリが保持される期間を秒単位で指定します(デフォルトは600)。max-cache-ttl
キャッシュ項目が保持される最大時間(秒単位)を指定します(デフォルトは7200)。
たとえば、
default-cache-ttl 300
max-cache-ttl 1200
それぞれ300秒と1200秒に変更します。
これを変更したら、構成を再ロードする必要があります。
gpgconf --reload all
答え2
gpg> = 2.1が常にパスワードを要求するようにするにはgpg --pinentry-mode loopback
。
gpg> = 2.2.7を常に要求するようにするには、--symmetric
(-c
)暗号化されたパスワードを使用して実行しますgpg --no-symkey-cache
。
答え3
GnuPG 2.2.15
--symmetric -c Encrypt with a symmetric cipher using a passphrase. The default sym- metric cipher used is AES-128, but may be chosen with the --cipher-algo option. This command may be combined with --sign (for a signed and sym- metrically encrypted message), --encrypt (for a message that may be decrypted via a secret key or a passphrase), or --sign and --encrypt together (for a signed message that may be decrypted via a secret key or 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.
# encrypt files
gpg -c --no-symkey-cache file.txt
# decrypt files
gpg --no-symkey-cache file.txt.gpg
--no-symkey-cache オプションを使用すると、パスワードはキャッシュされません。
答え4
gpg
キャッシュされたすべてのパスワードを強制的に忘れてしまう
私のようなコンピュータでもgpgにパスワードを要求させるにはどうすればよいですか?
迅速な答え:
gpg-connect-agent reloadagent /bye
詳細:
目標が1)ファイルが実際にパスワードで保護されていること、2)ファイルを保護するときに実際にパスワードを知って正確に入力したことを確認するためのテストであれば、gpgにキャッシュされたパスワードを忘れて復号化を要求することができます。パスワードをもう一度(@wisbuckyがこのコメントで言ったように):
# force gpg to forget your temporarily cached passwords
gpg-connect-agent reloadagent /bye
その後、このようにファイルを復号化すると、パスワードの再入力を求められます。 :
# decrypt a gpg-encrypted file
gpg myfile.txt.gpg
これはmyfile.txt
、以前に以下を使用してパスワード暗号化を実行したと仮定しますgpg
。
# encrypt myfile.txt into myfile.txt.gpg
gpg -c myfile.txt