什麼是Canvas指紋?
在當今數位時代,網站會使用各種方法來識別和追蹤使用者的線上活動,其中一種常見的技術就是 Canvas 指紋辨識。
Canvas 是 HTML5 中的一個標籤元素,用於在網頁上繪製圖形和圖像。透過 JavaScript 程式碼,開發者可以動態生成、顯示和修改這些圖像。Canvas 指紋辨識正是利用了不同瀏覽器在渲染 Canvas 元素時的細微差異,從而生成一個獨特的裝置識別碼。
簡單來說,Canvas 就像一塊電子畫布,不同裝置在這塊畫布上畫出同樣的圖案時,由於硬體和軟體的差異,最終呈現的效果會有些許不同——而這些「肉眼難以察覺的不同」,恰恰構成了你的裝置指紋。
Canvas 指紋辨識是如何運作的?
網站透過以下五個步驟來獲取使用者的 Canvas 指紋:
第一步:建立隱藏的 Canvas 元素
網站在頁面中建立一個不可見的 Canvas 元素,用來繪製圖形、文字和圖像。這就像在網頁裡放了一塊使用者看不見的畫布。
第二步:繪製圖形
利用 Canvas API,網站在這塊隱藏畫布上繪製各種圖形或形狀,比如線條、矩形、圓形或文字,還會應用不同的顏色和變換效果。
第三步:提取 Canvas 資料
繪製完成後,圖像資料被記錄為像素值,每個像素都包含特定的數值。網站透過 Canvas API 和 JavaScript 提取這些圖像的數值資料——相當於把畫布上的圖形轉換成數字,記錄下每個像素的顏色。
第四步:生成唯一指紋
網站將這些顏色值輸入一個演算法,經過複雜計算後生成一個獨特的識別碼(即雜湊值)。由於不同使用者的作業系統、瀏覽器、顯示卡、驅動程式以及渲染過程存在差異,圖形繪製時會產生細微的不同,這些微小差異最終導致了雜湊值的不同。每個使用者因此可以擁有一個獨特的 Canvas 指紋。
第五步:儲存和比對指紋
網站將這個獨特的指紋儲存在伺服器上。當使用者再次造訪時,網站會重新擷取 Canvas 資料並重新計算指紋,然後與之前儲存的指紋進行比對,從而識別使用者。
Canvas 指紋辨識的應用場景
Canvas 指紋辨識之所以被廣泛使用,主要基於以下幾個原因:
-
裝置硬體和瀏覽器環境的差異:每台裝置的硬體和瀏覽器環境都是獨特的,包括顯示卡、作業系統、瀏覽器版本等因素。這些因素會導致 Canvas 繪製操作產生細微差異——比如不同裝置在渲染顏色、文字渲染、漸變效果等方面可能存在微小不同。
-
繪製操作的隨機性:執行 Canvas 繪製操作時,由於裝置和瀏覽器的差異,存在一定的隨機性。相同的繪製操作在不同裝置上,甚至在同一裝置的不同瀏覽器版本上,都可能產生略有差異的結果。
-
難以模擬和篡改:Canvas 指紋是基於裝置和瀏覽器環境的差異生成的,通常很難被模擬或篡改。
基於以上特性,Canvas 指紋辨識主要應用於以下領域:
-
帳戶安全:網站可以偵測使用者帳戶的行為,在發生惡意攻擊時及時限制帳戶存取。
-
個人化廣告:廣告商可以根據使用者指紋資訊推送定向廣告內容,提高廣告點擊率。
-
遊戲公平性:遊戲平台可以識別具有相似或相同指紋的裝置,排除作弊裝置的干擾,確保遊戲的公平性。
如何避免 Canvas 指紋辨識?
我們都知道,禁用 Cookie 功能可以防止 Cookie 追蹤。但禁用 Canvas 追蹤就沒那麼簡單了。
如果完全禁用 Canvas 元素,會怎麼樣?你造訪的網頁可能無法正常載入,因為你阻止了 Canvas 元素的正常顯示。而且從網站的角度來看,其他所有使用者都正常顯示了 Canvas 元素,唯獨你沒有——這反而可能引起網站的懷疑。
在大多數情況下,「替換」方案優於「禁用」方案。如果網站需要獲取使用者資料,使用者可以使用隨機生成的 Canvas 指紋來替代真實的 Canvas 指紋。這樣既滿足了網站獲取資料的需求,又保護了個人隱私和安全,一舉兩得。
市面上有一些專門生成 Canvas 指紋的外掛,但其有效性和安全性仍在觀察中。在大多數情況下,使用指紋瀏覽器是最便捷的選擇——它幾乎可以完全掩蓋真實裝置的 Canvas 指紋。
realfp 的偵測結果的其中一項就是 Canvas 指紋的雜湊值。如果你正在使用指紋瀏覽器,可以造訪 realfp 進行偵測,對比 Chrome、Firefox 和 Safari 等瀏覽器獲取的 Canvas 雜湊值。
總結
Canvas 指紋辨識仍然是一種廣泛使用的指紋辨識技術,既有優點也有缺點。我們需要保持警惕,了解它的潛在影響,並根據個人需求和利弊權衡來選擇合適的隱私保護措施。
優點:
-
精準識別:Canvas 指紋技術可以生成獨特的數位指紋,精準識別和追蹤裝置,為個人化服務和安全驗證提供基礎。
-
增強安全:可用於防止詐欺和惡意活動,提升系統和應用的安全性。
-
個人化內容:可用於推送個人化內容,滿足使用者對個人化體驗的需求。
缺點:
-
隱私侵犯:可能收集和分析使用者裝置的資訊,引發個人隱私方面的擔憂。
-
誤識別風險:由於裝置和瀏覽器的各種因素可能導致繪製操作的細微變化,存在誤識別的風險,可能導致合法使用者被錯誤識別或產生誤報。
