التشفير المتماثل مقابل غير المتماثل - الصورة الكبيرة
الفصل السادس يبني على التشفير المتماثل من الفصل الخامس ويركز بالكامل على التشفير غير المتماثل (بالمفاتيح العامة) - نهج مختلف جوهريًا يحل مشكلة توزيع المفاتيح.
🔐 متماثل (مراجعة)
- مفتاح سري مشترك واحد للتشفير وفك التشفير
- أسرع بـ 30,000 مرة من غير المتماثل
- المشكلة الكبيرة: كيف تشارك المفتاح بأمان؟
- الأفضل لـ: تشفير البيانات الضخمة
🗝️ غير متماثل (هذا الفصل)
- مفتاحان: مفتاح عام (ينشر للجميع)، ومفتاح خاص (يُحفظ سريًا)
- أبطأ - لكنه يحل مشكلة توزيع المفاتيح
- يستخدم لـ السرية، التوثيق، أو كلاهما
- الأفضل لـ: تبادل المفاتيح، التوقيعات الرقمية
القاعدة الذهبية (تكرر في كل اختبار)
للتشفير → استخدم المفتاح العام للمستقبل. لفك التشفير → استخدم المفتاح الخاص للمستقبل. للتوقيع → استخدم المفتاح الخاص للمرسل. للتحقق → استخدم المفتاح العام للمرسل.
بالمفتاح الخاص لبوب
قناة غير آمنة
بالمفتاح العام لبوب
(اتجاه القراءة من اليمين لليسار)
دالة الباب الخلفي أحادية الاتجاه (Trapdoor One-Way Function)
الفكرة الرئيسية وراء التشفير غير المتماثل هي مفهوم دالة الباب الخلفي أحادية الاتجاه. فهم هذه الفكرة يشرح لماذا RSA آمن.
↗️ دالة أحادية الاتجاه (OWF)
دالة تتميز بـ:
- سهلة الحساب في الاتجاه الأمامي: بإعطاء x، نحسب f(x) = y بسرعة
- صعبة العكس: بإعطاء y، حساب f⁻¹(y) = x غير ممكن عمليًا
🚪 "الباب الخلفي" (Trapdoor)
الباب الخلفي يجعل العكس سهلاً إذا كنت تعرف السر (المفتاح الخاص) - لكن صعبًا بدونه.
- بدون المفتاح الخاص: عكس الدالة مستحيل عمليًا
- مع المفتاح الخاص (الباب الخلفي): فك التشفير مباشر وسهل
- هذا التباين هو ما يجعل التشفير بالمفاتيح العامة يعمل
ضرب 17 × 19 = 323 سهل جدًا. لكن إذا أعطيتك الرقم 323 وطلبت منك إيجاد العددين الأوليين اللذين ضربهما يعطي هذا الناتج - هذا أصعب بكثير. الآن صعّد هذا لأرقام 2048 بت: إيجاد العوامل يصبح غير ممكن عمليًا، وهذا ما يؤمن RSA.
نظام RSA
أشهر خوارزمية بالمفاتيح العامة. سميت باسم مخترعيها: ريفست، شامير، وأدلمان. RSA يحسب ثلاثة عوامل رئيسية - N, e, و d - بناءً على الأعداد الأولية.
📤 التشفير
يستخدم المفتاح العام (e, N)
M = النص العادي، C = النص المشفر، e = الأس العام، N = المعامل (modulus)
📥 فك التشفير
يستخدم المفتاح الخاص (d, N)
C = النص المشفر، M = النص العادي المسترجع، d = الأس الخاص، N = المعامل
⚠️ ملاحظة عن N
N مشترك بين كلا المفتاحين - يظهر في كل من زوج المفتاح العام (N, e) والمفتاح الخاص (N, d). N عام؛ الحفاظ على سرية d يحافظ على أمان المفتاح الخاص.
🔑 توليد مفتاح RSA - خطوة بخطوة
نفس الإعدادات مستخدمة في مثال التوقيع RSA أدناه.
تشفير RSA مقابل توقيع RSA
يمكن استخدام RSA بطريقتين مختلفتين جوهريًا - واحدة للخصوصية، والأخرى للتوثيق. اتجاه المفاتيح ينعكس.
🔐 RSA للتشفير (السرية)
- التشفير بـ المفتاح العام للمستقبل
- فك التشفير بـ المفتاح الخاص للمستقبل
- فقط المستقبل المقصود يمكنه قراءة الرسالة
- الصيغة: C = Mᵉ mod N → M = Cᵈ mod N
بوب الخاص
بوب العام
✍️ RSA للتوقيع (التوثيق)
- التوقيع بـ المفتاح الخاص للمرسل
- التحقق بـ المفتاح العام للمرسل
- أي شخص يمكنه التحقق؛ فقط المرسل يمكنه التوقيع
- الصيغة: S = Mᵈ mod N → M = Sᵉ mod N
أليس العام
أليس الخاص
س10: ما الذي يُستخدم لإنشاء توقيع رقمي؟
أ) المفتاح الخاص للمستقبل ب) المفتاح العام للمرسل ج) المفتاح الخاص للمرسل ✅ د) المفتاح العام للمستقبل
س8: في التشفير بالمفاتيح العامة، إذا قام المفتاح العام بالتشفير، فإن…
أ) فقط المفتاح الخاص يمكنه التشفير ب) فقط المفتاح العام يمكنه التشفير ج) المفتاح العام يشفر ويفك التشفير د) فقط المفتاح الخاص يمكنه فك التشفير ✅
أمان RSA
أمان RSA يعتمد على الصعوبة الحسابية لتحليل الأعداد الكبيرة إلى عواملها الأولية. هذا يُعرف بـ مسألة تحليل الأعداد.
| حجم المفتاح | سنة التحليل / الحالة | الموارد المستخدمة |
|---|---|---|
| 512-bit | 1999 - تم تحليله في 4 أشهر | 35.7 سنة CPU (أجهزة SGI, Sun, Pentium II) |
| 640-bit (RSA-640) | 2005 - تم تحليله | 30 معالج × 2.2 GHz |
| 2048-bit | جائزة: 200,000$ (2004) - لا يزال غير محلل | نظريًا غير ممكن بالتقنية الحالية |
| 2048-bit (الممارسة الحالية) | ✅ الحد الأدنى الموصى به حاليًا | المعيار لنشر RSA الحديث |
حجم المفتاح مهم
مفاتيح RSA القديمة ذات 512 بت مكسورة تمامًا. استخدم دائمًا على الأقل مفاتيح 2048 بت. أفضل خوارزميات التحليل المعروفة تأخذ وقتًا أسيًا - لكن مع زيادة قوة الحوسبة، يجب زيادة حجم المفاتيح.
مقارنة: دوال التجزئة، MAC، والتوقيعات الرقمية
ثلاث آليات مرتبطة لكن مختلفة لضمان سلامة البيانات وصحتها. معرفة الفروقات ضرورية للاختبارات.
| الميزة | Hash | MAC | التوقيع الرقمي |
|---|---|---|---|
| المفاتيح المستخدمة | لا يوجد | مفتاح سري مشترك | زوج مفاتيح غير متماثل |
| يوفر | السلامة فقط | السلامة + التوثيق | السلامة + التوثيق + عدم الإنكار |
| من يمكنه التحقق؟ | أي شخص (خوارزمية عامة) | فقط من يملك المفتاح | أي شخص لديه المفتاح العام للمرسل |
| عدم الإنكار؟ | ❌ لا | ❌ لا | ✅ نعم |
| قابل للعكس؟ | ❌ أحادي الاتجاه | ❌ أحادي الاتجاه | ❌ تجزئة أحادية الاتجاه |
| أمثلة خوارزميات | SHA-256, MD5 | HMAC-SHA256 | RSA, DSA, ECDSA |
# دالة التجزئة (Hash Function)
دالة رياضية خاصة تنتج مخرجًا بطول ثابت (message digest) من أي مدخل. بمجرد التجزئة، لا يمكن عكسها لاسترجاع الرسالة الأصلية.
- مدخلان مختلفان يجب ألا ينتجا نفس التجزئة - إذا حدث ذلك، يُسمى هجمة تصادم (collision attack)
- الملخص (digest) له طول ثابت بغض النظر عن حجم المدخل
- استخدامات شائعة: تخزين كلمات المرور، التحقق من سلامة الرسائل
🔑 MAC (رمز مصادقة الرسالة)
دالة تجزئة مدمجة مع مفتاح سري. بما أن دوال التجزئة عامة (أي شخص يمكنه تشغيلها)، إضافة مفتاح سري يثبت أن الرسالة جاءت من شخص يعرف المفتاح.
- يوفر السلامة (الرسالة لم يتم العبث بها)
- يوفر التوثيق (جاءت من شخص لديه المفتاح المشترك)
- لا يوفر عدم الإنكار - أي شخص لديه المفتاح المشترك يمكنه إنشاؤها
🔒 SHA - خوارزمية التجزئة الآمنة (من الشرائح)
| الإصدار | السنة | حجم المخرج | الحالة |
|---|---|---|---|
| SHA-1 | 1993 | 160 بت | ⚠️ عرضة لهجمات التصادم - مهمل |
| SHA-2 | 2002 | SHA-256 أو SHA-512 | ✅ مستخدم على نطاق واسع اليوم |
| SHA-3 | 2015 | 224, 256, 384, أو 512 بت | ✅ أحدث معيار NIST |
📋 عائلة MD - Message Digest
| الإصدار | السنة | المخرج | ملاحظات |
|---|---|---|---|
| MD2 | 1989 | 128 بت | عرضة للخطر بدون checksum |
| MD4 | 1990 | 128 بت | سريع لكنه عرضة للعديد من الهجمات |
| MD5 | 1991 | 128 بت | أكثر أمانًا من MD4 لكنه مهمل أيضًا - هجمات التصادم معروفة |
هجمة التصادم (Collision Attack)
المهاجم يجد رسالتين مختلفتين تعطيان نفس قيمة التجزئة. هذا فقدان لـ السلامة. SHA-1 و MD5 عرضة للخطر. استخدم دائمًا SHA-256 أو أعلى للتطبيقات الحرجة أمنيًا.
التوقيعات الرقمية - العملية الكاملة
التوقيع الرقمي يثبت من أرسل الرسالة وأن الرسالة لم يتم العبث بها. كما يوفر عدم الإنكار - لا يمكن للمرسل إنكار توقيعه.
🖊️ عملية التوقيع (جانب المرسل)
تجزئة الرسالة
طبق دالة تجزئة (SHA-256) على النص العادي → ينتج ملخص بطول ثابت
تشفير الملخص
شفر الملخص باستخدام المفتاح الخاص للمرسل → هذا هو التوقيع الرقمي
إرسال كليهما
أرسل الرسالة الأصلية + التوقيع معًا
✅ عملية التحقق (جانب المستقبل)
تجزئة الرسالة المستلمة
طبق نفس دالة التجزئة على الرسالة المستلمة → ملخص جديد
فك تشفير التوقيع
فك تشفير التوقيع المستلم باستخدام المفتاح العام للمرسل → الملخص الأصلي
مقارنة الملخصين
إذا تطابق الملخصان → الرسالة أصلية ولم يتم تعديلها ✓
- التدفق الكامل للتوقيع + التشفير -
بالمفتاح الخاص للمرسل
التجزئة
بالمفتاح العام للمستقبل
أليس تريد إرسال عقد موقع لبوب. تقوم بتجزئة المستند بـ SHA-256 → تحصل على الملخص "3a7f...". تقوم بتشفير هذا الملخص باستخدام مفتاحها الخاص → تنشئ التوقيع الرقمي "9b2e...". ترسل لبوب: [المستند + التوقيع]. بوب يقوم بتجزئة المستند المستلم → "3a7f...". يقوم بفك تشفير التوقيع باستخدام المفتاح العام لأليس → "3a7f...". يتطابقان → أليس بالتأكيد وقعت عليه ولم يتم العبث به.
لماذا التوقيعات الرقمية ≠ مجرد تشفير
التشفير يوفر السرية. التوقيعات الرقمية توفر التوثيق + السلامة + عدم الإنكار. تستخدم المفاتيح في اتجاهين متعاكسين. يمكنك الحصول على كليهما معًا (توقيع ثم تشفير).
الشهادات الرقمية
قبل أن يتبادل طرفان البيانات باستخدام التشفير بالمفاتيح العامة، يريد كل منهما التأكد أن الطرف الآخر موثوق. السؤال الحاسم: "كيف أعرف أن هذا المفتاح العام ينتمي حقًا إلى من أعتقد أنه ينتمي؟"
قبل أن يقبل بوب رسالة بتوقيع أليس الرقمي، يريد بوب التأكد أن المفتاح العام ينتمي إلى أليس - وليس لشخص يتظاهر بأنه أليس على شبكة مفتوحة. بدون التحقق، يمكن لرجل في المنتصف استبدال مفتاحه العام الخاص به.
طرف ثالث موثوق (مركز التصديق / CA) يوثق أن المفتاح العام ينتمي إلى كيان معين. بمجرد أن تقدم أليس دليل هويتها، ينشئ CA رسالة تحتوي على اسم أليس + مفتاحها العام - موقعة رقميًا من CA. هذه الرسالة الموقعة هي الشهادة الرقمية.
📜 هيكل شهادة X.509
الشهادة الرقمية هي هيكل بيانات معرف بمعيار X.509 مع توقيع رقمي. نظرًا لأن البيانات موقعة من CA، لا يمكن تغييرها دون اكتشاف.
🚫 قائمة إبطال الشهادات (CRL)
يقوم CA بنشر قائمة إبطال الشهادات (CRL) بشكل دوري - قائمة بالشهادات التي تم إبطالها قبل تاريخ انتهائها. موصوفة في معيار X.509.
- كل شهادة ملغاة يتم تحديدها بـ رقمها التسلسلي
- يتم توزيع CRL عبر عنوان URL معروف أو من إدخال دليل X.500 الخاص بـ CA
- يجب على الأطراف المعتمدة التحقق من CRL قبل الثقة في شهادة
س11: لماذا يقوم CA بإبطال شهادة؟
أ) المفتاح العام للمستخدم تم اختراقه ب) المستخدم تحول لنموذج PEM ج) المفتاح الخاص للمستخدم تم اختراقه ✅ د) المستخدم انتقل لموقع جديد
البنية التحتية للمفاتيح العامة (PKI)
PKI هو النظام الكامل من التقنيات، السياسات، والإجراءات التي تدعم استخدام التشفير بالمفاتيح العامة على نطاق واسع. يجيب على الأسئلة الحرجة حول الثقة.
الخصوصية
التشفير باستخدام تقنية المفتاح العام يضمن أن المستلم المقصود فقط يمكنه قراءة البيانات
التوثيق
الشهادات الرقمية تثبت الهوية - تعرف مع من تتحدث
السلامة
التوقيعات الرقمية تضمن أن الرسالة لم يتم تغييرها أثناء النقل
عدم الإنكار
المرسل لا يمكنه إنكار توقيعه - المفتاح الخاص يثبت التأليف
👥 أطراف PKI
🏛️ مركز التصديق (CA)
أساس الثقة في PKI. طرف ثالث موثوق يقوم بـ:
- تسجيل والتحقق من المشتركين (مستخدمين/أجهزة)
- إصدار وإدارة الشهادات الرقمية
- إدارة الإبطال (CRLs) وتجديد الشهادات
- وضع السياسات والإجراءات
س12: ما أفضل وصف لـ CA؟
→ منظمة تقوم بإصدار الشهادات ✅
📋 سلطة التسجيل (RA)
تعمل جنبًا إلى جنب مع CA للتعامل مع التحقق من الهوية:
- تسجيل، إلغاء تسجيل، الموافقة/رفض تغييرات سمات الشهادة
- التحقق من طلبات الشهادات
- ترخيص طلبات توليد زوج المفاتيح أو الشهادة
- ترخيص طلبات استعادة المفاتيح
- قبول وترخيص طلبات الإبطال أو التعليق
- توزيع الرموز الشخصية ماديًا على المالكين المصرح لهم
🗄️ المستودع (Repository)
قاعدة بيانات متاحة للعموم تحتوي على:
- الشهادات الرقمية الصادرة
- قوائم إبطال الشهادات (CRLs)
تسمح لأي شخص بالبحث عن شهادة والتحقق مما إذا كانت قد ألغيت - مما يضمن أن البنية التحتية للثقة تعمل بشفافية.
📜 سياسة الشهادة (CP)
سياسة الشهادة هي أساس الثقة بين الكيانات غير المرتبطة. وهي:
- ليست "عقدًا" رسميًا (لكنها ضمنية)
- إطار يوجه ويحدد تنفيذ PKI
- بيان بمعنى الشهادة
- مجموعة قواعد لحاملي الشهادة
- طريقة لتقديم المشورة للأطراف المعتمدة
- الأساس للثقة عبر المؤسسات
نصائح وحيل للاختبارات 🎯
اتجاه المفاتيح - لا تخطئ أبدًا
التشفير (للخصوصية): المفتاح العام للمستقبل. فك التشفير: المفتاح الخاص للمستقبل. التوقيع: المفتاح الخاص للمرسل. التحقق: المفتاح العام للمرسل.
ترتيب صيغ RSA
تذكر: n = p×q، ثم φ(n) = (p-1)(q-1)، ثم اختر e، ثم احسب d. المفتاح العام = {e, n}. المفتاح الخاص = {d, n}. N موجود في كليهما!
سبب إبطال CA للشهادة
يقوم CA بإبطال الشهادة عندما يتم اختراق المفتاح الخاص للمستخدم (وليس المفتاح العام). إذا تسرب المفتاح الخاص، لا يمكن الوثوق بالشهادة بعد الآن.
مقارنة: Hash vs MAC vs توقيع
Hash = سلامة فقط. MAC = سلامة + توثيق (بمفتاح مشترك). التوقيع = سلامة + توثيق + عدم الإنكار (بمفاتيح غير متماثلة).
CA = أساس الثقة
CA لا يصدر الشهادات فقط - إنه أساس الثقة بأكمله في PKI. بدون CA موثوق، لا توجد طريقة للتحقق من أن المفتاح العام ينتمي لمن تظن.
أمان RSA = مسألة التحليل
RSA آمن لأن تحليل الأعداد الكبيرة صعب. استخدم على الأقل مفاتيح 2048 بت. 512 بت مكسور. كلما كبر المفتاح، زادت الصعوبة بشكل أسي.
X.509 = معيار الشهادة
قائمة إبطال الشهادات (CRL) موصوفة في معيار X.509. كل شهادة ملغاة يتم تحديدها بـ رقمها التسلسلي في CRL.
الباب الخلفي = أحادي الاتجاه مع سر
سهل أماميًا (ضرب الأعداد الأولية)، صعب عكسيًا (التحليل). لكن مع المفتاح الخاص (الباب الخلفي)، العكس (فك التشفير) يصبح سهلاً. هذا التباين هو قلب RSA.
مرجع سريع - ورقة الغش الشاملة
| الموضوع | النقطة الرئيسية |
|---|---|
| التشفير غير المتماثل | مفتاحان: عام (منشور) + خاص (سري); يحل مشكلة توزيع المفاتيح |
| دالة الباب الخلفي أحادية الاتجاه | سهلة الحساب أماميًا؛ صعبة العكس بدون المفتاح الخاص (الباب الخلفي) |
| مخترعو RSA | ريفست، شامير، أدلمان - أشهر خوارزمية بالمفاتيح العامة |
| n في RSA | n = p × q; يظهر في كلا المفتاحين العام والخاص |
| المفتاح العام في RSA | { e, n } - شاركه مع الجميع |
| المفتاح الخاص في RSA | { d, n } - احتفظ به سريًا |
| تشفير RSA | C = Mᵉ mod n (باستخدام المفتاح العام) |
| فك تشفير RSA | M = Cᵈ mod n (باستخدام المفتاح الخاص) |
| توقيع RSA | S = Mᵈ mod n (باستخدام المفتاح الخاص للمرسل) |
| التحقق من توقيع RSA | M = Sᵉ mod n (باستخدام المفتاح العام للمرسل) |
| أمان RSA | يعتمد على صعوبة تحليل الأعداد الأولية؛ استخدم 2048 بت كحد أدنى |
| دالة التجزئة (Hash) | أحادية الاتجاه؛ مخرج بطول ثابت؛ سلامة فقط؛ بدون مفتاح |
| MAC | تجزئة + مفتاح مشترك؛ سلامة + توثيق؛ بدون عدم إنكار |
| التوقيع الرقمي | تشفير الملخص بالمفتاح الخاص؛ سلامة + توثيق + عدم إنكار |
| SHA-1 | 160 بت؛ عرضة للخطر - مهمل |
| SHA-2/3 | 256/512 بت؛ المعيار الحالي |
| MD5 | 128 بت؛ مهمل - هجمات تصادم |
| الشهادة الرقمية | هيكل X.509 يربط المفتاح العام بالهوية؛ موقعة من CA |
| مركز التصديق (CA) | طرف ثالث موثوق؛ يصدر ويدير الشهادات؛ أساس الثقة في PKI |
| سلطة التسجيل (RA) | تتحقق من الهويات؛ توافق على طلبات الشهادات قبل إصدار CA |
| المستودع (Repository) | قاعدة بيانات عامة تحتوي على الشهادات وقوائم CRL |
| CRL | قائمة إبطال الشهادات؛ معيار X.509؛ الإبطال بالرقم التسلسلي |
| سبب إبطال CA للشهادة | اختراق المفتاح الخاص (وليس المفتاح العام) |
| سياسة الشهادة | أساس الثقة بين الكيانات غير المرتبطة؛ تحدد معنى الشهادة |
| PKI توفر | الخصوصية + التوثيق + السلامة + عدم الإنكار |