Lesson 16: Encryption in the Cyber World
The internet is not secure by default — encryption is the 'lock' of digital information. In previous lessons we already met encryption as a concept: 'in transit' (TLS/VPN) versus 'at rest' (disk, database). This lesson opens the black box: how does encryption actually work? We'll meet two encryption
باختصار: التشفير المتماثل هو مفتاح واحد وسريع — لكن كيف تُسلّم المفتاح دون أن يُسرَق في الطريق؟ التشفير غير المتماثل يحل ذلك بزوج من المفاتيح (عام+خاص) لكنه بطيء جداً، لذا يستخدمه التشفير الهجين فقط للاتفاق على مفتاح مؤقت ثم ينتقل إلى المتماثل السريع. الـ hash هو بصمة أحادية الاتجاه، والتوقيع الرقمي هو hash مُشفَّر بمفتاح خاص، وبروتوكول TLS يجمع كل ذلك في البروتوكول الذي يقف خلف كل موقع آمن.
- التشفير المتماثل
- يُستخدَم المفتاح نفسه للتشفير وفكّ التشفير معاً — سريع جداً ومناسب لنقل كميات هائلة من البيانات (وAES هو المعيار الرائد اليوم). يعتمد الأمان على إبقاء المفتاح سرّياً (مبدأ Kerckhoffs)، لا على إخفاء الخوارزمية — بخلاف الشيفرات التاريخية مثل شيفرة قيصر، التي اعتمدت على إخفاء الطريقة نفسها.
- التحدي الإداري: توزيع المفاتيح المتماثلة
- إرسال المفتاح عبر شبكة مكشوفة يعرّضه للسرقة. في مؤسسة كبيرة، تتطلّب إدارة مفتاح منفصل لكل زوج من المستخدمين عدداً هائلاً من المفاتيح (على سبيل المثال، نحو 500,000 مفتاح لـ 1,000 موظف يحتاجون للتواصل فيما بينهم). وكشف مفتاح واحد يكشف كل البيانات التي شُفِّرت به — في الماضي والمستقبل.
- التشفير غير المتماثل (المفتاح العام)
- زوج من المفاتيح: مفتاح عام مرئي للجميع، يمكن لأي شخص استخدامه لتشفير رسالة موجَّهة إليك؛ ومفتاح خاص، يُحفَظ سرّياً، وهو وحده القادر على فكّ تشفير ما شُفِّر بالمفتاح العام. مثل صندوق البريد — يمكن لأي شخص إدخال رسالة عبر الفتحة (العام)، لكن حامل المفتاح المادي (الخاص) وحده يستطيع فتحه وقراءته. يحل مشكلة توزيع المفاتيح — دون حاجة لمشاركة سرّ مسبقاً.
- قيود التشفير غير المتماثل
- أبطأ بكثير — يتطلّب قدرة معالجة أكبر بـ 1,000-10,000 مرة من التشفير المتماثل، وليس فعّالاً للملفات الكبيرة أو بثّ الفيديو. الحل العملي: استخدامه فقط لمرحلة 'المصافحة' الأولية لتبادل مفتاح متماثل، لا لتشفير البيانات الفعلية.
- التشفير الهجين
- المزيج الرابح: استخدام التشفير غير المتماثل (مثل RSA) فقط لنقل مفتاح سرّي مؤقت بأمان، ثم الانتقال إلى التشفير المتماثل السريع (مثل AES) لنقل البيانات الثقيلة الفعلي. يُستخدَم المفتاح المؤقت للجلسة الحالية فقط ويُتلَف في نهايتها — والنتيجة هي أمان توزيع المفاتيح والسرعة القصوى معاً.
- Diffie-Hellman: سرّ مشترك دون إرساله
- آلية تتيح لطرفين إنشاء مفتاح سرّي مشترك، حتى لو كان أحدهم يتنصّت على كل الاتصال بينهما. يضيف كل طرف 'سرّه الخاص' الذي لا يُرسَل أبداً عبر الشبكة، وبعد تبادل النتائج الوسيطة، يحسب كل طرف المفتاح السرّي نفسه. لا يرى المتنصّت سوى معلومات عامة ونتائج وسيطة — لا الأسرار الخاصة. Diffie-Hellman لا يشفّر المعلومات نفسها — بل يُنشئ المفتاح المشترك فقط، الذي يُستخدَم بعد ذلك مع التشفير المتماثل.
- دوال Hash (البصمة)
- من السهل إنتاج hash من البيانات، لكن من المستحيل إعادة بناء البيانات الأصلية من المُخرَج (أحادية الاتجاه). تغيير بِت واحد فقط من المُدخَل يغيّر الـ hash الناتج بالكامل. يُستخدَم لتخزين كلمات المرور (يُخزَّن الـ hash فقط، لا كلمة المرور نفسها) وللتحقق من سلامة الملفات المُنزَّلة من الإنترنت.
- التوقيع الرقمي
- التوقيع لا يخفي المعلومات — بل يُثبت مَن أرسلها وأنها لم تُغيَّر. العملية: إنتاج hash (بصمة) للمستند، وتشفيره بالمفتاح الخاص للمرسِل (هذا هو التوقيع)، وإرسال المستند مع التوقيع. يتحقق المستلِم باستخدام المفتاح العام للمرسِل. تغيير بِت واحد في المستند يُبطل التوقيع تماماً، وهو يمنح عدم الإنكار — لا يستطيع المرسِل لاحقاً أن يدّعي أنه لم يرسله.
- TLS: ليس خوارزمية، بل بروتوكول
- TLS ليس خوارزمية واحدة بل إطار عمل (Framework) يجمع: مصافحة (تحقق من الهوية)، والاتفاق على مجموعة تشفير (cipher suite)، وتبادل المفاتيح (غير متماثل، مثل RSA أو Diffie-Hellman)، وتشفير البيانات الفعلي (متماثل، مثل AES) — مع Hash (مثل SHA-256) للتحقق من السلامة. HTTPS هو 'الغلاف' (البروتوكول الجامع)؛ وTLS هو 'المحرّك' الآمن داخله؛ وAES/RSA هي الأدوات الرياضية التي تنجز العمل الفعلي.
- Kerberos: مصادقة مؤسسية قائمة على التذاكر
- نظام المصادقة المركزي في بيئات Windows/Active Directory. يتلقى المستخدم 'تذكرة' (Ticket) مؤقتة من جهة مركزية (KDC) بعد المصادقة الأولية، ويستخدمها للوصول إلى الخدمات دون إعادة كتابة كلمة المرور — وكلمة المرور نفسها لا تمرّ أبداً عبر الشبكة بشكل مكشوف.