返回

瀏覽器指紋識別簡介

avatar
2025年12月6 分鐘 閱讀
分享給
  • 複製連結

1. 什麼是 瀏覽器指紋

瀏覽器指紋是從遠端設備系統性收集資訊,旨在唯一識別和追蹤其使用者。此技術背後的主要動機是使用者數據的商業化,通常用於個人化廣告活動和使用者分析。

與 Cookie 等傳統追蹤方法不同,指紋識別以無聲方式運作,且可能更具持久性。它在技術文獻中被描述為「無 Cookie 怪獸」,因為它不需要在使用者設備上儲存任何檔案,並且對使用者完全透明。

功能 Cookies 瀏覽器指紋
儲存方式 在使用者電腦上儲存小型檔案。 不在使用者電腦上儲存任何檔案(「無Cookie」)。
使用者可見性與控制權 使用者可透過瀏覽器設定檢視、封鎖或刪除。 運作過程透明。使用者無法直接得知其發生或加以阻止。
持久性 可被使用者移除。 高度持久。甚至可用於還原使用者已刪除的Cookie,重新連結其身份。

現在我們已了解什麼是瀏覽器指紋,以及為何它比Cookie更具持久性,接下來讓我們探討用於建立這些獨特數位識別碼的具體技術。

2. 數位指紋的構成:關鍵技術

指紋的獨特性來自於組合多種不同的資訊,其中一些是簡單的瀏覽器特性,而另一些則高度先進且複雜。

核心資訊來源

這些是可透過瀏覽器收集的基本特徵,用於開始建立設定檔。每項資訊與其他資訊結合後,有助於縮小設備身份的範圍。

  • 使用者代理(User Agent): 一個文字字串,用於識別瀏覽器、其版本以及底層作業系統。
  • 外掛程式清單(List of Plugins): 顯示已安裝的瀏覽器擴充功能(如 Adobe Flash 或 PDF 檢視器),這可能是一個高度獨特的組合。
  • 時區(Time Zone): 指示設備的地理位置或已設定的時間設定。
  • 螢幕解析度與色彩深度(Screen Resolution & Color Depth): 提供有關設備顯示硬體的詳細資訊。
  • 系統字型(System Fonts): 作業系統上安裝的字型清單可能出奇地獨特。

進階指紋識別技術

這些方法利用現代網路技術從設備中提取細微但高度識別性的詳細資訊。

Canvas Fingerprinting

此技術使用HTML5 Canvas元素繪製隱藏圖像或文字。由於顯示卡、驅動程式和作業系統的差異,每台裝置的渲染效果略有不同,因此生成的圖像數據可轉換為雜湊值(一串獨特字元),作為強大的識別碼。

Canvas Font Fingerprinting

作為Canvas指紋識別的一種變體,此方法會多次生成相同文字字串的圖像,每次使用預定義清單中的不同字體。各種字體間的細微渲染差異可從生成的圖像中提取指標,從而為瀏覽器建立獨特識別碼。

WebRTC Fingerprinting

此技術利用WebRTC API(即時通訊技術)來偵測裝置的真實區域IP位址,即使該裝置處於網路位址轉換(NAT)路由器後端。將此區域IP與公網IP相結合,可形成極為穩定且一致的識別因素。

AudioContext Fingerprinting

此方法使用AudioContext API處理標準的電腦生成音訊信號(如正弦波)。它不會監聽裝置的麥克風。由於裝置獨特的硬體和軟體堆疊,最終處理的音訊信號會有細微的變化。然後對此輸出進行雜湊處理,以建立唯一識別碼。

技術 工作原理 (簡化版) 為何可用於識別
Canvas 繪製隱藏圖像並分析設備之間細微的渲染差異。 圖形硬體、驅動程式和字體的差異使最終圖像具有設備唯一性。
Canvas Font 使用多種不同字體渲染相同文本,以測量渲染不一致性。 已安裝字體的特定組合及其渲染方式會創建高度獨特的環境。
WebRTC 使用通信 API 來顯示設備的本地網路 IP 位址。 結合本地和公共 IP 位址可以唯一識別網路上的設備。
AudioContext 處理標準音頻信號以檢測設備音頻堆疊的差異。 每台設備上的音頻處理硬體和軟體會產生略有不同的輸出。

雖然這些技術各自收集了拼圖的一部分,但指紋識別的真正力量來自於將它們結合起來;下一節將解釋我們如何科學地衡量這種識別能力。

3. 利用資訊熵量化獨特性

衡量某項資訊所提供的獨特識別程度的科學方法稱為資訊熵,以「位元」為單位。熵值越高,表示獨特性越強。

一個簡單的類比是六面骰子。一次擲骰有六種可能結果,提供約 2.58 位元的資訊。如果一個事件只有兩種結果(如擲硬幣),則只提供 1 位元的資訊。可能的結果越多,熵值就越高,結果所提供的「資訊量」也就越大。

當網站收集瀏覽器特徵時,它會減少關於你身份的不確定性(熵)。據估計,要從全球 75 億人口中唯一識別一個人,大約需要33 位元的熵

Panopticlick 研究項目提供了一個清晰的例子,說明不同的瀏覽器屬性如何貢獻識別資訊的位元數。

範例:識別資訊位元

瀏覽器特性 識別資訊位元 識別重要性
瀏覽器外掛詳情 9.14 bits 數值越高表示此特性越罕見,對識別獨特性的貢獻越大。
使用者代理 7.68 bits 瀏覽器與作業系統的組合相當不常見,具有顯著的識別能力。
Canvas指紋雜湊值 6.62 bits 裝置呈現圖形的方式是強大的識別標誌。
系統字型 6.5 bits 電腦上的特定字型列表具有高度區分性。
時區 2.7 bits 雖本身不具獨特性,但能顯著縮小可能性範圍。

在Panopticlick測試中,這些值與其他值的組合產生了總共至少20.37位元的識別資訊,使得該瀏覽器在超過1,357,000個受測瀏覽器中具有獨特性。一個類似的專案AmIUnique.org也通過向用戶展示其瀏覽器指紋與龐大的他人資料庫相比較的結果來證明這一點,通常會發現其具有獨特性。

瞭解到指紋識別是一門可衡量的、降低匿名性的科學後,我們現在可以評估防範它的策略。

4. 防禦與緩解策略

對於用戶而言,最重要的防禦原則很簡單:設備越接近一般或預設配置,就越難被唯一識別。

常見但無效的措施

許多常見的隱私工具對先進的指紋識別並不有效。

  • 私人或無痕瀏覽:此模式僅防止瀏覽器保存該會話的本地數據,如歷史記錄、Cookie 和表單信息。它不會改變瀏覽器的底層特性(如字體或圖形渲染),因此對指紋識別腳本是透明的。它提供了一種錯誤的安全感。
  • 使用 VPN 或匿名網絡:雖然這些工具能有效隱藏您的公共 IP 地址,但它們無法阻止服務器收集構成指紋的所有其他設備和瀏覽器特性。

更有效的措施

一項分析不同緩解措施效率的研究發現了一個明顯的優勝者。

  • 瀏覽器擴充功能(阻擋工具): 研究得出結論,增強隱私的瀏覽器擴充功能在減少指紋識別方面比瀏覽器內建的隱私設定(如「不追蹤」或阻擋第三方 Cookie)顯著更有效。這些擴充功能的運作方式是從一開始就阻擋追蹤指令碼執行。例如,研究發現「不追蹤」(DNT)等瀏覽器設定在很大程度上被忽略;在 Canvas 指紋識別方面,超過 96% 偵測到主動 DNT 請求的網站無論如何仍會進行指紋識別,直接無視使用者表達的偏好。
  • 研究強調 GhosteryuBlock Origin 是特別高效的阻擋工具。

其他可能有效但有時不切實際的措施包括:

  • 完全停用 JavaScript(這可能會導致許多網站無法正常運作)。
  • 使用 TOR 瀏覽器,其設計目的是標準化使用者設定,使其獨特性降低。
  • 對於進階使用者,透過具有不同設定的虛擬機存取網際網路。

考慮到這些防禦策略,讓我們總結這些筆記中的最關鍵要點。

5. 主要收穫

  1. 瀏覽器指紋是一種強大的被動追蹤方法。它無需 Cookie,通過收集設備的獨特配置詳細信息來運作。由於它對用戶來說是不可見的,並且不容易清除,因此比傳統 Cookie 更持久且更難阻擋。
  2. 獨特性通過組合構建,並通過熵來衡量。指紋是通過組合數十個數據點創建的,從簡單的屏幕分辨率到高級的 Canvas 渲染等。這種獨特性通過「信息熵位數」進行科學衡量。
  3. 標準隱私工具不夠用;阻擋器是最佳防禦手段。諸如無痕模式和 VPN 之類的常見工具對抗指紋識別的保護作用甚微。對於普通用戶而言,最有效的防禦措施是安裝知名的瀏覽器擴展(如 uBlock Origin 或 Ghostery),這些擴展會主動阻擋負責收集指紋的追蹤腳本。
相關文章