טביעת אצבע של מכשיר ללא עוגיות: איך זה עובד
העוגיות גוססות. כך טביעת אצבע של מכשיר מספקת זיהוי מתמשך ללא כל אחסון בצד הלקוח.
העוגייה גוססת. Intelligent Tracking Prevention (ITP) של Safari מגביל את אורך החיים של עוגייה ל-7 ימים. Enhanced Tracking Protection של Firefox חוסם עוגיות צד-שלישי לחלוטין. Privacy Sandbox של Chrome מוציא משימוש עוגיות צד-שלישי. דרישות ההסכמה של GDPR מובילות לכך שמשתמשים דוחים יותר ויותר את באנרי העוגיות.
עבור מניעת הונאות, זו בעיה. אם אינך יכול לזהות מכשירים באופן מתמשך, אינך יכול לעקוב אחר עבריינים חוזרים, לזהות ריבוי חשבונות או לקשר בין הפעלות חשודות. טביעת אצבע של מכשיר פותרת זאת על ידי זיהוי מכשירים באמצעות המאפיינים הטכניים שלהם — ללא עוגיות, ללא localStorage, ללא כל אחסון בצד הלקוח.
קטגוריות האותות
טביעת אצבע פסיבית (ללא צורך ב-JavaScript)
עוד לפני שהעמוד שלך נטען, הדפדפן חושף מידע באמצעות אותות ברמת הרשת:
טביעת אצבע של TLS (JA4). הודעת ה-TLS Client Hello מכילה חבילות צופן, הרחבות, עקומות אליפטיות ואלגוריתמי חתימה. אנו משתמשים ב-hashing מסוג JA4 — תחליף מודרני ל-JA3 עם רזולוציה טובה יותר.
ניתוח מחסנית TCP/IP. גודל חלון TCP, ערכי TTL והגדרות MSS משתנים בין מערכות הפעלה. ל-Linux, ל-Windows ול-macOS יש לכל אחת תצורות מחסנית TCP אופייניות.
ניתוח כותרות HTTP. סדר הכותרות, ערכי Accept-Language והעדפות חיבור נבדלים בין דפדפנים.
טביעת אצבע אקטיבית (JavaScript בצד הלקוח)
טביעת אצבע של canvas. אנו מציירים סצנה מתוכננת בקפידה — טקסט מסוים, צורות גיאומטריות ומעברי צבע. מעבדי GPU שונים מעבדים אותה בהבדלים עדינים ברמת הפיקסל בשל החלקת קצוות, עיבוד תת-פיקסלי ושוני במיזוג צבעים. אנו מבצעים hashing לנתוני הפיקסלים.
טביעת אצבע של WebGL. WebGL חושף מחרוזות של יצרן/מעבד ה-GPU, גדלי טקסטורה מרביים, הרחבות נתמכות ויכולות shader. נתונים אלה מזהים באופן חזק את דגם ה-GPU ואת גרסת מנהל ההתקן.
טביעת אצבע של AudioContext. אנו מייצרים אות בדיקה ומנתחים כיצד הוא מעובד. חומרת שמע שונה מפיקה פלט שונה באופן מדיד בשל הבדלים בדיוק של נקודה צפה.
מניית גופנים. גופני המערכת הזמינים משתנים לפי מערכת הפעלה, חבילת שפה ותוכנה מותקנת. אנו בודקים כ-300 גופנים אבחוניים באמצעות טכניקות מדידה של canvas.
מאפייני Navigator. ליבות מעבד, זיכרון המכשיר, פלטפורמה, שפה, אזור זמן, רזולוציית מסך, עומק צבע ויכולות מצביע ומגע.
ניתוח אנטרופיה
לא כל האותות נושאים משקל שווה. אנו מודדים את האנטרופיה של כל אות:
| קטגוריית אות | אנטרופיה משוערת |
|---|---|
| Canvas + WebGL משולבים | כ-18 ביט |
| רשימת גופנים | כ-8 ביט |
| AudioContext | כ-5 ביט |
| מאפייני Navigator | כ-7 ביט |
| טביעת אצבע של TLS | כ-6 ביט |
| מסך + תצוגה | כ-4 ביט |
| אזור זמן + שפה | כ-3 ביט |
בשילוב, יותר מ-130 האותות שלנו מספקים כ-50 ביט ומעלה של אנטרופיה — די כדי לזהות באופן ייחודי יותר מקוודריליון מכשירים נבדלים.
מאותות ל-hash יציב
איסוף האותות הגולמיים הוא רק חצי מהבעיה. עדכוני דפדפן משנים את מחרוזות ה-user agent. עדכוני מנהל התקן משנים פרמטרים של WebGL. התקנות גופנים משנות את רשימת הגופנים.
התאמה מטושטשת
במקום לדרוש התאמות מדויקות, אנו משתמשים באלגוריתם התאמה מטושטשת השוקל אותות לפי יציבות ואנטרופיה. אותות יציבים (canvas, דגם GPU) נושאים משקל רב יותר מאותות תנודתיים (user agent, רזולוציית מסך).
יצירת מועמדים משתמשת ב-locality-sensitive hashing (LSH) על האותות היציבים ביותר כדי לזהות התאמות אפשריות. ניקוד דמיון מחשב ניקוד משוקלל על פני כל קטגוריות האותות, מכויל כך ששינויי מכשיר רגילים אינם משנים את מזהה המבקר, בעוד ששינויי מכשיר אמיתיים כן משנים אותו.
זה משיג דיוק של 99.5% — זיהוי נכון של מבקרים חוזרים על פני עדכוני דפדפן, ניקוי עוגיות, מצב גלישה בסתר והחלפת דפדפנים.
ארכיטקטורה המשמרת פרטיות
עיבוד בצד השרת. כל חישוב טביעת האצבע מתרחש בשרתים שלנו. הסוכן בצד הלקוח אוסף אותות גולמיים אך אינו מחשב או מאחסן את ה-hash של טביעת האצבע.
ללא אחסון מידע אישי מזהה (PII). אנו מאחסנים hash-ים של טביעות אצבע, לא אותות גולמיים. ה-hash הוא פונקציה חד-כיוונית.
מקום אחסון הנתונים. נתוני לקוחות מהאיחוד האירופי מעובדים ומאוחסנים במרכזי נתונים באיחוד האירופי. סעיף 6(1)(f) של GDPR מכסה מניעת הונאות כאינטרס לגיטימי.
זיהוי חוצה-דפדפנים
האתגר הקשה ביותר הוא זיהוי אותו מכשיר על פני דפדפנים שונים. אנו מסתמכים על אותות בלתי-תלויי-דפדפן: חומרת GPU, מאפייני מסך, אזור זמן, הגדרות שפה, גופנים מותקנים (ברמת מערכת ההפעלה) ומאפייני מחסנית TCP/IP.
דיוק הקישור החוצה-דפדפני הוא כ-94% — נמוך מזיהוי בתוך אותו דפדפן אך מספיק לזיהוי ריבוי חשבונות על פני דפדפנים באותו מכשיר.
אינטגרציה
הוספת טביעת אצבע של מכשיר לוקחת שלוש שורות קוד. הסוכן נטען באופן אסינכרוני, אוסף אותות בפחות מ-50 מילישניות ושולח אותם ל-API שלנו. תגובת השרת כוללת מזהה מבקר, ציון ביטחון וכל 24 ה-Smart Signals.