Skip to the content.

最終更新日:2026年7月20日

まず結論

チャレンジレスポンス認証とは、毎回異なる値(チャレンジ)を送り、その値と秘密情報から作られた応答(レスポンス)を検証して相手を認証する方式です。

基本情報技術者試験では、次の判断軸が重要です。

チャレンジを送る
↓
相手がレスポンスを作る
↓
レスポンスを検証する
↓
検証した側が、応答した側を認証する

つまり、レスポンスを確認する側が認証する側です。

直感的な説明

チャレンジレスポンス認証は、合言葉そのものを言わせずに、相手が合言葉を知っているか確かめる仕組みです。

例えば、YがXを認証する場合を考えます。

Y:「今回のチャレンジ値は4821です」
X:「秘密の規則で計算するとA7C9です」
Y:「正しい。Xは正当な相手だ」

Yが送る値がチャレンジ、Xが返す答えがレスポンスです。

Xは秘密情報そのものを送っていません。Yは、正しいレスポンスを返せたかによって、Xが秘密情報を知っている正当な相手かどうかを確認します。

定義・仕組み

チャレンジレスポンス認証の流れは、次の3段階です。

1. 認証する側が、毎回異なるチャレンジを送る
2. 認証される側が、秘密情報とチャレンジからレスポンスを作る
3. 認証する側が、返されたレスポンスを検証する

役割を整理すると次のようになります。

役割 行うこと
認証する側 チャレンジを送り、レスポンスを検証する
認証される側 チャレンジを受け取り、レスポンスを作って返す
秘密情報 レスポンスを作るために使う。通常はそのまま送らない

なぜ毎回違うチャレンジを使うのか

毎回同じ応答を送る方式では、通信を盗聴した攻撃者が、過去の応答をそのまま再送して認証を通過するおそれがあります。

過去の認証情報を盗む
↓
同じ内容を再送する
↓
不正に認証を通過する

これがリプレイ攻撃です。

チャレンジレスポンス認証では、チャレンジを毎回変えるため、過去に使ったレスポンスをそのまま再利用しにくくなります。

毎回違うチャレンジ
↓
毎回違うレスポンス
↓
過去のレスポンスを再送しても一致しない

このテーマは、基本情報技術者試験の「セキュリティ」や「認証」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、通信手順を読んで、誰が誰を認証しているかを選ぶ問題として出題されます。

次の流れを見ます。

YがチャレンジをXへ送る
XがレスポンスをYへ返す
Yがレスポンスを確認する

この場合は、YがXを認証しています。

チャレンジを送った側:Y
レスポンスを返した側:X
レスポンスを確認した側:Y

→ YがXを認証する

試験では、最初に情報を送った側ではなく、最後にレスポンスの正しさを確認した側を見ることが大切です。

選択肢を切る判断軸

問題文の動作 判断
チャレンジを送る 相手を認証しようとしている側
レスポンスを生成する 認証される側
レスポンスを検証する 認証する側
両方向でチャレンジと検証を行う 相互認証

覚え方は次のとおりです。

問題を出す
→ 相手を試す

答えを返す
→ 試される

答えを確認する
→ 相手を認証する

科目Bでどう使う?

チャレンジレスポンス認証は、科目Bの情報セキュリティ分野と直接関係します。

長文問題では、用語名を答えるだけでなく、認証手順にどのような意味があるかを読み取る必要があります。

確認したいポイントは次のとおりです。

  1. 誰がチャレンジを送っているか
  2. 誰がレスポンスを生成しているか
  3. 誰がレスポンスを検証しているか
  4. チャレンジが毎回変化するか
  5. 秘密情報そのものを送っていないか
  6. 片方向認証か相互認証か

例えば、YがXだけを認証する流れは次のとおりです。

Y → X:チャレンジ
X → Y:レスポンス
Y:レスポンスを検証

一方、相互認証では、逆方向の確認も必要です。

YがXを認証する処理
+
XがYを認証する処理
↓
相互認証

科目Bでは、手順の中に次の弱点がないかも確認します。

  • 毎回同じチャレンジを使っていないか
  • 過去のレスポンスを再利用できないか
  • 秘密情報を平文で送っていないか
  • 一方だけしか認証していないのに、相互認証と判断していないか

よくある誤解・混同

チャレンジを受け取った側が、送信者を認証する

これは誤りです。

チャレンジは、相手を試すための任意の値です。チャレンジを受け取っただけでは、送信者が正当な相手かどうかは確認できません。

チャレンジを受け取る
≠
送信者を認証する

チャレンジを送ること自体が認証である

認証は、レスポンスを受け取り、その内容を検証して初めて成立します。

チャレンジを送るだけ
→ まだ認証は完了していない

片方向認証と相互認証は同じ

片方向認証では、一方だけが相手を確認します。

認証方式 認証する関係
片方向認証 YがXだけを認証する
相互認証 YがXを認証し、XもYを認証する

パスワードを送る方式と同じ

チャレンジレスポンス認証では、通常、秘密情報そのものを送信しません。

固定パスワードをそのまま送る
→ 盗聴されると再利用されるおそれ

チャレンジから毎回レスポンスを作る
→ 過去の値を再利用しにくい

毎回同じレスポンスでも安全である

毎回同じレスポンスを使うと、盗聴した値を再送される危険があります。

そのため、チャレンジは毎回異なる値にすることが重要です。

まとめ(試験直前用)

  • チャレンジレスポンス認証は、チャレンジに対する応答を検証して相手を認証する方式
  • チャレンジを送る側が認証する側、レスポンスを返す側が認証される側
  • レスポンスを最終的に確認する側が、相手の正当性を判断する
  • 毎回異なるチャレンジを使うため、過去のレスポンスを再利用しにくい
  • リプレイ攻撃への対策として有効
  • 両方向で同様の確認を行うと相互認証になる
  • 科目Bでは、誰が誰を認証するか、毎回値が変わるか、秘密情報を直接送っていないかを見る

© 2024-2026 stemtazoo. All rights reserved.