الهوية وكلمات المرور والتحقق بخطوتين
درس 6 من 6
6الهوية وكلمات المرور والتحقق بخطوتين
الصورة الكبيرةحين يعمل الناس من كل مكان، لم يعد هناك «داخل الشركة» يحميه سور. حساب المستخدم صار هو الباب الأمامي: من يملك كلمة مرورك ورمزك يدخل كأنه أنت. ولهذا الهوية هي الحدود الجديدة للأمن.
ماذا تشاهد في الرسم: كل درجة أصعب على المهاجم من التي تحتها. كلمة المرور وحدها في الأسفل، ومفاتيح المرور FIDO2 في الأعلى لأنها لا تعمل على نطاق مزيف.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
كلمة المرور مفتاح بيتك. لو استخدمت المفتاح نفسه للبيت والسيارة والمكتب، فسرقته من مكان تفتح كل شيء. لذلك: مفتاح مختلف لكل باب (مدير كلمات المرور يحفظها لك)، وقفل ثانٍ لا يفتح إلا بجوالك (التحقق بخطوتين). ومفتاح المرور مفتاح ذكي لا يدخل إلا في قفل بيتك الحقيقي، فلو أراك محتال بابًا مزيفًا لن يعمل.
العوامل: المعرفة والملكية والصفة. قوة كلمة المرور تُقاس بالإنتروبيا (بت = الطول × log2 حجم الأبجدية) للكلمات العشوائية فقط. NIST SP 800-63B تفضّل الطول على التعقيد، وتمنع فرض التغيير الدوري دون سبب، وتطلب فحص القوائم المسرّبة. ترتيب MFA تقريبًا: SMS ثم TOTP ثم Push بمطابقة رقم ثم FIDO2/WebAuthn المقاوم للتصيّد. التخزين: Argon2id أو scrypt أو bcrypt مع ملح فريد، وليس SHA-256 وحدها. وعلى مستوى المؤسسة: IAM وSSO عبر SAML أو OpenID Connect، وأقل صلاحية، وإدارة الحسابات المميزة (PAM).
قبل أن تبدأ
🎣التصيّد والهندسة الاجتماعية
تعرف كيف تُسرق كلمات المرور بالتصيّد.
الفكرة الجوهرية
1ثلاثة عوامل للمصادقة
تثبت هويتك بواحد أو أكثر من ثلاثة: شيء تعرفه (كلمة مرور، رقم سري)، وشيء تملكه (جوال، مفتاح أمان)، وشيء أنت هو (بصمة، وجه). التحقق بخطوتين (MFA) يجمع عاملين مختلفين؛ كلمتا مرور ليستا MFA لأنهما من النوع نفسه.
2ما الذي يجعل كلمة المرور قوية؟
المهاجم لا يخمّن بيده؛ يجرّب مليارات الاحتمالات في الثانية إذا سرق ملف كلمات مرور مجزّأة بدالة سريعة. القوة تعتمد على عدد الاحتمالات، والطول يرفعها أسرع من إضافة الرموز. جرّب بنفسك:
تمرين: كم تصمد كلمة المرور أمام التخمين؟
لا تكتب كلمة مرورك الحقيقية، فلا يوجد هنا مكان لكتابتها أصلًا: اختر الطول ونوع الأحرف فقط. الحساب يفترض كلمة عشوائية تمامًا، أما الكلمات البشرية مثل Ahmad2024! فأضعف بكثير لأن المهاجمين يجرّبون الأنماط الشائعة أولًا.
كلمة مرور من أحرف عشوائية
عبارة مرور من كلمات عشوائية
كل كلمة تُختار عشوائيًا من قائمة 7,776 كلمة (طريقة Diceware)، أي نحو 12.9 بت لكل كلمة. مثال: orbit-velvet-cactus-ninety-lamp
لاحظ أن 16 حرفًا صغيرًا فقط تتفوق على 8 أحرف مختلطة. غيّر الأرقام وشغّل.
import math
def bits(length, alphabet):
return length * math.log2(alphabet)
print(f"8 chars, letters+digits+symbols: {bits(8, 95):.0f} bits")
print(f"16 chars, lowercase only: {bits(16, 26):.0f} bits")
print(f"5 random Diceware words: {bits(5, 7776):.0f} bits")
guesses_per_second = 1e11
for name, b in [("8 mixed", bits(8, 95)), ("5 words", bits(5, 7776))]:
years = 2 ** (b - 1) / guesses_per_second / 3.156e7
print(f"{name}: about {years:,.2f} years on average")P@ssw0rd2024! قوية لأن فيها كل الأنواع. هي نمط بشري يجربه المهاجمون في أول دقيقة. العشوائية والطول هما ما يهم.3التحقق بخطوتين ومفاتيح المرور
ليست كل طرق التحقق بالقوة نفسها. رسائل SMS أفضل من لا شيء لكنها تُسرق بتبديل الشريحة والتصيّد. تطبيق المصادقة أقوى. الإشعار مع مطابقة رقم يمنع الموافقة العشوائية حين يغرقك المهاجم بالطلبات. ومفاتيح المرور (Passkeys) المبنية على FIDO2 هي الوحيدة المقاومة للتصيّد: مفتاح خاص يبقى في جهازك ولا يُرسل أبدًا، ومربوط بنطاق الموقع.
4كيف يخزّن الخادم كلمات المرور
الموقع المحترم لا يعرف كلمة مرورك. يخزّن بصمتها بدالة بطيئة عمدًا مثل Argon2id أو bcrypt، ويضيف قبلها ملحًا: قيمة عشوائية فريدة لكل مستخدم. البطء يجعل التخمين مكلفًا، والملح يجعل كلمتين متطابقتين تعطيان بصمتين مختلفتين ويُبطل الجداول المحسوبة مسبقًا.
وعلى مستوى المؤسسة: الدخول الموحّد (SSO) يعني حسابًا واحدًا قويًا بتحقق بخطوتين بدل عشرات الحسابات الضعيفة، وأقل صلاحية يعني ألا يملك أحد صلاحية مدير إلا وقت الحاجة.
مثال محلول
المسألة: موقع يخزّن كلمات المرور بـ SHA-256 دون ملح. ما المشكلة وما الإصلاح؟
الحل: SHA-256 سريعة جدًا، فإذا سُرقت قاعدة البيانات جرّب المهاجم مليارات التخمينات في الثانية. وغياب الملح يعني أن كلمات المرور المتطابقة لها بصمة متطابقة، وأن الجداول المحسوبة مسبقًا تنفع. الإصلاح: Argon2id أو bcrypt بملح فريد لكل مستخدم، وإعادة تجزئة كل كلمة مرور عند دخول صاحبها التالي، وفرض إعادة التعيين إن كان هناك تسريب.
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| تغيير كلمة المرور كل شهر يجعلها أقوى. | التغيير الإجباري المتكرر يدفع الناس لأنماط متوقعة. الأهم الطول، والتفرد لكل موقع، والتغيير عند الاشتباه. |
| مدير كلمات المرور خطر لأنه يضع البيض في سلة واحدة. | السلة محمية بكلمة رئيسية قوية وتحقق بخطوتين، والبديل الواقعي كلمة واحدة مكررة في كل مكان، وهو أخطر بكثير. |
أين تقابله في العمل
🏠في حياتك
تثبّت مدير كلمات مرور وتفعّل التحقق بخطوتين في البريد والبنك هذا الأسبوع.
🧑💻مطوّر
يخزّن كلمات المرور بـ Argon2id ويضيف دعم مفاتيح المرور لتطبيقه.
🏢مسؤول الهوية
يربط التطبيقات بـ SSO ويراجع الصلاحيات العالية كل ربع سنة.
اختبر فهمك
أي طريقة مصادقة مقاومة للتصيّد؟
FIDO2 مربوط بنطاق الموقع الحقيقي فلا يعمل في صفحة مزيفة.
أنسب طريقة لتخزين كلمات المرور في قاعدة البيانات:
نحتاج دالة بطيئة مصممة لكلمات المرور مع ملح فريد، لا تشفيرًا قابلًا للفك ولا تجزئة سريعة.
كلمة مرور ثم كلمة مرور ثانية: هل هذا تحقق بخطوتين؟
MFA يعني عاملين مختلفين، مثل شيء تعرفه وشيء تملكه.
أي طريقة دخول تقاوم التصيّد أكثر؟
المفتاح مربوط بالموقع الحقيقي فلا يعمل على موقع مزيف.
لماذا نضيف «ملحًا» قبل تجزئة كلمة المرور؟
الملح عشوائي لكل مستخدم ويُخزَّن بجانب البصمة.
بطاقات مراجعة سريعة
تحقق من فهمك
لماذا تبدأ بتأمين البريد قبل أي حساب آخر؟
لأن «نسيت كلمة المرور» في كل المواقع ترسل رابط إعادة التعيين للبريد؛ من يملكه يملك الباقي.
لماذا رقم الحاسبة أقل من الواقع لكلمة مثل Ahmad2024؟
لأن الحساب يفترض عشوائية تامة، والمهاجمون يجربون الأسماء والسنوات والأنماط الشائعة أولًا.
لماذا كلمة مرور فريدة لكل موقع أهم من كلمة معقدة واحدة؟
لأن تسرب موقع واحد يكشف الكلمة، فيجربها المهاجم على بقية حساباتك (Credential stuffing).
مصادر هذا الدرس
مرتّبة بالنوع. ابدأ بالتوثيق الرسمي إذا تبي المرجع الدقيق، وبالمقال أو الفيديو إذا تبي الشرح أولًا.
خلّصت الدرس؟
سجّل الدخول ليُحفظ تقدّمك.