1. はじめに
ITPとは何か
- Safari(ブラウザ)に搭載されているプライバシー保護機能のひとつ。
- ユーザーのウェブ上でのトラッキングを制限するために設計された。
- Third-Party Cookie、First-Party Cookieに対する制限や、JavaScriptを通じた追跡手法の排除の対応をしている。
なぜITPが導入されたのか
-
過剰なターゲティング広告や行動追跡に対するユーザーの懸念があったため
→ Appleはプライバシーは基本的人権であるという理念をもとに、開発・強化を行っている。
2. Cookieの種類と特徴
Cookieとは
- Webサイトがユーザーのブラウザに保存する小さなデータのこと。
- ログイン情報の保持、ユーザー設定の記録、行動履歴の保存に使う。
Cookieの基本分類
- Cookieは以下の2軸で分類される
- ドメイン関係: First-Party or Third-party
- 発行元: JavaScritp(Client) or Server
1. First-Party Cookie
- ユーザー直接アクセスしているドメイン(例:
example.com
)が発行するCookie。 - セッション管理や言語設定で使用される。
2. Third-Party Cookie
- ユーザーがアクセスしているサイトとは異なるドメイン(例:
hogo.com
)が発行するCookie。 - 広告配信みゃアクセス解析などのクロスサイトトラッキングに活用される。
3. Client Cookie
- ブラウザ側(JavaScript)で生成・操作されるCookie。
-
document.cookie
を用いて読み書きする。 - セキュリティ制御が弱く、HttpOnly属性を付けられない点が注意。
4. Server Cookie
- サーバーから
Set-Cookie
ヘッダを通して発行されるCookie。 -
Set-Cookie
ヘッダがレスポンスに含まれることでブラウザに保存される。 - セキュリティ属性(HttpOnly, Secureなど)を細かく設定できる。
3. ITPの仕組み
クロスドメイン制限
- ITPの本質は**「Third-Partyによるクロスサイト追跡の排除」**
- ユーザーが明示的に同意していなくても追跡が可能な構造なので、ブロック対象となる。
サブドメインはFarst-Party
扱いになる
ITPは、eTLD+1
ルールが適用しており、eTLD+1(例: example.com
)が一致しているeTLD+2(例: sub.example.com
)は同ドメインを扱われる。
有効期限の制限(ITP 2.1以降)
- JavaScriptで発行されたFirst-Party Cookieの有効期限を最大7日間に制限。
Cookie区分表
ドメイン関係 | 発行元 | 主な用途 | ITP影響 |
---|---|---|---|
Farst-Party | Client(JS) | 状態保持系 | 7日間制限あり |
Farst-Party | Server | 認証系 | 制限なし |
Third-Party | Client(JS) | ほぼ使えない | 完全にブロックされる |
Third-Party | Server | 昔のトラッキング系 | ブロックされる or 即時削除 |