チャレンジレスポンス(Challenge-Response)とは、認証プロトコルの一種で、システムが提示する「チャレンジ」に対して、ユーザーが「レスポンス」を返すことで本人確認を行う方法です。この方式では、パスワードを直接やり取りせずに認証を行うため、セキュリティが向上します。
チャレンジレスポンスの仕組み
- チャレンジの送信: 認証サーバーがランダムなチャレンジ(乱数)をユーザーに送信します。
- レスポンスの生成: ユーザーは、受け取ったチャレンジと自分のパスワードを組み合わせてハッシュ値を生成し、それをレスポンスとしてサーバーに返送します。
- レスポンスの検証: サーバー側でも同じ方法でハッシュ値を生成し、ユーザーからのレスポンスと照合します。値が一致すれば認証成功となります。
メリット
- セキュリティの向上: パスワードそのものをネットワーク上でやり取りしないため、盗聴されてもパスワードが漏洩しにくい。
- リプレイ攻撃の防止: チャレンジは一度しか使われないため、過去のレスポンスを再利用するリプレイ攻撃を防ぐことができます。
使用例
- CHAP(Challenge-Handshake Authentication Protocol): インターネット接続時の認証に使用されます。
- ダイジェスト認証: Webサーバーとクライアント間の認証に使用されます。
チャレンジレスポンス認証は、特にセキュリティが重要なシステムで広く利用されています。