暗号化されたPGPメッセージに署名する必要がありますか、それとも冗長ですか?
暗号化では、署名と暗号化は直交しています。
データを暗号化すると機密性が提供されます:(理想的には)意図された受信者だけが平文にアクセスできます。最新のメッセージ暗号化システムは一般に、非可鍛性に設計されています。つまり、メッセージを変更することは非常に困難です。とはいえ、意図したメッセージの送信を傍受して防止できる攻撃者は、完全に異なるメッセージを簡単に送信でき、帯域外の検証がなければ、それが発生したことを伝える方法はありません。大まかに言えば、暗号化はエンベロープに相当します。
署名データは信憑性と否認防止を提供します:(理想的には)実際の送信者のみがキーを使用して特定のメッセージに対して有効な署名を生成でき、送信者は後で署名を作成しなかったと主張することはできません。 (特に後者は常に望ましい特性であるとは限らず、その点で異なる暗号システムがありますが、秘密鍵を秘密にしておくと、これがOpenPGP署名が機能する方法です。)署名付きメッセージは変更から保護されますが、それへのアクセス権を持つ誰かによる読み取りまたは解析。大まかに言えば、署名は、はがきを送る前にラミネートすることと同じです。署名されたメッセージは、暗号化されずにASCII装甲である場合があることに注意してください。 ASCII装甲は同じデータの異なる表現にすぎないため、追加の機密性は提供しません。
どちらかを使用するかどうか、両方を使用するかどうか(技術的に:またはどちらも使用しない場合)PGPやGnuPGなどのOpenPGP実装を介してプレーンテキストを渡すことにより、達成しようとしていることに完全に依存します。
暗号化と署名の手順を個別の手順として手動で実行することには問題があるため、最高のセキュリティを実現するには、両方を使用する場合は、 "暗号化と署名"機能を使用する必要があります PGP/GnuPGの、最初に暗号化してから後で署名するだけではなく(またはその逆)。
署名されていないPGP暗号化メッセージには、同じメッセージに署名およびで暗号化することにより、信頼性と否認防止が保証されます。署名されたメッセージには、署名および暗号化によって得られる機密性の保証がありません。
暗号化は、データを復号化できない人からデータを保護します。署名は、メッセージが実際に送信者から送信されたものであることを受信者が確認できるようにするためのものです(否認防止)。