【ちゃれんじれすぽんすにんしょう】
チャレンジレスポンス認証 とは?
最終更新:
💡 今回の問いに答えられるかで、秘密情報の所持を確かめる
認証する側がチャレンジを送り、相手が秘密情報を使って作った応答を検証する方式。共有秘密を使うハッシュ計算や、秘密鍵による署名などがあり、毎回の要求に応答を結び付けて秘密情報をそのまま送らずに確認する。
📌 このページのポイント
- 認証する側がチャレンジを送り、相手の応答を検証する
- 共有秘密を使う方式と、秘密鍵・公開鍵を使う方式がある
- リプレイ対策には新しいチャレンジと、応答の正しい照合が必要
- 盗聴・推測・中継への耐性は、具体的な方式と実装によって異なる
パスワードを送らずにどう確かめるの?
認証する側が今回のチャレンジを出し、相手が秘密情報を使って応答を計算するよ。認証側はその応答を検証する。例えばCHAPは共有秘密とチャレンジを使う方式で、秘密そのものはリンク上に送らないんだ。
どの方式もパスワードのハッシュを返すの?
傍受した応答は再利用できない?
チャレンジが新しく、認証側が今回の要求への正しい応答か照合することが大切だよ。同じ問いを再利用すれば、古い応答が使われる場合がある。CHAPの仕様もチャレンジの一意性と予測しにくさを求め、リアルタイムの通信中継を防げる方式ではないと説明している。
この仕組みなら盗聴されても安心?
秘密をそのまま送らないことだけで、あらゆる攻撃を防ぐわけではないよ。推測されにくい秘密、適切な計算方式、通信相手や要求との結び付けなども必要。例えばCHAPの仕様も、総当たり攻撃に備えて推測しにくい秘密を求めているんだ。
まとめ:ざっくりこれだけ覚えればOK!
「チャレンジレスポンス認証」って出てきたら「今回の問いへの応答で、秘密情報を持つことを確かめる認証方式」と思えればだいたいOK!
📖 おまけ:英語の意味
「Challenge-Response Authentication」 = 問いかけと応答による認証
💬 challengeが認証側の問い、responseが相手の応答。問いを更新し、それに対応した応答か確かめることで、過去の応答の使い回しを防ぐ狙いがあるよ