「ディフィー・ヘルマン鍵交換」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> 公開鍵暗号方式が考案される以前に、Whitfield Diffie と Martin E. Hellman によって考案された、安全で...」)
(相違点なし)

2013年1月26日 (土) 15:36時点における版


公開鍵暗号方式が考案される以前に、Whitfield Diffie と Martin E. Hellman によって考案された、安全ではない通信経路を使用して秘密鍵を安全に送受信するための鍵交換方式です。

読み方

でぃふぃー へるまん かぎこうかん Whitfield Diffie ほいっとふぃーるど でぃっふぃー Martin E. Hellman まーてぃん へるまん

概要

共通鍵暗号では、暗号化復号化の両方で、同じ鍵を利用します。送信者と受信者の両方が同じ鍵を共有しておく必要があり、秘密鍵を安全に渡す方法が問題となります。 この問題を鍵交換問題といいます。

Whitfield Diffie と Martin E. Hellman は、スタンフォード大学の研究員でした。 すでに、ディフィー・ヘルマン鍵交換は、特許期限が切れているため、誰でも自由に利用できます。

IPv6IPsecが実装されていますが、IPsecでは、共通鍵暗号方式を採用しています。IPsecでは、鍵共有ディフィー・ヘルマン鍵交換 の改良版を利用しています。

中間者攻撃に対して、単独では、安全ではなくなっています。

中間者攻撃

DNS偽装ARPスプーフィングによって、攻撃者が二人の通信を中継し、AとBを入手する可能性があります。

インストール

使い方

ディフィー・ヘルマン鍵交換 では、通信を行うニ者がそれぞれ公開値と秘密値を用意します。公開値のみを通信で交換します。それぞれ、お互いに秘密の値から生成されるデータを送信し、各自が自分お秘密値と受信したデータから共通鍵を作成します。


この2つの値をあらかじめ決めておきます。公開されても構いません。

  1. 元となる数 g
  2. 大きな素数 p
  1. Alice は、秘密の数 A を決め g^A mod p を送る
  2. Bob は、秘密の数 B を決め g^B mod p を送る
  3. Alice は、さらに A を使用し、 (g^B)^A を計算する
  4. Bob は、さらに B を使用し、 (g^A)^B を計算する
  5. (g^B)^A ≡ (g^A)^B
  • 盗聴している人物は、3^Aと3^Bを見ても、本来のAとBを知らなかいギリ、暗号鍵を推測できません。
  • 3^A ( mod 65537) を求める問題は、離散対数問題と呼ばれ、modが大きくなるほど計算不可能になります。
  • ≡ 恒等(こうとう)、常に正しい
  • mod とは余剰です。割り算したときのあまりを求めることを意味します。
  • 素数が大きければ大きいほど強度の高い暗号化が可能です。

関連項目