HTTPの認証機能…Basic認証、ダイジェスト認証(平成21年秋期 午後問4)
HTTPの認証機能にはBasic認証、ダイジェスト認証がある。
IDとパスワードを「:」でつなぎ、Base64エンコーディングを行う
利用者から端末に入力された利用者IDとパスワードが、サーバにそのまま送信されるので、盗聴した利用者IDとパスワードを端末に入力することで不正ログインが可能になってしまいます。(
基本情報技術者過去問題 平成21年秋期 午後問4(情報セキュリティ)|基本情報技術者試験.com
)
・ダイジェスト認証
認証に「チャレンジレスポンス方式」を使う。
端末とサーバ間に流れる情報は、利用者ID、およびサーバから送信されたチャレンジと利用者が入力したパスワードから計算されたハッシュ値(レスポンス)の二つです。
チャレンジレスポンス方式では、端末に正規の利用者IDとパスワードを入力することで、認証が可能になりますが、盗聴されたレスポンスからハッシュ化前のパスワードを逆計算することは、ほぼ不可能※1ので、不正ログインはできないことになります(
基本情報技術者過去問題 平成21年秋期 午後問4(情報セキュリティ)|基本情報技術者試験.com
)
盗まれたデータでも端末に入力された利用者IDとパスワードが正しいものならば、サーバのチャレンジとパスワードによって計算されるレスポンスも正しいものとなるので不正ログインが可能になります。
(
基本情報技術者過去問題 平成21年秋期 午後問4(情報セキュリティ)|基本情報技術者試験.com
)
手順は以下の通り。
1.サーバ側でランダムな文字列を生成する
2.ユーザにログインIDとパスワードを入力させる
3.パスワードにランダムな文字列を付与し、ハッシュデータを送信
4.送信されたデータが正しいか確認する
(バックエンド側(サーバ側)は、送信された「ログインID」「パスワード」「ランダムな文字列」が正しいデータであるか確認し、正しいデータであれば認証OK、間違っているデータであれば認証NGと判断し、結果を返却します。)
Digest認証(ダイジェスト認証)とは、HTTPで定義される認証方式の一つです。Basic認証の平文で「ユーザーID」と「パスワード」を送信してしまう欠点を改善した認証方式で、「ユーザーID」と「パスワード」をハッシュ化して送信します。
→
SSL(HTTPS)を使用すればBasic認証の平文でパスワードを送信する欠点を改善できるため、Digest認証は、HTTPS通信ができない環境で使われるHTTP認証方式