web-dev-qa-db-ja.com

PGPパスフレーズは、暗号化された秘密鍵の復号化に使用されていますか、それとも秘密鍵と組み合わせてメッセージの復号化に必要ですか?

前者の場合、秘密鍵を使用してメッセージにデジタル署名できる場合、クライアントがこの機密性の高いデータを暗号化することを提案しないのはなぜですか?

後者の場合、誰かがあなたの秘密鍵に単独でアクセスした場合、彼らはあなたのすべてのメッセージを解読できますか?

事前のおかげで、明確な答えを見つけることができませんでした。

7
Mike Gallagher

結局のところ、あなたの疑問は次のとおりです。「秘密鍵を自分にメールで送信するとき、またはクラウドストレージや他の場所にバックアップするときに、秘密鍵を暗号化する必要がありますか?」

そして答えはイエスです-PGP秘密鍵を絶対に暗号化します「バックアップする」前に(暗号化して事前に-生成された失効証明書も)。

暗号化されたASCII Armor .gpgファイルをプレーンテキストの秘密鍵.ascファイルから作成する例:

gpg --symmetric --cipher-algo=AES256 -a -o 20141022.PGP.66H049E4.prv.gpg 20141022.PGP.66H049E4.prv.asc 

「シュレッド」などの削除ユーティリティを使用して、元の.ascキーファイルを削除します。削除しない場合、元に戻すことができます。

秘密鍵はパスワードなしでは使用できません。 ただし、そのパスワードはwhole秘密鍵自体よりもはるかに簡単に解読できます。

暗号化/保護されていない秘密鍵を利用するために採用されている攻撃ツリーがいくつかあります。

  1. ブルートフォース攻撃: PGPで暗号化された電子メールを「クラッキング」しようとする場合、特に秘密鍵のコピーを手元に置いている場合は、PGPキーをブルートフォースで攻撃しようとはしません。 a。)代わりに、秘密鍵自体をブルートフォース攻撃の対象とし、パスワード。 b。)次に、そのパスワードを使用して、秘密鍵を使用してメッセージを復号化します-より効率的な攻撃ツリー。
  2. なりすまし、嫌がらせ:暗号化されていない秘密鍵をPGPストア(GPG、Kleopatra、Windowsなど)に「インポート」できますa。) これにより、特定の人が特定のデバイスを使用しているように見えます。法医学情報調査では、マシンにロードされた秘密鍵は、人がデバイスを使用したことを証明するものですが、それを否定するものではありません。さらに、b。)パスワードなしで公開鍵をエクスポートできます(ただし、失効鍵はエクスポートできません)。最終的に、特定のシステムでのユーザーの「フットプリント」をシミュレートしたり、公開鍵が添付されたユーザーからのメールを偽装したりすることができます。

強力な秘密鍵パスワードを使用することがベストプラクティスであり、強力なブルートフォース攻撃を阻止します。

2
elika kohen

前者。 PGP秘密鍵は暗号化された形式でディスクに保存されます。特に、パスフレーズを使用して暗号化されます。

ファイルを復号化するには、PGPは(1)パスフレーズと(2)暗号化された秘密鍵ファイルを必要とします。これらから、秘密鍵を再構成し、ファイルを復号化できます。暗号化された秘密鍵ファイルを使用するには、どちらでも十分ではありません。

あなたの質問に答えるために、あなたのクライアントはしますあなたの秘密鍵を暗号化します。暗号化された形式でディスクに保存されます。

(私は、従来の暗号化ではなく、公開鍵暗号化を使用していると想定しています。)

5
D.W.