علم التشفير
Posted by Cyber Soldier on
ما هو علم التشفير؟
مجموعة تقنيات رياضية لحماية السرّية (Confidentiality)، السلامة (Integrity)، المصداقية (Authenticity)، وعدم الإنكار (Non-repudiation).
النتيجة: حتى لو رأى المهاجم البيانات، لا يستطيع قراءتها أو تعديلها دون أن نكتشف.
اللبنات الأساسية
1) تشفير متماثل (Symmetric)
-
مفتاح واحد للتشفير وفكّه (سريع).
-
أمثلة: AES (128/192/256)، ChaCha20.
-
يستخدم لِحماية كميات كبيرة من البيانات/الأقراص/الاتصالات بعد تبادل مفتاح آمن.
2) تشفير غير متماثل (Asymmetric)
-
زوج مفاتيح: عام للتشفير/التحقق، خاص لفكّ/التوقيع.
-
أمثلة: RSA، ECC (مثل Curve25519, secp256r1).
-
يستخدم لتبادل مفاتيح الجلسات، التواقيع، وPKI.
3) دوال التجزئة (Hash)
-
بصمة ثابتة الطول لبيانات متغيرة؛ لا تُعكس (one-way).
-
أمثلة: SHA-256, BLAKE2.
-
تُستخدم للتدقيق، تخزين كلمات المرور بمِلْح وسطيّات (Salt).
4) توابع مشتقّات المفاتيح (KDF)
-
لتحويل كلمة سرّ إلى مفتاح قوي: PBKDF2, scrypt, Argon2.
5) MAC/AEAD
-
HMAC لضمان السلامة والمصداقية.
-
صيغ AEAD تجمع التشفير + المصادقة معًا: AES-GCM, ChaCha20-Poly1305 (مفضّلة في البروتوكولات الحديثة).
أنماط التشفير (Modes)
-
GCM/CCM: تشفير مُصادق (AEAD) — الخيار الآمن الشائع.
-
CBC/CTR: قديمة نسبيًا؛ تتطلب عناية صحيحة بالـ IV/nonce.
قاعدة ذهبية: إن وُجد AEAD (GCM/ChaCha20-Poly1305) فاختره.
إدارة المفاتيح (قلب الأمان)
-
توليد قوي من CSPRNG.
-
تخزين آمن: HSM/TPM أو مدير أسرار (Vault/KMS).
-
تدوير المفاتيح وجدولة انتهاء صلاحيتها.
-
فصل الصلاحيات وتتبّع الوصول (audit).
بنية المفاتيح العامة (PKI)
-
Root CA → Intermediate → Server/Client certs.
-
سلاسل الشهادات + قوائم الإبطال (CRL/OCSP).
-
تُستخدم في TLS (HTTPS)، شبكات الشركات، توقيع البرمجيات.
أين نستخدمه يوميًا؟
-
TLS/HTTPS: حماية تصفح الويب.
-
تطبيقات المراسلة: بروتوكول Signal (تشفير طرفي).
-
VPNs: IPSec/WireGuard.
-
التخزين: BitLocker, LUKS.
-
التواقيع الرقمية: تحديثات النظام، مستودعات الكود.
التواقيع الرقمية مقابل الهويات
-
التوقيع الرقمي يثبت أن المرسل يملك المفتاح الخاص وأن المحتوى لم يتغيّر.
-
الشهادة تربط المفتاح بهويّة (شركة/نطاق) عبر جهة موثوقة (CA).
-
أخطاء شائعة (وتفاديها)
-
اختيار خوارزميات قديمة: MD5, SHA-1, RC4, DES → تجنّب.
-
إعادة استخدام nonce/IV في GCM/CTR → كارثي.
-
بناء بروتوكولك الخاص → استخدم المعايير + مكتبات موثوقة.
-
تخزين كلمات مرور بدون Salt/KDF → استخدم Argon2/scrypt.
-
مفاتيح صلبة في الكود → خزّنها في KMS/Vault ومتغيرات بيئة آمنة.
التشفير والخصوصية في الواقع
-
التشفير لا يحميك إن كان الجهاز مخترقًا (Keylogger/Rootkit).
-
اجمع بين: تشفير + تحكّم وصول + مبدأ أقل صلاحية + مراقبة.
-
النسخ الاحتياطي المرمّز ضروري ضد الفقد والفدية.
ما بعد-الكموم (Post-Quantum)
-
الحواسيب الكمومية تهدّد خوارزميات RSA/ECC بنظرية (خوارزمية Shor).
-
خوارزميات ما بعد الكم (PQC) مثل: Kyber (تبادل مفاتيح) وDilithium (تواقيع).
-
الانتقال سيكون هجينيًا (تقليدي + PQC) تدريجيًا. ابدأ بالتجربة مبكّرًا إن كنت مؤسسة.
اختيارات آمنة افتراضية (اليوم)
-
TLS 1.3 مع AES-GCM أو ChaCha20-Poly1305.
-
AES-256/128، Curve25519 لتبادل المفاتيح، Ed25519 للتواقيع.
-
Argon2id لكلمات المرور، HMAC-SHA-256 للسلامة.
-
JWT: استخدم RS256/ES256 أو EdDSA وتجنّب عدم التحقق من الخوارزمية.
قائمة تحقق (Cheat Sheet) سريعة
-
استخدم AEAD (GCM/ChaCha20-Poly1305).
-
Nonce/IV فريد لكل رسالة.
-
مفاتيح من CSPRNG، وتدوير دوري.
-
KDF قوي للعبارات السرّية.
-
توقيع/تحقّق لكل تحديث/ملف حساس.
-
لا تبني بروتوكولًا بنفسك—اتبع المعايير.
أسئلة شائعة
هل يكفي HTTPS؟
يغطي الاتصال أثناء النقل فقط. استخدم تشفيرًا أثناء التخزين إن كانت البيانات حساسة.هل AES-128 آمن؟
نعم لسنوات قادمة. AES-256 يمنح هامش أمان أكبر مع كلفة حسابية أعلى قليلًا.هل أحتاج VPN مع HTTPS؟
للوصول الداخلي/التحكّم الشبكي نعم. HTTPS يحمي تطبيقك، الـVPN يحمي القناة بين شبكات موثوقة. -