web-dev-qa-db-ja.com

暗号化されたメッセージに複数の受信者を追加すると、セキュリティが低下しますか?

同じGPG/OpenPGP暗号化メッセージを50人以上の受信者に送信するとします。送信するすべての人が信頼でき、受信者が秘密鍵を漏らすリスクがないとすると、単一のメッセージを複数の受信者に送信して、「破る能力」の観点から安全性が低くなりますか?

GPGはハイブリッド暗号化を使用するため、メッセージは非対称的に暗号化されたキー(セッションキー)で対称的に暗号化されます。

知っている非対称暗号化された文字列が50以上ある場合、セッションキーは簡単にわかりますか復号化するとすべてまったく同じ文字列になります? (そのセッションキーを解決すると特定のメッセージのみが侵害され、送信者または受信者への過去または将来のメッセージは侵害されないことを私は理解していますが。)

その場合、特定のメッセージを一度に5人または10人の受信者のバッチで送信する方が安全でしょうか? (または、偏執的である場合は、一度に1人の受信者)メッセージが同一であっても、セッションキーは、メッセージハッシュに加えて、タイムスタンプまたは少なくとも何らかの形式の非決定的要素で生成されると思います。結果として、個々の「5受信者」メッセージはそれぞれ異なるセッションキーで終了し、そのキーの暗号化されたバージョンは5つしか使用できなくなります。

5
IQAndreas

暗号学的に、あなたが説明するスキームはあなたのリスクを高めていません。全体的なセキュリティの観点から、受信者を追加すると、問題が発生する可能性のあるポイントが増えます。

  1. 各受信者は、メッセージを保護する必要がある追加のエンドポイントを表します。あなたはそれぞれの人を信頼するかもしれませんが、彼らのすべてのコンピュータを等しく安全に信頼できますか?受信者が50人いるということは、少なくとも51の攻撃面が関与していることを意味します。
  2. 複数の暗号化されたセッションキーを追加すると、不正な暗号化されたセッションキーが隠れてしまいます。人間は、1つのキーが突然2つのキーに置き換えられたかどうかに気づくかもしれませんが、50番目のキーが50個のキーのリストに追加されたかどうか気付かないかもしれません。
3
John Deters

これは一般に、非対称暗号化が実行される正確な方法に依存します(つまり、RSAの完全に素朴な実装が問題になる可能性があります。Halstads攻撃を参照)。GPG/ OpenPGPの場合、複数の異なる方法を使用して同じ文字列を暗号化する場合、追加のセキュリティリスクは無視できるはずです。公開鍵。

現代の暗号化プロトコルとアルゴリズムは通常、非常に強力な敵を念頭に置いて設計されています。通常、想定には、暗号化するプレーンテキストを選択したり、指定されたプレーンテキストの復号化を要求したりすることができることが含まれます。

RSAの場合、適切なスキームは証明された設定で安全(複数の受信者)assumingシングルユーザー設定(1人の受信者)で十分に強力な方法で安全である: http://www.iacr.org/archive/eurocrypt2000/1807/18070262-new.pdf

IMO暗号化のセキュリティの観点から、複数の受信者への同じメッセージの暗号化について心配する理由はないはずです。

「50人のユーザーがこのメッセージを持っているので、誰もが暗号化せずに返信したり、メッセージを転送したりできる」という観点から常に心配することはもちろん重要です。

1
DRF