問20 HTTPの認証機能を利用するクライアント側の処理として適切なものはどれか。
ア ダイジェスト認証では、利用者IDとパスワードを":"で連結した物を、MD5を使ってエンコードしAuthorizationヘッダで指定する。
イ ダイジェスト認証では、利用者IDとパスワードを":"で連結した物を、SHAを使ってエンコードしAuthorizationヘッダで指定する。
ウ ベーシック認証では、利用者IDとパスワードを":"で連結した物を、BASE64でエンコードしAuthorizationヘッダで指定する。
エ ベーシック認証では、利用者IDとパスワードを":"で連結した物を、エンコードせずにAuthorizationヘッダで指定する。
解説
ア 不正解
MD5を使うのはあっていますが、MD5はエンコードというよりはハッシュを求めるが正解です。
さらにダイジェスト認証では、以下の用に利用者IDとパスワードに加えてHTTPのメソッド、コンテンツのURI、nonce、nc、cnonce、popを結合してMD5を求めます。
クライアントが計算するresponse(wikipediaより)
A1 = ユーザ名 ":" realm ":" パスワード
A2 = HTTPのメソッド ":" コンテンツのURI
response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) )
イ 不正解
ダイジェスト認証ではSHAはたぶん使えません。
ウ 正解
正しいです。
エ 不正解
「エンコードせずに」は間違いです。選択肢ウの通り、ベーシック認証ではBASE64でエンコードします。
最終更新:2013年10月01日 02:27