SC情報処理安全確保支援士試験 午前Ⅱ

平成24年度秋期 情報処理安全確保支援士 午前Ⅱ 問20

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

HTTPの認証機能を利用するクライアント側の処理として、 適切なものはどれか。

選択肢

  1. ア
    ダイジェスト認証では、 利用者IDとパスワードを “:” で連結したものを、 MD5を使ってエンコードしAuthorizationヘッダで指定する。
  2. イ
    ダイジェスト認証では、 利用者TDとパスワードを “:” で連結したものを、 SHAを使ってエンコードしAuthorizationヘッダで指定する。
  3. ウ
    ベーシック認証では、 利用者IDとパスワードを “:” で連結したものを、 BASE64でエンコードしAuthorizationヘッダで指定する。
  4. エ
    ペーシック認証では、 利用者TDとパスワードを “:” で連結したものを、 エンユードせずにAuthorizationヘッダで指定する。
解き方のヒントを見る

午前II 問20:HTTPベーシック認証のしくみ

HTTPベーシック認証では、利用者IDとパスワードを `利用者ID:パスワード` みたいに `:` でつなげて、それをBase64エンコードしてからAuthorizationヘッダに入れて送るよ。封筒に入れるというより、文字の見た目を変えて送っているだけなので、暗号化とは別物だと押さえよう。

この問題で問われていること

この問題では、ベーシック認証とダイジェスト認証で何をどう送るのかを見分けられるかがポイントだよ。ベーシック認証はIDとパスワードをBase64で変換して送る方式、ダイジェスト認証はハッシュ値を使ってパスワードそのものを送らない方式、と区別しよう。

ベーシック認証の送信内容

ベーシック認証は平文に近く、Base64 は暗号化ではありません。安全に使うには通常 TLS と組み合わせる。

ID:パスワード\n-> Base64 エンコード\n-> Authorization ヘッダ

確認ポイント

  • Base64 は暗号化ではありません。
  • ダイジェスト認証は単純に ID:パスワードを MD5/SHA する説明ではありません。
  • ベーシック認証の Base64 送信を選ぶ。
正解と解説を見る

正解

ウ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは間違いだよ。ダイジェスト認証ではMD5が使われることはあるけれど、利用者IDとパスワードを「:」でつないだものだけをMD5にして送る、という説明では足りないんだ。実際にはrealmやnonce、リクエスト情報なども関係するよ。泥棒対策でいうと、ただ暗証番号を少し変形して渡すのではなく、その場限りの確認番号も混ぜてチェックする感じだよ。

選択肢イ

これは間違いだよ。ダイジェスト認証は、利用者IDとパスワードを単純に「:」でつないでSHAでエンコードするだけ、という仕組みではないんだ。サーバから渡されるnonceなども使ってハッシュ値を作るよ。たとえるなら、毎回変わる合言葉も混ぜて本人確認するのに、『名前と暗証番号だけを箱に入れる』と言っているようなものだよ。

選択肢ウ(正解)

これは正解だよ。ベーシック認証では、利用者IDとパスワードを「利用者ID:パスワード」の形につなぎ、それをBASE64でエンコードしてAuthorizationヘッダに入れるんだ。ただしBASE64は暗号ではなく、誰でも戻せる目隠し程度だよ。たとえるなら、合鍵を透明ではない袋に入れて渡すだけで、頑丈な金庫に入れているわけではない、というイメージだよ。

選択肢エ

これは間違いだよ。ベーシック認証では、利用者IDとパスワードを「:」でつないだ後、そのまま丸見えで送るのではなく、BASE64でエンコードしてAuthorizationヘッダに入れるんだ。たとえるなら、合鍵を封筒に入れずに窓口へ渡す、みたいな説明になっていて、実際の手順と違うよ。

出典:独立行政法人 情報処理推進機構(IPA)平成24年度秋期 情報処理安全確保支援士試験 午前Ⅱ 問20(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針