0Pricing
Cryptology Academy · درس

لماذا تفشل SHA-256 العادية مع كلمات المرور

افهم جداول قوس قزح وسرعة الهجوم بالقوة الغاشمة والـ salt

لماذا تفشل SHA-256 العادية مع كلمات المرور درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

مرحبًا

يُعد تخزين كلمات المرور بأمان من أكثر موضوعات الأمان التي يساء فهمها. في هذا الدرس، سنفهم لماذا تُعد التجزئات السريعة مثل SHA-256 خيارًا خاطئًا تمامًا لكلمات المرور.

ما يحدث عند تسرّب قواعد البيانات

تحدث اختراقات قواعد البيانات باستمرار. ففي عام 2024، سرّب RockYou2024 عشرة مليارات كلمة مرور. وإذا كانت كلمات مرور المستخدمين مخزنة بطريقة تتيح استعادتها، فسيستعيدها المهاجمون.

تخزين SHA-256 الساذج

نمط سيئ: hashed = sha256(password) store(username, hashed) المشكلات: (1) sha256 سريع جدًا، (2) كلمة المرور نفسها تؤدي إلى التجزئة نفسها (من دون salt)، (3) توجد جداول rainbow لكلمات المرور الشائعة.

هجوم جدول Rainbow

جدول rainbow هو تخطيط مُعد مسبقًا من التجزئة إلى كلمة المرور لملايين كلمات المرور الشائعة. تكون SHA-256('password') دائمًا التجزئة نفسها. ويتيح البحث في الجدول فك تشفير معظم كلمات المرور فورًا.

دور Salt

Salt = بايتات عشوائية تُضاف إلى بداية كلمة المرور قبل إجراء التجزئة. hash = sha256(salt + password) يحصل كل مستخدم على salt فريدة. وبذلك تصبح جداول rainbow عديمة الفائدة، إذ يجب على المهاجم تنفيذ القوة الغاشمة على كل مستخدم على حدة.

لكن Salt وحدها لا تكفي

تحسب وحدة GPU حديثة 10 مليارات تجزئة SHA-256 في الثانية. وحتى مع استخدام Salt فريدة، يستطيع مهاجم يملك التجزئات المُسرّبة تنفيذ هجوم القوة الغاشمة على كلمات مرور من 8 أحرف خلال دقائق.

مشكلة السرعة

صُمم SHA-256 ليكون سريعًا، لاستخدامه في سلامة الملفات وTLS وغيرهما. وتُعد السرعة عدوًا عند تجزئة كلمات المرور. نحتاج إلى خوارزميات بطيئة عمدًا تقاوم هجمات القوة الغاشمة.

تمديد المفتاح

يكرّر تمديد المفتاح دالة التجزئة آلاف المرات: for i in range(100000): h = sha256(h). وهذا يبطئ المهاجم والمدافع معًا، لكن أفضلية العتاد تظل في صالح المهاجم.

الدوال كثيفة الذاكرة

تتطلب أدوات تجزئة كلمات المرور الحديثة كميات كبيرة من ذاكرة RAM، وليس دورات CPU فقط. وتملك وحدات GPU ذاكرة RAM محدودة لكل نواة مقارنةً بوحدات CPU. وتحيّد كثافة Argon2 من حيث الذاكرة أفضلية GPU وASIC.

الأخطاء الشائعة

ما يجب تجنبه: - sha256(password) - sha256(salt + password) without iteration - md5(password) (or any MD5) - Encrypting passwords (can be decrypted) - sha256(sha256(password)) (still fast)

ما ينبغي استخدامه بدلًا من ذلك

استخدموا: bcrypt (الأكثر انتشارًا في عمليات النشر)، وArgon2id (توصي به OWASP وهو كثيف الذاكرة)، وPBKDF2-SHA256 (متوافق مع FIPS ومقبول). صُممت الخوارزميات الثلاث ببطء متعمد، وتستخدم Salt بطبيعتها.

اختبار سريع

لماذا لا يناسب SHA-256 تجزئة كلمات المرور حتى عند استخدام Salt؟

مراجعة

SHA-256 غير مناسب لكلمات المرور. سندرس بعد ذلك bcrypt، وهي الخوارزمية التي تجعل التجزئة بطيئة عمدًا ومقاومة لهجمات العتاد.

الأسئلة الشائعة

هل درس «لماذا تفشل SHA-256 العادية مع كلمات المرور» مجاني؟

نعم — نص درس «لماذا تفشل SHA-256 العادية مع كلمات المرور» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «لماذا تفشل SHA-256 العادية مع كلمات المرور»؟

افهم جداول قوس قزح وسرعة الهجوم بالقوة الغاشمة والـ salt تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «لماذا تفشل SHA-256 العادية مع كلمات المرور»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. لماذا تفشل SHA-256 العادية مع كلمات المرور
  2. bcrypt: الخوارزمية ومعامل الكلفة
  3. Argon2: تجزئة كلمات المرور المعتمدة على الذاكرة
  4. PBKDF2 واختيار الخوارزمية المناسبة
← العودة إلى Cryptology Academy