بيانات اعتماد جلسة مرتبطة بالجهاز (DBSC) هي ميزة جديدة على الويب مصمّمة بهدف حماية جلسات المستخدمين من سرقة ملفات تعريف الارتباط واختراق الجلسات. أصبحت هذه الميزة متوفرة الآن للاختبار في إصدار Chrome 135 كإصدار أوّلي.
الخلفية
تلعب ملفات تعريف الارتباط دورًا مهمًا في مصادقة الويب الحديثة، ما يسمح للمستخدمين بالبقاء logged in (مسجّلين الدخول) خلال جلسات التصفّح. ومع ذلك، يستغل المهاجمون بشكل متزايد ملفات تعريف الارتباط المسروقة للمصادقة من أجل الاستيلاء على الجلسات، وتجاوز مصادقة المتعدّدة العوامل وآليات أمان تسجيل الدخول الأخرى.
غالبًا ما يُخرج مشغّلو البرامج الضارة ملفات تعريف ارتباط الجلسة من الأجهزة المُخترَقة، مما يتيح الوصول غير المصرَّح به إلى حسابات المستخدمين. بما أنّ ملفات تعريف الارتباط هي رموز حاملة، فإنه يمكنها منح إذن الوصول بدون الحاجة إلى إثبات الملكية، ما يجعلها هدفًا مغريًا للمهاجمين.
تهدف ميزة "بيانات اعتماد الجلسة المرتبطة بالجهاز" إلى إيقاف سرقة ملفات تعريف الارتباط من خلال إنشاء جلسة مصادقة مرتبطة بجهاز. يقلل هذا النهج من احتمال أن يتمكّن ملفّا تعريف الارتباط المسروقان من الوصول إلى الحسابات من جهاز آخر.
آلية العمل
توفّر ميزة "بيانات اعتماد جلسة مرتبطة بالجهاز" واجهة برمجة تطبيقات جديدة تتيح للخوادم إنشاء جلسة مصادقة تكون مرتبطة بجهاز. عند بدء جلسة، ينشئ المتصفّح زوج مفتاحَين عام وخاص، ويخزّن المفتاح الخاص بأمان باستخدام سعة تخزين مدعومة بالأجهزة، مثل وحدة النظام الأساسي الموثوق به (TPM) عند توفّرها.
بعد ذلك، يُصدر المتصفّح ملفّ تعريف ارتباط جلسة عاديًا. خلال مدة الجلسة، يثبت المتصفّح بشكل دوري امتلاكه للمفتاح الخاص ويُعيد تحميل ملف تعريف ارتباط الجلسة. يمكن ضبط مدة صلاحية ملف تعريف الارتباط لتكون قصيرة بما يكفي لكي لا تعود سرقة ملف تعريف الارتباط مفيدة للمهاجمين.
المكونات الرئيسية
تسجيل الجلسة:
- عندما يسجّل المستخدم الدخول، يطلب الخادم جلسة مرتبطة بالجهاز باستخدام رأس HTTP
Sec-Session-Registration
. - ينشئ المتصفّح زوجًا جديدًا من المفاتيح، ويخزّن المفتاح الخاص بأمان.
- يتم أيضًا إنشاء ملف تعريف ارتباط مصادقة قصير الأمد و ربطه بمفتاحَي التشفير هذاَين.
- يربط الخادم الجلسة بالمفتاح العميق المرتبط بها، ما يضمن عدم إمكانية استخدام الجلسة إلا على الجهاز الأصلي.
- عندما يسجّل المستخدم الدخول، يطلب الخادم جلسة مرتبطة بالجهاز باستخدام رأس HTTP
إعادة تحميل الجلسة وإثبات الملكية:
- عند انتهاء صلاحية ملف تعريف الارتباط قصير الأجل، يُشغِّل Chrome ميزة إعادة تحميل الجلسة.
- يُرسِل المتصفّح طلبًا إلى نقطة نهاية إعادة التحميل التي يحدّدها الخادم
(يتم توفيرها أثناء تسجيل الجلسة)، وإذا كان الخادم يقدّم
طلبًا، يُرسِل المتصفّح طلب تحدّي موقَّعًا باستخدام العنوان
Sec-Session-Challenge
. - يتحقق الخادم من دليل الملكية من خلال التحقّق من صحة الاستجابة الموقَّعة باستخدام المفتاح الخاص للجلسة.
- إذا كان صالحًا، يُصدر الخادم ملفّ تعريف ارتباط جديدًا قصير الأجل، ما يسمح بمواصلة الجلسة.
من مزايا هذا النهج أنّ Chrome يؤجل الطلبات التي لن تحصل على ملف تعريف الارتباط المُعدَّل قصير الأجل. يحافظ هذا السلوك على توفّر ملفّات تعريف الارتباط المقترنة بالجلسة باستمرار طوال الجلسة، ويسمح للمطوّرين بالاعتماد عليها بثقة أكبر مقارنةً بالطرق التي قد تنتهي فيها صلاحية ملفات تعريف الارتباط أو تختفي بدون تجديد تلقائي.
مثال على التنفيذ
يمكن لخادم طلب جلسة مرتبطة بالجهاز على النحو التالي:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
عندما تكون الجلسة نشطة، يمكن للخادم التحقّق منها من خلال تبادل رسائل التحقّق والاستجابة:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
يردّ المتصفّح بما يلي:
POST /refresh
Sec-Session-Response: "signed-proof"
المزايا
- الحدّ من سرقة ملفات تعريف الارتباط: حتى إذا تم سرقة ملفات تعريف ارتباط الجلسة، لا يمكن استخدامها من جهاز آخر.
- تحسين الأمان بدون تغييرات كبيرة في تجربة المستخدم: تعمل هذه الميزة بشكل شفاف في الخلفية بدون الحاجة إلى تفاعل إضافي من المستخدم.
- تقليل الاعتماد على ملفات تعريف ارتباط الجلسة ذات الصلاحية الطويلة: تتم إعادة تحميل ملفات تعريف الارتباط ذات الصلاحية القصيرة تلقائيًا ما دامت الجلسة صالحة على الجهاز الأصلي.
- التوافق مع آليات التشفير العادية: الاستفادة من ميزة التخزين الآمن المستند إلى وحدة النظام الأساسي الموثوقة (TPM) عند توفّرها، ما يوفر حماية قوية ضد الاستخراج
اعتبارات الخصوصية والأمان
تم تصميم ميزة "بيانات اعتماد جلسة مرتبطة بالجهاز" لتعزيز الأمان مع الحفاظ على خصوصية المستخدم:
- لا تتوفّر مصادر تتبُّع إضافية: ترتبط كل جلسة بأحد أزواج المفاتيح الفريدة، ما يمنع التتبُّع على مستوى الجلسات.
- عدم إنشاء بصمة جهاز على المدى الطويل: لا يمكن للخوادم ربط الجلسات المختلفة على الجهاز نفسه ما لم يسمح المستخدم بذلك صراحةً.
- البيانات التي يمكن للمستخدمين محوها: يتم حذف الجلسات والمفاتيح عندما يُمحِّي المستخدم بيانات الموقع الإلكتروني.
- متوافقة مع سياسات ملفات تعريف الارتباط: تتّبع ميزة "الاستهداف بالبيانات على مستوى الموقع" النطاق المستنِد إلى الموقع الإلكتروني نفسه المستخدَم في ملفات تعريف الارتباط، ما يضمن عدم حدوث أي تسرُّب للبيانات من مصادر متعددة.
جرّبه الآن
تتوفّر الفترة التجريبية لميزة "بيانات اعتماد الجلسة المرتبطة بالجهاز" من الإصدار 135 من Chrome.
للاختبار على الجهاز
لاختبار نموذج DBSC على الجهاز:
- انتقِل إلى
chrome://flags#device-bound-session-credentials
وفعِّل الميزة.
للاختبار العلني
لاختبار بيانات الاعتماد المرتبطة بالجهاز (DBSC) من خلال مرحلة التجربة والتقييم في بيئة عامة:
- يُرجى الانتقال إلى صفحة "إصدارات Chrome التجريبية" والاشتراك.
أضِف الرمز المميّز المقدَّم إلى عناوين HTTP لموقعك الإلكتروني:
Origin-Trial: <your-trial-token>
الموارد
- مواصفات بيانات اعتماد الجلسة المرتبطة بالجهاز
- مستودع GitHub لميزة "بيانات اعتماد جلسة مرتبطة بالجهاز"
- دليل دمج بيانات اعتماد الجلسة المرتبطة بالجهاز (DBSC)
المشاركة في وضع معايير مستقبل أمان الويب
ندعوك إلى الانضمام إلينا لجعل مصادقة الويب أكثر أمانًا. ونشجّع مطوّري الويب على اختبار ميزة "البحث في بيانات المنتجات على Google Shopping"، ودمج هذه الميزة في تطبيقاتهم، ومشاركة ملاحظاتهم. يمكنك التواصل معنا على GitHub أو المشاركة في المناقشات مع مجموعة عمل أمان تطبيقات الويب.
من خلال تنفيذ ميزة "بيانات اعتماد جلسة مرتبطة بالجهاز"، يمكننا بشكل جماعي تقليل مخاطر الاستيلاء على الجلسات و تحسين أمان المصادقة للمستخدمين. ابدأ اليوم وساعد في تحديد مستقبل أمان الويب.