教科書版のDiffie-Hellmanは中間者攻撃の影響を受けやすく、デジタル署名を使用すると、この攻撃の発生を防ぐことができるようです。
デジタル署名は、Diffie-Hellman鍵交換中に次の方法で実装できます。
これに関して3つの質問があります
あなたの説明は少し混乱しており、間違っているようです。特に、ここではアリスコンピューティングが見られますDiffie-Hellman halfgKあ次に送信に進みます...彼女のDiffie-Hellman秘密Kあボブに。
プレーン Diffie-Hellman は次のように機能します。
数学の魔法によって、アリスとボブは同じ値になります。これは、その後、彼らが互いに話す必要があるすべての暗号化に使用する共有秘密です。
authenticatedバリアントの場合、同じ計算が行われます。しかし、アリスとボブは デジタル署名 に使用できる非対称鍵ペアも所有しており、それらを使用します。アリスはボブに送信するものに署名し、ボブはその署名を検証します(アリスの公開鍵を使用)。同様に、ボブはアリスに送信するものに署名し、アリスはその署名を確認します(ボブの公開鍵を使用)。
アリスがKを送信してもまったく意味がないことに注意してくださいあ(彼は「DHシークレット」)ボブに任意の形式で。ボブもKを送信しませんBアリスへ。そしてどこにも暗号化はありません。暗号化(通常は「秘密鍵による暗号化」)の観点からデジタル署名を説明することを目的とした多くのチュートリアルに遭遇する場合があります。これらの説明は古い時代の名残であり(1970年代後半、実際には元のディスコ時代の)、実際、明らかに間違っており、非常に混乱しています。したがって、それらの用語で考えないでください。署名は署名であり、暗号化は暗号化です。
認証されたDHは、たとえば、「DHE」暗号スイートを使用して SSL/TLS で行われるものです。 [〜#〜] ssh [〜#〜] (バージョン2)でも同様です。
アリスとボブがDHシークレットを生成するため、このような「一時的な」Diffie-Hellman(「一時的な」)を使用する主な理由は2つありますあおよびKB 急いで):
アリスとボブが所有する「永続的な」鍵のペアは、署名以外のものには適さない場合があります。 (再び)混乱の原因は、RSAと呼ばれるoneアルゴリズムがないことです。少なくとも2つあり、1つは暗号化用で、もう1つは署名用で、同じ種類の鍵ペアを使用できるようです。ただし、RSAキーペアを暗号化と署名の両方に使用できる場合でも、 正当な理由 を使用できない場合があります。他の署名アルゴリズム(ECDSAなど)もあり、そのキーは暗号化に(少なくとも簡単には)使用できません。
短命なDHシークレットを使用すると、 Forward Secrecy が提供されます。つまり、アリスとボブの永久キーはどこかに保存する必要があります。後で盗まれる可能性があります。単純なRSAベースの鍵交換(DHなし、アリスはランダムセッションキーをボブの公開キーで暗号化し、ボブはそれを復号化する)により、不審なキー泥棒はそれを使用して過去のセッションを復号化できます。 DHと署名では、この問題は発生しません。アリスとボブの署名秘密鍵が後で明らかになったとしても、それらの過去の通信を解読することはできません。前方秘密の概念全体は、オンザフライで生成され、RAMのみに保持され、DH鍵交換の完了直後に破棄されるという「DHシークレット」という考えを中心に展開します。盗難の影響を受けません。