- 2005年にPrivate Browsing(プライバシーブラウズモード)を発明した当時、目標は同じデバイスを共有する人々からユーザーのブラウジングを保護することだった
- ユーザーがブラウジングのローカルな永続的痕跡を残さないモードを作り、最終的には他のすべてのブラウザも同じ機能を提供するようになった。これを「ephemeral browsing」とも呼ぶ
- 2003年のSafari 1.0からCookieポリシーを通じてすべてのSafariブラウジングにクロスサイトトラッキング防止を適用し、この20年間でプライバシー保護を段階的に強化してきた
- 他の有名ブラウザはトラッキング防止において私たちの主導にそれほど素早く追随してはいないが、進展はある
- Appleは、ユーザーが知らないうちに同意なくWeb上で追跡されるべきではないと考えている
- Private Browsingに入ることは、ユーザーがプライバシー侵害に対して最善の保護を望みつつ、Webを楽しみ活用したいという強いシグナルである
- Chromeのシークレットモードのように、プライバシーモードを2005年の定義どおり単に一時的なものとして維持するだけでは、もはや十分ではない
- ユーザーはより多くを期待し、それを受けるに値する
- Safari 17.0ではPrivate Browsingにまったく新しいレベルのプライバシー保護機能を追加し、17.2と17.5でこれをさらに強化した
- ユーザーが有効化すれば、新しいすべての保護機能は通常のSafariブラウジングでも利用できる
- この取り組みによりWebプライバシーを大きく向上させ、Private Browsingがあるべき姿について新たな業界標準を打ち立てることを期待している
SafariのEnhanced Private Browsing機能の要約
- Safari 17.0に入った保護および防御機能
- リンクトラッキング防止
- CNAMEで偽装されたものを含む既知トラッカーのネットワークロード遮断
- 高度なフィンガープリンティング防止
- Webサイトや訪問履歴にアクセスする拡張機能はデフォルトでオフ
- 追加で、すべてのブラウジングモードに導入された保護および防御機能
- 偽装されたサードパーティIPアドレスで設定されたCookieの寿命制限
- パーティション化されたSessionStorage
- パーティション化されたblob URL(Safari 17.2から)
- また、URLのトラッキングパラメータを置き換えるためにWeb AdAttributionKit(旧Private Click Measurement)を拡張した
- Private Browsingでも開発者がマーケティングキャンペーンの成果を理解できるよう支援する
Webサイト互換性を壊すリスクとその緩和策
- Webでプライバシーを保護するための多くのアイデアがあるが、不幸にもその多くはユーザー体験を損なう可能性がある
- 現実世界でのセキュリティ保護と同様に、バランスを取る必要がある
- 新しいPrivate Browsingは、Webサイトを決して壊さないよう努めつつ、その限界まで踏み込むものだ
- ただし、一部サイトの一部分が動作しなくなるリスクはある
- これに対処するため、ユーザーにサイトごとにプライバシー保護を弱められる手段を提供する
- こうしたプライバシー保護の変更は、そのサイト内をブラウズしている間だけ記憶される
- このオプションは、プライバシー保護によってWebページが利用できないときの最後の手段である
- iOS、iPadOS、visionOSでは、設定 > アプリ > Safari > 詳細 > 高度なトラッキングとフィンガープリンティングの防止 に移動し、「すべてのブラウジング」を有効化する
- macOSでは、Safari > 設定 > 詳細 に移動し、「すべてのブラウジングで高度なトラッキングとフィンガープリンティングの防止を使用」を有効化する
リンクトラッキング防止
- SafariはURLのクエリパラメータとフラグメントを取り除き、サイト間でのユーザー行動追跡を難しくする
- 広範なユーザー/クリック単位トラッキングに使われるクエリパラメータは、ネットワーク送信前に除去される
- キャンペーン属性に使われるパラメータは通過させる
- 到達先サイトで完全なURLにアクセスしようとするサードパーティスクリプトは、クエリパラメータやフラグメントのないURLしか見ることができない
Private BrowsingのWeb AdAttributionKit
- Web AdAttributionKitは、広告主、Webサイト、アプリがプライバシーを保護する方法で広告アトリビューションとクリック計測を実装する手段である
- Private Browsingでは特定の制限付きで動作する
- 個々のPrivate Browsingタブにスコープ設定され、リンククリック時には新しいタブへアトリビューションを引き継ぐ
- タブを閉じると、保留中のアトリビューション要求は破棄される
既知トラッカーのネットワークロード遮断
- 自動的に有効化されたコンテンツブロッカーを使って、既知トラッカーへのネットワークロードを遮断する
- DuckDuckGoのデータとEasyListのEasyPrivacyフィルタリングルールを使ってコンパイルされている
- ほとんどの広告は引き続き読み込まれるよう、意図的に許可している
- Private Browsingは、CNAME隠蔽やサードパーティIPアドレス隠蔽によってマッピングされたトラッカードメインへの隠蔽ネットワークリクエストも遮断する
ネットワークプライバシーの改善
- Private Browsingは、次のような保護機能をすべてのユーザーに追加する:
- 暗号化DNSを使ってDNSクエリを保護する
- 暗号化されていないHTTPリソースをプロキシし、ローカルネットワーク上の攻撃者から保護する
- iCloud+加入者はiCloud Private Relayを有効にすることで、次の機能を追加で利用できる:
- 各Private Browsingタブごとに別個のセッションを使用する
- デフォルトで位置情報プライバシーを提供する
- IPアドレスを公開する前に警告を表示する
Private Browsingの拡張機能
- Webサイトデータおよびブラウジング履歴にアクセスできる拡張機能はデフォルトでオフになっている
- ユーザーは依然として、拡張機能がPrivate Browsingで動作するよう選択できる
- Webページの内容やブラウジング履歴にアクセスしない拡張機能は、SafariでオンになっていればPrivate Browsingでもデフォルトでオンになる
高度なフィンガープリンティング防止
- 状態を保存するトラッキングが制限されるにつれ、多くのトラッカーはフィンガープリンティングへ移行している
- フィンガープリンティングの種類:
- デバイスフィンガープリンティング: ハードウェア、OS、ブラウザなどのデバイス特性に基づく
- ネットワークおよび地理位置フィンガープリンティング: インターネット接続方法や地理的位置の検出手段に基づく
- ユーザー設定フィンガープリンティング: ダーク/ライトモード、ロケール、フォントサイズ調整、ウィンドウサイズなどのユーザー設定状態に基づく
- ユーザー行動フィンガープリンティング: マウスポインタの使用、入力速度などのユーザー行動パターンを検出する
- ユーザー特性フィンガープリンティング: 関心、年齢、健康状態などのユーザー特性を把握する
- フィンガープリントの安定性は、時間の経過とともに変化する要素によって課題を受ける
- フィンガープリンティングのプライバシー問題:
- サイト間追跡
- サイトごとのユーザー再認識
- サイトごとの訪問者固有性
- サイト間追跡とサイトごとのユーザー再認識は、ブラウザが解決すべきプライバシー問題である
- Safariのアプローチ:
- フィンガープリントをサイトごとに固有にし、データ削除のたびに新しい固有フィンガープリントを生成する
- マルチホッププロキシを使ってIPアドレスを隠す
- フィンガープリント可能なWeb APIの数を制限する
- Web APIの返り値にノイズを注入する
- 2D Canvas、WebGL、Web Audio APIにノイズを注入し、ウィンドウ/画面メトリクス関連APIの結果を固定することで、フィンガープリンティングを難しくする
Topics APIのようなフィンガープリント可能なAPIをWebに追加すべきではない
- 既存のWeb APIでは、フィンガープリント可能性を抑えるのが難しい
- 新たなフィンガープリント可能APIで問題を悪化させないことが重要である
- Chromeに導入されたTopics APIに反対する理由:
- ユーザーの関心をブラウザが推測して広告主に伝える
- どのトピックがユーザーについて公開されるのかを事前に知らせない
- 単純な関心の組み合わせだけでも、ユーザープロファイリングや再識別に利用されうる
2つのブラウジングモードにおけるプライバシー改善
- 隠蔽されたサードパーティIPアドレスへの防御と、SessionStorageおよびBlob URLのパーティショニングは、通常ブラウジングとPrivate Browsingの両方でデフォルト有効になっている
- ITPは、隠蔽されたサードパーティIPアドレスの応答でのCookie有効期限を7日に制限する
- Safari 16.1から、サイト間Session StorageをファーストパーティWebサイトごとに分割する
- Safari 17.2から、サイト間Blob URLをファーストパーティWebサイトごとに分割し、サードパーティがファーストパーティBlob URLを使えないようにする
業界標準の設定
- Safari 17.0、17.2、17.5のプライバシー保護機能は、ユーザー保護のための新たな基準を提示する
- すべてのSafariユーザーとWebそのものが、この取り組みの恩恵を受けることを期待している
1件のコメント
https://youtu.be/0HjDpPnxcP0?si=x0JZN2Cxxy0j3XiT