はじめに
「Cookieを無効にしてください」
「このサイトはCookieを使用しています」
日常的に目にするこの“Cookie”という言葉、セキュリティの観点ではどういう意味を持つのでしょうか?
Cookieとは?
Cookie(クッキー)とは、
WebブラウザとWebサーバーの間でやりとりされる小さなテキスト情報のこと。
どんなときに使われるの?
- ログイン状態の維持(セッションIDの保存)
- ショッピングカートの中身を保持
- ユーザーの閲覧履歴や好みに基づく表示最適化
つまり、Cookieはあなたの前回の行動を覚えておくための付箋紙のような役割を果たします。
Cookieの属性とは?
Cookieには、セキュリティや動作に関わる**属性(フラグ)**を付与することができます。
以下が、特に安全確保支援士試験で問われやすい重要な属性です。
① Secure 属性
- 意味:HTTPS通信のときのみCookieを送信
- 効果:盗聴・改ざんリスクのあるHTTP経由ではCookieが漏れない
- ポイント:HTTPS前提のWebサイトでは必ず付けるべき
② HttpOnly 属性
- 意味:JavaScriptからのアクセスを禁止する
- 効果:XSS(クロスサイトスクリプティング)によるCookieの不正取得を防止
- ポイント:セッションIDを含むCookieには必須
③ SameSite 属性
-
意味:クロスサイト間でのCookie送信を制限
-
設定値:
-
Strict
:外部サイトからのアクセスではCookieを一切送らない -
Lax
:GETリクエストなどは許可(ログイン画面など向け) -
None
:クロスサイトでも送信許可(ただしSecure属性が必須)
-
-
効果:CSRF(クロスサイトリクエストフォージェリ)の防止
-
ポイント:近年のブラウザではデフォルトが
Lax
になっていることも多い
Cookieの属性まとめ表
属性 | 機能・目的 | セキュリティ対策としての役割 |
---|---|---|
Secure | HTTPS通信時のみ送信 | 通信路の盗聴・改ざん対策 |
HttpOnly | JavaScriptからのアクセス不可 | XSSによるセッションID盗難の防止 |
SameSite | クロスサイトでのCookie送信制御 | CSRF攻撃の防止 |
まとめ:Cookieのセキュリティ属性は必須知識!
- Cookieはユーザー情報の“記憶装置”
- 属性を正しく設定することで、重大な攻撃(XSS・CSRF・盗聴)を防げる
- Secure/HttpOnly/SameSiteの3点セットは特に重要!