4

アリスとボブがDiffie-Hellman鍵交換を使用して互いにメッセージを送信するプロジェクトを行っています。私にループを投げかけているのは、彼らが使用している証明書をこれに組み込んで、彼らの秘密のメッセージを取得できるようにする方法です。

MIM attakcsについて私が理解していることから、この図に示すように、MIMは詐欺師として機能します。

ここに画像の説明を入力してください

以下は私のプロジェクトの詳細です。通信する前にgとpの両方で合意していることは理解していますが、署名を検証するための証明書を持っている場合、どうすればこれを実装できますか?

アリスは⟨signA(NA、Bob)、pkA、certA⟩を準備します。ここで、signAはアリスが使用するデジタル署名アルゴリズム、「Bob」はボブの名前、pkAはXに従ってエンコードされたgxmodpに等しいアリスの公開鍵です。 Diffie-Hellman鍵交換で指定されている固定g、pの場合は509であり、certAは、署名を検証するアリスの公開鍵を含むアリスの証明書です。最後に、NAは8バイトの長さのナンス(ランダムな文字列)です。

ボブはアリスの署名をチェックし、⟨signB{NA、NB、Alice}、pkB、certB⟩で応答します。アリスは、ナンスNAをチェックし、Diffie-Hellman鍵交換に従って、pkA、pkBに基づいてジョイントキーを計算するというメッセージを受け取ります。次に、アリスはメッセージ⟨signA{NA、NB、Bob}、EK(MA)、certA⟩をボブに送信し、Bobrespondswith⟨SignB{NA、NB、Alice}、EK(MB)、certB⟩。

ここで、MAとMBは対応するシークレットメッセージです。

4

2 に答える 2

6

ウィキペディアの答えを提供する:

元の説明では、Diffie-Hellman交換自体は通信当事者の認証を提供しないため、man-in-the-middle攻撃に対して脆弱です。真ん中の人は、2つの異なるDiffie-Hellman鍵交換を確立し、1つはアリスと、もう1つはボブと、事実上アリスからボブになりすまして、攻撃者が復号化(および読み取りまたは保存)してから再暗号化できるようにします。それらの間で渡されるメッセージ。

この種の攻撃を防ぐには、通常、通信相手を相互に認証する方法が必要です。これらのタイプの攻撃を回避するために、 STSなどのDiffie-Hellmanの変種を代わりに使用できます。

より安全なDiffie-Hellmanの変種について議論することで、教授に感銘を与えることを検討できます。今のところ、元の実装に注意した場合、これで問題ありません。

頑張ってください!

于 2012-03-31T05:24:26.350 に答える
4

インターネットが役に立ちます!

Diffie-Hellman鍵交換は、man-in-the-middle攻撃に対して脆弱です。この攻撃では、対戦相手のキャロルがアリスの公的価値を傍受し、彼女自身の公的価値をボブに送信します。ボブが彼の公的な価値を伝えるとき、キャロルはそれを彼女自身のものと置き換えて、それをアリスに送ります。したがって、キャロルとアリスは1つの共有キーに同意し、キャロルとボブは別の共有キーに同意します。この交換の後、キャロルはアリスまたはボブによって送信されたメッセージを単純に復号化し、適切なキーで再暗号化して相手に送信する前に、それらを読み取り、場合によっては変更します。この脆弱性は、Diffie-Hellman鍵交換が参加者を認証しないために存在します。考えられる解決策には、デジタル署名やその他のプロトコルバリアントの使用が含まれます。

したがって、Aには独自の値があり、メッセージの内容を交換して署名を再計算し、転送するだけです。

于 2012-03-31T05:20:25.993 に答える