خوارزمية التشفير - الكلية الجامعية للعلوم والتكنولوجيا

Download Report

Transcript خوارزمية التشفير - الكلية الجامعية للعلوم والتكنولوجيا

‫الكلية الجامعيـة للعلـوم التطبيقية‬
‫قســــم البكـالــــوريوس‬
‫تخـــصص إدارة تكنــولوجية‬
‫إدارة مصادر المعلومات‬
‫أساليب تشفير البيانات‪ ،‬بناء مقاطع التشفير‬
‫إعداد الطلبـة ‪/‬‬
‫محمد سالمة الرمالوي‬
‫منال محمود رضوان‬
‫حنان دلول‬
‫تحت إشراف‪/‬‬
‫أ‪ .‬محمود رفيق الفرا‬
‫نبيل عبد الرحمن تايه‬
‫صفاء داود‬
‫محاور النقاش‪:‬‬
‫‪2‬‬
‫‪‬‬
‫‪‬‬
‫مفهوم التشفير‬
‫مفاهيم ذات عالقة‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫المفتاح‬
‫الخوارزمية‬
‫أهداف التشفير‬
‫فكرة عمل التشفير‬
‫عناصر التشفير‬
‫أنواع التشفير‬
‫‪‬‬
‫التشفير في اتجاهين‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫التشفير المتماثل (مثال شيفرة قيصر)‬
‫التشفير غير المتماثل‬
‫مزايا وعيوب التشفير في اتجاهين‪.‬‬
‫التشفير في اتجاه واحد (مثال خوارزمية ‪)MD5‬‬
‫أوجه القصور في التشفير‬
‫مفهوم التشفير‬
‫‪3‬‬
‫‪‬‬
‫‪‬‬
‫التشفير ‪ (Encryption) :‬هي عملية تحويل النص أو البيانات إلى‬
‫شكل غير مفهوم بغرض إخفاء هذه البيانات أو هو عملية تحويل من‬
‫نص صريح )‪ (Plain Text‬إلى نص مشفر غير صريح ‪(Cipher‬‬
‫)‪text‬‬
‫مصطلح التشفير )‪(Cryptography‬هو عملية يتم فيها إخفاء‬
‫المعلومات عن طريق مفتاح سري وخوارزمية‪.‬‬
‫حيث ان الشخص الذي يعلم المفتاح ويعلم خوارزمية التشفير يمكنه‬
‫فك الشفرة ( أي استعادة المعلومات األصلية) ‪ ،‬يمكن ايضا ً ان يقوم‬
‫شخص ال يعرف خوارزمية التشفير ومفتاح التشفير بفك الشفرة ولكن‬
‫تسمى العملية هنا عملية غير مخولة‪1‬‬
‫مفاهيم ذات عالقة‪:‬‬
‫‪4‬‬
‫النص األصلي قبل عملية التشفير ‪Plain text‬‬
‫النص المشفر بعد عملية التشفير ‪Cipher text‬‬
‫تحويل النص العادي إلى نص مشفر ‪Encryption‬‬
‫فك التشفير اي تحويل النص المشفر إلى نص عادي ‪Decryption‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫المفتاح (‪ )Key‬وهو عبارة عن كلمة السر المستخدمة في خوارزمية التشفير أو فك‬
‫التشفير ويعتبر من أهم األشياء التي يجب إخفائها حيث أنه يعتبر من األشياء السرية‬
‫التي ال يعرفها إال المخول لهم فك الشفرة‪.1‬‬
‫الخوارزمية (‪ :)Algorithm‬الخوارزمية هي عبارة عن الخطوات الالزمة لحل‬
‫مسألة ما‪ ,‬و قد تكتب هذه الخوارزمية باللغة العربية أو اإلنجليزيـة أو قد يعبر عنها‬
‫برسم أشكال هندسيـة معينة‪.2‬‬
‫أهداف التشفير‪:‬‬
‫‪5‬‬
‫‪‬‬
‫يوجد أربعة أهداف رئيسية وراء استخدام علم التشفير وهي كالتالي‪:‬‬
‫‪ ‬السرية أو الخصوصية ( ‪:) Confidentiality‬هي خدمة تستخدم لحفظ‬
‫محتوى المعلومات من جميع األشخاص ما عدا الذي قد صرح لهم‬
‫اإلطالع عليها‪.‬‬
‫‪ ‬تكامل البيانات (‪ :) Integrity‬وهي خدمة تستخدم لحفظ المعلومات من‬
‫التغيير ( حذف أو إضافة أو تعديل ) من قبل األشخاص الغير مصرح‬
‫لهم بذلك‪.‬‬
‫أهداف التشفير‪:‬‬
‫‪6‬‬
‫‪ ‬إثبات الهوية ( ‪ :) Authentication‬وهي خدمة تستخدم إلثبات هوية‬
‫التعامل مع البيانات (المصرح لهم )‪.‬‬
‫‪ ‬عدم الجحود ( ‪ :) Non-repudiation‬وهي خدمة تستخدم لمنع الشخص‬
‫من إنكاره القيام بعمل ما‪ ،‬أو اثبات عمل قام به فعالً فال يستطيع انكاره أو‬
‫التملص منه‪ ،‬فالتشفير يوفر االثبات من خالل استخدامه في التوقيع الرقمي‬
‫‪ ،Digital Signature‬والتوقيع الرقمي هو التوقيع الذي يستخدم تقنيات‬
‫التشفير والذي يمتملك المفتاح العام والمفتاح الخاص والشهادة الرقمية‪.‬‬
‫إذاً الهدف األساسي من التشفير هو توفير هذه الخدمات لألشخاص ليتم‬
‫الحفاظ على أمن معلوماتهم‪.3‬‬
‫فكرة عمل التشفير‬
‫‪7‬‬
‫‪‬‬
‫تقوم فكرة عمل التشفير على عدة طرق من أهمها‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طرق استبدال األحرف‪.‬‬
‫المواراة أو اإلخفاء‪.‬‬
‫الطرق الرياضية التي تعتمد على الخوارزميات‪.‬‬
‫الطرق اإلحصائية التي تعتمد على تردد األحرف في اللغة‪.‬‬
‫عناصر التشفير‬
‫‪8‬‬
‫‪1‬‬
‫الخوارزميـــــــــة‬
‫‪2‬‬
‫مفتاح التشفيـــــر‬
‫‪3‬‬
‫البيانات األصليـة‬
‫‪4‬‬
‫نـــــص الشفـــرة‬
‫معرفة أي ثالثة‬
‫من‬
‫عناصر‬
‫العناصر المذكورة‬
‫سوف يؤدي إلى‬
‫استنتاج العنصر‬
‫الرابع‪.‬‬
‫‪5‬‬
‫‪9‬‬
‫أنواع التشفير‬
‫التشفير باتجاه واحد‬
‫هو التشفير الذي ال يمكن‬
‫الرجوع فيه من النص‬
‫المشفر الى النص األصلي‬
‫مثل التشفير باستخدام‬
‫‪MD5, SHA‬خوارزمية‬
‫التشفير باتجاهين‬
‫التشفير المتماثل‬
‫التشفير غير المتماثل‬
‫باستخدام مفتاح واحد هو المفتاح‬
‫‪Public key‬العام‬
‫باستخدام زوج من المفاتيح هما‬
‫‪Public‬المفتاح العام‬
‫والمفتاح الخاص ‪key,‬‬
‫‪Private key‬‬
‫في هذا النوع من التشفير‬
‫نتمكن من استرجاع النص‬
‫األصلي من خالل فك شيفرة‬
‫النص المشفر‬
‫أنواع التشفير‪:‬‬
‫‪10‬‬
‫أوالً‪ :‬التشفير باتجاهين‪: :‬تستخدم هذه الطريقة من التشفير عندما نكون‬
‫بحاجة الستعادة المعلومات التي قمنا بتشفيرها أي إعادتها للنص‬
‫األصلي‪.4‬‬
‫‪ ‬ويمتلك مخطط هذا النوع من التشفير الى خمسة أجزاء‪ ،‬وهي‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫النص الصريح‬
‫خوارزمية التشفير‬
‫المفتاح السري‬
‫النص المشفر‬
‫خوارزمية فك التشفير‬
‫أنواع التشفير باتجاهين‪:‬‬
‫‪11‬‬
‫‪ ‬التشفير المتماثل‪ :‬وعرف أيضا ً بالتشفير بالمفتاح العام‪ ،‬وهو يستخدم مفتاح‬
‫واحد ًلعملية التشفير وفك التشفير للبيانات‪ .‬ويعتمد هذا النوع من التشفير‬
‫على سرية المفتاح المستخدَم‪ .‬حيث أن الشخص الذي يملك المفتاح بإمكانه‬
‫فك التشفير وقراءة محتوى الرسائل أو الملفات‪.‬‬
‫‪ ‬من أمثلة هذا النوع‪ :‬شفيرة قيصر‪ ،‬تشفير البيانات القياسي (‪، ) DES‬‬
‫‪ ,AES, IDEA, 3DES, blowfish‬وهي أنظمة حديثة ومتطورة وأثبتت‬
‫جدواها في عصرنا الحالي في مجال التشفير‪.5‬‬
‫طريقة التشفير بشيفرة قيصر (‪6)Caesar Cipher‬؟‬
‫‪12‬‬
‫‪‬‬
‫‪‬‬
‫شيفرة قيصر هي من أقدم أنواع التشفير باستخدام تقنيات تبديل‬
‫الحروف وأبسطها‪.‬‬
‫يتم وفق هذه الطريقة تبديل حرف من حروف األبجدية بالحرف‬
‫الذي يقع في المرتبة الثالثة بعده‪ ،‬أي ‪:‬‬
‫الحرف المشفر = الحرف األصلي ‪3 +‬‬
:‫تطبيق عملي على شيفرة قيصر‬
13
:‫النص الصريح‬
PU FDUWHU LV D FRRO WHDFKHU :‫النص المشفر‬
‫كيف حدث ذلك؟؟‬
MR CARTER IS A COOL TEACHER



:‫النص الصريح‬

:‫النص المشفر‬

a b c d e f g h I j k l m n o pqrstuvwxyz
DEFGHIJKLMNOPQRSTUVWXYZABC
‫‪14‬‬
‫‪‬‬
‫هناك ثالث مميزات للطريقة السابقة في التشفير‪ ،‬وهي‪:‬‬
‫‪ ‬خوارزميتا التشفير وفك التشفير معروفتان‪.‬‬
‫‪ ‬هناك ‪ 25‬مفتاحا ً محتمال فقط‪.‬‬
‫‪ ‬اللغة التي كتب فيها النص معروفة ويمكن تمييزها بسهولة‪.‬‬
‫‪15‬‬
‫‪‬‬
‫التشفير الغير متماثل‪ :‬ويعتمد في مبدأه على وجود مفتاحين وهما‬
‫المفتاح العام ‪ Public key‬والمفتاح الخاص ‪ ،Privet key‬حيث أن‬
‫المفتاح العام هو لتشفير الرسائل والمفتاح الخاص لفك تشفير‬
‫الرسائل‪ .‬ومن األنظمة التي تستخدم هذا النوع من التشفير‪: 5‬‬
‫‪PGP, DSA, Deffie-Hellman, Elgamal, RSA‬‬
‫‪16‬‬
‫‪‬‬
‫مزايا وعيوب التشفير المتماثل وغير المتماثل‪:‬‬
‫‪ ‬التشفير المتماثل أسرع بكثير باستخدام أنظمة الكمبيوتر الحديثة‪ ،‬ولكنه‬
‫يستخدم مفتاح واحد فقط‪ .‬فهو عرضة أكثر لالختراقات‪.‬‬
‫‪ ‬أما تشفير غير المتماثل فيستخدم مفتاحين في عملية التشفير وفك‬
‫التشفير‪ ،‬وهو أقوى وأقل عرضة لالختراقات‪ ،‬ولكنه أبطأ من التشفير‬
‫التقليدي ‪.5‬‬
‫‪‬‬
‫وتعتمد قوة التشفير في هذا النوع على عاملين أساسيين‪ ،‬هما‪:‬‬
‫‪ ‬قوة خوارزمية التشفير‬
‫‪ ‬وسرية المفتاح‬
‫ثانيا ً ‪:‬التشفير باتجاه واحد‬
‫‪17‬‬
‫عملية يتم بموجبها تشفير المعلومات باستخدام خوارزمية التشفير ولكن ال‬
‫يوجد خوارزمية فك تشفير الرسالة‪.7‬‬
‫‪ ‬لماذا نستخدم هذه الطريقة إن كنا غير قادرين على استعادة النص‬
‫األصلي؟‬
‫الجواب هو عندما ال تكون المعلومات الهامة فاننا نعمل على‬
‫استرجاعها ‪ ،‬ولكن معرفة المعلومات مهم جدا‪.‬‬
‫والمثال النموذجي هو السر‪ .‬ال يوجد لديه كلمة مرور تستخدم‪.‬‬
‫‪18‬‬
‫وفي هذا النوع من التشفير (التشفير باتجاه واحد) عادتا ً يتم استخدام دالة‬
‫االختزال أو الـ (‪ )Hash Function‬وهي عبارة عن عملية تحويل‬
‫الرسالة أو البيانات إلى قيمة عددية ‪ (numeric hash value).‬ودالة‬
‫الهاش تعتبر إما أحادية االتجاه أَو مزدوجة‪ .‬فإذا كانت الدالة أحادية‬
‫االتجاه فال تسمح للرسالة بأن تعود إلى قيمتها األصلية’‪ ،‬أما في حالة‬
‫الدالة المزدوجة فيسمح للرسالة بأن يعاد بناءها من الهاش‬
‫وفي األغلب أكثر داالت الهاش أحادية االتجاه أي يستحيل فهم النص‬
‫المشفر أو العودة منه للنص األصلي‬
‫ومن أنواع دالة االختزال‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫)‪Secure Hash Algorithm (SHA‬‬
‫وسلسلة تلخيص الرسالة (‪ )Message Digest‬والمختصرة بـ (‪ )MD‬والسلسلة‬
‫تتضمن ‪ MD2‬و ‪ MD4‬و أخيراً ‪ MD5‬والتي هي محورنا التالي‪.‬‬
‫خوارزمية التشفير (‪:) MD5‬‬
‫‪19‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هي دالة تشفير يدخل لها نص بأي طول ويتم تجزئته إلى نصوص‬
‫قصيرة بحجم ‪ bit 512‬وتنتج نص مشفر بطول ‪ bit 128‬يمثل بـ‬
‫‪ 32‬رقم ست عشري )‪ , )Hexadecimal‬ناتج عملية التلخيص‬
‫صعب الرجوع منه للنص األصلي ‪.‬‬
‫مثال ‪:‬‬
‫النص األصلي ‪Message Digest 5 :‬‬
‫نتيجة الـ (‪ )MD5‬له ‪b88402ac7072606ec70f190ba5dd0211 :‬‬
‫هذه الطريقة عادة ما تستخدم في إثبات صحة الملفات من التعديل و‬
‫هويات المستخدمين والتواقيع الرقمية والتي سنرى تفصيلها الحقا ً‬
‫طريقة عمل خوارزمية التشفير (‪:8) MD5‬‬
‫‪20‬‬
‫‪‬‬
‫يمر النص فيها بست خطوات تشمل‪ ،‬يمكن اختصارها‬
‫بالخطوات االربعة التالية‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫تجزئة النص ألجزاء بحجم ‪bit 512‬‬
‫تكون الكلمات اإلنشائية كل جزء بحجم ‪ bit 512‬يتم تجزئته إلى‬
‫‪ 16‬كلمه "‪ "Word‬كل كلمه بحجم ‪.bit32‬‬
‫من ثم مرورها في أربع دورات وتميز كل دوره بمعادله منطقيه‬
‫خاصة بها‬
‫لتنتج نص غير مفهوم بطول ‪bit 128‬‬
‫خواص خوارزمية التشفير (‪: )Md5‬‬
‫‪21‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫طول نتيجة الخوارزمية ومنها دائما مانستدل على نوع الخوارزمية‬
‫المستخدمة ‪ ,‬على سبيل المثال إذا عرفنا ان ناتج العملية هو ‪128‬‬
‫‪ bit‬فبالتأكيد أننا استخدمنا الـ (‪. )MD5‬‬
‫خوارزمية التشفير (‪ )MD5‬ال تعطي نتيجتين متماثلتين لملفين‬
‫مختلفين ‪ ,‬حينما نجد دالتين للـ (‪ )MD5‬متماثلتين فبالتأكيد أنهما‬
‫نتيجة لملفين أو رسالتين متطابقتين تماما ً‪.‬‬
‫إذا قمنا بعمل خوارزمية التشفير (‪ )MD5‬لملف أو رسالة معينه‬
‫أكثر من مره في أوقات مختلفة دون التعديل عليها فإن نفس نتيجة‬
‫الخوارزمية سوف تتكرر في كل مره ‪.‬‬
‫خوارزمية التشفير (‪ )MD5‬ذات طريق واحد‪ ,‬أي انه من نص‬
‫عادي تعطي نص مشفر لكن ال نستطيع أن نصل من النص المشفر‬
‫إلى نص عادي‪.‬‬
‫تطبيقات خوارزمية الـتشفير (‪: )MD5‬‬
‫‪22‬‬
‫‪‬‬
‫إثبات صحة الملفات (‪:)File Integrity‬‬
‫حينما يكون لدينا ملف للمشاركة قراءة دون تعديل ونريد ان نتأكد‬
‫دوما ً أنه لم يتعرض ألي تحرير من قبل اشخاص غير مصرح بهم‬
‫فكل ماعلينا هو حساب دالة الـ (‪ )MD5‬قبل عرض الملف‬
‫للمشاركة وحفظ النتيجة في قاعدة بيانات ومن ثم يتم حساب الـ‬
‫(‪ )MD5‬بشكل دوري ومقارنة نتيجة الحساب بالقيمة المحفوظة سابقا ً‬
‫‪ ,‬بمجرد اختالف القيمتين عن بعضهم يعني ان الملف تعرض للتعديل‬
‫عن محتواه األصلي حتى وإن كان التغيير حرف واحد فقط! ‪.‬‬
‫تطبيقات خوارزمية الـتشفير (‪: )MD5‬‬
‫‪23‬‬
‫‪‬‬
‫التواقيع الرقمية ( ‪:) Digital Signature‬‬
‫توقيع رقمي يستخدم إلثبات هوية المرسل او الكاتب للملف ‪ ,‬يضمن‬
‫لنا عدم التعديل على الملف بعد االرسال بواسطة شخص متجسس‪,‬‬
‫وهذه التواقيع من الممكن اضافتها على رسائل مشفره او بدون تشفير‪.‬‬
‫وطريقه عمله أن يقوم المرسل بحساب الـ (‪ )MD5‬لرسالته وتشفيره‬
‫بواسطة المفتاح الخاص (‪ ) private key‬به وإرسالها باإلضافة‬
‫للرسالة إلى المستقبل ‪ ,‬وفي حال وصول الرسالة للمستقبل ‪ ,‬يقوم بفك‬
‫التشفير بواسطة المفتاح المعلن (‪ ) public key‬وحساب‬
‫الـ(‪ )MD5‬للرسالة ومقارنتها بـ(‪ )MD5‬المرسلة اذا تشابهت فيعني‬
‫ان الرسالة سليمة من التعديل وباستخدامه للمفتاح المعلن يضمن هوية‬
‫المرسل ‪.‬‬
‫تطبيقات خوارزمية الـتشفير (‪: )MD5‬‬
‫‪24‬‬
‫تطبيقات خوارزمية الـتشفير (‪: )MD5‬‬
‫‪25‬‬
‫‪‬‬
‫كلمة المرور(‪:)Password‬‬
‫حينما تضع كلمة مرور على جهاز الحاسب الخاص بك لتزيد األمان‬
‫والخصوصية عليه فإن ما يحدث فعالً هو تخزين القيمه الناتجة من‬
‫حساب الـ ( ‪ )MD5‬لكلمة المرور خاصتك في ملفات النظام وفي‬
‫المرة القادمة من محاولتك للدخول لحسابك فإن النظام يقوم بحساب الـ‬
‫( ‪ )MD5‬لكلمة المرور المدخلة وبمقارنتها بالقيمة المحفوظة في‬
‫ملفات النظام اذا تطابقت القيمتان سوف يسمح لك بالدخول والتعامل‬
‫مع ملفاتك وفي حين اخطأت في ادخال كلمة المرور بالتالي ستختلف‬
‫نتيجة الـ ( ‪ )MD5‬عن المحفوظة سابقا ً وستترك لك ‪ 3‬محاوالت‬
‫إلدخال كلمة المرور مره اخرى وإال سيتم اغالق المحاوالت لفترة‬
‫من الوقت ‪.‬‬
‫تطبيقات خوارزمية الـتشفير (‪: )MD5‬‬
‫‪26‬‬
‫كلمة مرور‬
‫نعم‬
‫السماح بالدخول‬
‫للنظام‬
‫ال‬
‫السماح بمحاولة‬
‫أخرى‬
‫تخزين القيمة‬
‫الناتجة من‬
‫حساب ‪md5‬‬
‫هل حصل‬
‫تتطابق ؟‬
‫محاولة‬
‫الدخول للنظام‬
‫مقارنة ‪ md5‬للكلمة‬
‫الممرة مع قيمة‬
‫‪ md5‬للكلمة المخزنة‬
‫كسر خوارزمية التشفير (‪:)MD5‬‬
‫‪27‬‬
‫‪‬‬
‫من الصعب جدا كسر خوارزمية التشفير (‪ )MD5‬ولكن أكثر الطرق‬
‫شيوعا ً واستخداما في كسر الـ (‪)Md5‬‬
‫‪ ‬الـ‪ Brute Force‬وتستخدم خصوصا في فك تشفير كلمات المرور‪ ،‬والتي‬
‫تعتمد على جمع عدد من الكلمات المتوقعه وتشفيرها بالـ (‪ )MD5‬ومقارنة‬
‫النتيجة بـ (‪ )MD5‬األصلي والمخزن كـنص مشفر‬
‫‪ ‬جمع عدد كبير من النصوص باإلضافة للـ ( ‪ ) Md5‬الخاصة بها في ملف‬
‫يدعى " ‪ "Rainbow Table‬ويتم العودة لهذا الملف والمقارنة كلما دعت‬
‫الحاجه ‪.‬‬
‫‪ ‬ان بعض المواقع على الشبكة العنكبوتية تقوم بحساب (‪ )MD5‬لنص معين‬
‫او العكس‪.‬‬
‫أوجه القصور في عملية‬
‫التشفير(‪)3‬‬
‫‪28‬‬
‫تنقسم أوجه القصور في عملية التشفير إلى ثالثة أنواع‪:‬‬
‫•‬
‫األخطاء البشرية‪.‬‬
‫•‬
‫أوجه الخلل في الشفرة ذاتها‪.‬‬
‫•‬
‫عمليات الهجوم غير المنطقية‪.‬‬