この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

cookieのSecure属性は「HTTPS通信(URL内のスキームがhttps)のときだけWebブラウザからcookieを送出する」という設定です。Secure属性が設定されていない場合、HTTP(平文通信)でもcookieが送信されるため、通信の盗聴によりセッションIDなどの重要情報が漏えいするリスクがあります。Secure属性を設定することで、たとえユーザーが誤ってHTTPでアクセスした場合や攻撃者がHTTPへのダウングレードを試みた場合でも、cookieが送信されません。WebアプリケーションのcookieにはSecure属性に加えて、HttpOnly属性(JavaScriptからのcookieアクセス禁止)、SameSite属性(CSRF対策)を組み合わせて設定することがセキュリティのベストプラクティスです。特にセッションIDを含むcookieには必ず設定すべき属性です。

なぜ他の選択肢は違うのか

選択肢 ア
「cookieに設定された有効期間を過ぎるとcookieが無効化される」はExpires属性またはMax-Age属性の説明です。これらの属性でcookieの有効期限を設定できますが、Secure属性とは無関係です。Secure属性は送信条件(HTTP/HTTPS)を制御するものであり、有効期限の管理とは別の属性です。
選択肢 イ
「JavaScriptによるcookieの読出しが禁止される」はHttpOnly属性の説明です。HttpOnly属性を設定するとdocument.cookieでのJavaScriptからのアクセスができなくなり、XSS(クロスサイトスクリプティング)攻撃によるcookieの盗取を防ぎます。Secure属性はHTTPSでの送信制御であり、JavaScriptアクセスとは無関係です。
選択肢 エ
「WebブラウザがアクセスするURL内のパスとcookieに設定されたパスのプレフィックスが一致するときだけcookieを送出する」はPath属性の説明です。Path属性でcookieを送信するURLのパスを制限できます。Secure属性はHTTPS/HTTPの区別を制御するものであり、パスの一致とは別の属性です。

解くときのポイント

cookie属性の整理:Secure=「httpsのみ送信」、HttpOnly=「JavaScriptアクセス禁止」、SameSite=「クロスサイトリクエスト制御(CSRF対策)」、Path=「送信パスを限定」、Expires/Max-Age=「有効期限」。セッションIDのcookieには最低Secure+HttpOnlyの2つが必須。