Cookieとは?くっきー
Cookieとは、WebサーバがSet-Cookieヘッダでブラウザに保存させ、以降のリクエストへ自動的に付けさせる小さなデータ。状態を持たないHTTPでログイン状態の維持や設定の記憶を行うために使われる。セッションIDを載せる用途では、Secure・HttpOnly・SameSite・有効期限・ドメインとパスの各属性の指定が、そのまま防御の設計になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
HTTPは1回の要求と応答で完結する設計で、次の要求が同じ利用者からのものかを判断する手段を持たない。この欠落を、ブラウザ側へ識別子を預けて毎回持たせることで埋めたのがCookieである。ただし「持っている者を本人と見なす」仕組みなので、盗まれた時点でなりすましが成立する。支援士では、XSS・CSRF・セッションハイジャックが、どの属性で止まるかを結びつけて問われる。
具体例
Secure属性を付ければHTTPS以外では送出されず、HttpOnly属性を付ければJavaScriptから読めないため、XSSによるセッションIDの窃取を防げる。SameSite属性をLaxやStrictにすると外部サイト起点の遷移でCookieが付かず、CSRFの成立条件が崩れる。仕様はRFC 6265として公開され、主要ブラウザはサードパーティCookieの制限を段階的に進めている。
試験での引っ掛け
Cookie自体はデータであってプログラムではないため、それ単体で動作したり感染したりはしない。危険なのは中身のセッションIDを盗まれ、そのまま本人として使われる点にある。属性の役割の取り違えも定番で、スクリプトからの読み取りを止めるのはHttpOnly、平文送信を止めるのはSecure、他サイト起点の送信を絞るのがSameSite。ログイン成功時にセッションIDを再発行しないと固定化攻撃が成立する点も併せて問われる。
関連用語
出た過去問
出典:平成28年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問9(IPA)
Cookieにsecure属性を付けなかったときと比較した,付けたときの動作の差はどれか。
正解:URLのスキームがhttpsのページのときだけ,WebブラウザからCookieが送出される。
要点:secure属性はHTTPS通信時だけCookieを送出させる
secure属性を付けたCookieは、HTTPSで保護された通信のときだけブラウザから送出されます。平文のHTTP通信に乗って漏えいすることを防ぐのが目的です。JavaScriptからの読出しを禁じるのは別のHttpOnly属性です。
出典:平成30年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問11(IPA)
cookieにsecure属性を設定しなかったときと比較した,設定したときの動作の差として,適切なものはどれか。
正解:URLのスキームがhttpsのときだけ,Webブラウザからcookieが送出される。
要点:secure属性はHTTPS通信のときだけcookieを送らせる
secure属性を付けたcookieは、HTTPSで保護された通信のときにしかブラウザから送出されない。平文のHTTP通信に乗ってセッションIDが漏れる事態を防ぐための属性であり、盗聴によるセッションハイジャック対策として基本となる。スクリプトからの読み出し禁止はHttpOnly属性、送出範囲の制御はpathやdomain属性と、役割が分かれている点に注意したい。
出典:令和元年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問11(IPA)
CookieにSecure属性を設定しなかったときと比較した、設定したときの動作として、適切なものはどれか。
正解:URL内のスキームがhttpsのときだけ、WebブラウザからCookieが送出される。
要点:Secure属性はHTTPS通信でのみCookieを送らせる
CookieのSecure属性は、そのCookieをHTTPS(スキームがhttps)の通信でのみ送出させる指定である。これにより平文のHTTP通信にCookieが載ることがなくなり、盗聴によるセッションIDの窃取を防げる。JavaScriptからの読出しを禁じるのはHttpOnly属性、送出対象のパスを絞るのはPath属性と、役割の違いを整理しておきたい。
出典:令和2年度 10月試験 情報処理安全確保支援士試験 午前Ⅱ 問12(IPA)
WebサーバがHTTP over TLS(HTTPS)通信の応答でcookieにSecure属性を設定するときのWebサーバ及びWebブラウザの処理はどれか。
正解:Webサーバでは、cookie発行時に“Secure”を設定し、Webブラウザでは、それを参照し、HTTPS通信時にだけそのcookieを送信する。
要点:Secure属性は値を持たずHTTPS時だけcookieを送らせる
Secureは値を伴わないフラグ形式の属性で、サーバがSet-Cookieに付与すると、ブラウザはそのcookieをHTTPS通信のときにしか送信しなくなる。平文のHTTP通信でセッションIDが流れて盗聴されるのを防ぐための属性であり、有効期限やスコープ、スクリプトからの遮蔽はそれぞれexpires、domain/path、HttpOnlyが担う。
出典:令和3年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問10(IPA)
cookieにSecure属性を設定しなかったときと比較した、設定したときの動作として、適切なものはどれか。
正解:URL内のスキームがhttpsのときだけ、Webブラウザからcookieが送出される。
要点:Secure属性はHTTPS通信のときだけcookieを送らせる
Secure属性を付けたcookieは、HTTPSで保護された通信のときにしかブラウザから送出されない。平文のHTTP通信でセッションIDが流れて盗聴される事態を防ぐ属性であり、盗聴によるセッションハイジャック対策の基本となる。スクリプトからの読み出し禁止はHttpOnly、送出範囲の制御はpathやdomain、失効はexpiresと、役割が分かれている。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。