טביעת אצבע של Canvas ו-WebGL ב-2026
מצב טביעת האצבע מבוססת GPU: מה השתנה עם ה-Privacy Sandbox של Chrome, איך הסתגלנו, ולמה אותות חומרה נשארים המזהים היציבים ביותר.
טביעת האצבע של
Canvas
ו-
WebGL
שימשה כאבן יסוד בזיהוי מכשירים מאז תחילת שנות ה-2010. אך הנוף השתנה משמעותית עם יוזמות ה-
Privacy Sandbox
של Chrome, ה-Enhanced Tracking Protection של Firefox וה-Intelligent Tracking Prevention של Safari. הנה מצב טביעת האצבע מבוססת GPU ב-2026 — מה השתנה, איך הסתגלנו, ולמה אותות אלו נשארים הכרחיים.
מה השתנה עם ה-Privacy Sandbox של Chrome
ה-Privacy Sandbox של Chrome, שהושק בהדרגה החל מ-2024, הביא כמה שינויים שמשפיעים על טביעת אצבע. המשמעותי ביותר הוא יוזמת ה-partitioned storage, שמפחיתה את יעילות המעקב מבוסס-cookies אך אינה משפיעה ישירות על טביעת אצבע של canvas או WebGL.
עם זאת, Chrome החלה להתנסות ב-canvas noise injection — הוספת הפרעות אקראיות קטנות לנתוני הפיקסלים של ה-canvas כדי למנוע טביעת אצבע מדויקת. כאשר התכונה מופעלת, אותן הוראות ציור מפיקות פלט פיקסלים מעט שונה בכל הרצה. הדבר שובר טביעת אצבע נאיבית מבוססת-hash של canvas, שמצפה לשחזוריות מדויקת.
הסתגלות ל-Canvas Noise
התגובה שלנו ל-canvas noise injection הייתה מעבר מהתאמה מדויקת להתאמה מבוססת-דמיון עבור אותות canvas. במקום לחשב hash יחיד של כל נתוני הפיקסלים של ה-canvas, אנו מחלצים כעת מספר וקטורי תכונות מאזורים ומפעולות ציור שונים.
הזרקת הרעש בדרך כלל קטנה — כמה פיקסלים שמשתנים בכל frame. על ידי חילוץ תכונות ברזולוציה גסה יותר (חלוקת ה-canvas לאזורים וחישוב סטטיסטיקות מצטברות), אנו יכולים לזהות את חתימת החומרה הבסיסית למרות הרעש. אלגוריתם ההתאמה החוצה-סשנים שלנו משווה את וקטורי התכונות הללו באמצעות cosine similarity, עם סף שכוונן לקבל שונות עקבית-חומרה תוך דחיית מכשירים שונים.
WebGL: עדיין מכרה זהב
בעוד שטביעת אצבע של canvas ניצבת בפני אתגרים חדשים, טביעת אצבע של WebGL נשארת ברובה בלתי מושפעת מיוזמות פרטיות. ה-API של WebGL חושף פרמטרי חומרה — גדלי texture מרביים, פורמטי דיוק של shader, extensions נתמכים — שהם מהותיים ל-GPU ולא ניתן להפריע להם בקלות מבלי לשבור את הפונקציונליות של WebGL.
Chrome דנה בהגבלת הגישה למחרוזות ה-renderer וה-vendor של WebGL (החלפת שמות GPU ספציפיים בתוויות גנריות כמו "GPU"), אך שינוי זה לא נפרס באופן נרחב. גם אם היה נפרס, עשרות פרמטרי ה-WebGL האחרים שאנו שואלים היו עדיין מספקים אותות זיהוי ייחודיים במיוחד.
ה-GPU כעוגן חומרה
הסיבה היסודית לכך שטביעת אצבע מבוססת GPU נשארת עוצמתית היא שהיא קוראת מאפייני חומרה שנקבעים פיזית על ידי שבב ה-GPU, ה-driver וצינור הרינדור. מאפיינים אלו אינם בחירות תוכנה שניתן לשנות בקלות — הם תוצאה של האופן שבו הסיליקון תוכנן ויוצר.
מכשיר עם NVIDIA RTX 4070 ידווח תמיד על גדלי texture מרביים ספציפיים, דיוק shader ספציפי ותמיכת extensions ספציפית, מפני שערכים אלו נקבעים על ידי ארכיטקטורת ה-GPU. הדרך היחידה לשנות ערכים אלו היא להשתמש ב-GPU אחר או ב-driver אחר — ושינויי driver הם נדירים יחסית עבור רוב המשתמשים.
רינדור Canvas: מעבר ל-Pixel Hashing
טביעת אצבע מודרנית של canvas חורגת מעבר ל-pixel hashing פשוט. אנו משתמשים בפעולות ציור שתוכננו במיוחד להגביר הבדלי רינדור תלויי-חומרה. רינדור טקסט עם fonts ספציפיים מפעיל את ה-font rasterizer. עקומות Bezier עם נקודות בקרה מסוימות מפעילות את ה-curve tessellation של ה-GPU. gradients עם color stops ספציפיים מפעילים את צינור מיזוג הצבעים.
על ידי בחירת פעולות ציור שממקסמות את השונות בין דגמי GPU תוך מזעור השונות בין הרצות חוזרות על אותו GPU, אנו יוצרים בדיקות canvas שהן בו-זמנית ייחודיות יותר ועמידות יותר מגישת הטקסט-והצורות הפשוטה שבה השתמשו ספריות טביעת אצבע מוקדמות.
טביעת אצבע של WebGL Shader
טכניקה חדשה יותר שאנו פורסים היא טביעת אצבע של WebGL shader. על ידי הידור תוכניות shader ספציפיות ושאילתת המאפיינים המהודרים שלהן (דיוק, רמת אופטימיזציה, מספר הוראות), אנו יכולים לחלץ מידע על ה-shader compiler של ה-GPU — מאפיין נוסף תלוי-חומרה שמשתנה בין משפחות GPU.
טכניקה זו בעלת ערך במיוחד להבחנה בין מכשירים בעלי פרמטרי WebGL בסיסיים דומים. שני דגמי GPU שונים עשויים לתמוך באותו גודל texture מרבי, אך ה-shader compilers שלהם יפיקו פלט מהודר שונה עבור אותו קוד מקור של shader.
שיקולי פרטיות
יש להשתמש בטביעת אצבע מבוססת GPU, כמו בכל טביעת אצבע, באחריות. אנו משתמשים באותות אלו למטרות לגיטימיות — מניעת הונאות, bot detection ואבטחת חשבונות — ולא למעקב חוצה-אתרים או לפרסום. הפריסה המתארחת בענן שלנו מבטיחה שנתוני טביעת האצבע נשארים בתשתית של לקוחותינו, ומבטלת שיתוף נתונים עם צד שלישי.
נוף הפרטיות ימשיך להתפתח. דפדפנים עשויים להציג הגנות נוספות שמשפיעות על טביעת אצבע של GPU. האסטרטגיה שלנו היא להסתגל באופן מתמיד — למצוא אותות תלויי-חומרה חדשים ככל שהישנים מוגבלים, תוך שמירה על הדיוק והיציבות שעליהם לקוחותינו מסתמכים.