कुकीज़ के बिना डिवाइस फ़िंगरप्रिंटिंग: यह कैसे काम करती है
कुकीज़ ख़त्म हो रही हैं। यहाँ बताया गया है कि डिवाइस फ़िंगरप्रिंटिंग बिना किसी क्लाइंट-साइड स्टोरेज के स्थायी पहचान कैसे प्रदान करती है।
कुकी ख़त्म हो रही है। Safari का Intelligent Tracking Prevention (ITP) कुकी की अवधि को 7 दिनों तक सीमित कर देता है। Firefox का Enhanced Tracking Protection थर्ड-पार्टी कुकीज़ को पूरी तरह ब्लॉक कर देता है। Chrome का Privacy Sandbox थर्ड-पार्टी कुकीज़ को हटा रहा है। GDPR की सहमति संबंधी आवश्यकताओं का मतलब है कि उपयोगकर्ता तेज़ी से कुकी बैनर को अस्वीकार कर रहे हैं।
फ़्रॉड की रोकथाम के लिए यह एक समस्या है। यदि आप डिवाइसों की स्थायी पहचान नहीं कर सकते, तो आप बार-बार अपराध करने वालों को ट्रैक नहीं कर सकते, मल्टी-अकाउंटिंग का पता नहीं लगा सकते, या संदिग्ध सेशनों को आपस में जोड़ नहीं सकते। डिवाइस फ़िंगरप्रिंटिंग इसका समाधान डिवाइसों को उनकी तकनीकी विशेषताओं के आधार पर पहचानकर करती है — कोई कुकीज़ नहीं, कोई localStorage नहीं, किसी भी तरह का कोई क्लाइंट-साइड स्टोरेज नहीं।
सिग्नल श्रेणियाँ
निष्क्रिय (Passive) फ़िंगरप्रिंटिंग (JavaScript की आवश्यकता नहीं)
आपके पेज के लोड होने से पहले ही, ब्राउज़र नेटवर्क-स्तर के सिग्नलों के माध्यम से जानकारी उजागर कर देता है:
TLS फ़िंगरप्रिंटिंग (JA4)। TLS Client Hello संदेश में cipher suites, extensions, elliptic curves और signature algorithms शामिल होते हैं। हम JA4 hashing का उपयोग करते हैं — बेहतर granularity के साथ JA3 का एक आधुनिक विकल्प।
TCP/IP स्टैक विश्लेषण। TCP window size, TTL मान और MSS सेटिंग्स ऑपरेटिंग सिस्टमों के बीच भिन्न होती हैं। Linux, Windows और macOS प्रत्येक की अपनी विशिष्ट TCP स्टैक कॉन्फ़िगरेशन होती है।
HTTP हेडर विश्लेषण। हेडर ऑर्डरिंग, Accept-Language मान और connection प्राथमिकताएँ ब्राउज़रों के बीच भिन्न होती हैं।
सक्रिय (Active) फ़िंगरप्रिंटिंग (क्लाइंट-साइड JavaScript)
Canvas फ़िंगरप्रिंटिंग। हम एक सावधानीपूर्वक डिज़ाइन किया गया दृश्य बनाते हैं — विशिष्ट टेक्स्ट, ज्यामितीय आकृतियाँ और gradients। अलग-अलग GPU इसे anti-aliasing, sub-pixel rendering और रंग मिश्रण में भिन्नताओं के कारण पिक्सेल-स्तर के सूक्ष्म अंतरों के साथ रेंडर करते हैं। हम पिक्सेल डेटा को hash करते हैं।
WebGL फ़िंगरप्रिंटिंग। WebGL, GPU vendor/renderer strings, अधिकतम texture sizes, समर्थित extensions और shader क्षमताओं को उजागर करता है। यह डेटा GPU मॉडल और driver version की मज़बूती से पहचान करता है।
AudioContext फ़िंगरप्रिंटिंग। हम एक टेस्ट सिग्नल उत्पन्न करते हैं और विश्लेषण करते हैं कि इसे कैसे संसाधित किया जाता है। अलग-अलग ऑडियो हार्डवेयर floating-point precision में अंतर के कारण मापने योग्य रूप से भिन्न आउटपुट उत्पन्न करते हैं।
फ़ॉन्ट एन्यूमरेशन। उपलब्ध सिस्टम फ़ॉन्ट OS, language pack और इंस्टॉल किए गए सॉफ़्टवेयर के अनुसार भिन्न होते हैं। हम canvas माप तकनीकों का उपयोग करके ~300 नैदानिक फ़ॉन्टों की जाँच करते हैं।
Navigator गुण। CPU cores, device memory, platform, language, timezone, screen resolution, color depth, pointer और touch क्षमताएँ।
एन्ट्रॉपी विश्लेषण
सभी सिग्नल समान महत्व नहीं रखते। हम प्रत्येक सिग्नल की एन्ट्रॉपी मापते हैं:
| सिग्नल श्रेणी | अनुमानित एन्ट्रॉपी |
|---|---|
| Canvas + WebGL संयुक्त | ~18 बिट |
| फ़ॉन्ट सूची | ~8 बिट |
| AudioContext | ~5 बिट |
| Navigator गुण | ~7 बिट |
| TLS फ़िंगरप्रिंट | ~6 बिट |
| Screen + display | ~4 बिट |
| Timezone + language | ~3 बिट |
संयुक्त रूप से, हमारे 130+ सिग्नल लगभग 50+ बिट एन्ट्रॉपी प्रदान करते हैं — जो 1 क्वाड्रिलियन से अधिक अलग-अलग डिवाइसों को विशिष्ट रूप से पहचानने के लिए पर्याप्त है।
सिग्नलों से स्थिर हैश तक
कच्चे सिग्नल का संग्रह समस्या का केवल आधा हिस्सा है। ब्राउज़र अपडेट user agent strings को बदल देते हैं। Driver अपडेट WebGL पैरामीटर बदल देते हैं। फ़ॉन्ट इंस्टॉलेशन फ़ॉन्ट सूची को बदल देते हैं।
फ़ज़ी मैचिंग
सटीक मिलान की आवश्यकता के बजाय, हम एक फ़ज़ी मैचिंग एल्गोरिदम का उपयोग करते हैं जो सिग्नलों को स्थिरता और एन्ट्रॉपी के अनुसार तौलता है। स्थिर सिग्नल (canvas, GPU मॉडल) अस्थिर सिग्नलों (user agent, screen resolution) की तुलना में अधिक महत्व रखते हैं।
कैंडिडेट जनरेशन संभावित मिलानों की पहचान करने के लिए सबसे स्थिर सिग्नलों पर locality-sensitive hashing (LSH) का उपयोग करता है। समानता स्कोरिंग सभी सिग्नल श्रेणियों में एक भारित स्कोर की गणना करती है, जिसे इस तरह कैलिब्रेट किया गया है कि सामान्य डिवाइस परिवर्तन विज़िटर ID को न बदलें जबकि वास्तविक डिवाइस परिवर्तन बदल दें।
यह 99.5% सटीकता हासिल करता है — ब्राउज़र अपडेट, कुकी क्लियर, incognito मोड और ब्राउज़र स्विच के बावजूद लौटने वाले विज़िटर्स की सही पहचान करता है।
गोपनीयता-संरक्षक आर्किटेक्चर
सर्वर-साइड प्रोसेसिंग। सभी फ़िंगरप्रिंट गणना हमारे सर्वरों पर होती है। क्लाइंट-साइड एजेंट कच्चे सिग्नल एकत्र करता है, लेकिन फ़िंगरप्रिंट हैश की गणना या भंडारण नहीं करता।
कोई PII भंडारण नहीं। हम फ़िंगरप्रिंट हैश संग्रहीत करते हैं, कच्चे सिग्नल नहीं। हैश एक वन-वे फ़ंक्शन है।
डेटा रेज़िडेंसी। EU ग्राहक डेटा को EU डेटा सेंटरों में संसाधित और संग्रहीत किया जाता है। GDPR अनुच्छेद 6(1)(f) फ़्रॉड की रोकथाम को वैध हित (legitimate interest) के रूप में कवर करता है।
क्रॉस-ब्राउज़र पहचान
सबसे कठिन चुनौती एक ही डिवाइस को अलग-अलग ब्राउज़रों में पहचानना है। हम ब्राउज़र-स्वतंत्र सिग्नलों पर निर्भर रहते हैं: GPU हार्डवेयर, स्क्रीन विशेषताएँ, timezone, language सेटिंग्स, इंस्टॉल किए गए फ़ॉन्ट (OS-स्तर) और TCP/IP स्टैक विशेषताएँ।
क्रॉस-ब्राउज़र लिंकिंग सटीकता लगभग 94% है — समान-ब्राउज़र पहचान से कम, लेकिन एक ही डिवाइस पर विभिन्न ब्राउज़रों में मल्टी-अकाउंटिंग का पता लगाने के लिए पर्याप्त।
एकीकरण
डिवाइस फ़िंगरप्रिंटिंग जोड़ने में कोड की तीन पंक्तियाँ लगती हैं। एजेंट असिंक्रोनस रूप से लोड होता है, 50ms से कम समय में सिग्नल एकत्र करता है, और उन्हें हमारे API पर भेजता है। सर्वर की प्रतिक्रिया में विज़िटर ID, कॉन्फ़िडेंस स्कोर और सभी 24 Smart Signals शामिल होते हैं।