情報処理安全確保支援士試験 2019年 秋期 午前211


Cookie に Secure 属性を設定しなかったときと比較した,設定したときの動作として適切なものはどれか。
Cookie に設定された有効期間を過ぎると,Cookie が無効化される。
JavaScript による Cookie の読出しが禁止される。
URL 内のスキームが https のときだけ,Web ブラウザから Cookie が送出される。(正解)
Web ブラウザがアクセスする URL 内のパスと Cookie に設定されたパスのプレフィックスが一致するときだけ,Web ブラウザから Cookie が送出される。

解説

Cookie に Secure 属性を設定しなかったときと比較した,設定したときの動作として適切なものはどれか。【午前2 解説】

要点まとめ

  • 結論:Secure 属性を設定した Cookie は HTTPS 通信時のみブラウザから送信されます。
  • 根拠:Secure 属性は通信の安全性を確保するため、暗号化された HTTPS 接続でのみ Cookie を送信する制約を付けるためのものです。
  • 差がつくポイント:Secure 属性の役割を正確に理解し、HTTP と HTTPS の違いによる Cookie の送信条件を区別できることが重要です。

正解の理由

ウ: URL 内のスキームが https のときだけ,Web ブラウザから Cookie が送出される。
Secure 属性を付与した Cookie は、通信の安全性を保つために HTTPS 接続時のみブラウザからサーバへ送信されます。HTTP 接続では送信されず、盗聴や改ざんのリスクを低減します。これが Secure 属性の本質的な動作です。

よくある誤解

Secure 属性は JavaScript のアクセス制限や Cookie の有効期間には影響しません。パス属性の制約とも異なり、通信経路の安全性に関わる設定です。

解法ステップ

  1. Cookie の属性の役割を整理する(Secure, HttpOnly, Path, Expiresなど)。
  2. Secure 属性が通信経路の暗号化(HTTPS)に関係することを確認する。
  3. 選択肢の内容を属性の役割と照らし合わせて検証する。
  4. HTTPS 通信時のみ送信されるという特徴を持つ選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 有効期間の過ぎた Cookie は無効化されるが、これは Expires や Max-Age 属性の役割であり Secure 属性とは無関係です。
  • イ: JavaScript による Cookie の読み出し制限は HttpOnly 属性の役割であり、Secure 属性ではありません。
  • ウ: 正解。Secure 属性は HTTPS 通信時のみ Cookie を送信する制約を付けます。
  • エ: パス属性は Cookie の送信対象パスを制限しますが、Secure 属性とは別の機能です。

補足コラム

Secure 属性は、Cookie の送信を HTTPS 通信に限定することで、中間者攻撃(MITM)などによる Cookie の盗聴リスクを軽減します。これに対し、HttpOnly 属性は JavaScript からのアクセスを禁止し、クロスサイトスクリプティング(XSS)攻撃対策に役立ちます。両者はセキュリティ強化の異なる側面を担っています。

FAQ

Q: Secure 属性が設定された Cookie は HTTP でも送信されますか?
A: いいえ、Secure 属性が設定された Cookie は HTTPS 通信時のみ送信され、HTTP では送信されません。
Q: Secure 属性は JavaScript からのアクセスを制限しますか?
A: いいえ、JavaScript からのアクセス制限は HttpOnly 属性の役割であり、Secure 属性は通信経路の安全性に関わる設定です。

関連キーワード: Cookie, Secure属性, HTTPS, Webセキュリティ, HTTP通信, HttpOnly属性, パス属性, クロスサイトスクリプティング, MITM攻撃対策
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ