Cyber Security Academy · درس

تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2

تعلّم سبب خطورة تخزين كلمات المرور بنص صريح وكيف تحمي التجزئة مع salt كلمات المرور

الدرس 2 من 413 خطوة

تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2 درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

لماذا لا نخزن كلمات المرور بنص صريح؟

يُعد تخزين كلمات المرور بنص صريح كارثيًا، إذ يكشف اختراق قاعدة بيانات واحدة كل الحسابات. ويجب معالجة كلمات المرور باستخدام دالة أحادية الاتجاه قبل تخزينها، حتى لا يكشف الوصول إلى قاعدة البيانات كلمة المرور الأصلية.

ما التجزئة؟

تحوّل دالة التجزئة إدخالًا بأي طول إلى مخرَج ثابت الطول. وينتج الإدخال نفسه دائمًا المخرَج نفسه، لكن لا يمكن استعادة الإدخال الأصلي من قيمة التجزئة. ومن أمثلتها: SHA-256 وbcrypt وArgon2.

لماذا لا نستخدم SHA-256 لكلمات المرور؟

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

تتطلب تجزئة كلمات المرور دوال بطيئة ومكلفة.

إضافة salt

إن salt قيمة عشوائية تُضاف إلى كل كلمة مرور قبل تجزئتها. وتضمن أن تكون قيمتا التجزئة لمستخدمين لهما كلمة المرور نفسها مختلفتين، مما يمنع هجمات جداول قوس قزح والكسر الجماعي. ويُخزن salt إلى جانب قيمة التجزئة (ولا يُعد سرًا).

# Conceptual salt example
hash = bcrypt("password" + random_salt)

bcrypt

صُمم bcrypt في عام 1999 خصيصًا لتجزئة كلمات المرور. ويحتوي على عامل تكلفة قابل للضبط يتحكم في مدى بطء التجزئة. ومع تحسن الأجهزة، زِد عامل التكلفة للحفاظ على الأمان.

يُعد عامل التكلفة 12 شائعًا اليوم، إذ يستغرق نحو 250ms لتجزئة كلمة مرور على وحدة معالجة مركزية حديثة.

PBKDF2

يطبق PBKDF2 (دالة اشتقاق المفتاح المعتمدة على كلمة المرور 2) دالة تجزئة (مثل HMAC-SHA256) مرات عديدة (تكرارات). وكلما زاد عدد التكرارات، أصبحت العملية أبطأ وأكثر أمانًا. ويوصي به NIST ويُستخدم في WPA2 لكلمات مرور Wi-Fi.

Argon2

فاز Argon2 بمسابقة تجزئة كلمات المرور في عام 2015. وهو المعيار الحديث، ويمكن ضبطه وفق:

  • تكلفة الوقت — عدد التكرارات
  • تكلفة الذاكرة — مقدار RAM المطلوب (يحد من تسريع GPU)
  • التوازي — عدد مؤشرات الترابط

استخدم Argon2id لمعظم التطبيقات.

جداول قوس قزح

إن جدول قوس قزح هو جدول بحث مُسبق الحساب يربط قيمة التجزئة بالنص الصريح. ومن دون إضافة salt، يستطيع المهاجم الذي يملك قيمة التجزئة البحث عنها في الجدول فورًا. وتجعل إضافة salt جداول قوس قزح عديمة الفائدة لأن كل قيمة تجزئة تكون فريدة.

تقنيات كسر كلمات المرور

أساليب الكسر دون اتصال الشائعة:

  • هجوم القاموس — تجربة كلمات المرور الشائعة وتنوعاتها
  • القوة الغاشمة — تجربة جميع تركيبات الأحرف
  • القائم على القواعد — تطبيق قواعد التغيير على القاموس (إضافة السنة، وكتابة الحرف الأول بحرف كبير، واستخدام leet speak)
  • الأدوات: Hashcat وJohn the Ripper

اختيار الخوارزمية المناسبة

ترتيب الأفضلية للتطبيقات الجديدة:

  1. Argon2id — أفضل مقاومة للكسر باستخدام GPU/ASIC
  2. bcrypt — مدعوم على نطاق واسع وله سجل مثبت
  3. PBKDF2 — معتمد من NIST ومطلوب في بعض سياقات الامتثال

لا تستخدم أبدًا: MD5 أو SHA-1 أو SHA-256 غير المملح لكلمات المرور.

عملية التحقق

عند تسجيل دخول المستخدم:

  1. استرجاع التجزئة والملح المخزنين للمستخدم
  2. تجزئة كلمة المرور المقدمة باستخدام الملح والخوارزمية نفسيهما
  3. مقارنة التجزئة الناتجة بالتجزئة المخزنة (مقارنة بزمن ثابت)
  4. لا تفك التشفير مطلقًا — المقارنة فقط

اختبار سريع: تجزئة كلمات المرور

ما خوارزمية تجزئة كلمات المرور التي تُعد أفضل ممارسة حاليًا، وفازت في مسابقة تجزئة كلمات المرور؟

مراجعة الدرس

يجب تخزين كلمات المرور على شكل تجزئات، وليس كنص واضح. الخوارزميات السريعة مثل SHA-256 غير مناسبة — استخدموا دوال تجزئة كلمات المرور البطيئة: Argon2id (المفضلة)، أو bcrypt، أو PBKDF2. استخدموا دائمًا ملحًا عشوائيًا لكل كلمة مرور لمنع هجمات جداول قوس قزح. لا تطوروا خوارزميات التشفير بأنفسكم مطلقًا — استخدموا مكتبات مجرّبة.

البدء مجانًا

تعلم Cyber Security Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
76
الدروس
303

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

هل درس «تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2» مجاني؟

نعم — نص درس «تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

ماذا ستتعلم في «تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2»؟

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

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

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

كم من الوقت يستغرق درس «تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2»؟

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

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

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

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

  1. قوة كلمات المرور وسياساتها
  2. تجزئة كلمات المرور: bcrypt وArgon2 وPBKDF2
  3. المصادقة متعددة العوامل
  4. حشو بيانات الاعتماد ورش كلمات المرور
← العودة إلى Cyber Security Academy