特定のプロセスのGPGパスワードの記憶

特定のプロセスのGPGパスワードの記憶

私はEメールパスワードを含むすべてのパスワードを保存するためにGNUのパスワードストアを使用します。 GPGキーにパスワードを設定しましたが、gpg-agent1時間記憶されます。また、定期的に電子メールを取得するpass

gpg-agentこれは、パスワードを記憶できるようにパスワードを入力した場合にのみクローン操作が機能することを意味します。それ以外の場合、クローン操作は失敗します。

このcronジョブのパスワードは常に覚えておきたいのですが、他のプロセスのパスワードは覚えたくありません。これを行う方法はありますか?

このタイプのユースケースを処理する正しい方法は何ですか?パスワードをすべて削除したいです。

答え1

すべてのキーのパスワードを削除する必要はありません。ただし、gpg-agent は異なるキーに対して複数の設定を持つようには設計されていません。したがって、最良の方法は、パスワードなしで他のgpgキーに関連付けられた追加のパスワードストアを作成してクローン操作に使用することです。

cronjob_keyデフォルトでは、パスワードストアに新しいディレクトリ(たとえば、パスワードフレーズ()を持たない新しいキーgpg --full-generate-key)を作成し、そのディレクトリをのパスに設定しますpass init -p cronjob-key [GPG-ID]

次のディレクトリ構造を使用して、前のキーに同じプロセスを適用できます。

|-- old_key
|   |-- .gpg-id
|-- cronjob_key
    |-- .gpg-id

これで、各パスワードストアに対して新しいパスワードを作成できるようになりましたpass generate cronjob_key/service2 16pass generate old_key/service1 16

|-- old_key
|   |-- .gpg-id
|   `-- service1.gpg
`-- cronjob_key
    |-- .gpg-id
    `-- service2.gpg  -> this one doesn't require passphrase

コンピュータが損傷した場合、攻撃者はこの「パスワードなし」キーを使用してサービスにアクセスできると仮定する必要があります。 cronjobを簡単に自動化するには、これらのトレードオフを喜んで作成する必要があります。これは、ほとんどのWebサービスで利用可能なCookieを使用するのと同じであるため、実行可能な代替手段として受け入れることは難しくありません。

関連情報