gpgはパスワードを要求しません

gpgはパスワードを要求しません

ファイルを暗号化して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

関連情報