web-dev-qa-db-ja.com

GPG / SSH秘密鍵を保護するパスフレーズが必要なのはなぜですか?

SSHとGPGはそれぞれ、鍵の生成中にパスフレーズを要求します。 GPGはまた(少なくとも私の経験から)、警告が提供されない場合は警告を表示し、セキュリティが本当に望ましくないことの確認を求めます。

したがって、そのようなパスフレーズを提供することが重要であると思われます。

しかし、完全なディスク暗号化を想定すると、本当に理由がわかりませんか?

私の(欠陥があると思われる)考えは次のとおりです。これらは、秘密鍵に対する脅威です。

  • デバイスの盗難;しかし、誰かが電源がオフになっているデバイスを盗んだ場合、FDEはすでにこれから私を保護しています(少なくとも泥棒がゴムホース復号化を適用するのに十分であると判断されるまで)。
  • 一時的な物理的アクセス;しかし、この場合は どちらにせよ ;
  • 私のPCが侵害され、誰かが私のデバイスにマルウェアをインストールすることができました。しかし、この場合も、パスフレーズを盗むキーロガーがインストールされているので、どちらにせよ私はどちらかといえばホースホーです。そして、それは攻撃者が私のPCをroot化できなかった場合でもです。

したがって、パスフレーズが有効な場合に考えられる唯一のシナリオは、電源が入っているデバイスの盗難です。そうすれば、パスフレーズが私を救ってくれるかもしれません。しかし、そのようなシナリオはあまりありそうにありません。一方で、git commitしたりメールを送信したりするたびにパスフレーズを再入力しなければならないのは面倒です。

知らないSSH/GPG秘密鍵を保護するパスフレーズの用途は何ですか?

3
gaazkam
  • 暗号化キーは、使用されている限りメモリに保持されます。ディスク暗号化の場合、暗号化されたパーティションがマウントされている間、キーは必ずメモリに存在します(FDEの場合、これはコンピューターの稼働時間全体です)。秘密鍵を暗号化することで、機密性の高い鍵のマテリアルが非常に短い期間のみ使用できるようになります。プライベートキー暗号化キーがメモリ内にある短い期間内に、パッシブな物理的攻撃(整合性に違反しない攻撃)が発生する可能性は非常に低いです。

  • 任意のディスク読み取りの脆弱性またはDACバイパスにより、悪意のあるローカルプロセスが、SSHキーまたはGPGキーを含む可能性のあるディスクコンテンツを読み取る可能性があります。フルディスク暗号化はこれを軽減しませんが、キー暗号化は軽減します。

  • ディスクから受動的に読み取り、キーロガーを設定しない悪意のあるプログラムは、FDEをバイパスすることはできますが、秘密鍵が暗号化されている場合は復号化できません。場合によっては、たとえばX11 Cookieにアクセスできない場合など、単にキーロガーをセットアップできないことがあります。

2
forest