CookieとSessionStorageとLocalStorageの違い
ブラウザに保存される情報の違いと、ログイン状態や識別子が匿名性に与える影響を学びます。
Webサイトは、ブラウザの中に情報を保存することがあります。
ログイン状態を保つ。 表示設定を覚える。 カートの中身を残す。 前回の操作を引き継ぐ。 同じブラウザからの再訪問を識別する。
このために使われる代表的な仕組みが、Cookie、SessionStorage、LocalStorageです。
これらはWebを便利にします。 しかし匿名性の視点では、同じブラウザを識別する手がかりになります。
Cookieとは何か
Cookieは、Webサイトがブラウザに保存し、条件に合うリクエストでサーバーへ送られる小さなデータです。
ログイン状態、セッションID、表示設定、アクセス解析、広告識別などに使われます。
たとえば、あるサイトにログインすると、ブラウザにはセッションを示すCookieが保存されます。 次に同じサイトへアクセスすると、そのCookieが送られます。 サイト側は「このブラウザはログイン済みの利用者だ」と判断できます。
匿名性で重要なのは、を変えてもCookieが残る点です。
自宅回線でアクセスしたあと、を使って同じブラウザでアクセスしても、同じCookieが送られれば同じブラウザとして扱われます。
SessionStorageとは何か
SessionStorageは、ブラウザのタブやウィンドウ単位で一時的に保存されるデータです。
一般的には、そのタブを閉じると消えます。 フォームの途中入力、画面状態、一時的な操作情報などに使われます。
Cookieと違い、通常はHTTPリクエストごとに自動送信されるものではありません。 JavaScriptから読み書きされ、ページ内の処理に使われます。
ただし、サーバーへ送られないから匿名性と無関係、というわけではありません。 Webページのスクリプトが読み取り、必要に応じてサーバーへ送ることはできます。
LocalStorageとは何か
LocalStorageは、ブラウザに長期的に保存されるデータです。
タブを閉じても残ります。 ブラウザを再起動しても残ります。 サイトの設定、テーマ、状態保存、識別子などに使われることがあります。
Cookieより大きなデータを保存でき、JavaScriptから扱われます。
匿名性では、LocalStorageに残った値が再訪問の識別に使われる点に注意します。
Cookieを削除しても、LocalStorageに識別子が残っていれば、同じブラウザとして扱われることがあります。
3つの違い
Cookie、SessionStorage、LocalStorageは、保存期間と送信のされ方が違います。
| 項目 | Cookie | SessionStorage | LocalStorage |
|---|---|---|---|
| 保存期間 | 設定された期限まで残る | タブやウィンドウを閉じるまで | 明示的に消すまで残る |
| サーバーへの送信 | 条件に合えば自動送信される | 自動送信されない | 自動送信されない |
| 主な用途 | ログイン、セッション、解析 | 一時的な画面状態 | 設定、状態保存、識別子 |
| 匿名性上の注意 | IPが変わっても同じブラウザと分かる | ページ処理で使われる | Cookie削除後も残ることがある |
どれも、ブラウザの中に残る情報です。 匿名性では、Cookieだけを見ても足りません。
匿名性で問題になる場面
問題になるのは、実名利用と匿名利用が同じブラウザに混ざる場面です。
たとえば、実名アカウントでログインしていたブラウザを、そのまま匿名活動に使う。 Cookieだけ削除して、LocalStorageは残っている。 匿名用サイトを開いたあと、同じタブや同じブラウザで実名サービスに戻る。
こうした運用では、ブラウザ内の情報が混ざります。
| 場面 | 何が起きるか |
|---|---|
| 同じブラウザで実名と匿名を使う | Cookieや保存情報が混ざる |
| Cookieだけ削除する | LocalStorageなどが残る |
| ログイン済みサイトを開いたまま匿名活動する | 同じ環境で行動が結びつく |
| 複数アカウントを同じブラウザで使う | アカウント相関が起きやすい |
匿名性では、保存データを消すだけでなく、環境を分けることが重要です。
Cookie、SessionStorage、LocalStorageは、同じ「サイトデータ」としてまとめて扱われることがあります。 しかし、保存のされ方や消え方は同じではありません。
ブラウザの「履歴を削除」を押しても、選んだ項目によってはCookieだけ、キャッシュだけ、閲覧履歴だけが消え、サイトデータの一部が残ることがあります。 逆に、サイトデータをまとめて消すと、ログイン状態や設定も消えます。
| 操作 | 注意点 |
|---|---|
| 閲覧履歴だけ削除 | CookieやLocalStorageが残る場合がある |
| Cookie削除 | LocalStorageなど別の保存領域が残る場合がある |
| サイトデータ削除 | ログイン状態や設定も消える |
| プライベートウィンドウ | 既存の通常ブラウザ環境とは挙動が異なる |
| ブラウザ同期 | 別端末から情報が戻る場合がある |
匿名性では、「消したつもり」を避けるために、削除範囲を確認します。
削除より分離が重要
CookieやLocalStorageは削除できます。 しかし、毎回完璧に削除し続けるのは難しいです。
サイトごとに保存場所が違う。 ブラウザの設定で消える範囲が違う。 拡張機能や同期機能が影響する。 ログインした瞬間に新しい識別子が作られる。
そのため、匿名性では削除だけに頼らず、実名用と匿名用のブラウザを分けるほうが現実的です。
高リスクな活動では、ブラウザだけでなく、端末やOS、ネットワーク環境も分けることを考えます。
プライベートブラウジングも、分離の一部として役立つ場合があります。 ただし、プライベートウィンドウは匿名化技術ではありません。 Webサイト、通信事業者、職場や学校のネットワーク、接続先サーバーから完全に隠れる仕組みではありません。
プライベートウィンドウは、主に端末内に履歴やCookieを残しにくくするための機能です。 実名アカウントにログインすれば、その行動はアカウントに結びつきます。
確認すること
ブラウザ内の保存情報については、次の点を確認します。
- 実名用と匿名用で同じブラウザを使っていないか
- 匿名用ブラウザで実名アカウントにログインしていないか
- Cookieだけでなくサイトデータ全体を確認しているか
- LocalStorageやSessionStorageが残る前提で考えているか
- ブラウザ同期で別端末と情報が混ざっていないか
- 拡張機能が保存情報を持っていないか
特にブラウザ同期には注意が必要です。 実名環境のブックマーク、履歴、拡張機能、保存パスワードが匿名環境に入ると、分離が崩れます。
まとめ
Cookie、SessionStorage、LocalStorageは、Webサイトがブラウザ内に情報を保存するための仕組みです。
Cookieは条件に合えばサーバーへ自動送信されます。 SessionStorageはタブ単位の一時保存に使われます。 LocalStorageは長期的に残る保存領域です。
これらはWebを便利にしますが、匿名性では同じブラウザを識別する手がかりになります。
IPアドレスを変えても、CookieやLocalStorageが残れば同じブラウザとして扱われることがあります。
匿名性を守るには、保存情報を削除するだけでなく、実名用と匿名用のブラウザ環境を分けることが重要です。
関連ツール
BrowserLeaks WebRTC
BrowserLeaks WebRTCは、WebRTC経由でブラウザから見えるIPアドレスや通信情報を確認できる検証ページです。
紹介する理由: VPNを使っていても、ブラウザ機能の設定によって意図しないIP情報が見えることがあるため、匿名環境の確認に役立ちます。
BrowserLeaks Fingerprint
BrowserLeaks Fingerprintは、Canvas、WebGL、フォント、画面サイズ、言語など、Webサイト側から見えるブラウザ環境を確認できる検証サイトです。
紹介する理由: ブラウザフィンガープリントは、IPアドレスとは別に同じ環境を見分ける手がかりになります。自分のブラウザがどのような情報を出しているかを具体的に確認できるため、基礎学習の補助として紹介します。
EFF Cover Your Tracks
EFF Cover Your Tracksは、ブラウザがトラッカーやフィンガープリントに対してどの程度識別されやすいかを確認できるEFFの検証サイトです。
紹介する理由: ブラウザの見え方が匿名性に関係することを、実際のテスト結果として理解しやすいため紹介します。結果は安全保証ではなく、環境確認の入口として扱います。
Tor Project
Tor Projectは、Tor BrowserとTorネットワークを開発・公開している公式プロジェクトです。
紹介する理由: Torは通信経路を隠す仕組みを学ぶ中心的な実例です。公式サイトでは、Tor Browserの入手、仕組み、利用上の注意を確認できます。