ما هي وظيفة تجزئة التشفير؟

جدول المحتويات:

ما هي وظيفة تجزئة التشفير؟
ما هي وظيفة تجزئة التشفير؟
Anonim

وظيفة تجزئة التشفير (CHF) هي خوارزمية يمكن تشغيلها على بيانات مثل ملف فردي أو كلمة مرور لإنتاج قيمة تسمى المجموع الاختباري.

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

تتضمن بعض وظائف تجزئة التشفير شائعة الاستخدام MD5 و SHA-1 ، على الرغم من وجود العديد من الوظائف الأخرى أيضًا. غالبًا ما يشار إليها باسم "وظائف التجزئة" ، ولكن هذا ليس صحيحًا من الناحية الفنية. دالة التجزئة هي مصطلح عام يشمل CHFs جنبًا إلى جنب مع أنواع أخرى من الخوارزميات مثل فحوصات التكرار الدورية.

وظائف تجزئة التشفير: حالة استخدام

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

باستخدام حاسبة المجموع الاختباري ، يمكنك حساب المجموع الاختباري باستخدام وظيفة تجزئة تشفير معينة ، مثل SHA-2 ، ثم مقارنة ذلك بتلك المنشورة على موقع Mozilla. إذا كانتا متساويتين ، فيمكنك التأكد بشكل معقول من أن التنزيل الذي لديك هو التنزيل الذي تنوي موزيلا الحصول عليه.

Image
Image

هل يمكن عكس وظائف التجزئة المشفرة؟

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

قد يستخدم المتسللون جدول قوس قزح لمعرفة النص العادي لمجموع اختباري. جداول قوس قزح هي قواميس تسرد الآلاف أو الملايين أو حتى المليارات من المجاميع الاختبارية جنبًا إلى جنب مع قيمة النص العادي المقابلة لها.

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

إليك نسخة مبسطة من جدول قوس قزح لتوضيح كيفية عمل المرء عند استخدام دالة تجزئة التشفير SHA-1:

مثال جدول قوس قزح
نص عادي SHA-1 اختباري
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

يجب أن يعرف المتسلل خوارزمية تجزئة التشفير التي تم استخدامها لإنشاء المجاميع الاختبارية لمعرفة القيم.

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

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

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

وظائف كلمات المرور والتجزئة المشفرة

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

نظرًا لأن الفرنك السويسري ينتج مجموع اختباري غير قابل للعكس ، فهل من الآمن أن تجعل كلمة مرورك بسيطة مثل 12345 ، بدلاً من 12 @ 34 $ 5، ببساطة لأن المجاميع الاختبارية نفسها لا يمكن فهمها؟ لا ، وهذا هو السبب.

من المستحيل فك كلمتين من كلمات المرور بمجرد النظر فقط إلى المجاميع الاختبارية:

MD5 لـ 12345:827ccb0eea8a706c4c34a16891f84e7b

MD5 لـ 12 @ 34 $ 5:a4d3cc004f487b18b2ccd4853053818b

للوهلة الأولى ، قد تعتقد أنه من الجيد استخدام أي من كلمات المرور هذه. هذا صحيح إذا حاول المهاجم اكتشاف كلمة المرور الخاصة بك عن طريق تخمين المجموع الاختباري لـ MD5 ، وهو ما لا يفعله أحد ، ولكنه ليس صحيحًا إذا تم تنفيذ قوة غاشمة أو هجوم على القاموس ، وهو تكتيك شائع.

يحدث هجوم القوة الغاشمة عندما يتم أخذ عدة طعنات عشوائية لتخمين كلمة المرور. في هذه الحالة ، سيكون من السهل تخمين 12345 ، لكن من الصعب جدًا تحديد الآخر بشكل عشوائي.يتشابه هجوم القاموس في أن المهاجم يمكنه تجربة كل كلمة أو رقم أو عبارة من قائمة كلمات المرور الشائعة (وليست شائعة جدًا) ، و 12345هي واحدة من تلك الكلمات الشائعة كلمات السر.

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

مزيد من المعلومات حول وظائف تجزئة التشفير

قد يبدو أن وظائف تجزئة التشفير مرتبطة بالتشفير ، لكن هاتين الوظيفتين تعملان بطرق مختلفة.

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

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

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

يمكن أن تحدث الاصطدامات لأن كل فرنك سويسري ينتج قيمة بطول ثابت بغض النظر عن بيانات الإدخال. على سبيل المثال ، تقوم دالة تجزئة التشفير MD5 بإنشاء 827ccb0eea8a706c4c34a16891f84e7b و 1f633b2909b9c1addf32302c7a497983 و e10adc3949ba59abbe56e057f20f883e لثلاث مجموعات مختلفة تمامًا من البيانات.

المجموع الاختباري الأول من 12345. تم إنشاء الثاني من أكثر من 700 حرف ورقم ، والثالث من 123456. جميع المدخلات الثلاثة ذات أطوال مختلفة ، لكن النتائج دائمًا ما تكون 32 حرفًا فقط ، منذ استخدام المجموع الاختباري MD5.

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

لهذا السبب تم إنشاء وظائف تجزئة التشفير الأخرى. بينما يولد MD5 قيمة مكونة من 32 حرفًا ، ينشئ SHA-1 40 حرفًا وينشئ SHA-2 (512) 128 حرفًا. وكلما زاد عدد الأحرف في المجموع الاختباري ، قل احتمال حدوث تضارب.

موصى به: