ما هي بصمة المتصفح، وماذا يستطيع موقع أن يقرأ فعلاً؟

في كل مرة تفتح فيها صفحة، يسلّم المتصفح الموقع قائمة طويلة من الحقائق عن نفسه. لا شيء منها سري، ولا شيء منها يطلب إذناً، ومعظمها موجود كي تُعرض الصفحة عرضاً صحيحاً. البصمة هي ما يحدث حين يتوقف موقع عن استخدام هذه الحقائق للعرض ويبدأ باستخدامها للتعرف عليك.
ما تستطيع الصفحة قراءته دون أن تسأل
يستطيع سكربت يعمل في تبويب عادي أن يقرأ، من بين أمور أخرى: سلسلة وكيل المستخدم، وقائمة اللغات المفضلة، والمنطقة الزمنية، وحجم الشاشة وكثافة البكسلات، وعدد مسارات المعالج، ورقماً مقرَّباً لذاكرة الجهاز، وعمق اللون، ودعم اللمس، واسم مصيِّر الرسوميات خلف WebGL، وناتج رسم صورة صغيرة على canvas أو تصيير مخزن صوتي قصير. ويستطيع أيضاً أن يرصد المدة التي تستغرقها عمليات معينة، وأي الخطوط تغيّر عرض سطر نصي، وأي أجهزة وسائط موجودة (أعدادها لا أسماؤها، ما لم تمنح الإذن).
كل منها على حدة مملّ. المنطقة الزمنية تحصرك في بضع مئات الملايين من الناس. أما مجتمعةً فتحصرك أكثر بكثير، لأن التركيبة هي النادرة. جهاز Windows بسلسلة مصيِّر NVIDIA محددة، و12 مساراً، وشاشة 2560×1440، والفرنسية والإنجليزية بهذا الترتيب، وتجزئة canvas معينة ليس جمعاً غفيراً.
ما الذي يجعل الإشارة نافعة للتعريف
ثلاث خصائص مهمة. يجب أن تكون الإشارة ثابتة: المتصفح نفسه يعطي القيمة نفسها غداً. ويجب أن تكون متنوعة: متصفحات مختلفة تعطي قيماً مختلفة. ويجب أن تكون رخيصة: قابلة للقراءة في أجزاء من الثانية دون نافذة إذن. تجزئة canvas تحقق الثلاثة جيداً، ولهذا تظهر في كل مكتبة بصمات. وحجم الشاشة يحقق الأولى والثانية جيداً والثالثة بامتياز. وكان وكيل المستخدم يحقق التنوع جيداً، لكن مورّدي المتصفحات سطّحوه عمداً لهذا السبب بالذات.
ما لا تستطيع الصفحة قراءته
هذا الجزء يُبالَغ فيه. لا يستطيع سكربت صفحة أن يرى عنوانك الحقيقي إن كنت خلف بروكسي: يرى ما يعرضه البروكسي. ولا يستطيع قراءة التبويبات الأخرى أو سجلك أو إشاراتك المرجعية أو كلمات مرورك المحفوظة. ولا يستطيع أن يعرف بيقين هل أنت في نافذة خاصة؛ فالأساليب التي تدّعي ذلك تتعطل بانتظام. ولا يستطيع أن يعرف اسمك. ولا يستطيع أن يقرر بنفسه هل العنوان بروكسي أم مركز بيانات: هذا الحكم يأتي من قاعدة بيانات سمعة يدفع الموقع ثمنها، لا من شيء قاله متصفحك.
المواقع التي تعرض «درجة روبوت» أو «بروكسي: نعم» تجمع بين ما أبلغ عنه متصفحك وبيانات من طرف ثالث. هذا أمر مشروع، لكن من المهم أن تعرف أي نصفيه قياس وأيهما بحث في قاعدة.
لماذا توجد صفحات التشخيص
صفحة تشخيص مثل PowerScan تقرأ الإشارات نفسها التي سيقرؤها متتبِّع، وتعرضها عليك بدل أن تخزّنها. الغاية ليست أن تمنحك درجة، بل أن تتيح لك التحقق من أمرين: هل إشارة توقعت أن تكون مخفية مرئية، وهل الإشارات متسقة فيما بينها. عدم الاتساق هو ما يوقع الحسابات في العلامات الحمراء: عنوان في بلد، وساعة متصفح في بلد آخر، ومرشح WebRTC لا يطابق العنوان الذي وصلت منه.
حين تقرأ تقريراً، عامل كل سطر على أنه جواب عن سؤال واحد: «ماذا أخبر هذا المتصفح هذه الصفحة الآن؟» لا أكثر. التجزئة ليست حكماً، وعدد الإشارات المقروءة ليس مقياساً لمدى واقعيتك.


