web-dev-qa-db-ja.com

2つのパーティが同じ秘密鍵のペアを持っている場合はどうなりますか

サーバー上に秘密鍵を作成し、その公開鍵を生成して証明書を作成する必要があることはわかっています。
しかし、誰かがすでに持っている秘密鍵を取得したらどうなるでしょう。この場合、セキュリティが弱くなるのではないでしょうか。

9
Sampath

簡単な説明

これが起こる唯一の方法は、誰かに秘密鍵を渡した場合です。偶然に起こることはありません。 絶対にしないでください。宝くじを2度獲得し、雷に襲われて2つのゴリラに襲われてしまう可能性が高くなります すべて同じ日に。誰かがすでに持っている秘密鍵の生成について心配する代わりに、宝くじで獲得するお金を使うことができるように、雷やゴリラから身を守る方法について心配するほうがよいでしょう。

したがって、秘密鍵を秘密にしておく限り、これについて心配する必要はありません。

科学的推論

公開鍵システムで1024ビットのRSAを扱っているとしましょう。優れた鍵ジェネレーターは2つの512ビット素数を個別に選択するため、鍵ジェネレーターの2つのインスタンス化がRSAに必要な2つの素数を選択する確率は2です。-512 ・2-512 = 2-1024 または約1/10308。その数は天文学的に非常に小さいため、適切に機能しているシステムで発生することはありません。特定の年に雷に襲われる確率(特定の日に忘れる)1/1,000,000(1/106)。 2匹のゴリラに襲われる確率2-120 (ロリーのコメントの投稿を参照)。宝くじの種類は宝くじによって異なります(確率は人によって異なります)。しかし、うまくいけばポイントがわかります。

不適切なシステム

すべての賭けはオフです。 Jeffのコメントで指摘されているように、これは DebianバージョンのOpenSSL で発生しました。これは、乱数ジェネレータにランダム性がほとんどないシードが発生するという単純なバグが原因です。その結果、人々は同じ秘密鍵を持つ可能性があります。

他の誰かと同じ秘密鍵を持っていると、これらの2人がお互いのメッセージを解読できるようになります.

23
mikeazo

誰かがあなたの秘密鍵にアクセスした場合、彼はあなたのために暗号化されたメッセージを解読し、あなたの名前でメッセージに署名することができます。つまり、彼は基本的にすべてを行うことができ、鍵ペアを使用して行うことができます。

過去には バグ がありましたが、他の誰かが同じキーペアを生成することはまずありません。

主なリスクは、秘密鍵が悪意のあるソフトウェアによって盗まれることですコンピュータでは、キーが保存されています。鍵ペアをローカルではなくサーバー上で生成すると述べました。これにより、そのサーバーの管理者は秘密鍵にアクセスできます。

キーはパスフレーズで保護されている可能性がありますが、悪意のあるソフトウェアがキー処理アプリケーションやキーボード入力を盗聴する可能性があります。

10