معهد سكيورتي العرب | وظائف خالية
وظائف 2018 سوق السيارات عقارات 2018 الارشيف البحث
اسم العضو:  
كلمة المرور:     
تسجيل المساعدة قائمة الأعضاء اظهار المشاركات الجديدة اظهارمشاركات اليوم

التشفير باتجاه واحد


التشفير باتجاه واحد
التوقيت الحالي : 03-29-2024, 04:01 AM
مستخدمين يتصفحوا هذا الموضوع:
الكاتب: dr.wolf
آخر رد: dr.wolf
الردود : 0
المشاهدات : 2884

إضافة رد 

التشفير باتجاه واحد

الكاتب الموضوع

رقم العضوية :3
الاقامة : ام الدنيا
التواجد : غير متصل
معلومات العضو
المشاركات : 7,392
الإنتساب : Oct 2010
السمعة : 5


بيانات موقعي اسم الموقع : سكيورتي العرب
اصدار المنتدى : 1.6.8

مشاركات : #1
Question التشفير باتجاه واحد

التشفير باتجاه واحد


السلام عليكم ورحمة الله وبركاته :


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

هنالك عدة خطط للتشفير (Encryption Schemes)، أو يمكننا أن نسميها أيضا طرقا أو أساليب للتشفير، لكل منها نقاط قوتها وضعفها واستخداماتها، وهذه الأساليب هي أفكار عامة وليست تطبيقات عملية للتشفير، أما التطبيقات العملية للتشفير فتسمى خوارزميات التشفير (Encryption Algorithms)، وسيتضح الفرق بينهما أكثر عندما نأخذ أمثلة عل كل منهما.

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

التشفير باتجاه واحد (One way encryption) هو أسلوب من أساليب التشفير تأخذ الرسالة المراد تشفيرها وتحورها لتخرج بشيء يسمى المفتاح الشفرة (Hash Key)، وأهم في هذا المفتاح هو أنه لا توجد طريقة فيه لفك التشفير والحصول على الرسالة الأصلية منه، ولهذا السبب سمي هذا الأسلوب بأسلوب التشفير باتجاه واحد.

ومن أشهر خوارزمياته المستخدمة حاليا md5، ويعتبر البعض خوارزمية sha1 خليفة الخوارزمية md5، وقد بدأت بعض المشاريع بالانتقال تدريجيا لاستخدامها بدلا من md5.

وقد تتسائل عن الحاجة لتشفير البيانات إذا لم تكن قادرا بعد ذلك على فك تشفيرها، لكن هذا الأسلوب من أساليب التشفير هو في الواقع أكثر الأساليب استخداما، وهو يستخدم في الأنظمة التي تحتاج فيها للتحقق من صحة معلومات ما دون الحاجة لمعرفة فحوى هذه المعلومات، وذلك لأن تشفير نفس الرسالة بنفس الخوارزمية ينتج مفتاح الشفرة نفسه في كل مرة.

وسنأخذ أمثلة عملية على ذلك.


تخزين كلمات المرور في ملف قابل للاختراق

لنفرض أن لديك موقعا على الإنترنت وكنت تريد تخزين كلمات المرور للمشتركين فيه، لكنك كنت قلقا من أن يتمكن مخترق ما من الوصول إلى هذه المعلومات، خاصة وأن الكثير من المستخدمين يستخدمون كلمات المرور نفسها في أكثر من مكان، وبالتالي قد يستخدم المخترق هذه المعلومات لاختراق صناديق البريد الالكترونية للمشتركين في خدمتك عبر تجربة كلمة المرور نفسها، أو اختراق اشتراكاتهم في أية خدمات أخرى، مما سيعود عليك بسمعة سيئة جدا.

في هذه الحالة، يمكنك أن تقوم بتشفير كلمات المرور باستخدام شفرة md5 مثلا وتخزين مفتاح الشفرة في الملف، وهنا لن يتمكن المخترق أبدا من معرفة كلمة المرور حتى لو حصل على الملف الذي يحتوي على مفاتيح الشفرة لكلمات المرور.

وفي المقابل، فإنه عندما يقوم المستخدم الذي يعرف كلمة المرور الصحيحة الخاصة به بمحاولة الدخول على الخدمة، يمكن لبرنامج أن يقوم بتشفير كلمة المرور التي أدخلها المستخدم باستخدام md5 أيضا وبعد ذلك مقارنة مفتاح الشفرة الناتجة بمفتاح الشفرة المخزن في ملف المستخدم، فإذا كان المستخدم قد أدخل كلمة المرور نفسها فإن مفتاح الشفرة الذي سينتج عن تشفيرها هو نفس مفتاح الشفرة المخزن بالملف وبالتالي نعلم بأن كلمة المرور صحيحة.

ولهذا السبب قلت في البداية أننا نستخدمها عندما نريد التحقق من صحة المعلومات دون الحاجة لأن نعرف فحوى المعلومات، فهنا مثلا نريد التحقق من صحة كلمة المرور المدخلة دون أن يهمنا محتوى كلمة المرور نفسه.


إرسال كلمة المرور بصورة مشفرة على الشبكة

في المثال السابق قلنا بأننا سنقوم بتشفير كلمة المرور في ملف المستخدم المخزن على السيرفر، وفي حال حدث اختراق فإن المخترق لن يتمكن من معرفة كلمة المرور الحقيقية، لكن هنالك مشكلة أخرى، وهي أن البيانات في أغلب المواقع سترسل على الشبكة عبر اتصال غير آمن، وذلك يعني بأن من السهل معرفة كلمة المرور التي أرسلت عبر الشبكة عن طريق التنصت على الاتصال.

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

يمكننا مبدئيا أن نقوم بتشفير كلمة المرور قبل ارسالها، ومقارنتها بالنسخة المشفرة عند وصول كلمة المرور إلى هناك، وهنا نكون قد تأكدنا من أن المتجسسين على الاتصال لن يعرفوا كلمة المرور، لكن المشكلة هي أن كلمة المرور المشفرة أصبحت الآن هي التي يتوقعها برنامج ليسمح لك بالدخول إلى النظام، وبالتالي فإن الكلمة المشفرة نفسها تصبح أمرا حساسا وسريا في نظامك، وبالطبع لن يتمكن المخترق أو المتنصت من معرفة كلمة المرور، لكنه سيتمكن من الدخول إلى النظام باستخدام مفتاح الشفرة.

الحل لهذه المشكلة يكمن في أسلوب يدعى التحقق بالتحدي والرد (Challenge-Response authentication)، وفي هذا النظام يقوم المزود (السيرفر) بارسال نص عشوائي للزبون فيقوم الزبون بأخذ كلمة المرور التي أدخلها المستخدم ويضيف إليها هذا النص العشوائي ويشفرهما معا ويرسل مفتاح الشفرة الناتج عن هذه العملية إلى المزود، فيقوم المزود من جانبه باضافة هذا النص العشوائي إلى كلمة المرور المخزنة في ملف المستخدم وتشفيرهما ومقارنة مفتاح الشفرة الناتج بمفتاح الشفرة الذي أرسله الزبون، وأهم نقطة في هذا النظام أن النص العشوائي الذي يرسل إلى الزبون يجب أن يتغير مع كل مرة يحاول فيها المستخدم الدخول.

بهذا الطريقة، حتى إذا تمكن المتنصت من الحصول على مفتاح الشفرة الذي أرسله المستخدم إلى المزود، فإنه لن يتمكن من استخدامه مرة أخرى، لأنه المزود سيرسل نصا عشوائيا مختلفا في كل مرة ولن يسمح للمتنصت باستخدام نفس النص العشوائي الذي استخدمه المستخدم من قبل.

هذه الطريقة قد لا تكون الطريقة التي تقرأ عنها عند قراءة الكتب المتخصصة تحت عنوان نظام التحدي والرد، لكنها أقرب شيء لتحقيق الهدف نفسه بسهولة وفعالية باستخدام التشفير باتجاه واحد، أما أشهر الأمثلة على هذا النظام فهو بروتوكول كيربيروس الذي يستخدم في الشركات والذي يعتمد على خطة التشفير المتناظر التي سأتحدث عنها في المرة القادمة إن شاء الله.


التأكد من عدم التلاعب ببيانات ما

واحدة من استخدامات نظام التشفير باتجاه واحد أيضا هو للتحقق من عدم التلاعب ببيانات أو ملفات ما، فإذا قمت مثلا بالحصول على برنامج ما من أحد الزملاء، فإن هنالك احتمالا بأن هذا البرنامج قد يكون قد تم التلاعب به عمدا أو أنه أصيب بفيروس ما أو أنه حدث به تغيير غير متعمد أثناء تنزيله من الإنترنت مثلا بسبب عطل ما في الاتصال، فنحن بحاجة هنا لطريقة ما نتأكد فيها من تطابق نسخة البرنامج التي لدينا مع النسخة الأصلية للبرنامج.

لهذا السبب تقوم الكثير من مواقع البرامج مفتوحة المصدر وبعض الشركات بوضع مفتاح تشفير البرنامج الأصلي الذي تنتجه بنظام md5 وsha1 لتتمكن من تشفير نسخة الملف التي لديك لمقارنة مفتاح التشفير الناتج بمفتاح التشفير المنشور على موقع الشركة والتأكد بالتالي من أن البرنامج متطابق ولم تحدث عليه أية تغييرات.

كذلك فإن هذه الطريقة تستخدم ضمن الأجهزة كأسلوب أمني للتأكد من عدم حدوث تغييرات في الأجزاء الحساسة من النظام، فتقوم بعمل فحص دوري للبرامج ولملفات الأساسية في النظام وتخزين مفاتيح تشفيرها في قاعدة بيانات محفوظة، ومع تكرار هذه العملية دوريا يقوم النظام بالتأكد من أن مفاتيح التشفير للبرامج لم تتغير، وإذا حدث تغير ما فإن النظام يقوم باصدار التحذيرات الأمنية المطلوبة إلى مدير النظام، وهذا النظام مفيد جدا بعد اكتشاف حادثة اختراق للنظام لمعرفة ما إذا كان المخترق قد تلاعب بملفات النظام، بشرط أن يكون هنالك قاعدة بيانات تحتوي على مفاتيح التشفير لبرامج النظام قبل الحادثة وأن تكون قاعدة البيانات هذه محمية من التلاعب بحيث نعلم بأن المخترق لم يقم بالتلاعب حتى بقاعدة البيانات هذه، ويكون ذلك عادة بحفظ قاعدة البيانات بصفة دورية في جهاز منفصل يكون على درجة عالية جدا من الأمان أو بطباعتها على الورق وأرشفتها.

منقول

ادارة سكيورتي العرب


المواضيع المحتمل أن تكون متشابهة .
أنواع التشفير Encryption
التشفير بالمفتاح المتناظر
التشفير بالمفتاح غير المتناظر
شرح التشفير للايميلات والملفات بنظام التشغيل Linux
12-15-2010 06:49 PM
إقتباس هذه الرسالة في الرد
إضافة رد 


الردود في هذا الموضوع
التشفير باتجاه واحد - dr.wolf - 12-15-2010 06:49 PM





سوق العرب | معهد سكيورتى العرب | وظائف خالية © 2024.
Google