تعرف على الكوكيز الآمن في جهازك

بوابة التقنية » نظام تشغيل » حماية الأجهزة
25 - ذو الحجة - 1433 هـ| 10 - نوفمبر - 2012


1

الكوكيز هي أحد أهم وأشهر تطبيقات الويب. والهدف الأساسي من ملفات الكوكيز هو إخبار الخادم عن أي زيارة سابقة تمت من قبل المستخدم (أو ما يسمى بـclient) على موقع معين. وأهم ما يميز الكوكيز أنها  تستخدم برتوكول  http, ويتم تبادل ملفات الكوكيز بين متصفح المستخدم والخادم.

فالمتصفح (Browser) هو عبارة عن برنامج يمكن المستخدم (client) من عرض واسترجاع والتعامل مع المعلومات على شبكه الويب العالمية.

وخادم الويب (web server) هو برنامج كمبيوتر يعمل على خدمة المستخدم, مثل: صفحة الويب، باستخدام برتوكول (http) فمعظم تطبيقات الويب تعتمد على ملفات الكوكيز، مثل التجارة الالكترونية, ولكن مثل هذه التطبيقات تحتاج أن تضمن مصداقية وسلامة وسرية معلوماتها، لذلك لابد من أن تتوفر بعض الصفات على الكوكيز ليصبح كوكيز آمن.

يجب أن نعلم أيضاً أن ملفات الكوكيز تخزن على القرص الصلب لجهاز المستخدم أو على الذاكرةRAM. وبتخزينها على القرص الصلب يمكننا من استخدامها فيما بعد، بعكس التخزين المؤقت الذي يتم في RAM, غالبا يتم تخزينها في القرص الصلب لأنه هو الهدف الأساسي من وجود ملفات الكوكيز؛ ليتم استخدامها فيما بعد من قبل خادم الويب.

ما هو الكوكيز؟

الكوكيز أو ما يطل عليها اسم (الكعكة) هو عبارة عن ملف نصي، وليس الكوكيز برنامجا تخزنه وتضعه المواقع التي يتم زيارتها والتي تستخدم خاصية الكوكيز في القرص الصلب لكمبيوتر المستخدم بواسطة المتصفح، ويحوي على معلومات تعريفية للمستخدم .

أمن الكوكيز:

لحماية ملف الكوكيز ننشأ كوكيزا أمنا، وذلك باستخدام secure cookies protocol .وهذا البرتوكول لابد من توفر ثلاث صفات أساسية فيه، لتحقيق الأمن في ملف الكوكيز, وهم:

1- المصداقية أي أن مالك الكوكيز هو المالك الحقيقي، ولم يتم تزوير شخصيته.

2- سلامة وصدق المعلومات التي يحتويها ملف الكوكيز، أي يضمن المالك أنه لم يتم التغير في ملف الكوكيز التابع له، وأن ما هو موجود في الملف من معلومات لم يتم تغييرها.

3- السرية أي معلومات الملف لا يتمكن أحد من قراءتها إلا الأشخاص المسموح والمخول لهم بذلك.

فكل صفة من الصفات الثلاثة تلك لها طرق مختلفة لتحقيقها أهم هذه الطرق هي ما سوف يأتي الحديث عنه:

 

أولاً: المصداقية

المصداقية ممكن أن تتحقق بإحدى ثلاث طرق, إما على أساس الـIP , أو على أساس كلمه السر, أو على أساس التوقيع الإلكتروني. فكل طريقة من هذه الطرق تمكن الخادم (server) من التحقق من مصداقية المستخدم.

أ‌.        المصداقية باستخدام IP Address

خادم الويب هو مصدر الكوكيز, فخادم الويب يعمل على أخذ IP Address   ويضعه في ملف الكوكيز. فهذه الخاصية تمكن الخادم من التأكد من مصداقية المستخدم بواسطة الIP. وفي أي وقت يريد المستخدم زيارة هذا الموقع يتحقق الخادم من مصداقيته بمقارنة الـ IP address الحالي للمستخدم مع الموجود في ملف الكوكيز، إذا تطابق الاثنان، فالخادم تحقق من أن المستخدم الحالي هو المالك الحقيقِ. فعندما يرسل المستخدم ملف الكوكيز للخادم في كل مرة يطلب فيها خدمة من خادم الويب, الخادم يتأكد من أن الكوكيز صحيحة إذا كانت صحيحة تم خدمة طلبه.

المصداقية على أساس الـIP لا يفضل استخدامها لأنها تحوي عدة مخاطر. أولها من جهة نفس المستخدم، فلو حاول المستخدم الدخول من جهاز آخر هذا يعني أن IP Address تغير، ولكن يتم رفض مصداقيته لأن الـIP تغير، مع أن المستخدم هو نفسه. ثانيها المهاجم يستطيع جمع ملفات كوكيز تحوي على IP-cookie وذلك بواسطة التهديد الثالث cookie-harvesting فمن السهل جدا أن ينتحل شخصية أي مستخدم.

ب‌.      المصداقية باستخدام كلمة السر:

يتم إرسال كلمة السر من متصفح المستخدم إلى خادم الويب، ويتم حماية كلمه السر من خلال برتوكول SSL, بعد أن يأخذ خادم الويب كلمة السر يضعها في ملف الكوكيز (pswd-cookie)  ككلمة سر مهضومة ( (hashed  password وفي بعض servers يشفرون كلمة السر بدل هضمها.

ولكن هنا، على المستخدم إدخال كلمه السر في كل مرة يريد فيها الدخول لأي خادم يتعامل مع هذه الكوكيز, فالخادم يحول  كلمه السر المدخلة إلى كلمه سر مهضومة، ويقارنها مع الموجودة في ملف الكوكيز إذا تطابق hash للاثنين فهو المستخدم الحقيقِ.

المصداقية على أساس كلمه السر لها سيئات مثل: قد يخترقها مهاجم باستخدام brute-force attack أو dictionary attack, بالإضافة إلى أنها تطلب من المستخدم في كل مره إدخال كلمه السر.

 

ت‌.      المصداقية باستخدام التوقيع الرقمي:

الخادم يتحقق من مصداقية المستخدم باستخدام تقنيات RSA أو DSA ولديه العلم بالـ public key للمستخدم, فعندما يرسل المستخدم ملف الكوكيز الذي يحوي على توقيعه بـ private key مع time stamp( time  stamp لكي يمنع attacker من استغلاله) تتحقق مصداقيته.

 

ثانياً: سلامة وصدق المعلومات:

كل خادم له طريقته في اختيار الأجزاء التي من خلالها يتحقق من سلامه الملف. لدى الخادم أكثر من secure cookie وكذلك للمستخدم, فالمستخدم يرسل ما لديه للخادم والخادم يقارن القيم ويتحقق هل تم تغير محتويات الملف أم لا.

على سبيل المثال يقارن الاسم والدور وعمر الكوكيز وكلمة المرور والمفتاح. المفتاح إما أن يكون على أساس public key باستخدام md5 أو SHA مثلاً, أو على أساس secret key باستخدام MAC (message authentication code ).

 

ثالثاً: السرية:

تحقق باستخدام مفتاح الجلسة (session key ) وهو مفتاح مؤقت يتم تخزينه في الـkey-cookie  ويشفر هذا المفتاح بـ public key أو بـ secret key للخادم, وممكن الاستغناء عن session key بحيث يتم تشفير البيانات المهمة في الكوكيز بـpublic keyأو بـ secret key للخادم ولكن لا يفضل ذلك.

يستخدم session key لتشفير البيانات المهمة في الكوكيز, فالخادم يتمكن من الحصول على هذي البيانات المشفرة بفك التشفير لsession key بواسطة private keyأو secret key وبعد ذلك يستخدم session key لفك تشفير البيانات المشفرة.

================

بالتعاون مع مركز التميز لأمن المعلومات.

روابط ذات صلة


المقالات المنشورة تعبر عن رأى كاتبها ولا تعبر بالضرورة عن رأى لها أون لاين



تعليقات
فضلا شاركنا بتعليقك:
  • كود التحقيق *:
    لا تستطيع قراءة الكود? click here للتحديث

هناك بيانات مطلوبة ...