خوارزمية التشفير - الكلية الجامعية للعلوم والتكنولوجيا
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
تنقسم أوجه القصور في عملية التشفير إلى ثالثة أنواع:
•
األخطاء البشرية.
•
أوجه الخلل في الشفرة ذاتها.
•
عمليات الهجوم غير المنطقية.