Skip to content
AppVault

FILE G2 / التشفير

شرح PBKDF2: دالة اشتقاق المفتاح المعتمدة على كلمة المرور التي تؤمّن خزانتك

PBKDF2 هي أكثر دوال اشتقاق المفتاح المعتمدة على كلمة المرور انتشارًا في العالم. تحوّل كلمة مرور بشرية يمكن تذكرها إلى مفتاح تشفيري يتحمل هجمات القوة العمياء. تشرح هذه المقالة كيفية عمل PBKDF2، ولماذا التجزئة المباشر غير كافٍ، ودور الأملاح وعدد التكرارات، وكيف تستخدم AppVault PBKDF2 مع 600,000 تكرار من SHA-256 لحماية ملفاتك.

Cover illustration for: شرح PBKDF2: دالة اشتقاق المفتاح المعتمدة على كلمة المرور التي تؤمّن خزانتك
FILE COVER · / GUIDES / PBKDF2-EXPLAINED /

مُحَدَّث · 2026-05-16 · تمت المراجعة بواسطة AppVault

TL;DR

PBKDF2 (دالة اشتقاق المفتاح المعتمدة على كلمة المرور 2) هي خوارزمية تمديد المفتاح معرفة في RFC 2898. تطبق دالة عشوائية زائفة (عادة HMAC-SHA256) عدة مرات على كلمة مرور وملح، منتجة مفتاحًا مشتقًا. عدد التكرارات يجعل هجمات القوة العمياء أكثر تكلفةً بشكل هائل. توصي OWASP بـ 600,000 تكرار لـ SHA-256 اعتبارًا من 2026. تستخدم AppVault PBKDF2 مع 600,000 تكرار وملح 128 بت لكل تثبيت، وتغلف المخرجات بمفتاح من Secure Enclave لحماية مرتبطة بالعتاد.

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

PBKDF2 تعني دالة اشتقاق المفتاح المعتمدة على كلمة المرور 2. وهي معرفة في RFC 2898 (PKCS #5 v2.0) وكانت معيارًا موصى به من NIST لأكثر من عقدين. تأخذ كلمة مرور، وملحًا، وعدد تكرارات، وطول المفتاح المطلوب، وتنتج مفتاحًا مشتقًا يمكن استخدامه للتشفير أو المصادقة أو عمليات تشفيرية أخرى.

تشرح هذه المقالة كيفية عمل PBKDF2، ولماذا التجزئة المباشر غير كافٍ، ودور الأملاح وعدد التكرارات، وتوصية OWASP 2026 بـ 600,000 تكرار لـ SHA-256، وكيف تقارن PBKDF2 بالبدائل الحديثة مثل Argon2id وbcrypt وscrypt. كما تصف كيف تستخدم AppVault PBKDF2 كجزء من مجموعة التشفير الخاصة بها.

لماذا يفشل التجزئة المباشر

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

التجزئة المباشر ليس لديه أيضًا حماية مدمجة ضد الحساب المسبق. بدون ملح، نفس كلمة المرور تنتج دائمًا نفس التجزئة. يمكن للمهاجمين بناء جداول قوس قزح — سلاسل تجزئة محسوبة مسبقًا — والبحث عن التجزئة لاستعادة كلمة المرور فورًا.

تحل PBKDF2 كلتا المشكلتين. تكرر التجزئة آلاف المرات، مما يجعل كل محاولة مكلفة حسابيًا. تتطلب ملحًا، لذا تنتج كلمات المرور المتطابقة مفاتيح مختلفة. مزيج عدد التكرارات والملح يحول تجزئة سريعة إلى اشتقاق بطيء وفريد.

كيف تعمل PBKDF2

تم بناء PBKDF2 على دالة عشوائية زائفة (PRF)، عادة HMAC-SHA256 أو HMAC-SHA1. تعمل الخوارزمية كالتالي:

  1. يتم دمج كلمة المرور والملح.
  2. تُطبق PRF على الملح مضافًا إليه عداد الكتلة (لأطوال المفاتيح الأطول من مخرجات PRF).
  3. يُجرى XOR للمخرجات مع نتيجة التكرار السابق (للتكرار الأول، النتيجة السابقة هي مخرجات PRF نفسها).
  4. تتكرر الخطوات 2-3 لعدد التكرارات المحدد.
  5. المخرجات النهائية هي المفتاح المشتق.

عدد التكرارات هو المعامل الحاسم. كل تكرار يضيف قدرًا ثابتًا من العمل. إذا أراد المهاجم اختبار كلمة مرور، يجب عليه تشغيل سلسلة التكرارات بأكملها. مع 600,000 تكرار، تستغرق محاولة كلمة مرور واحدة حوالي 600,000 مرة أطول من تجزئة SHA-256 واحدة.

يجب أن يكون الملح فريدًا لكل مستخدم أو لكل حالة. ملح بطول 128 بت (16 بايت) هو الحد الأدنى الموصى به من NIST. يُخزن الملح بجانب المفتاح المشتق (أو في بيانات الخزنة الوصفية) بحيث يمكن تكرار الاشتقاق أثناء المصادقة.

توصية OWASP 2026

تنشر OWASP ورقة غش تخزين كلمات المرور التي توفر توصيات عدد التكرارات لدوال اشتقاق المفتاح المختلفة. اعتبارًا من 2026، التوصية لـ PBKDF2-HMAC-SHA256 هي 600,000 تكرار. بالنسبة لـ PBKDF2-HMAC-SHA1، التوصية هي 1,300,000 تكرار، لأن SHA1 ينتج مخرجات بطول 160 بت وهو أسرع قليلاً لكل تكرار.

هذه الأرقام ليست عشوائية. تم معايرتها بحيث تستغرق محاولة كلمة مرور واحدة حوالي 0.1 ثانية على الأجهزة الاستهلاكية الحديثة. هذا التأخير غير محسوس للمستخدم الشرعي لكنه يجعل هجمات القوة العمياء بطيئة بشكل مانع. يمكن للمهاجم بمجموعة من 100 GPU محاولة بضع مئات من كلمات المرور في الثانية فقط، وليس مليارات.

يجب زيادة عدد التكرارات بمرور الوقت مع تحسن العتاد. تقوم OWASP بتحديث توصياتها بشكل دوري. تستخدم AppVault 600,000 تكرار لـ PBKDF2-HMAC-SHA256، مطابقة لتوجيهات 2026.

مفاضلات عدد التكرارات

عدد التكرارات الأعلى يجعل هجمات القوة العمياء أصعب، لكنه يزيد أيضًا من الوقت اللازم لاشتقاق المفتاح على الجهاز الشرعي. على iPhone، تستغرق 600,000 تكرار من HMAC-SHA256 حوالي 0.2 ثانية. هذا مقبول لفتح الخزنة. لكن إذا تم رفع عدد التكرارات إلى 10 ملايين، سيتجاوز وقت الفتح 3 ثوانٍ، مما يضعف تجربة المستخدم.

هناك أيضًا مفاضلة استهلاك الطاقة. الأجهزة المحمولة لديها بطارية محدودة. كل تكرار يستهلك دورات معالج. توازن AppVault بين الأمان وسهولة الاستخدام باختيار عدد تكرارات يوفر حماية قوية دون استنزاف البطارية أو إحباط المستخدم.

مفاضلة أخرى هي استخدام الذاكرة. PBKDF2 ليست صلبة الذاكرة. تستخدم كمية صغيرة وثابتة من الذاكرة بغض النظر عن عدد التكرارات. هذا يجعلها عرضة لهجمات GPU و ASIC التي يمكنها موازاة العديد من محاولات كلمات المرور. الدوال الصلبة الذاكرة مثل Argon2id وscrypt تتطلب كمية كبيرة من الذاكرة لكل محاولة، مما يجعل الهجمات المتوازية أكثر تكلفة بكثير. تعوض PBKDF2 عن نقص صلابة الذاكرة بعدد تكرارات عالٍ، وفي حالة AppVault، بالربط بالعتاد عبر Secure Enclave.

PBKDF2 مقابل Argon2id وbcrypt وscrypt

PBKDF2 ليست دالة اشتقاق المفتاح الوحيدة المعتمدة على كلمة المرور. ثلاث دوال أخرى شائعة الاستخدام: bcrypt وscrypt وArgon2id. لكل منها أهداف تصميمية وخصائص أمان مختلفة.

Bcrypt صُممت في 1999 وتستخدم جدول مفاتيح قائم على Blowfish. وهي مقاومة لهجمات GPU لأنها تتطلب كمية ثابتة من الذاكرة (4 كيلوبايت) ولها عامل تكلفة مدمج. Bcrypt مدعومة على نطاق واسع لكن لها حد أقصى لطول كلمة المرور يبلغ 72 بايت. لا يُوصى بها للأنظمة الجديدة لأنها أبطأ على وحدات المعالجة المركزية من Argon2id ولا تدعم استخدام الذاكرة المتغير.

Scrypt صُممت في 2009 وهي صلبة الذاكرة. تتطلب كمية كبيرة من الذاكرة (قابلة للتكوين) ووقت معالج. Scrypt مقاومة لهجمات ASIC وGPU لأن عرض النطاق الترددي للذاكرة يصبح عنق الزجاجة. تُستخدم في بعض محافظ العملات الرقمية وأدوات تشفير الملفات. ومع ذلك، scrypt أقل تنفيذًا على نطاق واسع من PBKDF2 وليس لها معيار NIST.

Argon2id هي الفائزة في مسابقة تجزئة كلمات المرور لعام 2015. وهي أحدث وأكثر دوال KDF موصى بها للأنظمة الجديدة. Argon2id صلبة الذاكرة، وصلبة المعالج، ومقاومة لهجمات القنوات الجانبية. لها ثلاثة متغيرات: Argon2d (معتمد على البيانات)، Argon2i (مستقل عن البيانات)، وArgon2id (هجين). توصي OWASP بـ Argon2id للتطبيقات الجديدة.

تظل PBKDF2 أكثر دوال KDF انتشارًا لأنها بسيطة وموحدة ومتاحة في كل مكتبة تشفيرية رئيسية. وهي الافتراضية في CommonCrypto لنظام iOS، وKeyStore لنظام Android، والعديد من أنظمة المؤسسات. للتطبيقات التي لا يمكنها استخدام Argon2id بسبب قيود المنصة أو متطلبات التوافق، فإن PBKDF2 مع عدد تكرارات عالٍ وربط بالعتاد هي خيار قوي.

كيف تستخدم AppVault PBKDF2

تستخدم AppVault PBKDF2-HMAC-SHA256 مع 600,000 تكرار وملح 128 بت لكل تثبيت. يتم إنشاء الملح أثناء الإعداد الأولي وتخزينه في Secure Enclave بالجهاز. ثم يُغلف المفتاح المشتق بمفتاح مولّد داخل Secure Enclave، والذي لا يغادر الشريحة أبدًا. هذا يوفر حماية مرتبطة بالعتاد: حتى إذا استخرج المهاجم مخرجات PBKDF2، لا يمكنه استخدامها بدون مفتاح Secure Enclave.

يُحوّل قفل النمط على شبكة 5×5 في AppVault إلى سلسلة كلمة مرور. تُغذى هذه السلسلة إلى PBKDF2 مع الملح. يُستخدم المفتاح المشتق الناتج لتشفير كتالوج الخزنة وكل ملف على حدة باستخدام AES-256-GCM مع عدد عشوائي فريد بطول 96 بت لكل ملف.

بنية المعرفة الصفرية في AppVault تعني أن كلمة المرور لا تغادر الجهاز أبدًا. يحدث اشتقاق PBKDF2 بالكامل على iPhone. خوادم AppVault (التي لا وجود لها) لا ترى كلمة المرور أو المفتاح المشتق أبدًا. يفترض نموذج التهديد أن المهاجم قد يحصل على وصول مادي للجهاز، لكن بدون كلمة المرور ومفتاح Secure Enclave، تظل الخزنة مغلقة.

تتخذ تطبيقات الخزائن الأخرى في هذه الفئة نهجًا مختلفًا لاشتقاق المفتاح. التحليلات المعمارية — عدد التكرارات، معالجة الملح، الربط بالعتاد مقابل حفظ المفتاح برمجيًا فقط — موجودة في صفحات المقارنة المخصصة: AppVault مقابل Vaultaire وAppVault مقابل Keepsafe. تنشر AppVault مجموعة التشفير الكاملة مع استشهادات المصادر الأولية، وهو شرط أساسي لأي تحقق مستقل.

اعتبارات عملية للمطورين

إذا كنت تنفذ PBKDF2، اتبع هذه الإرشادات:

  • استخدم HMAC-SHA256 كـ PRF. SHA1 مقبول لكنه يتطلب تكرارات أكثر.
  • أنشئ ملحًا عشوائيًا بطول 16 بايت على الأقل لكل مستخدم أو حالة.
  • اضبط عدد التكرارات على توصية OWASP الحالية (600,000 لـ SHA-256 اعتبارًا من 2026).
  • خزّن الملح وعدد التكرارات بجانب المفتاح المشتق (أو بيانات الخزنة الوصفية) بحيث يمكن تكرار الاشتقاق.
  • فكر في الربط بالعتاد (مثل Secure Enclave، TPM) لحماية المفتاح المشتق حتى إذا تم اختراق الجهاز.
  • لا تستخدم PBKDF2 لتخزين كلمات المرور في أنظمة المصادقة إذا كان Argon2id متاحًا. PBKDF2 هي الأنسب لاشتقاق المفتاح في سيناريوهات التشفير المحلي.

الخاتمة

PBKDF2 هي دالة اشتقاق مفتاح مجرّبة في المعارك، حمت كلمات المرور ومفاتيح التشفير لأكثر من عقدين. إنها ليست أحدث دالة KDF، لكنها الأكثر دعمًا على نطاق واسع، وعند تكوينها بشكل صحيح، توفر حماية قوية ضد هجمات القوة العمياء. توصية OWASP 2026 بـ 600,000 تكرار لـ SHA-256 تضمن أن كل محاولة كلمة مرور مكلفة بما يكفي لردع المهاجمين.

تستخدم AppVault PBKDF2 مع 600,000 تكرار، وملح لكل تثبيت، وتغليف Secure Enclave لحماية ملفاتك. مزيج عدد التكرارات العالي والربط بالعتاد يجعل الخزنة مقاومة للهجمات البرمجية والمادية على حد سواء. لا إعادة تعيين لكلمة المرور، ولا باب خلفي، ولا استرداد مفتاح من جانب الخادم. أمان بياناتك يعتمد على قوة كلمة مرورك وسلامة اشتقاق PBKDF2.

للاطلاع على نظرة أعمق حول كيفية تنفيذ AppVault للتشفير، راجع نظرة عامة على التشفير ونموذج التهديد.

DIAGRAM · 03

DOSSIER

VAULT CATALOG · ENCRYPTED SEALED FILE COUNT UNKNOWABLE WITHOUT KEY
VAULT CONTAINER — sealed catalog, indistinguishable from random data

QUESTIONS

10 sharp answers.

  1. 01 ما هو استخدام PBKDF2؟
    تُستخدم PBKDF2 لاشتقاق مفتاح تشفيري من كلمة مرور. تُستخدم عادة في تشفير القرص، ومديري كلمات المرور، وخزائن الملفات، وأنظمة المصادقة.
  2. 02 لماذا لا يمكن تجزئة كلمة المرور مباشرة؟
    التجزئة المباشر (مثل SHA-256 لكلمة المرور) سريع. يمكن للمهاجم حساب مليارات التجزئات في الثانية باستخدام GPU. تعمل PBKDF2 على إبطاء الاشتقاق بتكرار التجزئة آلاف المرات، مما يجعل هجمات القوة العمياء غير عملية.
  3. 03 كيف تعمل PBKDF2؟
    تأخذ PBKDF2 كلمة مرور، وملحًا، وعدد تكرارات، وطول المفتاح المطلوب. تطبق HMAC (مثل HMAC-SHA256) بشكل متكرر، وتغذي مخرجات كل تكرار في التالي. المخرجات النهائية هي المفتاح المشتق.
  4. 04 ما هو الملح في PBKDF2؟
    الملح هو قيمة عشوائية، طولها 16 بايت على الأقل، تُدمج مع كلمة المرور قبل التجزئة. تضمن أن نفس كلمة المرور تنتج مفاتيح مختلفة لمستخدمين أو حالات مختلفة، مما يهزم هجمات جداول قوس قزح.
  5. 05 ما هو عدد التكرارات الموصى به لـ PBKDF2 في 2026؟
    توصي OWASP بـ 600,000 تكرار لـ PBKDF2-HMAC-SHA256. بالنسبة لـ PBKDF2-HMAC-SHA1، التوصية هي 1,300,000 تكرار بسبب صغر مخرجات SHA1.
  6. 06 هل PBKDF2 أفضل من bcrypt؟
    كلاهما دوال تمديد المفتاح، لكنهما يختلفان في التصميم. Bcrypt أكثر مقاومة لهجمات GPU لأنه يتطلب كمية ثابتة من الذاكرة. PBKDF2 مدعومة على نطاق أوسع ويمكن ضبطها بعدد تكرارات أعلى. للأنظمة الجديدة، يُفضل Argon2id، لكن PBKDF2 تبقى خيارًا قويًا عندما لا يكون تسريع العتاد متاحًا.
  7. 07 كيف تقارن PBKDF2 بـ Argon2id؟
    Argon2id هي الفائزة في مسابقة تجزئة كلمات المرور، وهي مصممة لتكون صلبة الذاكرة، مما يجعلها مقاومة لهجمات GPU و ASIC. PBKDF2 ليست صلبة الذاكرة، لذا فهي أكثر عرضة للهجمات المتوازية. ومع ذلك، PBKDF2 أبسط وأكثر تنفيذًا على نطاق واسع، وكافية عند دمجها مع عدد تكرارات عالٍ وربط بالعتاد (مثل Secure Enclave).
  8. 08 هل يمكن اختراق PBKDF2 باستخدام GPU؟
    نعم، لكن عدد التكرارات يبطئها. مع 600,000 تكرار، يمكن لـ GPU واحد محاولة بضع مئات من كلمات المرور في الثانية فقط، مقارنة بمليارات لتجزئة SHA-256 واحدة. ومع ذلك، لا تزال ASICs المخصصة يمكنها مهاجمة PBKDF2 أسرع من الدوال الصلبة الذاكرة.
  9. 09 هل تستخدم AppVault PBKDF2؟
    نعم. تستخدم AppVault PBKDF2-HMAC-SHA256 مع 600,000 تكرار وملح 128 بت لكل تثبيت. ثم يُغلف المفتاح المشتق بمفتاح مولّد داخل Secure Enclave في iPhone، مما يوفر حماية مرتبطة بالعتاد.
  10. 10 ماذا يحدث إذا نسيت كلمة مرور الخزنة؟
    لا يوجد إعادة تعيين لكلمة المرور في AppVault. تظل الخزنة مغلقة. أثناء الإعداد، يمكنك إنشاء عبارة استرداد مكتوبة اختيارية يمكن استخدامها لإعادة اشتقاق المفتاح. بدونها، البيانات غير قابلة للاسترداد.

ابدأ

أغلق الخزنة.

تنزيل مجاني. الخزنة الأولى مجانية إلى الأبد. قم بالترقية فقط عندما تتجاوزها.