कौन-से सिग्नल ब्राउज़र अपडेट झेल जाते हैं? एक स्थिरता विश्लेषण
हमने Chrome, Firefox और Safari के 50 अपडेट में सिग्नल स्थिरता का विश्लेषण किया। यहाँ सबसे स्थिर और सबसे अस्थिर फ़िंगरप्रिंटिंग सिग्नल दिए गए हैं।
ब्राउज़र अपडेट डिवाइस फ़िंगरप्रिंटिंग के स्वाभाविक दुश्मन हैं। हर 4-6 हफ़्ते में Chrome, Firefox और Safari नए वर्शन जारी करते हैं जो सिग्नल मानों को बदल सकते हैं — यूज़र-एजेंट स्ट्रिंग बदलना, रेंडरिंग व्यवहार में फेरबदल, API जोड़ना या हटाना। जैसा कि W3C Fingerprinting Guidance में उल्लेख है, ब्राउज़र सक्रिय रूप से फ़िंगरप्रिंट-योग्य सतह को सीमित करने पर काम कर रहे हैं। जो फ़िंगरप्रिंटिंग सिस्टम सभी सिग्नल को एक समान मानते हैं, उनके लिए हर अपडेट लाखों विज़िटर की पहचान टूटने का संभावित कारण होता है।
हमने इस बुनियादी सवाल का जवाब देने के लिए 50 ब्राउज़र अपडेट में एक व्यापक स्थिरता विश्लेषण चलाया: किन सिग्नल पर आप भरोसा कर सकते हैं, और कौन-से आपको धोखा देंगे?
पद्धति
हमने 5 ऑपरेटिंग सिस्टम (Windows 10, Windows 11, macOS Ventura, macOS Sonoma, Ubuntu 22.04) और 3 ब्राउज़र (Chrome, Firefox, Safari) पर 200 फ़िज़िकल डिवाइस को इंस्ट्रूमेंट किया। प्रत्येक डिवाइस ने 14 महीनों तक रोज़ाना स्वचालित सिग्नल संग्रह चलाया, जिसमें 50 प्रमुख ब्राउज़र वर्शन अपडेट शामिल थे: 24 Chrome रिलीज़, 16 Firefox रिलीज़ और 10 Safari रिलीज़।
प्रत्येक सिग्नल के लिए हमने ट्रैक किया: मान कितनी बार बदला, क्या यह बदलाव किसी ब्राउज़र अपडेट या बाहरी कारक (ड्राइवर अपडेट, OS पैच) से संबंधित था, और बदलाव की मात्रा (पूरे मान का प्रतिस्थापन बनाम मामूली भिन्नता)।
स्थिरता के टियर
टियर 1: बेहद ठोस (99.5%+ स्थिरता)
ये सिग्नल केवल तब बदले जब फ़िज़िकल हार्डवेयर बदला या ड्राइवर अपडेट हुए — अकेले ब्राउज़र अपडेट से कभी नहीं।
Hardware Concurrency (navigator.hardwareConcurrency): 99.97% स्थिर। केवल 1 डिवाइस पर बदला जिसमें हाइपरथ्रेडिंग को प्रभावित करने वाला BIOS अपडेट था। Device Memory (navigator.deviceMemory): 99.98% स्थिर। अध्ययन के दौरान एक डिवाइस को 8GB से 16GB में अपग्रेड किया गया। Screen Resolution और Color Depth: 99.92% स्थिर। बदलाव मॉनिटर बदलने और डॉकिंग स्टेशन इवेंट से संबंधित थे। WebGL Max Texture Size: 99.99% स्थिर। शून्य ब्राउज़र-संबंधी बदलाव। एक बार एक ऐसे डिवाइस पर बदला जिसे NVIDIA ड्राइवर अपडेट मिला। Audio Sample Rate: 100% स्थिर। सभी 200 डिवाइस और 50 अपडेट में शून्य बदलाव। यह हमारे द्वारा ट्रैक किया जाने वाला अकेला सबसे स्थिर सिग्नल है।
टियर 2: अधिकांशतः स्थिर (95-99.5%)
ये सिग्नल कभी-कभी ब्राउज़र अपडेट के साथ बदलते हैं लेकिन अधिकांश रिलीज़ में स्थिर रहते हैं।
Canvas 2D Fingerprint: 97.8% स्थिर। बदलाव Chrome 118 (फ़ॉन्ट रेंडरिंग इंजन अपडेट), Chrome 122 (सब-पिक्सेल एंटी-एलियासिंग बदलाव), और Firefox 121 (टेक्स्ट शेपिंग अपडेट) में हुए। हर बदलाव ने उस ब्राउज़र के सभी डिवाइस को एक साथ प्रभावित किया — एक पहचानने-योग्य पैटर्न जिसे हम ब्राउज़र-वर्शन-सजग मैचिंग से संभालते हैं। WebGL Renderer String: 98.1% स्थिर। Chrome कभी-कभी ANGLE रैपर स्ट्रिंग को दोबारा फ़ॉर्मैट करता है। अंतर्निहित GPU जानकारी अपरिवर्तित रहती है, लेकिन स्ट्रिंग का प्रतिनिधित्व बदल जाता है। हम स्ट्रिंग को सीधे हैश करने के बजाय स्ट्रिंग से GPU मॉडल पार्स करते हैं। Font List: 96.4% स्थिर। OS अपडेट कभी-कभी सिस्टम फ़ॉन्ट जोड़ते या हटाते हैं। ब्राउज़र अपडेट शायद ही कभी फ़ॉन्ट एन्युमरेशन को प्रभावित करते हैं, लेकिन Chrome 120 ने फ़ॉन्ट रिपोर्ट करने का क्रम बदल दिया, जिसने हैश-आधारित फ़ॉन्ट फ़िंगरप्रिंटिंग को तोड़ दिया। हम क्रमबद्ध हैशिंग के बजाय सेट-आधारित तुलना (सेट समानता) का उपयोग करते हैं।
टियर 3: मध्यम स्थिरता (80-95%)
ये सिग्नल सार्थक आवृत्ति के साथ बदलते हैं लेकिन बदलावों के बीच अब भी उपयोगी पहचान मूल्य देते हैं।
Installed Plugins: 89.2% स्थिर। Chrome द्वारा प्लगइन ऐरे (navigator.plugins) में लगातार कटौती ने कुछ संदर्भों में प्लगइन दृश्यता को पूरी तरह हटा दिया। Firefox ने प्लगइन एन्युमरेशन बनाए रखा। Safari ने इसे एक मानक सेट तक सीमित रखा। CSS Feature Detection: 91.7% स्थिर। हर ब्राउज़र रिलीज़ के साथ नए CSS फ़ीचर जुड़ते हैं, जिससे हमारी CSS जाँच द्वारा पहचाने गए फ़ीचर का सेट बदल जाता है। हम प्रभाव कम करने के लिए नए फ़ीचर को स्थापित फ़ीचर की तुलना में कम भार देते हैं। Touch Support: 93.1% स्थिर। जब Chrome अपने डिवाइस एमुलेशन डिटेक्शन को समायोजित करता है, तो डेस्कटॉप ब्राउज़र कभी-कभी अपनी रिपोर्ट की गई टच सपोर्ट बदल देते हैं।
टियर 4: अस्थिर (<80%)
ये सिग्नल बार-बार बदलते हैं और इन्हें कभी भी प्राथमिक पहचान आधार नहीं होना चाहिए।
User Agent String: 42.3% स्थिर। Chrome की User-Agent कटौती पहल ने स्ट्रिंग फ़ॉर्मैट को कई बार बदला। Firefox हर रिलीज़ के साथ वर्शन नंबर अपडेट करता है। Safari नियमित रूप से WebKit वर्शन स्ट्रिंग बदलता है। यह कभी सरल फ़िंगरप्रिंटिंग सिस्टम की रीढ़ हुआ करता था — वे सिस्टम अब टूट चुके हैं। Connection Type (navigator.connection): 68.4% स्थिर। नेटवर्क स्विच करने (WiFi से सेल्युलर, अलग WiFi नेटवर्क) के साथ बदलता है। Battery API: 71.2% स्थिर। चार्ज स्थिति और ब्राउज़र API उपलब्धता के साथ भिन्न होता है। Chrome ने कुछ संदर्भों में Battery API एक्सेस को सीमित कर दिया। Available Screen Area: 76.8% स्थिर। टास्कबार दृश्यता, विंडो प्रबंधन और डिस्प्ले स्केलिंग समायोजन के साथ बदलता है।
क्रॉस-ब्राउज़र तुलना
फ़िंगरप्रिंटिंग स्थिरता के लिए Chrome सबसे अस्थिर ब्राउज़र है। Google सक्रिय रूप से फ़िंगरप्रिंट-योग्यता कम करने पर काम करता है, जिसका अर्थ है कि Chrome अपडेट Firefox या Safari अपडेट की तुलना में ज़्यादा सिग्नल तोड़ते हैं। हमारे अध्ययन काल में:
Chrome ने 3.2% संग्रह सेशन में सिग्नल बदलाव किए। Firefox ने 1.8% संग्रह सेशन में सिग्नल बदलाव किए। Safari ने 1.1% संग्रह सेशन में सिग्नल बदलाव किए।
Safari की कम अस्थिरता आंशिक रूप से इसलिए है क्योंकि Apple प्रति वर्ष कम रिलीज़ जारी करता है और आंशिक रूप से इसलिए क्योंकि Safari के फ़िंगरप्रिंटिंग प्रतिरोधक उपाय (Intelligent Tracking Prevention) API रिटर्न मानों को बदलने के बजाय नेटवर्क स्तर पर काम करते हैं।
व्यावहारिक सिफ़ारिशें
इस विश्लेषण के आधार पर, हम प्रोडक्शन फ़िंगरप्रिंटिंग सिस्टम के लिए पाँच सिफ़ारिशें करते हैं:
यूज़र-एजेंट को कभी पहचान आधार के रूप में इस्तेमाल न करें। यह सबसे कम स्थिर विशिष्ट सिग्नल है। इसे केवल ब्राउज़र डिटेक्शन और टियर 3 कॉन्फ़िडेंस स्कोरिंग के लिए उपयोग करें।
हार्डवेयर सिग्नल को सॉफ़्टवेयर सिग्नल से अलग करें। हार्डवेयर सिग्नल (GPU, स्क्रीन, ऑडियो) सॉफ़्टवेयर सिग्नल (यूज़र एजेंट, प्लगइन, CSS फ़ीचर) की तुलना में 40 गुना ज़्यादा स्थिर हैं। इनका भार तदनुसार दें।
एन्युमरेबल सिग्नल के लिए सेट-आधारित तुलना का उपयोग करें। फ़ॉन्ट सूची, प्लगइन सूची और फ़ीचर डिटेक्शन परिणामों की तुलना क्रमबद्ध हैशिंग के बजाय सेट समानता या समान सेट-दूरी मेट्रिक्स से होनी चाहिए। क्रम बदलाव आम हैं; सामग्री बदलाव दुर्लभ हैं।
ब्राउज़र-वर्शन-सजग मैचिंग लागू करें। जब Chrome 118 सभी Chrome यूज़र के लिए एक साथ कैनवास रेंडरिंग बदलता है, तो आपके सिस्टम को इसे एक ब्राउज़र अपडेट के रूप में पहचानना चाहिए, न कि एक व्यापक पहचान टूटन के रूप में। ब्राउज़र वर्शन ट्रैक करें और वर्शन-विशिष्ट मैचिंग सहनशीलता लागू करें।
सिग्नल स्थिरता की निरंतर निगरानी करें। हमारे स्थिरता प्रतिशत ऐतिहासिक डेटा पर आधारित हैं। भविष्य के ब्राउज़र अपडेट किसी भी सिग्नल की स्थिरता प्रोफ़ाइल बदल सकते हैं। हम निरंतर निगरानी चलाते हैं और स्थिरता बदलने पर सिग्नल भार को स्वचालित रूप से समायोजित करते हैं।
tracio.ai पर प्रभाव
हमारी V3 मल्टी-टियर पहचान वास्तुकला सीधे इस स्थिरता विश्लेषण को दर्शाती है। टियर 1 सिग्नल (हार्डवेयर) 60% भार रखते हैं। टियर 2 सिग्नल (रेंडरिंग, फ़ॉन्ट) 30% भार रखते हैं। टियर 3 सिग्नल (ब्राउज़र मेटाडेटा, कनेक्शन) 10% भार रखते हैं। यह भारण सुनिश्चित करता है कि सबसे स्थिर सिग्नल पहचान को संचालित करें, जबकि अस्थिर सिग्नल पहचान टूटन पैदा किए बिना कॉन्फ़िडेंस स्कोरिंग में योगदान करें।
परिणाम: 50 ब्राउज़र अपडेट में 99.5% पहचान स्थिरता, जबकि फ़्लैट हैश-आधारित फ़िंगरप्रिंटिंग का उपयोग करने वाले सिस्टम के लिए 69%। यह अंतर एल्गोरिदमिक चतुराई नहीं है — यह वास्तुशिल्प निर्णयों पर लागू अनुभवजन्य सिग्नल विश्लेषण है।