هاشات كلمات السرّ Password Hashes

من SalamaTech Wiki سلامتك ويكي
اذهب إلى التنقل اذهب إلى البحث

مقدمة

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

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

فهاش كلمة السرّ Password Hash إذا هو سلسلة من الرموز يتم توليدها من رموز كلمة السرّ عبر تمرير كلمة السرّ إلى تابع رياضي (دالة رياضية) mathematical function يسمى تابع هاش Cryptographic Hashing Function. هناك نماذج عديدة من توابع (دالات) الهاش مثل SHA1 و MD5. والمهم في هذه التوابع هي أن توليد الهاش من كلمة السرّ عملية سهلة ولكن استنتاج كلمة السرّ من الهاش عملية غاية في الصعوبة. وكذلك ان يكونتوليد الهاش نفسه من كلمتي سرّ مختلفتين غاية في الصعوبة.

المخطط التالي يبين مثالا لعملية الهاشينغ لكلمات مختلفة تبدأ بالكلمة نفسها وبين معظمها تباين بسيط:

1200px-Cryptographic Hash Function.svg.png


توابع الهاش Hash Cryptographic Funcitons

على التوابع الرياضية تحقيق ميزتين أساسيتين لكي تكون توابع هاش

  1. Pre-image resistance:
    إذا كان لديها هاش h يجب أن يكون من الصعب كثيرا معرفة كلمة السرّ p بحيث يكون h=hash(p). أي بعبارة أخرى يجب أن يكون تابع الهاش hash function تابعا أحاديّ الوجهة one-way function
  2. Second pre-image resistance:
    إذا كان لديها كلمة سرّ p1، يجب أن يكون من الصعب إيجاد p2 بحيث hash(p1)=hash(p2). تسمى هذه الميزة أيضا أحيانا weak collision resistance.

خوارزميات الهاشينغ واسعة الانتشار

Under Construction Non Commercial Reuse White Blue.png

هذه الفقرة ما تزال قيد الانشاء

  • MD5
  • SHA-1
  • RIPEMD-160
  • Whirlpool
  • SHA-2
  • SHA-3
  • BLAKE2
  • BLAKE3

جداول قوس قزح Rainbow Tables

Under Construction Non Commercial Reuse White Blue.png

هذه الفقرة ما تزال قيد الانشاء

تمليح كلمات السرّ Salting Passwords

Under Construction Non Commercial Reuse White Blue.png

هذه الفقرة ما تزال قيد الانشاء

برامج كشف كلمات السرّ Password Cracking Software

منذ ظهور كلمات السرّ، وظهور فكرة وخوارزميات هجوم القاموس قام العديد من المطورين والمخترقين بتطوير برامج كشف كلمات السرّ Password Cracking Software سواء لغرض خبيث كالاختراق والسرقة وانتحال الشخصية والتطفل أو لغرض حميد مثل استعادة كلمة سرّ فقدت أو نسيها صاحبها.

تقوم هذه البرامج بشكل أساسي بتوليد التركيبات بداية من القاموس الذي يزوده مستخدم البرنامج. بينما يقوم برنامج آخر بمحاولة أو تجريب هذه التركيبات لمعرفة إن كان أحدها هو كلمة السرّ الصحيحة المراد كشفها. وقد تدمج بعض البرامج المهمتين في برنامج واحد لتسريع العملية.

وفيما يلي أمثلة عن أشهر هذه البرامج:

Hashcat

Hashcat logo.png

هاش كات Hashcat برنامج لاستعادة أو كشف كلمات السرّ يعمل على منصات ويندوز Windows، لينوكس Linux، وماك أو إس إكس Mac OS X. ويعمل على وحدات المعالجة المركزية CPUs الخاصة بالجهاز أو على وحدات المعالجة الرسومات GPUs وهو لذلك من أسرع البرامج المستخدمة لكشف واستعادة كلمات السرّ.

يدعم هذا البرنامج عددا من طرق استعادة كلمات السرّ منها الهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وهجوم القناع Mask Attack وهجوم البصمة Fingerprint Attack

يستطيع أيضا البرنامج تجريب كلمات السر عبر مقارنة الهاش Hash الخاصة بكلمة السرّ المجربة مع الهاش Hash الخاصة بكلمة السرّ المستهدفة. ويدعم البرنامج مجموعة من خوارزميات الهاشينغ Hashing منها MD4 Hash، MD5 Hash، SHA-1 Hash، MySQL Hash، Microsoft LM Hashes، Cisco PIX Hashes وغيرها.

للمزيد قوموا بزيارة موقع https://hashcat.net/hashcat/.

John the Ripper

John the Ripper logo.png

جون السفاح John the Ripper برنامج لكشف واستعادة كلمات السرّ يستطيع استخدام الهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وهجوم القناع Mask Attack لتوليد التركيبات. صمم أساسا لاستعادة كلمات السرّ المخزنة في سجل مسخدمي نظام التشغيل Unix وقريبه Linux.

يستطيع البرنامج تجريب التركيبات عبر مقارنة الهاش الخاصة بالتركيبات الناتجة ممع الهاش الخاصة بكلمة السرّ المستهدفة ويدعم البرنامج مجموعة من خوارزميات الهاشينغ Hashing أهمها الخوارزميات الخاصة بحفظ كلمات السرّ على نسخ نظام التشغيل يونيك Unix ونكهات نظام التشغيل لينوكس Linux المختلفة ,والمبنية على DES MD5 و Blowfish، وأيضا خوارزميات Kerberos AFS و Windows LM Hash وعبر عدد من الإضافات MD4 و LDAP وMySQL وغيرها.

Cain and Abel

Cain and Abel logo.png

قابيل وهابيل Cain and برنامج لكشف واستعادة كلمات السرّ مصمم لنظام التشغيل ويندوز Windows يسمى اختصارا Cain. يستطيع Cain استعادة وكشف كلمات السرّ عبر استخدام عدة طرق منها packets sniffing والهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وكذلك عبر التحليل الكريبتوغرافي Cryptoanalytis باستخدام ما يسمى هجوم قوس قزح Rainbow Tables Attack.

تنقّل في الكتيب eBook Navigation

كلمات السرّ Passwords

أساسيات في الأمن الرقمي Information Security Essentials

الفهرس Index

الفهرس الكامل Full Index

اقرأ أيضا See Also

برامج كشف كلمات السرّ Password Cracking Software

مراجع References

دالة هاش تشفيرية على موقع ويكيبيديا بالعربية