暗号技術の基礎と応用
認証を行わないディフィー・ヘルマン鍵交換の弱点と、その対策の組み合わせとして正しいものはどれか。
- A盗聴者が公開値を見るだけで、共有の秘密を計算できてしまう。対策は、p と g を秘密にして、送る値を通信路で盗聴されないようにすること
- B途中にいる攻撃者が、それぞれの相手と別々に鍵交換をする中間者攻撃を防げない。対策は、公開値に証明書の鍵で署名して相手を確かめること
- C秘密の値 a と b が毎回同じになり、共有の秘密も変わらない。対策は、鍵交換を1回だけにして、同じ秘密を長く使い続けること
答えと解説を見る
正解:B. 途中にいる攻撃者が、それぞれの相手と別々に鍵交換をする中間者攻撃を防げない。対策は、公開値に証明書の鍵で署名して相手を確かめること
この鍵交換は、受け取った公開値が本当に相手から来たものかを確かめません。そのため、途中にいる攻撃者は、Aさんとは自分の値で、Bさんとも自分の値で別々に鍵交換をして、両方の通信を復号しながら中継できます(中間者攻撃)。TLSでは、サーバが鍵交換の内容に証明書の秘密鍵で署名し、クライアントがそれを証明書で確かめることで、この攻撃を防いでいます。p と g は公開してよい値で、秘密にする必要はありません。
- A. 公開値だけから共有の秘密を求めるには、離散対数問題を解く必要があります。p と g は公開してよい値です。
- B. 正しい。鍵交換そのものは相手を確かめないので、署名と証明書による認証を組み合わせます。
- C. a と b は毎回新しく選べます。同じ秘密を長く使い続けると、漏えいしたときの影響がむしろ大きくなります。