هاشات كلمات السرّ Password Hashes
مقدمة
لا تقوم أنظمة التشغيل أو مواقع الإنترنت بتخزين كلمات سرّ المستخدمين بشكل صريح ضمن قواعد البيانات، وإنما تقوم عند إنشاء كلمة السرّ للمرة الأولى بتخزين ما يسمى بهاش كلمة السرّ Password Hash تلك، وعندما يرغب المستخدم تسجيل الدخول يتم مقارنة هاش كلمة السرّ التي ادخلها المستخدم مع الهاش المخزمة في قاعدة البيانات للتحقق من هوية المستخدم وصحة كلمة السرّ. أي أن التحقق من صحة كلمة السرّ عادة يتم بشكل غير مباشر عبر التحقق من تطابق الهاش المولد من كلمة السرّ المرتبطة بالحساب والهاش المولد من كلمة السرّ التي أدخلها المستخدم.
الهدف من هذه العملية هو عدم تخزين كلمات السرّ بشكلها الصريح ضمن قواعد بيانات المواقع او أنظمة التشغيل، وذلك لتخفيف أثر تسرب البيانات على المستخدمين. فلو تسربت قاعدة بيانات تتضمن بيانات المستخدمي لموقع شهير أو حتى جزء منها، ولو احتوى التسريب على كلمات السرّ الصريحة للمستخدمين لاستطاع المهاجمون استخدام كلمات السرّ لشتى الأغراض الخبيثة. لذلك تقوم المواقع بتخزين الهاشات بدل تخزين كلمات السرّ. فإن تسربت قاعدة بيانات هذه المواقع لتسربت الهاشات ولانه من الصعوبة البالغة استنتاج كلمة السرّ من الهاش ففي ذلك حماية للمستخدمين وبياناتهم وحساباتهم وفي ذلك أيضا حماية للموقع لكي يستطيع القائمون عليه إدارة أزمة تسرب البيانات بشكل جيد ومسؤول.
فهاش كلمة السرّ Password Hash إذا هو سلسلة من الرموز يتم توليدها من رموز كلمة السرّ عبر تمرير كلمة السرّ إلى تابع رياضي (دالة رياضية) mathematical function يسمى تابع هاش Cryptographic Hashing Function. هناك نماذج عديدة من توابع (دالات) الهاش مثل SHA1 و MD5. والمهم في هذه التوابع هي أن توليد الهاش من كلمة السرّ عملية سهلة ولكن استنتاج كلمة السرّ من الهاش عملية غاية في الصعوبة. وكذلك ان يكونتوليد الهاش نفسه من كلمتي سرّ مختلفتين غاية في الصعوبة.
المخطط التالي يبين مثالا لعملية الهاشينغ لكلمات مختلفة تبدأ بالكلمة نفسها وبين معظمها تباين بسيط:
توابع الهاش Hash Cryptographic Funcitons
على التوابع الرياضية تحقيق ميزتين أساسيتين لكي تكون توابع هاش
- Pre-image resistance:
- إذا كان لديها هاش h يجب أن يكون من الصعب كثيرا معرفة كلمة السرّ p بحيث يكون h=hash(p). أي بعبارة أخرى يجب أن يكون تابع الهاش hash function تابعا أحاديّ الوجهة one-way function
- Second pre-image resistance:
- إذا كان لديها كلمة سرّ p1، يجب أن يكون من الصعب إيجاد p2 بحيث hash(p1)=hash(p2). تسمى هذه الميزة أيضا أحيانا weak collision resistance.
خوارزميات الهاشينغ واسعة الانتشار
هذه الفقرة ما تزال قيد الانشاء
- MD5
- SHA-1
- RIPEMD-160
- Whirlpool
- SHA-2
- SHA-3
- BLAKE2
- BLAKE3
جداول قوس قزح Rainbow Tables
هذه الفقرة ما تزال قيد الانشاء
تمليح كلمات السرّ Salting Passwords
هذه الفقرة ما تزال قيد الانشاء
برامج كشف كلمات السرّ Password Cracking Software
مقدمة
<onlyinclude> منذ ظهور كلمات السرّ، وظهور فكرة وخوارزميات هجوم القاموس قام العديد من المطورين والمخترقين بتطوير برامج كشف كلمات السرّ Password Cracking Software سواء لغرض خبيث كالاختراق والسرقة وانتحال الشخصية والتطفل أو لغرض حميد مثل استعادة كلمة سرّ فقدت أو نسيها صاحبها.
تقوم هذه البرامج بشكل أساسي بتوليد التركيبات بداية من القاموس الذي يزوده مستخدم البرنامج. بينما يقوم برنامج آخر بمحاولة أو تجريب هذه التركيبات لمعرفة إن كان أحدها هو كلمة السرّ الصحيحة المراد كشفها. وقد تدمج بعض البرامج المهمتين في برنامج واحد لتسريع العملية.
الهجمات الالكترونية الخبيثة Malicious Cyber Attacks
اقرأ أيضا See Also
هاشات كلمات السرّ Password Hashes
تخمين كلمات السرّ Passwords Guessing
الهجوم الأعمى Brute Force Attack
هجوم القاموس Dictionary Attack
هجوم قوس قزح Rainbow Tables Attack
اصطياد كلمات السرّ Passwords Phishing
تسجيل نقرات المفاتيح Keystroke Logging
برامج تجريب كلمات السرّ Password Testing Software
مراجع References
موقع OpenWall المالك لتطبيق John the Ripper
أساسيات في الأمن الرقمي Information Security Essentials
اقرأ أيضا See Also
برامج كشف كلمات السرّ Password Cracking Software