PowerScan
TC

第三方 Cookie 之後的 Cookie、儲存與追蹤

指紋瀏覽器 · 閱讀約 6 分鐘 · 作者:PowerScan

圖片:Unsplash

Cookie 曾是認出回訪瀏覽器的原始方式,而且二十年來都夠用。瀏覽器對它所做的種種改變,說明了為什麼指紋辨識又變得有趣起來。

第一方與第三方

第一方 Cookie 是由網址列中的網站設定的,它讓你保持登入狀態。第三方 Cookie 則是由頁面嵌入其內容的另一個網域所設定的,例如廣告腳本,而且該網域在每個嵌入它的網站上都能讀取。後者這個特性,使跨站追蹤變得輕而易舉:一個廣告商、一個 Cookie、所有網站。

發生了什麼變化

Safari 在 2017 年透過智慧型防追蹤功能開始預設封鎖第三方 Cookie,並且多次收緊。Firefox 在 2019 年推出加強型追蹤防護,接著又推出完整 Cookie 防護,為每個網站提供自己的 Cookie 罐,讓第三方在某個網站上的 Cookie 在另一個網站上看不到。Chromium 引入了分區 Cookie(Partitioned 屬性,即「CHIPS」),讓嵌入的內容可以依頂層網站保留狀態,並花了好幾年時間宣布、延後,最後退出全面移除第三方 Cookie 的計畫,改為由使用者自行選擇。

實際的結果是:以 Cookie 進行的跨站追蹤,在 Safari 和 Firefox 中不可靠,在 Chromium 中也越來越被分區。這對隱私是好事,也迫使追蹤者轉向完全不需要儲存的訊號。

其他儲存

localStorage、IndexedDB 與 Cache API 本質上是第一方的;它們屬於寫入它們的來源,而且現在在每個主流瀏覽器中都依頂層網站分區,因此無法像舊式第三方 Cookie 那樣被當作跨站識別碼使用。ETag 與以快取為基礎的追蹤手法雖然存在,但很脆弱,也已被廣泛緩解。

為什麼指紋辨識填補了空缺

指紋不需要儲存。它在每次造訪時,都從瀏覽器自己的屬性重新計算出來,所以清除 Cookie 不會重置它,分區也無法隔離它。這是它對追蹤者的吸引力,也是對那些以為「清除網站資料」就是一張白紙的人的危險之處。因應的對策也不同:不是封鎖儲存,而是降低網頁所能讀取內容的多樣性,這正是 User-Agent 縮減、Canvas 雜訊與渲染器遮蔽的用途。

診斷頁面能顯示什麼

頁面可以回報 Cookie 是否已啟用,以及是否設定了「不要追蹤」標頭(這幾乎沒有網站遵守的訊號,所以瀏覽器正在改用 Global Privacy Control 取代它)。它無法讀取其他網站的 Cookie,而值得信任的診斷頁面自己也不會設定任何 Cookie。PowerScan 在沒有 Cookie、沒有儲存、沒有識別碼的情況下執行,你可以在瀏覽器的開發人員工具中驗證:掃描之後,該網站的儲存面板是空的。

隔離現在意味著什麼

對想把帳號分開的人來說,Cookie 是容易的部分:不同的設定檔有不同的 Cookie 罐。困難的部分是指紋,因為同一台機器上、使用相同瀏覽器的兩個設定檔,除非瀏覽器加以改變,否則會共用每一個硬體與渲染訊號。這就是下一篇文章的主題。

所有文章 · 開始掃描