0Pricing
Cryptology Academy · درس

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

قارن PBKDF2 مع bcrypt وArgon2 واختر الأفضل لتطبيقك

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

مرحبًا

في هذا الدرس الأخير للمبتدئين، سندرس PBKDF2، ونقارنها بـ bcrypt وArgon2، وننشئ إطارًا لاتخاذ القرار من أجل اختيار خوارزمية تجزئة كلمات المرور المناسبة.

نظرة عامة على PBKDF2

نُشرت PBKDF2 (Password-Based Key Derivation Function 2) في RFC 2898 عام 2000. وهي تطبّق دالة شبه عشوائية (عادةً HMAC-SHA256) تكراريًا على كلمة المرور والملح.

صيغة PBKDF2

PBKDF2(PRF, password, salt, iterations, keylen) مثال: key = PBKDF2-HMAC-SHA256(password, salt, 600000, 32) توصي OWASP باستخدام 600,000 تكرار مع SHA-256 اعتبارًا من عام 2023.

PBKDF2 في Python

import hashlib, os salt = os.urandom(16) key = hashlib.pbkdf2_hmac( 'sha256', password.encode(), salt, 600000, dklen=32 ) # Or using cryptography library: from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC

مزايا PBKDF2

متوافقة مع FIPS 140-2/3. ومضمّنة في المكتبات القياسية لـ Python وJava و.NET. ومستخدمة على نطاق واسع في بيئات المؤسسات والحكومات. كما أنها بسيطة التنفيذ بطريقة صحيحة.

عيوب PBKDF2

لا تتطلب ذاكرة كبيرة. وهي مناسبة لوحدات GPU، التي تستطيع تنفيذ مليارات تكرارات SHA-256 في الثانية. وحتى عند استخدام 600K تكرار، تستطيع وحدة GPU تحقيق نحو مليون كلمة مرور في الثانية. ويصعب تنفيذ هجمات القوة الغاشمة باستخدام bcrypt، وبدرجة أكبر باستخدام Argon2.

جدول مقارنة الخوارزميات

الخوارزمية | تتطلب ذاكرة كبيرة | FIPS | السرعة (GPU) | التوصية bcrypt | لا | لا | 50K/s | مقبولة PBKDF2 | لا | نعم | 1M/s | البيئات الخاضعة للتنظيم Argon2id | نعم | لا | 100/s | الخيار الأفضل

إطار اتخاذ القرار

استخدم Argon2id: للتطبيقات الجديدة التي لا تفرض قيودًا تتعلق بالامتثال. استخدم bcrypt: عندما تكون Argon2 غير متاحة أو مع الأنظمة القديمة. استخدم PBKDF2-SHA256: عندما يكون الامتثال لمعايير FIPS أو متطلبات الحكومة ضروريًا. لا تستخدم مطلقًا: MD5 أو SHA-1 أو SHA-256 دون تكرار، أو أي شيء دون ملح.

ملاحظات الامتثال

لا يحدد PCI-DSS خوارزمية بعينها، لكنه يفرض استخدام تجزئة قوية. وتفي bcrypt وArgon2 بهذا الشرط. ويعتمد NIST SP 800-132 خوارزمية PBKDF2. كما تفرض بعض أنظمة FedRAMP الصارمة استخدام PBKDF2 مع PRF معتمد من FIPS.

تطور عدد التكرارات

تكرارات OWASP لـ PBKDF2-SHA256: عام 2010:‏ 1000، عام 2016:‏ 100000، عام 2023:‏ 600000. تصبح الأجهزة أسرع، لذا أعد التقييم وزد العدد كل عامين. كلفة bcrypt: عام 2010:‏ 10، عام 2023:‏ 12، الهدف لعام 2025:‏ 13.

سير عمل آمن لإعادة تعيين كلمة المرور

1. أنشئ رمزًا عشوائيًا تشفيريًا: secrets.token_urlsafe(32) 2. جزّئه باستخدام SHA-256 (وليس bcrypt — فهذا التخزين فقط) 3. خزّن التجزئة وأرسل الرمز في رسالة بريد إلكتروني 4. عند إعادة التعيين: جزّئ الرمز المُرسَل، وقارنه، ثم اجعله منتهي الصلاحية فور استخدامه

تحقّق سريعًا

في أي بيئة يُفضَّل استخدام PBKDF2 على Argon2id، رغم ضعفها أمام هجمات GPU؟

مراجعة

لقد أتممت مسار علم التشفير للمبتدئين! أنت تفهم التجزئات، والتشفير المتماثل وغير المتماثل، والتوقيعات، وPKI، وتجزئة كلمات المرور. التالي: موضوعات متوسطة المستوى — أنماط تشفير الكتل، وتشفير التدفق، وتبادل المفاتيح.

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

هل درس «PBKDF2 واختيار الخوارزمية المناسبة» مجاني؟

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

ماذا ستتعلم في «PBKDF2 واختيار الخوارزمية المناسبة»؟

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

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

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

كم من الوقت يستغرق درس «PBKDF2 واختيار الخوارزمية المناسبة»؟

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

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

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

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

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