情報処理安全確保支援士 2018年 春期 午前2 問11
問題文
cookieにsecure属性を設定しなかったときと比較した、設定したときの動作の差として、適切なものはどれか。
選択肢
ア:cookieに設定された有効期間を過ぎると、cookieが無効化される。
イ:JavaScriptによるcookieの読出しが禁止される。
ウ:URLのスキームがhttpsのときだけ、Webブラウザからcookieが送出される。(正解)
エ:WebブラウザがアクセスするURL内のパスとcookieに設定されたパスのプレフィックスが一致するとき、Webブラウザからcookieが送出される。
🔒 解説は解答すると表示されます
Secure属性(Cookie)【午前2解説】
正解の理由
secure属性を設定したcookieは、通信の安全性を確保するためにHTTPS(暗号化通信)でのアクセス時にのみブラウザから送信されます。これにより、HTTP(非暗号化通信)経由でのcookieの漏洩リスクを防止します。選択肢ウはこの動作を正確に表しているため正解です。
解法ステップ
- cookieのsecure属性の意味を確認する。
- secure属性が設定された場合の通信条件(HTTPSのみ)を理解する。
- 選択肢の内容と照らし合わせて、通信スキームに関する説明が正しいか判断する。
- 他の属性(有効期間、JavaScriptアクセス、パス制限)との違いを区別する。
- 最も正確にsecure属性の動作を説明している選択肢を選ぶ。
選択肢別の誤答解説
- ア: cookieの有効期間はExpiresやMax-Age属性で制御され、secure属性とは無関係です。
- イ: JavaScriptによるcookieの読み出し制限はHttpOnly属性で行い、secure属性ではありません。
- ウ: URLのスキームがhttpsのときだけcookieが送出されるため正解です。
- エ: パス制限はPath属性で制御され、secure属性の役割ではありません。
よくある誤解
secure属性はcookieの有効期限やJavaScriptからのアクセス制限には影響しません。これらは別の属性(Expires, HttpOnly)で制御されます。
補足コラム
secure属性は、cookieの送信をHTTPS通信に限定することで、中間者攻撃(MITM)などによるcookieの盗聴リスクを軽減します。これにより、ユーザーの認証情報やセッション情報の安全性が向上します。なお、secure属性だけではJavaScriptからのアクセス制限はできないため、HttpOnly属性と併用することが推奨されます。
FAQ
Q: secure属性が設定されたcookieはHTTPでも送信されますか?
A: いいえ、secure属性が設定されたcookieはHTTPS通信時のみ送信され、HTTPでは送信されません。
A: いいえ、secure属性が設定されたcookieはHTTPS通信時のみ送信され、HTTPでは送信されません。
Q: JavaScriptからcookieを読み取れなくするにはどうすればよいですか?
A: HttpOnly属性を設定することで、JavaScriptからのcookie読み取りを禁止できます。
A: HttpOnly属性を設定することで、JavaScriptからのcookie読み取りを禁止できます。
Q: cookieの有効期限はどの属性で設定しますか?
A: ExpiresまたはMax-Age属性でcookieの有効期限を設定します。
A: ExpiresまたはMax-Age属性でcookieの有効期限を設定します。
関連キーワード: cookie, secure属性、HTTPS, HTTP, Webセキュリティ、セッション管理、HttpOnly, Path属性

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

