كلمات المرور والقرصنة: شرح مصطلحات التجزئة والتمليح و SHA-2
كلمه السر:
مجموعة سرية من الأحرف المستخدمة للوصول إلى مورد مؤمن مثل جهاز كمبيوتر أو برنامج أو دليل أو ملف ؛ غالبًا ما يتم استخدامه مع اسم مستخدم.
أقل ما يمكن أن يفعله الموقع هو الحفاظ على أمان بياناتك في قاعدة بيانات ، لكن أمان كلمة المرور أمر معقد. هذا ما يعنيه كل هذا
من النص الواضح إلى المجزأ والمملح والمفصل والمشفّر ، فإن أمان كلمة المرور مليء بالمصطلحات.
من النص الواضح إلى المجزأ والمملح والمفصل والمشفّر ، فإن أمان كلمة المرور مليء بالمصطلحات. تصوير: جان ميكس / علمي / علمي
صموئيل جيبس
الخميس 15 ديسمبر 2016 09.18 بتوقيت جرينتش
من Yahoo و MySpace و TalkTalk إلى Ashley Madison و Adult Friend Finder ، تمت سرقة المعلومات الشخصية من قبل المتسللين من جميع أنحاء العالم.
ولكن مع كل عملية اختراق ، هناك سؤال كبير يتعلق بمدى حماية الموقع لبيانات المستخدمين. هل كانت مفتوحة ومتاحة مجانًا ، أم أنها مجزأة ومضمونة وغير قابلة للكسر عمليًا؟
من نص واضح إلى مجزأ ومملح ومفصل ومشفّر ، إليك ما تعنيه حقًا المصطلحات غير القابلة للاختراق لأمان كلمات المرور.
المصطلحات
نص عادي
عندما يتم وصف شيء ما يتم تخزينه على أنه “نص واضح” أو “نص عادي” ، فهذا يعني أن الشيء مفتوح كنص بسيط – مع عدم وجود أمان بخلاف التحكم البسيط في الوصول إلى قاعدة البيانات التي تحتوي عليه.
إذا كان لديك حق الوصول إلى قاعدة البيانات التي تحتوي على كلمات المرور ، فيمكنك قراءتها تمامًا كما يمكنك قراءة النص الموجود في هذه الصفحة.
تجزئة
الإعلانات
عندما يتم “تجزئة” كلمة المرور ، فهذا يعني أنها تحولت إلى تمثيل مشوش لنفسها. يتم أخذ كلمة مرور المستخدم – وباستخدام مفتاح معروف في الموقع – يتم اشتقاق قيمة التجزئة من الجمع بين كل من كلمة المرور والمفتاح ، باستخدام خوارزمية محددة.
للتحقق من صحة كلمة مرور المستخدم ، يتم تجزئة القيمة مقارنةً بتلك المخزنة في السجل في كل مرة يقوم فيها بتسجيل الدخول.
لا يمكنك تحويل قيمة مجزأة إلى كلمة مرور مباشرة ، ولكن يمكنك معرفة كلمة المرور إذا كنت تقوم باستمرار بإنشاء تجزئات من كلمات المرور حتى تجد واحدة تتطابق ، أو ما يسمى هجوم القوة الغاشمة ، أو طرق مماثلة.
التمليح
غالبًا ما توصف كلمات المرور بأنها “مجزأة ومملحة”. التمليح هو ببساطة إضافة سلسلة فريدة وعشوائية من الأحرف المعروفة فقط للموقع لكل كلمة مرور قبل تجزئتها ، وعادة ما يتم وضع هذا “الملح” أمام كل كلمة مرور.
يحتاج الموقع إلى تخزين قيمة الملح ، مما يعني في بعض الأحيان أن المواقع تستخدم نفس الملح لكل كلمة مرور. هذا يجعلها أقل فعالية مما لو تم استخدام الأملاح الفردية.
يعني استخدام الأملاح الفريدة أن كلمات المرور الشائعة التي يشاركها عدة مستخدمين – مثل “123456” أو “كلمة المرور” – لا يتم الكشف عنها فورًا عند تحديد إحدى كلمات المرور المجزأة – لأنه على الرغم من أن كلمات المرور هي نفسها ، فإن القيم المملحة والمجزأة هي ليس.
تحمي الأملاح الكبيرة أيضًا من طرق معينة للهجوم على التجزئات ، بما في ذلك جداول قوس قزح أو سجلات كلمات المرور المجزأة التي تم كسرها سابقًا.
الإعلانات
يمكن تكرار كل من التجزئة والتمليح أكثر من مرة لزيادة صعوبة كسر الأمان.
توابل
المشفرون يحبون توابلهم. يشبه “الفلفل” الملح – وهي قيمة مضافة إلى كلمة المرور قبل تجزئتها – ولكن عادةً ما يتم وضعها في نهاية كلمة المرور.
يوجد على نطاق واسع نسختان من الفلفل. الأول هو ببساطة قيمة سرية معروفة تضاف إلى كل كلمة مرور ، والتي تكون مفيدة فقط إذا لم يعرفها المهاجم.
والثاني هو القيمة التي يتم إنشاؤها عشوائيًا ولكن لا يتم تخزينها مطلقًا. هذا يعني أنه في كل مرة يحاول فيها المستخدم تسجيل الدخول إلى الموقع ، يجب عليه تجربة مجموعات متعددة من خوارزمية الفلفل والتجزئة للعثور على قيمة الفلفل الصحيحة ومطابقة قيمة التجزئة.
حتى مع وجود نطاق صغير في قيمة الفلفل غير المعروفة ، يمكن أن تستغرق تجربة جميع القيم دقائق لكل محاولة تسجيل دخول ، لذلك نادرًا ما يتم استخدامها.
التشفير
التشفير ، مثل التجزئة ، هو إحدى وظائف التشفير ، ولكن الاختلاف الرئيسي هو أن التشفير شيء يمكنك التراجع عنه ، بينما التجزئة ليست كذلك. إذا كنت بحاجة إلى الوصول إلى النص المصدر لتغييره أو قراءته ، فإن التشفير يسمح لك بتأمينه ولكن لا يزال بإمكانك قراءته بعد فك تشفيره. لا يمكن عكس التجزئة ، مما يعني أنه يمكنك فقط معرفة ما يمثله التجزئة من خلال مطابقته مع تجزئة أخرى لما تعتقد أنه نفس المعلومات.
إذا طلب منك موقع مثل البنك التحقق من أحرف معينة من كلمة المرور الخاصة بك ، بدلاً من إدخال كل شيء ، فإنه يقوم بتشفير كلمة المرور الخاصة بك حيث يجب فك تشفيرها والتحقق من الأحرف الفردية بدلاً من مطابقة كلمة المرور بالكامل مع التجزئة المخزنة.
تُستخدم كلمات المرور المشفرة عادةً للتحقق من خلال العامل الثاني ، بدلاً من استخدامها كعامل تسجيل دخول أساسي.
السداسي عشري
الرقم السداسي العشري ، المعروف أيضًا باسم “سداسي عشري” أو “الأساس 16” ، هو طريقة لتمثيل القيم من صفر إلى 15 باستخدام 16 رمزًا منفصلاً. تمثل الأرقام من 0 إلى 9 القيم من صفر إلى تسعة ، حيث تمثل a و b و c و d و e و f 10-15.
يتم استخدامها على نطاق واسع في الحوسبة كطريقة صديقة للإنسان لتمثيل الأرقام الثنائية. يمثل كل رقم سداسي عشري أربعة بت أو نصف بايت.
الخوارزميات
MD5
الإعلانات
تم تصميم MD5 في الأصل كخوارزمية تجزئة مشفرة ، ونشر لأول مرة في عام 1992 ، وقد ثبت أن MD5 به نقاط ضعف واسعة ،
نسبيًا من السهل كسرها.
تُستخدم قيم تجزئة 128 بت ، والتي يسهل إنتاجها ، بشكل أكثر شيوعًا للتحقق من الملفات للتأكد من أن الملف الذي تم تنزيله لم يتم العبث به. لا ينبغي استخدامه لتأمين كلمات المرور.
SHA-1
خوارزمية التجزئة الآمنة 1 (SHA-1) هي خوارزمية تجزئة مشفرة صممتها في الأصل وكالة الأمن القومي الأمريكية في عام 1993 وتم نشرها في عام 1995.
يقوم بإنشاء قيمة تجزئة 160 بت يتم تقديمها عادةً كرقم سداسي عشري مكون من 40 رقمًا. اعتبارًا من عام 2005 ، لم يعد SHA-1 آمنًا لأن الزيادة الهائلة في قوة الحوسبة والأساليب المعقدة تعني أنه كان من الممكن تنفيذ ما يسمى بالهجوم على التجزئة وإنتاج كلمة مرور المصدر أو النص دون إنفاق الملايين على الحوسبة الموارد والوقت.
SHA-2
خليفة SHA-1 ، خوارزمية التجزئة الآمنة 2 (SHA-2) هي عائلة من وظائف التجزئة التي تنتج قيم تجزئة أطول مع 224 ، 256 ، 384 أو 512 بت ، مكتوبة كـ SHA-224 ، SHA-256 ، SHA-384 أو SHA-512.
تم نشره لأول مرة في عام 2001 ، وصممته مرة أخرى وكالة الأمن القومي ، ولم يتم بعد إثبات هجوم فعال ضده. هذا يعني أن SHA-2 موصى به بشكل عام للتجزئة الآمنة.
SHA-3 ، رغم أنه ليس بديلاً لـ SHA-2 ، لم يتم تطويره بواسطة وكالة الأمن القومي ولكن بواسطة Guido Bertoni و Joan Daemen و Michaël Peeters و Gilles Van Assche من STMicroelectronics وجامعة Radboud في Nijmegen ، هولندا. تم توحيده في عام 2015.
بكربت
نظرًا لأن القوة الحسابية زادت عدد تخمينات القوة الغاشمة التي يمكن أن يقوم بها المتسلل لخوارزمية تجزئة فعالة ، فقد زاد بشكل كبير.
تم تصميم Bcrypt ، الذي يعتمد على تشفير السمكة المنتفخة ويتضمن ملحًا ، للحماية من هجمات القوة الغاشمة عن طريق التباطؤ عن قصد في العمل. يحتوي على ما يسمى عامل العمل الذي يضع كلمة مرورك بشكل فعال من خلال عدد محدد من جولات التمديد قبل أن يتم تجزئتها.
من خلال زيادة عامل العمل ، يستغرق الأمر وقتًا أطول لفرض كلمة المرور ومطابقة التجزئة. النظرية هي أن مالك الموقع يحدد عامل عمل مرتفع بدرجة كافية لتقليل عدد التخمينات التي يمكن لأجهزة الكمبيوتر الحالية إجراؤها في كلمة المرور وإطالة الوقت من أيام أو أسابيع إلى شهور أو سنوات ، مما يجعلها باهظة الثمن وتستغرق وقتًا طويلاً.
الإعلانات
PBKDF2
وظيفة اشتقاق المفتاح المعتمد على كلمة المرور 2 (PBKDF2) ، التي طورتها RSA Laboratories ، هي خوارزمية أخرى لتمديد المفتاح تجعل التجزئات أكثر صعوبة في القوة الغاشمة. تعتبر القوة الغاشمة أسهل قليلاً من Bcrypt عند قيمة معينة لأنها تتطلب ذاكرة كمبيوتر أقل لتشغيل الخوارزمية.
سكربت
Scrypt مثل Bcrypt و PBKDF2 عبارة عن خوارزمية توسع المفاتيح وتجعل من الصعب فرض هجوم هاش. على عكس PBKDF2 ، تم تصميم scrypt لاستخدام إما كمية كبيرة من ذاكرة الكمبيوتر أو فرض العديد من العمليات الحسابية أثناء تشغيله.
بالنسبة للمستخدمين الشرعيين الذين يتعين عليهم تجزئة كلمة مرور واحدة فقط للتحقق مما إذا كانت تتطابق مع القيمة المخزنة ، فإن التكلفة لا تكاد تذكر. ولكن بالنسبة لشخص يحاول تجربة 100000 كلمة مرور ، فإن ذلك يجعل تكلفة القيام بذلك أعلى بكثير أو تستغرق وقتًا طويلاً.
لكن ماذا عن كلمات المرور؟
إذا تم تجزئة كلمة المرور بشكل صحيح باستخدام SHA-2 أو أحدث ، وكانت مملحة ، فإن كسر كلمة المرور يتطلب هجومًا شديد القوة.
كلما طالت كلمة المرور ، كلما طالت مدة هجوم القوة الغاشمة. وكلما طال وقت هجوم القوة الغاشمة ، زادت تكلفة مطابقة التجزئة واكتشاف كلمة المرور.
مما يعني أنه كلما كانت كلمة المرور أطول كان ذلك أفضل ، لكن تكوين كلمة المرور يحدث فرقًا أيضًا. ستكون كلمة المرور العشوائية المكونة من ثمانية أحرف أكثر أمانًا من كلمة قاموس مكونة من ثمانية أحرف ، لأن هجمات القوة الغاشمة تستخدم القواميس والأسماء وقوائم الكلمات الأخرى كعلف.
ومع ذلك ، إذا كان الموقع يخزن كلمة مرورك كنص عادي ، فلا يهم طول مدة كلمة مرورك في حالة سرقة قاعدة البيانات.