「ディフィー・ヘルマン鍵交換」の版間の差分
提供: セキュリティ
細 |
|||
(同じ利用者による、間の2版が非表示) | |||
行1: | 行1: | ||
− | + | [[ディフィー・ヘルマン鍵交換]] もしくは、 ディフィー・ヘルマン鍵共有は、 [[公開鍵暗号]]方式が考案される以前に、Whitfield Diffie と Martin E. Hellman によって考案された、安全ではない通信経路を使用して[[秘密鍵]]を安全に送受信するための鍵交換方式です。 | |
− | + | ||
− | + | ||
− | + | ||
− | [[公開鍵暗号]]方式が考案される以前に、Whitfield Diffie と Martin E. Hellman によって考案された、安全ではない通信経路を使用して[[秘密鍵]] | + | |
− | + | ||
− | + | ||
− | でぃふぃー へるまん かぎこうかん | + | '''読み方''' |
− | Whitfield Diffie ほいっとふぃーるど でぃっふぃー | + | ;ディフィー・ヘルマン鍵交換:でぃふぃー へるまん かぎこうかん |
− | Martin E. Hellman まーてぃん へるまん | + | ;ディフィー・ヘルマン鍵共有:でぃふぃー へるまん かぎきょうゆう |
+ | ;Whitfield Diffie:ほいっとふぃーるど でぃっふぃー | ||
+ | ;Martin E. Hellman:まーてぃん へるまん | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[共通鍵暗号]]では、[[暗号化]]と[[復号化]]の両方で、同じ鍵を利用します。送信者と受信者の両方が同じ鍵を共有しておく必要があり、[[秘密鍵]]を安全に渡す方法が問題となります。 | [[共通鍵暗号]]では、[[暗号化]]と[[復号化]]の両方で、同じ鍵を利用します。送信者と受信者の両方が同じ鍵を共有しておく必要があり、[[秘密鍵]]を安全に渡す方法が問題となります。 | ||
この問題を[[鍵配送問題]]といいます。 | この問題を[[鍵配送問題]]といいます。 | ||
行21: | 行16: | ||
すでに、[[ディフィー・ヘルマン鍵交換]]は、特許期限が切れているため、誰でも自由に利用できます。 | すでに、[[ディフィー・ヘルマン鍵交換]]は、特許期限が切れているため、誰でも自由に利用できます。 | ||
− | [[IPv6]]の[[IPsec]]が実装されていますが、[[IPsec]]では、[[共通鍵暗号]]方式を採用しています。[[IPsec]] | + | [[IPv6]]の[[IPsec]]が実装されていますが、[[IPsec]]では、[[共通鍵暗号]]方式を採用しています。[[IPsec]]では、鍵共有に [[ディフィー・ヘルマン鍵交換]] の改良版を利用しています。 |
[[中間者攻撃]]に対して、単独では、安全ではなくなっています。 | [[中間者攻撃]]に対して、単独では、安全ではなくなっています。 | ||
− | |||
== 中間者攻撃 == | == 中間者攻撃 == | ||
− | + | [[DNS偽装]]や'''ARPスプーフィング'''によって、攻撃者が二人の通信を中継し、AとBを入手する可能性があります。 | |
− | [[DNS偽装]]や | + | |
− | + | ||
− | + | ||
− | + | ||
== 使い方 == | == 使い方 == | ||
− | |||
[[ディフィー・ヘルマン鍵交換]] では、通信を行うニ者がそれぞれ公開値と秘密値を用意します。公開値のみを通信で交換します。それぞれ、お互いに秘密の値から生成されるデータを送信し、各自が自分お秘密値と受信したデータから共通鍵を作成します。 | [[ディフィー・ヘルマン鍵交換]] では、通信を行うニ者がそれぞれ公開値と秘密値を用意します。公開値のみを通信で交換します。それぞれ、お互いに秘密の値から生成されるデータを送信し、各自が自分お秘密値と受信したデータから共通鍵を作成します。 | ||
行47: | 行36: | ||
* 盗聴している人物は、3^Aと3^Bを見ても、本来のAとBを知らなかいギリ、[[暗号鍵]]を推測できません。 | * 盗聴している人物は、3^Aと3^Bを見ても、本来のAとBを知らなかいギリ、[[暗号鍵]]を推測できません。 | ||
− | * 3^A ( mod 65537) | + | * 3^A ( mod 65537) を求める問題は、離散対数問題と呼ばれ、modが大きくなるほど計算不可能になります。 |
* ≡ 恒等(こうとう)、常に正しい | * ≡ 恒等(こうとう)、常に正しい | ||
* mod とは余剰です。割り算したときのあまりを求めることを意味します。 | * mod とは余剰です。割り算したときのあまりを求めることを意味します。 | ||
* 素数が大きければ大きいほど強度の高い暗号化が可能です。 | * 素数が大きければ大きいほど強度の高い暗号化が可能です。 | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[公開鍵暗号]] | * [[公開鍵暗号]] | ||
* [[共通鍵暗号]] | * [[共通鍵暗号]] | ||
行59: | 行46: | ||
* [[中間者攻撃]] | * [[中間者攻撃]] | ||
* [[DNS偽装]] | * [[DNS偽装]] | ||
− | * | + | * '''ARPスプーフィング''' |
− | * | + | * 暗号理論 |
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2015年9月23日 (水) 15:36時点における最新版
ディフィー・ヘルマン鍵交換 もしくは、 ディフィー・ヘルマン鍵共有は、 公開鍵暗号方式が考案される以前に、Whitfield Diffie と Martin E. Hellman によって考案された、安全ではない通信経路を使用して秘密鍵を安全に送受信するための鍵交換方式です。
読み方
- ディフィー・ヘルマン鍵交換
- でぃふぃー へるまん かぎこうかん
- ディフィー・ヘルマン鍵共有
- でぃふぃー へるまん かぎきょうゆう
- Whitfield Diffie
- ほいっとふぃーるど でぃっふぃー
- Martin E. Hellman
- まーてぃん へるまん
概要
共通鍵暗号では、暗号化と復号化の両方で、同じ鍵を利用します。送信者と受信者の両方が同じ鍵を共有しておく必要があり、秘密鍵を安全に渡す方法が問題となります。 この問題を鍵配送問題といいます。
Whitfield Diffie と Martin E. Hellman は、スタンフォード大学の研究員でした。 すでに、ディフィー・ヘルマン鍵交換は、特許期限が切れているため、誰でも自由に利用できます。
IPv6のIPsecが実装されていますが、IPsecでは、共通鍵暗号方式を採用しています。IPsecでは、鍵共有に ディフィー・ヘルマン鍵交換 の改良版を利用しています。
中間者攻撃に対して、単独では、安全ではなくなっています。
中間者攻撃
DNS偽装やARPスプーフィングによって、攻撃者が二人の通信を中継し、AとBを入手する可能性があります。
使い方
ディフィー・ヘルマン鍵交換 では、通信を行うニ者がそれぞれ公開値と秘密値を用意します。公開値のみを通信で交換します。それぞれ、お互いに秘密の値から生成されるデータを送信し、各自が自分お秘密値と受信したデータから共通鍵を作成します。
この2つの値をあらかじめ決めておきます。公開されても構いません。
- 元となる数 g
- 大きな素数 p
- Alice は、秘密の数 A を決め g^A mod p を送る
- Bob は、秘密の数 B を決め g^B mod p を送る
- Alice は、さらに A を使用し、 (g^B)^A を計算する
- Bob は、さらに B を使用し、 (g^A)^B を計算する
- (g^B)^A ≡ (g^A)^B
- 盗聴している人物は、3^Aと3^Bを見ても、本来のAとBを知らなかいギリ、暗号鍵を推測できません。
- 3^A ( mod 65537) を求める問題は、離散対数問題と呼ばれ、modが大きくなるほど計算不可能になります。
- ≡ 恒等(こうとう)、常に正しい
- mod とは余剰です。割り算したときのあまりを求めることを意味します。
- 素数が大きければ大きいほど強度の高い暗号化が可能です。