チャレンジレスポンス方式
基礎
- 通信を暗号化するのではなく、利用者を認証する際に使われる文字列にハッシュなどを用いる方法
- 例
動作
- C => S
認証要求
を送る
- S => C
チャレンジコード
を送る
- C => S
- チャレンジコードとパスワードを使って、
レスポンスコード
を計算し、送る
- チャレンジコードとパスワードを使って、
認証プロトコル例
利点
- パスワードそのものがネットワークに流れない
- 一方向性のハッシュ関数を用いているため、チャレンジ及びレスポンスが盗聴されたとしても、そこから計算に用いたパスワード(Seed) を求めることは困難
- チャレンジの内容が毎回変わるため、ある時点のレスポンスを保存されたとしてもリプレイアタックをされる可能性は低い
- 認証成立後も繰り返しチャレンジを送信して認証を行なうことで、セッションハイジャックなどによるなりすまし行為を防止できる
脆弱性
- 安易なパスワードを設定している場合、盗聴されたチャレンジとレスポンスをもとに、オフラインパスワードクラックが行われることによって、パスワードが解析されてしまう可能性がある
- CHAP には認証サーバの信頼性を確認する仕組みがないため、偽の認証サーバによってセッションハイジャックが行われる可能性がある