チャレンジレスポンス認証の仕組みと見分けるポイント
情報セキュリティマネジメント試験 令和8年度 問4 / セキュリティ › 情報セキュリティ対策
過去問にチャレンジ
チャレンジレスポンス認証方式に該当するものはどれか。
- ア
固定パスワードを,TLSによる暗号通信を使い,クライアントからサーバに送信して,サーバで検証する。
- イ
端末のシリアル番号を,クライアントで秘密鍵を使って暗号化し,サーバに送信して,サーバで検証する。
- ウ
トークンという機器が自動的に表示する,認証のたびに異なる数字列をパスワードとしてサーバに送信して,サーバで検証する。
- エ
利用者が入力したパスワードと,サーバから受け取ったランダムなデータとをクライアントで演算し,その結果をサーバに送信して,サーバで検証する。
会話形式の解説
講師今回はチャレンジレスポンス認証方式の問題です。選択肢には、通信を暗号化するものや毎回値が変わるものなど、それらしく見える方式が並んでいます。どこに注目すればよいかを一緒に整理しましょう。
受験者私は「毎回違う数字列を送る」というトークンの方式が、チャレンジレスポンスっぽく見えました。毎回値が変わるので安全そうだと思ったのですが、違うのでしょうか。
講師そこが一番の引っかけです。まず流れを確認しましょう。サーバが認証のたびに違う乱数を送ります。これを「チャレンジ」と呼びます。クライアントは、パスワードなどの秘密情報とチャレンジから値を計算して返します。これが「レスポンス」です。サーバも同じ計算をして、結果が一致するかを確かめます。
受験者つまり、サーバから届いた値をクライアントが計算に使うことが大事なのですね。トークンの数字列はトークンが自分で作っているので、そこが違うということですか。
講師そのとおりです。トークンの方式はワンタイムパスワード認証です。サーバから受け取ったチャレンジを使っていないので、チャレンジレスポンス方式には当たりません。「毎回値が変わる」という点だけで判断しないように注意してください。
受験者TLSで固定パスワードを送る方式はどうでしょうか。暗号化されているので、パスワードは守られている気がします。
講師TLS、つまり通信路を暗号化する仕組みによって盗聴は防げます。ただ、仕組み自体は普通のパスワード認証と同じで、毎回同じパスワードを送っています。サーバのチャレンジを使った計算もしていないので、これも該当しません。
受験者端末のシリアル番号を秘密鍵で暗号化して送る方式も、暗号を使っているので迷いました。
講師これは固定された値を暗号化しているだけで、チャレンジを使っていません。送る内容が毎回同じなので、盗聴した通信をそのまま再送されるおそれもあります。こうした再送による攻撃をリプレイ攻撃といいます。
受験者そうすると、利用者が入力したパスワードとサーバから受け取ったランダムなデータをクライアントで演算して送る方式が正解ですね。パスワードそのものは通信路に流れず、応答も毎回変わるので、盗聴やリプレイ攻撃への対策になる、という理解で合っていますか。
講師合っています。代表的な例に、パスワードとチャレンジから求めたハッシュ値を返すCHAPがあります。「通信を暗号化している」「値が毎回変わる」といった特徴だけで判断せず、サーバからチャレンジを受け取って計算に使っているかを必ず確かめてください。
まとめ
チャレンジレスポンス認証方式では、サーバが認証のたびに違う乱数(チャレンジ)を送り、クライアントは秘密情報とチャレンジから計算した値を返します。サーバは同じ計算をして結果を照合するため、パスワードそのものを通信路に流さずに済みます。応答が毎回変わるので、盗聴やリプレイ攻撃への対策にもなります。TLSで固定パスワードを送る方式やワンタイムパスワードは、サーバのチャレンジを計算に使っていないため該当しません。見分けるポイントは、サーバが発行したチャレンジをクライアントが計算に使っているかどうかです。
解答・解説
正解はエです
この問題のテーマ
チャレンジレスポンス認証方式の仕組みを理解し、TLSでのパスワード送信やワンタイムパスワードなど、似た認証方式と区別できるかを問う問題です。
解き方の考え方
まず、チャレンジレスポンス方式の流れを確認します。サーバが認証のたびに違う乱数(チャレンジ)を送り、クライアントは秘密情報とチャレンジから計算した値(レスポンス)を返します。サーバも同じ計算をして結果が一致するかを確かめます。各選択肢で「サーバから届いた値をクライアントが計算に使っているか」を見れば、正解を一つに絞れます。
選択肢ごとの解説
- ×ア 固定パスワードを,TLSによる暗号通信を使い,クライアントからサーバに送信して,サーバで検証する。アの、TLSで固定パスワードを送る方式は、暗号化した通信路を使うだけで、仕組みは通常のパスワード認証と同じです。TLSによって盗聴は防げますが、サーバのチャレンジを使った計算はしていません。毎回同じパスワードを送るため、チャレンジレスポンス方式には当たりません。
- ×イ 端末のシリアル番号を,クライアントで秘密鍵を使って暗号化し,サーバに送信して,サーバで検証する。イの、端末のシリアル番号を秘密鍵で暗号化して送る方式は、固定された値を暗号化しているだけで、サーバのチャレンジを使っていません。送る内容が毎回同じになるため、通信を盗聴されて再送されるおそれもあります。
- ×ウ トークンという機器が自動的に表示する,認証のたびに異なる数字列をパスワードとしてサーバに送信して,サーバで検証する。ウの、トークンが表示する毎回違う数字列を送る方式は、ワンタイムパスワード認証です。数字列はトークンが自分で作るもので、サーバから受け取ったチャレンジを計算に使っていません。「毎回値が変わる」という点が似ているので、取り違えないよう注意してください。
- ○エ 利用者が入力したパスワードと,サーバから受け取ったランダムなデータとをクライアントで演算し,その結果をサーバに送信して,サーバで検証する。エの方式では、利用者が入力したパスワードとサーバから受け取ったランダムなデータをクライアントで計算し、その結果をサーバが検証します。これはチャレンジレスポンス方式の流れそのものです。パスワードそのものは通信路に流れず、応答の値も毎回変わるので、盗聴やリプレイ攻撃への対策になります。
補足
代表的な例に、パスワードとチャレンジから求めたハッシュ値を返すCHAPがあります。「通信を暗号化している」「値が毎回変わる」といった特徴だけでチャレンジレスポンス方式だと判断するのはよくある間違いです。サーバからチャレンジを受け取っているかを必ず確認してください。
POINT
- チャレンジレスポンス方式では、サーバが認証ごとに違う乱数(チャレンジ)を送り、クライアントは秘密情報とその乱数から計算した値を返します。
- サーバは同じ計算で求めた値と、クライアントから届いた応答を照合して認証します。
- パスワードそのものを通信路に流さずに認証できます。
- 応答の値が毎回変わるため、盗聴した通信を再送するリプレイ攻撃を防げます。
- 見分けるポイントは、サーバが発行したチャレンジをクライアントが計算に使っているかどうかです。
