詞彙表·指紋識別
WebGL 指紋識別
使用WebGL圖形資訊和渲染輸出來識別設備。
定義
WebGL 指紋辨識使用 WebGL API(GPU 加速的 2D 和 3D 圖形的瀏覽器介面)來收集裝置特定訊號:圖形供應商和渲染器渲染、支援的參數和擴充字串以及場景場景的像素。
它是如何運作的
- 腳本開啟 WebGL 上下文並使用 getParameter() 和支援的擴充功能清單查詢功能。
- 如果可用,WEBGL_debug_renderer_info 擴充功能會公開 UNMASKED_VENDOR_WEBGL 和 UNMASKED_RENDERER_WEBGL — 圖形驅動程式的供應商和渲染器字串。
- 它還可以渲染 3D 場景並對結果進行哈希處理,類似於畫布指紋識別。
為什麼這很重要
- GPU 細節隨著時間的推移保持穩定,並且在不同裝置之間有所不同,這使得它們成為強大的訊號。
- 不匹配很重要:聲稱是 Mac 的設定檔同時報告僅包含 Windows 的 GPU 驅動程式字串很容易被標記。
限制和常見誤解
- 「每個網站都可以讀取我的 GPU 模型。」MDN 指出,根據瀏覽器隱私設置,調試擴展可能僅限於特權上下文或根本無法工作;當Firefox的privacy.resistFingerprinting啟用時,它被禁用。
- 「停用 WebGL 會讓我隱形。」關閉它本身就是一種罕見的、引人注目的特徵,並且會破壞需要它的網站。
範例: 讀取未屏蔽的渲染器字串的頁面可能會看到特定的 GPU 和驅動程式系列,它們與螢幕尺寸和字體一起大大縮小了裝置的範圍。
沒有瀏覽器或代理可以保證帳戶不會受到限制。遵守各平台的規則。