問題
チャレンジレスポンス認証方式の特徴として,適切なものはどれか。
- SSLによって,クライアント側で固定パスワードを暗号化して送信する。
- 端末のシリアル番号を,クライアント側で秘密鍵を使って暗号化して送信する。
- トークンという装置が表示する毎回異なったデータを,パスワードとして送信する。
- 利用者が入力したパスワードと,サーバから送られてきたランダムなデータとをクライアント側で演算し,その結果を送信する。
答え
利用者が入力したパスワードと、サーバから送られてきたランダムなデータとをクライアント側で演算し、その結果を送信する。
解説
チャレンジレスポンス認証は、片方が「チャレンジ」を送り、もう片方がその「チャレンジ」を用いて正しい「レスポンス」を送ることで認証を行います。
より具体的には、以下の一連の流れを指して、一般的にチャレンジレスポンス認証と呼びます。
- 認証サーバは、 「パスワード」 をハッシュ関数に入力し生成した「パスワードのメッセージダイジェスト」を保存する。クライアントから認証要求を受けると、ランダムで予測困難な「チャレンジ」を生成し、クライアントへ送る。
- クライアントは、「チャレンジ」と「パスワード」をハッシュ関数に入力してパスワードのメッセージダイジェストを生成し 、 さらに「チャレンジ」と「パスワードのメッセージダイジェスト」をハッシュ関数に入力しレスポンスを生成し、レスポンスをサーバに送る。
- サーバは、サーバ自身で「 チャレンジ」と 「パスワードのメッセージダイジェスト」 を用いてメッセージダイジェストを生成し、 クライアントからのレスポンスと一致するか確認をする。
この流れを経ることで、パスワードそのものがネットワーク上を流れることがなくなり、盗聴することができなくなります。
また、認証のたびに ランダムで予測困難な「チャレンジ」 を用いることで、レスポンスも毎回異なる値になり、チャレンジやレスポンスを盗聴しても、同じ値で再度認証を受けることができません。
また、認証サーバに不正アクセスが行われても、保存してあるのはメッセージダイジェストであり、パスワード自体の漏洩を防ぐことができます。