web-dev-qa-db-ja.com

コンピューターでOpenPGPキーを保護するにはどうすればよいですか?

コンピューターでOpenPGPキーを保護するにはどうすればよいですか?私の秘密キーのバックアップを作成した場合、私はそれを安全に保ちますが、誰かが私のコンピューターにアクセスした場合、彼/彼女はKleopatraまたはGPAを通じて私のすべてのキーを取得できます。どうすればこれを回避できますか?

13
user95196

あなたの脅威モデルは何ですか?

物理的な盗難から保護しているという脅威がある場合は、パスフレーズを使用してキーを暗号化するか、ディスク全体を暗号化するだけで十分です。

脅威がユーザーアカウントで実行されている悪意のあるプログラムである場合は、潜在的に悪意のあるプログラムをサンドボックスで実行するか、まったく実行しないようにします。

脅威がrootアクセスを持つ悪意のあるプログラムである場合は、 OpenPGPカード を使用する必要があります。

21
Lie Ryan

OpenPGPキーを含む侵入先のコンピューターの影響を軽減する方法はいくつかあります。私は偏執狂に従っていくらか注文しました(「より高度な攻撃者」と呼ぶ方がいいかもしれません)。多くの場合、これらの対策は必要に応じて組み合わせることができます。

パスフレーズ保護

秘密鍵はパスフレーズで暗号化できます。攻撃者が暗号化された秘密鍵を持っているが(合理的に選択された)パスフレーズを持たない場合、攻撃者はそれを総当たりするのが非常に困難になります。

これは、攻撃者がハードディスクのコピーを入手しただけでなく、パスフレーズを盗聴できるため、コンピュータに継続的にアクセスする場合にも保護されません。

フルディスク暗号化

完全なディスク暗号化はパスフレーズの暗号化とほぼ同じですが、マシンへのアクセスを困難にするためにトロイの木馬を設定する可能性があります。秘密鍵のパスフレーズ暗号化と組み合わせます。

オフラインの主キーの使用

発生する可能性のある最悪の事態は、秘密の主キーが攻撃者に公開され、攻撃者がそれを手に入れ、同時にアクセスできないようにすることです。この場合、攻撃者は新しいキーと証明書を作成できるだけでなく、それらを取り消すこともできなくなります。

プライベートプライマリキーをオフラインの場所、インターネットに接続されていない専用のオフラインコンピューターに移動することは合理的かもしれません。これにより、キー/オフラインドライブ/マシンへの物理的なアクセスが範囲外である限り、潜在的な攻撃者がプライベートプライマリキーを制御することがさらに困難になります。

プライベートプライマリキーがオフライン/安全なままである場合、攻撃者ができることは、暗号化サブキーを使用して古いメッセージを復号化するか、署名サブキーを使用してメッセージに署名することだけです。すべての認定を失うことなく違反を制限するために、いつでもそれらを取り消すことができます。サブキーの交換は、かなり安価なアクションです。

OpenPGPスマートカード

最後に、プライベートサブキーを保護するために、OpenPGPスマートカード(または YubiKeys などの他の実装)を使用できます。鍵はカード上に作成され、カードから離れることはありません。カードが接続されている間のみ使用できます。YubiKeyの場合は、暗号化操作を実行するためにハードウェアトークンに触れる必要があります。これらのカードまたはハードウェアトークンには、独自の暗号化プロセッサが含まれているため、独自に暗号化操作を実行できます。

攻撃者はキーのコピーを保持していないため、カードを削除するとすぐにアクセスを失います。

GnuPGはそれらのカード/トークンをサポートしますが、構成には多少の手間がかかる場合があります。 FSFE会員カード はそのようなスマートカードですが、個別に購入することもできます。「OpenPGPスマートカード」を探してください。

5
Jens Erat

完全ディスク暗号化は保存データの問題を解決できますが、コンピューターがオンのときにコンピューターにアクセスできる場合、それを防ぐためにできることはほとんどありません。秘密鍵にパスワードを使用し、エージェントタイプのプログラム(メモリにキーを保持する)の使用を回避することを確認できますが、これには使い勝手の悪さがあります。正当に使用し、それらの時間の間にメモリから消去されることを確認してください。

4
Matthew