> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# كلمات المرور للمبتدئين: كيف تسرق وكيف تحميها
- URL: https://arabroot.io/articles/كلمات-المرور-للمبتدئين-كيف-تسرق-وما-القوية-وكيف-تعرف-انها-تسربت/
- Published: 2026-10-28T13:00:50.000Z
- Updated: 2026-10-28T14:09:44.000Z
- Description: لماذا تسقط كلمة مرور طويلة بالرموز في لحظة، وما الذي يجعلها قوية فعلاً، وكيف تعرف أنها ظهرت في تسريب دون أن ترسلها لأحد.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, الأمن السيبراني, أساسيات

كل مرة يطلب منك موقع أن تختار كلمة مرور «فيها حرف كبير ورقم ورمز وألا تقل عن ثماني محارف»، تختار شيئاً مثل `Password123!` وتظن أنك أطعت القاعدة فصرت آمناً. ثم تقرأ أن موقعاً تسربت منه ملايين كلمات المرور، فتقلق: هل كلمتي بينها؟ وهل تنفعني الرموز التي أضفتها؟ والحقيقة التي تصدم كثيرين أن `Password123!` رغم طولها ورمزها من أسوأ كلمات المرور، تسقط في أقل من جزء من الثانية، وأن القواعد التي طلبها منك الموقع (حرف كبير ورقم ورمز) ثبت أنها لا تزيد الأمن بل تدفع الناس إلى أنماط متوقعة.

وهذا المقال يصحح الصورة من أولها: كيف تسرق كلمات المرور فعلاً (من جانب المدافع، لنفهم كيف نحمي)، ولماذا تسقط كلمة طويلة بالرموز في لحظة، وما الذي يجعل كلمة المرور قوية حقاً، وكيف تخزنها المواقع الجيدة، وكيف تعرف أن كلمتك ظهرت في تسريب دون أن ترسلها لأحد. وكل ذلك بتجارب تعمل على جهازك تريك الأرقام بعينك. وهذا المقال أول مقال في [مرحلة كلمات المرور والحسابات](https://arabroot.io/start/#stage-passwords)، وقد مهدنا له في مقال [أشهر الهجمات](https://arabroot.io/articles/%D8%A7%D8%B4%D9%87%D8%B1-%D9%87%D8%AC%D9%85%D8%A7%D8%AA-%D8%A7%D9%84%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%84%D8%AA%D8%B5%D9%8A%D8%AF-%D9%88%D8%A7%D9%84%D9%81%D8%AF%D9%8A%D8%A9/) حين رأينا سرقة الحسابات. وسوف نناقش ما يلي:

- كيف تسرق كلمات المرور: من التسريب إلى التخمين، والفرق بين الهجوم المتصل وغير المتصل.
- كيف تخزن المواقع كلمات المرور: من النص العادي إلى الهاش البطيء، ولماذا يهمك ذلك كمستخدم.
- تجربة عملية: هجوم قاموس على كلمات مرور اختبارية نصنعها، نرى فيه لماذا تسقط الكلمة المتوقعة مهما طالت.
- ما الذي يجعل كلمة المرور قوية فعلاً: الطول والعشوائية لا الرموز، وما تقوله NIST اليوم.
- تجربة عملية: كم يبطئ الهاش الجيد كل تخمين، بأرقام حقيقية.
- تجربة عملية: كيف تعرف أن كلمتك تسربت بطريقة K-Anonymity دون أن ترسلها.
- مدير كلمات المرور والمصادقة الثنائية، وأخطاء شائعة، وقائمة عملية.

## كيف تسرق كلمات المرور؟

قبل أن نعرف ما الكلمة القوية، يجب أن نعرف ممن نحميها. وكلمة المرور تسرق بطرق، أهمها ثلاث:

- **التسريب من موقع آخر:** يخترق موقع ما وتتسرب قاعدة بياناته بكلمات مرور ملايين المستخدمين. وإذا كنت تستخدم الكلمة نفسها في مواقع كثيرة، فكلمتك المسربة من موقع تفتح بقية حساباتك. وهذا هو حشو بيانات الاعتماد Credential Stuffing الذي شرحناه سابقاً.
- **التصيد Phishing:** رسالة تخدعك فتكتب كلمة مرورك في صفحة مزيفة، فتصل إلى المهاجم مباشرة دون أن يخمنها.
- **التخمين Guessing:** يجرب المهاجم كلمات مرور حتى يصيب، إما شائعة على حسابات كثيرة (رش كلمات المرور)، أو كثيرة على حساب واحد.
- **السرقة من جهازك مباشرة:** برمجية خبيثة Infostealer تصيب جهازك وتحصد كلمات المرور المحفوظة في المتصفح، أو برنامج تسجيل ضغطات المفاتيح Keylogger يسجل ما تكتب، أو ببساطة من ينظر فوق كتفك Shoulder Surfing. وهذه تتجاوز قوة كلمة المرور كلياً، لأنها تأخذها كما تكتبها.

ولاحظ أن قوة كلمة المرور تحميك من بعض هذه الطرق لا كلها: فالكلمة القوية الفريدة تحميك من التخمين ومن إعادة الاستخدام بعد تسريب موقع آخر، لكنها لا تحميك من التصيد (لأنك تعطيها بيدك) ولا من البرمجية التي تسرقها من جهازك. ولهذا لا يكفي أن تكون كلمتك قوية، بل تحتاج طبقات: كلمة قوية فريدة ضد التخمين وإعادة الاستخدام، ومصادقة ثنائية ضد التصيد والتسريب، وجهاز نظيف محدث ضد البرمجيات. وكل طبقة تسد ما لا تسده الأخرى، وهذا هو الدفاع متعدد الطبقات الذي يتكرر في كل موضوع أمني.

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

ولاحظ أن التخمين ليس عشوائياً أعمى كما يتخيل الناس. فالمهاجم لا يبدأ من `aaaaaaaa` ويعد تصاعدياً، لأن ذلك يستغرق أعماراً. وإنما يبدأ بالأذكى: أولاً الكلمات المسربة من تسريبات سابقة (مليارات متاحة)، ثم الكلمات الشائعة وتحويراتها المعتادة (حرف كبير في البداية، رقم ورمز في النهاية، استبدال a بـ @ وo بصفر)، ثم الأنماط (لوحة المفاتيح، التواريخ، الأسماء)، وأخيراً فقط القوة الغاشمة Brute Force حرفاً حرفاً. وهذا الترتيب هو ما يجعل كلمة «معقدة» لكنها متوقعة تسقط في بداية القائمة، بينما كلمة عشوائية حقيقية لا تصل إليها القائمة إلا بعد دهر. فالمعركة ليست بينك وبين كل الاحتمالات، وإنما بينك وبين توقعات المهاجم: كن خارج ما يتوقعه، لا مجرد أطول.

وهنا فرق مهم يحدد كل شيء: هل التخمين متصل Online أم غير متصل Offline؟ في الهجوم المتصل يجرب المهاجم كلمات المرور على الموقع الحقيقي، فيبطئه حد المحاولات وقفل الحساب، فلا يستطيع إلا محاولات قليلة. أما في الهجوم غير المتصل، فالمهاجم قد سرق قاعدة البيانات كاملة، ويخمن على جهازه دون اتصال بالموقع، فلا يوقفه قفل ولا حد، ويجرب مليارات الاحتمالات. ولهذا السبب يهمك كيف تخزن المواقع كلمات المرور: لأن ما يسرقه المهاجم ليس كلمة المرور نفسها في المواقع الجيدة، وإنما بصمتها، ومدى صعوبة عكس هذه البصمة هو ما يحميك بعد التسريب. فبين لحظة التسريب ولحظة نجاح المهاجم في كسر بصمتك قد تمر دقائق أو قرون، حسب قوة كلمتك وطريقة تخزينها، وفي هذه المهلة تستطيع أن تغير كلمتك إن علمت بالتسريب، وهنا تظهر أهمية فحص التسريبات الذي سنتعلمه.

## كيف تخزن المواقع كلمات المرور؟

هذه أهم فكرة في المقال، لأنها تفسر لماذا تنجو كلمة قوية وتسقط ضعيفة. فالموقع لا يجب أن يحفظ كلمة مرورك كما هي، لأنه إن فعل، فمن يسرق قاعدته يقرأها كلها. وبدل ذلك يخزن بصمتها Hash: قيمة تحسب من كلمة المرور لكن لا يمكن عكسها إلى الكلمة. وقد شرحنا هذا التطور بالتفصيل في مقال تخزين كلمات المرور، لكن نلخصه هنا بالصورة التالية لأنه يحدد كل ما بعده:

![خمس طبقات متدرجة من الأحمر إلى الأخضر: نص عادي Plaintext، ثم تشفير Encryption، ثم هاش سريع SHA-256 أو MD5، ثم هاش مع ملح Salt، ثم هاش بطيء Argon2 أو scrypt أو PBKDF2، ولكل طبقة سبب فشلها أو قوتها](https://arabroot.io/content/images/2026/10/password-basics-01-journey.webp)

تطور تخزين كلمة المرور: من النص العادي الذي يقرؤه السارق إلى الهاش البطيء الذي يرهقه

في الصورة أعلاه لاحظ التدرج، وهو النمط نفسه الذي يبني عليه المجال: الحل البسيط يفشل، فتحسنه، فيظهر عيب جديد، فتحسنه أكثر:

- **النص العادي Plaintext:** تخزن الكلمة كما هي، وهي أسوأ الطرق إطلاقاً، فمن يسرق القاعدة يقرأ كل كلمات المرور فوراً.
- **التشفير Encryption:** تشفر الكلمات بمفتاح، لكن المفتاح موجود في مكان ما على الخادم، فمن يسرق المفتاح يفك الجميع. والتشفير خطأ هنا لأنه قابل للعكس، والمطلوب شيء لا يعكس.
- **الهاش السريع (SHA-256 أو MD5):** تخزن بصمة لا تعكس، لكنها سريعة الحساب، فالمهاجم يخمن بمليارات في الثانية. وهذه النقطة بالذات هي ما يجعل الكلمة الضعيفة تسقط، كما سنرى في التجربة.
- **الهاش مع ملح Salt:** تضيف لكل مستخدم قيمة عشوائية قبل الهاش، فتمنع الجداول الجاهزة Rainbow Tables (جداول محسوبة مسبقاً لبصمات الكلمات الشائعة)، لأن البصمة تختلف حتى لو تطابقت كلمتا مرور مستخدمين. ومن دون ملح، لو أن ألف مستخدم اختاروا `123456` لظهرت لهم البصمة نفسها، فيكسرها المهاجم مرة ويعرفهم جميعاً، وقد يستخدم جدولاً جاهزاً يربط البصمات الشائعة بكلماتها فلا يخمن أصلاً. والملح يبطل هذا كله. لكن انتبه: الملح لا يبطئ التخمين على كلمة واحدة، فمن يستهدف حساباً بعينه يأخذ ملحه (المخزن بجوار البصمة) ويخمن به، والهاش ما زال سريعاً. ولذلك الملح ضروري لكنه غير كاف وحده.
- **الهاش البطيء (Argon2 أو scrypt أو PBKDF2):** دوال مصممة لتكون بطيئة عمداً وتستهلك ذاكرة، فكل تخمين يكلف المهاجم مئات آلاف المرات من الهاش السريع. وهذا هو التخزين الصحيح اليوم.

وهناك طبقة إضافية أحياناً اسمها الفلفل Pepper: قيمة سرية تضاف للجميع لكنها تخزن منفصلة عن قاعدة البيانات (في إعداد التطبيق أو جهاز خاص)، فحتى لو سرقت قاعدة البيانات كاملة بأملاحها وبصماتها، ينقص المهاجم الفلفل فلا يستطيع التخمين. وهي دفاع في العمق يفيد المؤسسات، وإن كانت لا تغني عن الهاش البطيء.

ولماذا يهمك هذا وأنت مستخدم لا تبني مواقع؟ لأنه يقسم المسؤولية: جزء منها على الموقع (أن يخزن بالهاش البطيء)، وجزء عليك (أن تختار كلمة لا تسقط حتى لو خزنها الموقع خزناً سيئاً). ولأنك لا تعرف كيف يخزن كل موقع، فافترض الأسوأ، واختر كلمة تصمد حتى أمام الهاش السريع، وهذا يقودنا إلى السؤال: ما الذي يجعل الكلمة تصمد؟

## تجربة عملية: لماذا تسقط الكلمة المتوقعة؟

الفكرة التي يخطئ فيها الجميع أن قوة كلمة المرور في طولها ورموزها. والحقيقة أن قوتها في كونها غير متوقعة. ولنرى ذلك، سوف نبني هجوم قاموس Dictionary Attack في مختبرنا: نصنع بصمات SHA-256 لأربع كلمات مرور اختبارية من اختراعنا، ثم نتصرف كمهاجم سرق هذه البصمات ويحاول عكسها بقائمة تخمين صغيرة مبنية على الكلمات الشائعة وتحويراتها. ولا نمس أي حساب حقيقي، كل شيء على بصمات نصنعها نحن. احفظ `crack_demo.py`:

```python
import hashlib, time

# ملف البصمات "المسروق": SHA-256 لكلمات مرور اختبارية اخترعناها
test_passwords = {
    "weak-common":  "Password123!",                    # طويلة وفيها رمز... لكنها شائعة جداً
    "weak-pattern": "Qwerty2026",                      # نمط لوحة مفاتيح + سنة
    "weak-name":    "ahmad1990",                        # اسم + سنة ميلاد
    "strong-pass":  "correct-horse-battery-staple-77",  # عبارة مرور طويلة عشوائية
}
hashes = {name: hashlib.sha256(pw.encode()).hexdigest() for name, pw in test_passwords.items()}

# قائمة المهاجم: شائعة من تسريبات سابقة + تحويرات (أحرف كبيرة، سنوات، رموز)
base = ["password", "qwerty", "ahmad", "admin", "welcome", "letmein", "123456"]
years = [str(y) for y in range(1985, 2027)]
symbols = ["", "!", "@", "#", "1", "123", "123!"]
def wordlist():
    for w in base:
        for cap in (w, w.capitalize(), w.upper()):
            for y in [""] + years:
                for s in symbols:
                    yield cap + y + s

print(f"{'label':14} {'cracked?':12} {'guesses':>9}  time")
for name, h in hashes.items():
    t = time.perf_counter(); found = None; n = 0
    for guess in wordlist():
        n += 1
        if hashlib.sha256(guess.encode()).hexdigest() == h:
            found = guess; break
    dt = time.perf_counter() - t
    print(f"{name:14} {(found or 'NOT in list'):12} {n:>9}  {dt*1000:6.1f}ms")
```

نشغله في حاوية (وفي Git Bash على Windows أضف `MSYS_NO_PATHCONV=1` واستخدم `"$(pwd -W)"`):

```bash
docker run --rm -v "$PWD":/w python:3.13.17-slim python3 /w/crack_demo.py
```

```text
label          cracked?        guesses  time
weak-common    Password123!        308     0.9ms
weak-pattern   Qwerty2026         1499    13.1ms
weak-name      ahmad1990          1849     3.6ms
strong-pass    NOT in list        6321    27.6ms
```

والصورة التالية تلخص النتيجة:

![أربعة صفوف: Password123! سقطت في 308 تخمين و0.9 مللي ثانية، وQwerty2026 سقطت في 1499، وahmad1990 سقطت في 1849، وعبارة المرور الطويلة صمدت ولم تكسر، كلها بالأحمر إلا الأخيرة بالأخضر](https://arabroot.io/content/images/2026/10/password-basics-03-dict.webp)

هجوم القاموس: الطول والرموز لا يحميان الكلمة المتوقعة

في المخرج أعلاه لاحظ التالي:

- `Password123!` رغم أنها 12 حرفاً وفيها حرف كبير ورقم ورمز، سقطت في 308 تخمينات فقط، في أقل من مللي ثانية. والسبب أنها متوقعة: المهاجم يجرب الكلمات الشائعة وتحويراتها المعتادة، و`Password` مع رقم ورمز في رأس القائمة. فالقواعد التي طلبها الموقع منك (كبير ورقم ورمز) أنتجت نمطاً يعرفه المهاجم.
- `ahmad1990` (اسم وسنة ميلاد) سقطت بسرعة، وهذا تحذير مهم: الأسماء وتواريخ الميلاد وأسماء الفرق والمدن كلها في قوائم المهاجمين، فلا تبن كلمتك على معلومة عنك.
- العبارة الطويلة العشوائية لم تكن في القائمة، فلم تكسر. ليس لأنها أطول فقط، بل لأنها غير متوقعة: كلمات عشوائية لا نمط يربطها.
- لاحظ الأرقام الصغيرة للتخمينات: مئات أو آلاف فقط، لأن القائمة صغيرة. والمهاجم الحقيقي يملك قوائم بمليارات الكلمات المسربة، ويجرب بمليارات في الثانية بأجهزة الرسوميات، فالكلمة الموجودة في أي تسريب سابق تسقط فوراً مهما بدت معقدة.

والدرس: قوة كلمة المرور ليست في تعقيدها الظاهري، وإنما في كونها غير متوقعة وغير مستخدمة من قبل. وهذا بالضبط ما غير توصيات الخبراء.

وقد يتساءل البعض: إذا كانت قائمتي في المختبر صغيرة، فكيف يكون هجوم القاموس خطراً حقيقياً؟ والإجابة أن ما بنيناه في عشرة أسطر يبنيه المهاجم بمليارات الأسطر: قائمته ليست سبع كلمات أساس، وإنما كل كلمة مرور ظهرت في كل تسريب منذ سنين، مع قواعد تحوير معقدة تولد من كل كلمة مئات الأشكال. وأدوات مثل هذه معروفة ومفتوحة، تجرب على بصمة واحدة ملايين الاحتمالات في الثانية على معالج عادي، ومليارات على أجهزة الرسوميات. فالفرق بين مختبرنا والواقع هو الحجم فقط، أما المبدأ فواحد: الكلمة المتوقعة في مكان ما من القائمة، والقائمة تمر عليها بسرعة. ولذلك فالسؤال ليس «هل كلمتي معقدة؟» بل «هل كلمتي في أي قائمة؟»، وهو ما سنفحصه بعد قليل.

## ما الذي يجعل كلمة المرور قوية فعلاً؟

قد يتساءل البعض: إذا كانت الرموز لا تكفي، فما الحل؟ والإجابة في أحدث إصدار من [دليل NIST للهوية الرقمية SP 800-63B](https://pages.nist.gov/800-63-4/sp800-63b.html?ref=arabroot.io)، الذي قلب القواعد القديمة رأساً على عقب بناءً على الأدلة. وأهم ما فيه:

- **الطول أهم من التعقيد:** يطلب الدليل حداً أدنى 15 حرفاً لكلمة المرور المستخدمة كعامل وحيد، ويسمح بأطول. فالطول يزيد عدد الاحتمالات أضعافاً، وهو أصعب على التخمين من إضافة رمز.
- **لا تفرض قواعد تركيب:** يقول الدليل صراحة إنه يجب ألا تفرض المواقع قواعد خلط أنواع المحارف (حرف كبير ورقم ورمز)، لأنها لا تزيد الأمن بل تدفع الناس إلى أنماط متوقعة مثل التي رأيناها، ثم ينساها المستخدم فيكتبها على ورقة.
- **لا تجبر على تغيير دوري:** يقول الدليل إنه يجب ألا تطلب المواقع تغيير كلمة المرور كل فترة دون سبب، وإنما فقط عند دليل على تسربها. فالتغيير الدوري القسري يدفع الناس إلى تغييرات سطحية متوقعة (Password1 ثم Password2).
- **امنع الكلمات المسربة والشائعة:** يطلب الدليل أن تقارن المواقع الكلمة المختارة بقائمة سوداء Blocklist من الكلمات الشائعة والمسربة والمتوقعة (كاسم الخدمة)، وترفضها إن كانت فيها. وهذا هو الحل الحقيقي لما رأيناه: لا تمنع الكلمة الضعيفة بقاعدة تركيب، بل بمقارنتها بما تسرب فعلاً.
- **لا أسئلة أمان:** يمنع الدليل أسئلة الاسترجاع مثل «ما اسم أول حيوان أليف لك؟»، لأن إجاباتها تخمن أو تعرف من مواقع التواصل.

ولتفهم لماذا الطول أقوى من التعقيد رياضياً، انظر إلى عدد الاحتمالات: كل محرف تضيفه يضرب عدد الاحتمالات في حجم مجموعة المحارف. فكلمة من 8 محارف من كل الأنواع (95 رمزاً ممكناً) عدد احتمالاتها 95 أس 8، وهو رقم كبير لكنه ثابت عند 8 محارف. وعبارة من أربع كلمات تختار كل واحدة من قائمة 7776 كلمة عدد احتمالاتها 7776 أس 4، وهو رقم مقارب، لكن الفرق أنك إذا أضفت كلمة خامسة ضربت الصعوبة في 7776 دفعة واحدة، وهذا أسهل من حفظ محارف عشوائية أكثر. والصورة التالية تقارن:

![بطاقتان: كلمة معقدة قصيرة Tr0ub4&3 بثمانية محارف وعدد احتمالات 95 أس 8، وعبارة مرور طويلة من أربع كلمات عربية عشوائية وعدد احتمالات 7776 أس 4، والعبارة أسهل حفظاً وأبعد عن التوقع](https://arabroot.io/content/images/2026/10/password-basics-04-entropy.webp)

الطول قبل التعقيد: عبارة مرور طويلة تهزم كلمة معقدة قصيرة في الحفظ والأمان معاً

ولاحظ المفارقة في الصورة: الاحتمالات متقاربة، لكن الكلمة المعقدة القصيرة صعبة الحفظ فتكتب على ورقة أو تنسى، وتحويراتها متوقعة للمهاجم، بينما العبارة الطويلة سهلة الحفظ وبعيدة عن التوقع لأن لا نمط يربط كلماتها. وهذا ما جعل الخبراء يوصون بالطول: هو يرفع الأمان ويخفض العبء على الذاكرة في آن، على عكس التعقيد الذي يرفع العبء دون أن يرفع الأمان بالقدر نفسه. وشرط العبارة أن تكون كلماتها عشوائية مختارة بأداة، لا جملة ذات معنى من كلامك، فالجملة ذات المعنى متوقعة كالكلمة المتوقعة.

ولماذا هذا التحول الكبير في توصيات NIST؟ لأن القواعد القديمة بنيت على الحدس لا على الأدلة، ثم أثبتت الدراسات والتسريبات أنها تأتي بعكس المقصود. فقاعدة التركيب (حرف كبير ورقم ورمز) أرادت زيادة التنوع، لكن الناس استجابوا بأقل مجهود ممكن: حرف كبير في البداية، ورقم ورمز في النهاية، فنشأ نمط موحد يعرفه كل مهاجم. وقاعدة التغيير الدوري أرادت تقليل عمر الكلمة المسروقة، لكنها دفعت الناس إلى تغييرات متوقعة (رفع الرقم في النهاية)، وإلى كتابة الكلمات على ورق لأنهم لا يستطيعون حفظ ما يتغير كل شهر. فالقاعدتان زادتا العبء وخفضتا الأمان، ولذلك ألغاهما الدليل، واستبدلهما بما ينفع فعلاً: الطول، ومنع المسرب بالفحص، والتغيير عند الدليل على التسرب فقط. وهذا درس أعمق من كلمات المرور: الأمن الذي يرهق الناس يلتفون عليه، والأمن الجيد يجعل الطريق الآمن هو الأسهل.

وبلغة عملية لك كمستخدم: اختر كلمة مرور طويلة وفريدة لكل موقع. وأسهل طريقة لكلمة طويلة تحفظها هي عبارة مرور Passphrase من أربع أو خمس كلمات عشوائية غير مترابطة (لا جملة ذات معنى)، فهي طويلة وسهلة الحفظ وصعبة التخمين. لكن الأهم من «القوية» هو «الفريدة»: كلمة قوية تعيد استخدامها في عشرة مواقع تسقطهم جميعاً إذا تسرب واحد. ولأن حفظ كلمة فريدة لكل موقع مستحيل على أي إنسان، يأتي دور مدير كلمات المرور كما سنرى، فهو يحفظ عنك ما لا تستطيع أن تحفظه، ويولد ما لا تستطيع أن تخترعه بعشوائية كافية.

## تجربة عملية: كم يبطئ الهاش الجيد كل تخمين؟

رأينا أن التخزين السيئ يجعل الكلمة الضعيفة تسقط، فلنقس بأنفسنا كم يبطئ التخزين الجيد كل تخمين. سوف نحسب بصمة كلمة اختبارية بأربع طرق ونقيس زمن كل منها. احفظ `stretch.py`:

```python
import hashlib, os, time
SECRET = b"lab-test-password"; SALT = os.urandom(16)
def per(label, fn, n):
    fn(); t = time.perf_counter()
    for _ in range(n): fn()
    s = (time.perf_counter() - t) / n
    print(f"  {label:34} {s*1e6:12,.1f} us/guess   {1/s:14,.0f}/sec/core"); return s
sha = per("SHA-256 (fast, wrong for passwords)", lambda: hashlib.sha256(SECRET).digest(), 200_000)
md5 = per("MD5 (even faster, never use)", lambda: hashlib.md5(SECRET).digest(), 200_000)
pb  = per("PBKDF2-HMAC-SHA256 x600000", lambda: hashlib.pbkdf2_hmac("sha256", SECRET, SALT, 600_000), 30)
sc  = per("scrypt N=2^15 (memory-hard)", lambda: hashlib.scrypt(SECRET, salt=SALT, n=2**15, r=8, p=1, maxmem=256*1024*1024), 20)
print(f"\n  PBKDF2 is {pb/sha:,.0f}x slower than SHA-256, {pb/md5:,.0f}x slower than MD5")
```

```text
  SHA-256 (fast, wrong for passwords)          1.9 us/guess          528,541/sec/core
  MD5 (even faster, never use)                 1.6 us/guess          616,537/sec/core
  PBKDF2-HMAC-SHA256 x600000            702,060.0 us/guess                1/sec/core
  scrypt N=2^15 (memory-hard)           197,825.6 us/guess                5/sec/core

  PBKDF2 is 371,067x slower than SHA-256, 432,846x slower than MD5
```

في المخرج أعلاه لاحظ التالي:

- الهاش السريع SHA-256 يسمح بأكثر من نصف مليون تخمين في الثانية على نواة واحدة بلغة Python، وبأجهزة الرسوميات مليارات. ولهذا كان تخزين كلمات المرور به خطأ: سريع لمن يخزن، سريع لمن يخمن.
- MD5 أسرع، وهو أسوأ، ولا يجوز استخدامه لكلمات المرور إطلاقاً.
- الدالة PBKDF2 بـ 600 ألف تكرار، وهو رقم [توصي به OWASP](https://cheatsheetseries.owasp.org/cheatsheets/Password%5FStorage%5FCheat%5FSheet.html?ref=arabroot.io)، جعلت كل تخمين أبطأ 371 ألف مرة. أي أن المهاجم الذي كان يجرب مليارات في الثانية صار يجرب آلافاً، وهذا هو «تمديد المفتاح» Key Stretching: أنت تدفع جزءاً من الثانية مرة عند الدخول، والمهاجم يدفع هذا الوقت في كل تخمين من مليارات.
- scrypt بطيئة أيضاً، وتضيف ميزة: تستهلك ذاكرة كثيرة في كل تخمين Memory-Hard، وهذا يضعف أجهزة الرسوميات والدوائر المخصصة ASIC التي تجيد الحساب السريع لكن ذاكرتها محدودة. والأحدث منها Argon2 الذي توصي به OWASP أولاً، وهو مصمم خصيصاً لمقاومة هذه الأجهزة.

ولاحظ تفصيلة في الأرقام: PBKDF2 بـ 600 ألف تكرار خرج أبطأ من scrypt في مختبرنا لأننا أعطينا scrypt إعداداً متوسطاً، والمقارنة العادلة تضبط كل دالة على نفس الزمن المستهدف (نحو جزء من الثانية عند الدخول) ثم تقارن مقاومتها لأجهزة الرسوميات، وفيها يتفوق Argon2 وscrypt بسبب استهلاكهما للذاكرة. والمهم أن تعرف المبدأ: المواقع تضبط «كلفة» الدالة بحيث تكون محتملة لك عند الدخول (جزء من الثانية) لكنها باهظة للمهاجم الذي يكررها مليارات المرات. ومع تطور الأجهزة ترفع المواقع هذه الكلفة دورياً، ولهذا تتغير توصيات عدد التكرارات مع الزمن.

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

| كلمة المرور                           | مخزنة بهاش سريع (SHA-256) | مخزنة بهاش بطيء (PBKDF2/Argon2) |
| ------------------------------------- | ------------------------- | ------------------------------- |
| ضعيفة متوقعة (في أي تسريب)            | لحظة (في القائمة)         | لحظة (في القائمة)               |
| 8 محارف عشوائية                       | ساعات إلى أيام            | سنوات                           |
| عبارة من 4 كلمات عشوائية              | سنوات                     | قرون                            |
| عبارة من 5 كلمات أو 15 حرفاً عشوائياً | قرون                      | أطول من عمر الكون عملياً        |

لاحظ عمودين مهمين في هذا الجدول. الأول أن الصف الأعلى (الكلمة المتوقعة) يسقط في لحظة في العمودين معاً، فالتخزين الجيد لا ينقذ كلمة موجودة في قائمة التسريبات، لأن المهاجم لا يخمنها حرفاً حرفاً بل يجدها جاهزة. والثاني أن الفرق بين العمودين يتسع كلما قويت الكلمة: فالهاش البطيء يضيف ثلاث إلى خمس مراتب من الصعوبة، لكن هذه المراتب لا تنفع إلا إذا كانت الكلمة أصلاً خارج القوائم. فالدرسان يعملان معاً: تفرد الكلمة يخرجها من القائمة، وقوتها تصمد أمام القوة الغاشمة، والتخزين الجيد يضاعف صمودها. ولهذا لا يكفي أن تكون كلمتك قوية إن كانت مستخدمة من قبل، ولا أن تكون فريدة إن كانت قصيرة متوقعة، بل تحتاج الاثنين: فريدة وطويلة عشوائية.

## تجربة عملية: هل تسربت كلمة مرورك؟

بقي سؤال صاحب الشركة: كيف أعرف أن كلمة مروري ظهرت في تسريب؟ هناك خدمات تجمع كلمات المرور من التسريبات المعروفة، أشهرها [Have I Been Pwned](https://haveibeenpwned.com/Passwords?ref=arabroot.io). لكن كيف تسألها عن كلمتك دون أن ترسلها إليها؟ الحل طريقة أنيقة اسمها إخفاء الهوية بـ K-Anonymity: تحسب بصمة SHA-1 لكلمتك، وترسل أول خمس خانات فقط من البصمة، فتعيد لك الخدمة كل البصمات التي تبدأ بهذه الخانات الخمس (مئات)، ثم تطابق أنت على جهازك. فالخدمة لا ترى كلمتك ولا بصمتها كاملة، والصورة التالية تبين ذلك:

![جهازك يحسب بصمة SHA-1 لكلمة المرور، ويرسل أول خمس خانات 5BAA6 فقط إلى خدمة الفحص التي لا ترى كلمتك، فترجع كل البصمات التي تبدأ بهذه الخانات مع عدد مرات ظهورها، ثم تتم المطابقة محلياً على جهازك فتظهر أن كلمة password ظهرت 52 مليون مرة](https://arabroot.io/content/images/2026/10/password-basics-02-kanon.webp)

طريقة K-Anonymity: تفحص كلمتك دون أن ترسلها، خمس خانات فقط تغادر جهازك

نطبقها بسكربت يفحص كلمات اختبارية فقط (لا تكتب كلمة مرورك الحقيقية في سطر الأوامر). احفظ `pwned_check.py`:

```python
import hashlib, sys, urllib.request
def pwned_count(password):
    h = hashlib.sha1(password.encode()).hexdigest().upper()
    prefix, suffix = h[:5], h[5:]
    url = f"https://api.pwnedpasswords.com/range/{prefix}"   # تغادر البادئة فقط
    req = urllib.request.Request(url, headers={"User-Agent": "arabroot-lab", "Add-Padding": "true"})
    body = urllib.request.urlopen(req, timeout=20).read().decode()
    for line in body.splitlines():
        suf, cnt = line.split(":")
        if suf == suffix:
            return int(cnt), prefix
    return 0, prefix
for pw in ["password", "Qwerty2026", "correct-horse-battery-staple-77", "P@ssw0rd"]:
    cnt, prefix = pwned_count(pw)
    verdict = f"seen {cnt:,} times in breaches — DO NOT USE" if cnt else "not found in the breach set"
    print(f"  {pw!r:36} -> {verdict}   (only prefix {prefix} left this machine)")
```

```text
  'password'                           -> seen 52,372,427 times in breaches — DO NOT USE   (only prefix 5BAA6 left this machine)
  'Qwerty2026'                         -> seen 41 times in breaches — DO NOT USE   (only prefix 4BB70 left this machine)
  'correct-horse-battery-staple-77'    -> not found in the breach set   (only prefix 513C9 left this machine)
  'P@ssw0rd'                           -> seen 6,421,042 times in breaches — DO NOT USE   (only prefix 21BD1 left this machine)
```

في المخرج أعلاه لاحظ التالي:

- `password` ظهرت أكثر من 52 مليون مرة في التسريبات، أي أنها أول ما يجربه أي مهاجم.
- `P@ssw0rd`، وهي كلمة «معقدة» باستبدال الحروف بأرقام ورموز، ظهرت أكثر من 6 ملايين مرة. وهذا يؤكد درس التجربة الأولى: التعقيد الظاهري لا يعني التفرد، فالمهاجمون يعرفون هذه الاستبدالات ويجربونها.
- `Qwerty2026` ظهرت 41 مرة فقط، أي أنها أقل شيوعاً لكنها موجودة، وأي ظهور يعني أنها في قوائم المهاجمين.
- العبارة الطويلة العشوائية لم تظهر، أي أنها لم تتسرب من قبل، وهذا ما تريده: كلمة لم يرها أحد.
- العمود الأخير يؤكد السرية: خمس خانات فقط من البصمة غادرت الجهاز في كل مرة، وهي لا تكفي لمعرفة كلمتك، فالمطابقة تمت على جهازك.
- أضفنا ترويسة `Add-Padding` في الطلب، وهي تجعل الخدمة تعيد عدداً ثابتاً من الصفوف لكل طلب، فلا يستطيع من يراقب حجم الرد أن يستنتج شيئاً عن كلمتك، وهذه طبقة خصوصية إضافية.

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

والخلاصة العملية: افحص كلماتك المهمة بهذه الطريقة، وإن ظهرت أي منها بأي عدد، غيرها فوراً في كل موقع استخدمتها فيه. والأفضل أن يفعل مدير كلمات المرور هذا الفحص تلقائياً لك.

وهناك فحص آخر مكمل: بدل أن تسأل «هل كلمة مروري تسربت؟»، تسأل «هل بريدي ظهر في تسريب موقع؟». فالخدمة نفسها تخبرك إن كان بريدك ضمن مستخدمي موقع اخترق، فتعرف أي حساباتك يحتاج تغيير كلمته ومراجعة نشاطه. والفرق أن فحص كلمة المرور يحميك من إعادة استخدام كلمة ضعيفة، وفحص البريد ينبهك إلى الحسابات التي قد تكون بياناتها بيد المهاجم. واجعل مراجعة الاثنين عادة دورية، فالتسريبات تظهر باستمرار، وما كان آمناً أمس قد يظهر في تسريب جديد اليوم.

ولاحظ أن هذا النوع من الفحص لا يحل محل الوقاية، وإنما يكملها. فالأفضل أن تكون كلماتك فريدة من البداية فلا يضرك تسريب موقع، لكن الواقع أن لكل منا حسابات قديمة بكلمات أعدنا استخدامها قبل أن نعرف، والفحص يساعدك على ترتيب أولويات التنظيف: ابدأ بالحسابات التي ظهرت في تسريب فعلاً، ثم المهمة (البريد والبنك)، ثم البقية.

## مدير كلمات المرور: الحل العملي للتفرد

قلنا إن الأهم أن تكون كلمة المرور فريدة لكل موقع، وإن حفظها مستحيل. والحل مدير كلمات المرور Password Manager: برنامج يولد لك كلمة مرور طويلة عشوائية فريدة لكل موقع، ويحفظها مشفرة، ويملؤها لك، فلا تحفظ إلا كلمة مرور رئيسية واحدة قوية. وبهذا تحل المشكلة من جذرها: كل حساب بكلمة فريدة لا تعرفها أنت أصلاً، فلا تعيد استخدامها، وتسرب موقع لا يمس غيره. وله فائدة دفاعية إضافية ضد التصيد ذكرناها سابقاً: المدير يربط كل كلمة بنطاقها، فلا يملؤها في موقع مزيف يشبه الحقيقي، فصمته إشارة أنك لست على الموقع الصحيح.

وأي مدير تختار؟ هناك خيارات مفتوحة المصدر تستضيفها بنفسك أو تستخدمها كخدمة، وقد خصصنا لمقارنتها واختيار الأنسب لفريقك مقالات في هذه المرحلة. والقاعدة الآن: استخدم مدير كلمات مرور، أي مدير موثوق خير من إعادة استخدام كلمة واحدة أو حفظها في ملف أو متصفح دون حماية. وفي المؤسسة، انقل كلمات المرور المشتركة من ملف Excel إلى خزنة بصلاحيات وسجل، وهو موضوع مقال مستقل في هذه المرحلة.

وقد يتساءل البعض: أليس وضع كل كلمات مروري في مكان واحد خطراً؟ ماذا لو اخترق المدير نفسه؟ والإجابة أن هذا قلق مشروع لكن الموازنة تميل بوضوح لصالح المدير. فالمدير الجيد يشفر خزنتك بكلمة مرورك الرئيسية تشفيراً لا يستطيع حتى مزود الخدمة فكه (تشفير من الطرف إلى الطرف)، فحتى لو سرقت خوادمه لم تقرأ كلماتك دون كلمتك الرئيسية. وفي المقابل، البديل الواقعي ليس «أمناً أكثر»، وإنما إعادة استخدام كلمة واحدة في كل مكان، أو حفظها في ملف مكشوف، وكلاهما أسوأ بكثير. فالمخاطرة الحقيقية ليست بين المدير والكمال، وإنما بين المدير والفوضى التي يعيشها أغلب الناس. والشرط الوحيد: اجعل كلمتك الرئيسية قوية جداً (عبارة طويلة)، وفعل عليها المصادقة الثنائية، فهي المفتاح الذي يحمي كل شيء.

وماذا عن حفظ كلمات المرور في المتصفح؟ هو أفضل من لا شيء، لكنه أضعف من مدير مخصص: فالمتصفح قد لا يشفر الخزنة بقوة، وقد يملؤها بسهولة أكبر لمن يصل إلى جهازك، ولا يقدم كل مزايا المدير مثل فحص التسريب والتنبيه على إعادة الاستخدام. فإن بدأت بالمتصفح فلا بأس، لكن انتقل إلى مدير مخصص حين تستطيع.

## المصادقة الثنائية: شبكة أمان تحت كلمة المرور

مهما كانت كلمة مرورك قوية، قد تسرق بالتصيد أو من تسريب. ولذلك تأتي المصادقة الثنائية MFA كطبقة ثانية: حتى لو عرف المهاجم كلمة مرورك، يحتاج شيئاً آخر تملكه (هاتفك أو مفتاح أمان) ليدخل. وهي أقوى ضابط يوقف سرقة الحسابات، كما رأينا في حادثة Snowflake. وليست كل أنواعها سواء: رمز الرسائل القصيرة SMS أضعفها لأنه يعترض أو ينقل بتبديل الشريحة، ورمز التطبيق TOTP أقوى، ومفاتيح المرور Passkeys ومفاتيح الأمان FIDO2 أقواها لأنها مقاومة للتصيد بتصميمها. وأي نوع خير من لا شيء، فابدأ بأي متاح اليوم، وفعله على البريد أولاً لأنه مفتاح استعادة كل حساب آخر. وتفاصيل المصادقة الثنائية وأنواعها موضوع المقال التالي مباشرة في هذه المرحلة:

وبهذا تكتمل صورة حماية حساباتك في أربع طبقات، كل طبقة تسد ما لا تسده الأخرى، كما تبين الصورة التالية:

![أربع طبقات متدرجة: كلمة مرور طويلة فريدة تصد التخمين وإعادة الاستخدام، ومدير كلمات المرور يولد ويحفظ كلمة فريدة لكل موقع، والمصادقة الثنائية تصد التصيد والتسريب، وجهاز نظيف محدث يصد البرمجيات، ولكل طبقة ما تسده وما لا تسده](https://arabroot.io/content/images/2026/10/password-basics-05-layers.webp)

أربع طبقات تحمي حساباتك: لا طبقة تكفي وحدها

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

## خرافات شائعة عن كلمات المرور

قبل أن نلخص، لنصحح بعض ما يتردد كأنه بديهي وهو خطأ:

- **«استبدال الحروف بأرقام يقويها» (مثل `P@ssw0rd`):** خطأ، رأينا أنها ظهرت 6 ملايين مرة، فالمهاجمون يعرفون هذه الاستبدالات ويجربونها أولاً.
- **«تغيير كلمة المرور كل شهر يحمي»:** خطأ بحسب NIST، فهو يدفع إلى تغييرات سطحية، والمطلوب التغيير عند التسرب فقط.
- **«كلمة معقدة قصيرة أقوى من عبارة طويلة»:** خطأ، الطول يضاعف الاحتمالات أسرع، والعبارة أسهل حفظاً.
- **«لا أحد يستهدف شخصاً مثلي»:** الهجمات آلية لا تعرف اسمك، تجرب الكلمات المسربة على الجميع.
- **«مدير كلمات المرور خطر لأنه يجمع كل شيء»:** المخاطرة الواقعية هي إعادة الاستخدام، والمدير الجيد يشفر خزنتك بما لا يفكه حتى مزوده.
- **«كتابتها على ورقة في درج مغلق حل»:** أفضل من إعادة الاستخدام أحياناً، لكنه لا يعمل على نطاق، وعرضة للاطلاع، والأفضل المدير المشفر.
- **«مؤشر القوة في الموقع يكفي»:** أغلب المؤشرات تقيس التعقيد لا التفرد، فقد تمدح كلمة مسربة ملايين المرات.

## إلى أين يتجه المستقبل؟ ما بعد كلمة المرور

كل ما سبق يعالج مشكلة كلمة المرور، لكن السؤال الأعمق: لماذا نحتفظ بها أصلاً؟ فكلمة المرور سر تعرفه أنت والموقع، ومشكلتها الجوهرية أنها قابلة للسرقة والتسريب والتصيد لأنها تنتقل. ولهذا يتجه المجال إلى الدخول دون كلمة مرور Passwordless عبر مفاتيح المرور Passkeys: مفتاح خاص لا يغادر جهازك أبداً، تثبت به هويتك للموقع دون أن ترسل سراً يمكن سرقته، وهو مقاوم للتصيد بتصميمه لأنه مربوط بالنطاق الحقيقي. والفكرة أن تختفي كلمة المرور من المعادلة كلياً: لا شيء يكتب، لا شيء يتسرب، لا شيء يصطاد. وهذا التحول بدأ فعلاً في كثير من الخدمات، وهو موضوع مقال مستقل في مرحلة الهوية. لكن حتى ينتشر، تبقى كلمات المرور معنا سنوات، ولذلك يبقى ما تعلمته في هذا المقال أساسياً: كلمة فريدة طويلة، ومدير، ومصادقة ثنائية، وجهاز نظيف.

## الجانب السعودي

الضوابط الأساسية للأمن السيبراني ECC تعالج كلمات المرور ضمن إدارة الهوية والوصول (المكون 2-2)، وتطلب المصادقة متعددة العوامل للدخول عن بعد وللحسابات المميزة، ومبدأ الحد الأدنى من الصلاحيات، والمراجعة الدورية للهويات والصلاحيات. ولاحظ أن التوجه العالمي الذي يمثله دليل NIST (الطول بدل التعقيد، ومنع المسرب، وعدم التغيير الدوري القسري) يتسق مع روح هذه الضوابط: الهدف حماية فعلية لا قواعد شكلية. والمصادقة متعددة العوامل تحديداً ليست توصية فحسب في السياق السعودي، بل متطلب في الضوابط للدخول عن بعد وللحسابات المميزة، أي أن كلمة المرور وحدها لا تكفي نظاماً لهذه الحالات، وهذا يتفق تماماً مع كل ما قلناه. وفي المؤسسة، اجعل سياستك مبنية على الأدلة لا على العادات القديمة: اطلب الطول، وامنع الكلمات المسربة بالفحص، ولا ترهق موظفيك بتغيير شهري يدفعهم إلى كلمات أضعف.

## أخطاء شائعة Common Mistakes

- **الاعتماد على الرموز بدل الطول:** `P@ssw0rd` ظهرت 6 ملايين مرة في التسريبات، فالتعقيد الظاهري لا يعني التفرد.
- **إعادة استخدام كلمة المرور:** أخطر عادة، فتسرب موقع واحد يفتح كل حساباتك. كل موقع بكلمة فريدة.
- **بناء الكلمة على معلومة عنك:** الاسم وسنة الميلاد واسم الفريق في قوائم المهاجمين، فلا تبن كلمتك عليها.
- **حفظ كلمات المرور في ملف أو متصفح دون حماية:** ملف Excel أو مذكرة بكلمات المرور هدف سهل، استخدم مديراً مشفراً.
- **الاكتفاء بكلمة المرور دون مصادقة ثنائية:** كلمة المرور قد تسرق مهما كانت قوية، والمصادقة الثنائية هي شبكة الأمان.
- **فرض قواعد تركيب وتغيير دوري:** للمؤسسات: هذه القواعد القديمة تضعف الأمن بحسب NIST، استبدلها بالطول وفحص التسريب.
- **الوثوق بمؤشر القوة في المواقع:** مؤشر «قوية» في كثير من المواقع يقيس التعقيد لا التفرد، فقد يمدح كلمة مسربة.

## قائمة عملية

- افحص كلماتك المهمة بطريقة K-Anonymity، وغير أي كلمة ظهرت في تسريب.
- استخدم مدير كلمات مرور، وولد به كلمة فريدة طويلة لكل موقع.
- استخدم عبارة مرور من أربع أو خمس كلمات عشوائية للكلمة الرئيسية التي تحفظها.
- فعل المصادقة الثنائية على البريد أولاً، ثم على الحسابات المهمة.
- لا تعد استخدام كلمة مرور، ولا تبنها على معلومة عنك.
- في المؤسسة: سياسة مبنية على الطول وفحص التسريب، لا على قواعد التركيب والتغيير الدوري.
- اجعل كلمتك الرئيسية (مفتاح المدير) أقوى ما لديك: عبارة طويلة لا تستخدمها في مكان آخر، وفعل عليها مصادقة ثنائية.
- افحص بريدك في خدمة تسريبات دورياً، ورتب تنظيف حساباتك: ما ظهر في تسريب أولاً، ثم المهم، ثم البقية.

## الخلاصة

وصلنا لنهاية الموضوع، وقد رأينا أن ما نظنه عن كلمات المرور خطأ في أغلبه. وأهم ما يجب أن تتذكره:

- قوة كلمة المرور في تفردها وطولها، لا في رموزها: `Password123!` تسقط في جزء من الثانية.
- المواقع الجيدة تخزن بصمة بطيئة لا الكلمة نفسها، والهاش البطيء يبطئ كل تخمين مئات آلاف المرات.
- NIST اليوم: طول 15 حرفاً فأكثر، لا قواعد تركيب، لا تغيير دوري قسري، ومنع الكلمات المسربة.
- تعرف أن كلمتك تسربت بطريقة K-Anonymity دون أن ترسلها: خمس خانات فقط تغادر جهازك.
- قوة كلمتك تحميك من التخمين، لكنها لا تحميك من التصيد ولا من سرقتها من جهازك، فتحتاج طبقات.
- مدير كلمات المرور يحل مشكلة التفرد، والمصادقة الثنائية شبكة الأمان تحت كلمة المرور، والمستقبل بلا كلمة مرور مع مفاتيح المرور.
- لا تعد استخدام كلمة مرور أبداً، فتسرب موقع واحد يفتح كل ما تشاركه الكلمة.

## تدريب عملي Practice

- عدل سكربت القاموس ليضيف أسماء ومدناً عربية شائعة إلى القائمة، وجرب كلمات مرور «شخصية» من اختراعك لترى أيها يسقط.
- افحص بطريقة K-Anonymity خمس كلمات مرور اختبارية من أنماط مختلفة (شائعة، باستبدال رموز، عبارة طويلة)، وقارن أعداد ظهورها.
- احسب عدد الاحتمالات لعبارة من أربع كلمات تختار كل واحدة من قائمة 7776 كلمة (7776 أس 4)، وقارنه بعدد احتمالات كلمة من 8 محارف عشوائية، واكتب أيهما أسهل حفظاً وأيهما أقوى.
- فعل المصادقة الثنائية على بريدك الآن إن لم تكن فعلتها، وأنشئ عبارة مرور طويلة لكلمتك الرئيسية، وابدأ باستخدام مدير كلمات مرور لحساب واحد مهم كتجربة.

## سجل التحديثات

- أكتوبر 2026: كتابة المقال، وتشغيل تجارب القاموس وتمديد الهاش وفحص التسريب على python:3.13.17-slim، ومراجعة دليل NIST SP 800-63B وتوصيات OWASP.