البصمة الرقمية للمتصفح: ما الذي تقرؤه المواقع فعلًا

جولة حقلًا بحقل في القيم التي يجمعها الموقع، من canvas وWebGL إلى الصوت والخطوط والشاشة والمنطقة الزمنية، ولماذا تتفوق الهوية المتسقة على العشوائية.
البصمة الرقمية للمتصفح هي ممارسة تحديد المتصفح بالقيم التي يُبلغ عنها لا بأي شيء يخزّنه. لا حاجة إلى كوكيز. فالمتصفح يجيب ببساطة عن الأسئلة التي يحق لأي صفحة ويب أن تطرحها، وتكفي الإجابات مجتمعةً لتمييزه حتى يمكن التعرف عليه مجددًا.
القيم التي تُجمع
تقرأ معظم نصوص البصمة الرقمية البرمجية من المجموعة المحدودة نفسها من الأسطح.
الواضحة
- يحمل user agent اسم المتصفح وإصداره ومنصته، ويُرسل مع كل طلب.
- تُبلغ الشاشة عن العرض والارتفاع وعمق الألوان ونسبة البكسل ومنطقة العمل المتاحة.
- تغطي اللغة والمنطقة الزمنية اللغة المحلية التي يُبلغ عنها المتصفح والإزاحة التي يحسبها.
- تعطي تلميحات العتاد عدد المعالجات المُبلَّغ عنه، وفي بعض المتصفحات رقمًا تقريبيًا للذاكرة.
المتعلقة بالتصيير
هذه هي القيم التي يقصدها الناس حين يقولون «البصمة الرقمية»، لأنها غير مباشرة. تطلب الصفحة من المتصفح أن يرسم شيئًا ثم تقرأ بالضبط ما رُسم.
- يصيّر عمل canvas نصوصًا وأشكالًا على canvas خارج الشاشة ويحسب لها تجزئة. تتغير النتيجة بحسب حزمة الرسوميات والخطوط وتنعيم الحواف.
- يكشف WebGL نصوص المورّد والمصيِّر لمحوّل الرسوميات، إضافةً إلى تجزئة مشهد مصيَّر.
- يشغّل الصوت مذبذبًا عبر مخطط معالجة الصوت ويحسب تجزئة الناتج. يختلف سلوك الفاصلة العائمة قليلًا بين الحزم.
- يقيس كشف الخطوط النص في خطوط مرشَّحة ويستنتج أيها مثبَّت من أي القياسات تختلف.
المتعلقة بالشبكة
- العنوان الذي يصل منه الطلب، وما تقوله عنه قاعدة بيانات تحديد المواقع.
- WebRTC، الذي قد يكشف عناوين لا يكشفها الاتصال عادةً.
- ترتيب ومحتوى حقول مصافحة TLS وHTTP، التي تختلف باختلاف العميل.
لماذا جعل كل حقل عشوائيًا فكرة خاطئة
الدفاع البديهي هو تغيير كل شيء في كل زيارة. وهو يأتي بنتائج عكسية لسببين.
الأول هو التناقض. الحقول العشوائية لا تعرف بعضها. user agent يزعم Windows بجوار نص مصيِّر WebGL لا يُشحن إلا على عتاد Apple إشارة أقوى مما كانت أي من القيمتين لتكون وحدها. الأجهزة الحقيقية متسقة داخليًا؛ الاصطناعية وحدها تناقض نفسها.
الثاني هو عدم الاستقرار. حساب يُبلغ عن جهاز مختلف في كل زيارة يصف شيئًا لا يملكه أي شخص حقيقي. الاتساق عبر الزمن هو ما يبدو عليه المستخدم العادي.
ما الذي تغطيه هوية الملف
| السطح | كيف يُعالَج |
|---|---|
| User agent والمنصة | يُولَّدان معًا، فتتطابق المنصة المُعلَنة مع القيم المحيطة بها |
| الشاشة ونسبة البكسل | ثابتة لكل ملف، مأخوذة من أحجام تُبلغ عنها شاشات حقيقية فعلًا |
| المنطقة الزمنية واللغة المحلية | تُضبط لكل ملف، وتُطابَق مع المسار الشبكي الذي يستخدمه |
| Canvas وWebGL والصوت | تعامل ثابت لكل ملف، متطابق في كل فتح |
| الخطوط | مجموعة لكل ملف متسقة مع المنصة التي يزعمها الملف |
| WebRTC | مقيَّد بحيث لا يناقض المسار الشبكي للملف |
فحص عملك بنفسك
افتح ملف تعريف وزر صفحة اختبار للبصمة الرقمية. تنشر عدة صفحات القيم التي تقرؤها مجانًا. الأمران اللذان يستحقان الفحص ليسا ما قد تتوقعه:
- هل تتفق القيم بعضها مع بعض؟ المنصة والخطوط ونصوص الرسوميات والمنطقة الزمنية يجب أن تصف جهازًا واحدًا معقولًا.
- هل هي نفسها كما في المرة السابقة؟ أغلق الملف وافتحه من جديد وأعد الاختبار. الملف الذي تتحرك قيمه بين مرات الفتح ليس مستقرًا، والاستقرار هو الخاصية المهمة.
درجة الندرة على صفحة اختبار هي أقل الأرقام فائدة. فهي تقيسك مقابل زوار تلك الصفحة، وهم في الغالب الأعم أشخاص يختبرون متصفحات مكافحة الكشف.


