MD5 أم SHA-256: أي تجزئة عليك استخدامها؟
تحوّل MD5 وSHA-256 كلتاهما الملف إلى بصمة قصيرة، لكن واحدة فقط ما زال يمكن الوثوق بها حين يحاول أحدهم خداعك. قسنا سرعة سبع دوال تجزئة ونظرنا في ما تعنيه كلمة «مكسورة» حقًا.
صفحات التنزيل وأدوات النسخ الاحتياطي والتقارير الجنائية كلها تذكر قيم تجزئة، أحيانًا MD5 وأحيانًا SHA-256 وأحيانًا كلتيهما. تبدوان متشابهتين، سلاسل طويلة من الحروف والأرقام، لكنهما ليستا قابلتين للتبادل. قسنا سرعة سبع دوال تجزئة في المتصفح ونظرنا في ما تعنيه كلمة «مكسورة» فعلًا بالنسبة لـMD5، لنعرف متى تكون كل منها الخيار الصحيح.
ما التجزئة
دالة التجزئة تحوّل أي كمية من البيانات إلى بصمة قصيرة ثابتة الطول. البيانات نفسها تعطي دائمًا البصمة نفسها، وأصغر تغيير يعطي بصمة مختلفة كليًا. تغيير حرف كبير واحد يكفي:
MD5 Tooloat dc73decfa67455e9850e5c5436f0f352
MD5 tooloat 3cf2985ef86fe54d497628b19ec2ffa3
SHA-256 Tooloat 593679c12c57025648598e66c6fdd88b1dcbf8b58543a3c150817e8dd48be2db
SHA-256 tooloat 31f0fbc2bb921f2f1083df2e23a4dd3bdc2a626ae71b6b8cd90849a5efc831efهذا ما يجعل قيم التجزئة مفيدة لفحص الملفات. إن طابقت قيمة SHA-256 لملفك المنزّل القيمة التي ينشرها الناشر، فالملف هو ما نشره، حتى آخر بت.
ما الذي تعنيه «مكسورة» بالنسبة لـMD5
التجزئة الآمنة يجب أن تجعل من المستحيل عمليًا إيجاد مدخلين مختلفين بالبصمة نفسها، أي تصادم. بالنسبة لـMD5 توقف ذلك عن الصحة عام 2004 حين نشر باحثون أول التصادمات. ومنذ ذلك الحين لم تفعل الهجمات إلا التحسن:
- 2008: استخدم باحثون تصادمات MD5 لإنشاء جهة إصدار شهادات مزيفة كانت المتصفحات ستثق بها.
- 2012: استخدم برنامج التجسس الخبيث Flame تصادمًا في MD5 لتزوير شهادة توقيع شيفرة من Microsoft، فبدا كتحديث لـWindows.
- اليوم: أدوات مجانية تولّد زوجًا من الملفات المختلفة بقيمة MD5 نفسها في ثوانٍ على حاسوب محمول عادي.
تبعتها SHA-1. في 2017 نشر فريق من Google وCWI Amsterdam ملفي PDF مختلفين بقيمة SHA-1 نفسها، وبحلول 2020 صار الهجوم عمليًا ضد صيغ حقيقية. أما SHA-256، من عائلة SHA-2، فلا يُعرف لها تصادم، ولا لـSHA-512 أو BLAKE3.
للهجوم حد مهم. التصادم يعني أن أحدهم صنع ملفين يتطابقان مع بعضهما. لا يسمح لأحد بصنع ملف جديد يطابق قيمة MD5 لديك أصلًا، وهي مسألة أصعب بكثير لم يحلها أحد بالنسبة لـMD5. هذا التمييز يحدد متى تبقى MD5 مقبولة.
السرعة
مولّد التجزئة في Tooloat على معالج Intel Xeon من 2013، يقرأ الملف بقطع من 2 ميغابايت. القراءة وحدها جرت بسرعة 325 ميغابايت/ث.
كانت MD5 أسرع بـ1.8 مرة من SHA-256 هنا. وبلغة الحياة اليومية، يستغرق فيديو بحجم 4 غيغابايت نحو 22 ثانية مع MD5 ونحو 40 مع SHA-256. يتقلص الفرق على المعالجات الأحدث، ولكثير منها تعليمات مدمجة لـSHA-256. وSHA-256 المدمجة في المتصفح، بشيفرة أصلية لا WebAssembly، بلغت 228 ميغابايت/ث على الجهاز القديم نفسه. ومع الملفات الكبيرة يكون القرص هو الحد غالبًا على أي حال.
كون SHA-512 أسرع من SHA-256 ليس خطأ: فهي تعمل على أرقام 64 بت تناسب المعالجات الحديثة، وتعالج بيانات أكثر في كل خطوة. وBLAKE3 الأحدث بين المجموعة ومصممة لتكون أسرع بعد مع عدة أنوية وتعليمات عريضة، وهذا ما لا يستخدمه اختبارنا ذو الخيط الواحد.
متى تكون MD5 مقبولة ومتى لا
| الاستخدام | MD5 أو SHA-1 | استخدم بدلًا منها |
|---|---|---|
| فحص تنزيل مقابل مجموع اختباري من الناشر | فقط إن كان هذا كل ما ينشره | SHA-256 |
| اكتشاف التلف العرضي في النسخ الاحتياطية أو النقل | مقبولة | أي دالة، بما فيها CRC-32 |
| إيجاد الملفات المكررة على قرصك | مقبولة | أي دالة |
| التواقيع الرقمية والشهادات | غير آمنة | SHA-256 أو أقوى |
| إثبات أن مستندًا لم يغيّره غيرك | غير آمنة | SHA-256 أو أقوى |
| تخزين كلمات المرور | غير آمنة | Argon2id أو bcrypt أو scrypt |
القاعدة العامة: إن كان أحدهم قد يعدّ ملفًا عمدًا لخداع الفحص، فاستخدم SHA-256. وإن كان الخطر الوحيد عرضيًا، ككابل أو قرص أو شبكة تقلب بتًا، فما زالت MD5 تكتشفه، وكذلك CRC-32 الأبسط بكثير.
كيف تفحص تجزئة ملف
- افتح مولّد التجزئة وأفلت الملف. يُقرأ بقطع صغيرة في متصفحك، فتعمل حتى الملفات الكبيرة ولا يُرفع شيء.
- اختر الخوارزميات التي تحتاجها. كلها تُحسب في مرور واحد، فإضافة المزيد تكلّف القليل.
- الصق المجموع الاختباري من صفحة التنزيل في التحقق مقابل مجموع اختباري، أو المحتوى الكامل لملف SHA256SUMS. تعرف الأداة الخوارزمية من التطابق وتخبرك إن كان يطابق.
إن لم يطابق المجموع الاختباري، فلا تفتح الملف. نزّله مجددًا، وإن بقي مختلفًا فالملف ليس ما أصدره الناشر.
أسئلة وأجوبة
هل ما زالت MD5 آمنة الاستخدام؟
لاكتشاف التلف العرضي، نعم. ولأي شيء قد يعدّ فيه أحدهم ملفًا عمدًا، كالتواقيع والشهادات والفحوص الأمنية، لا: يمكن صنع تصادمات MD5 في ثوانٍ.
هل SHA-256 أسرع من MD5؟
لا. في اختبارنا بالمتصفح جرت MD5 بسرعة 186 ميغابايت/ث وSHA-256 بسرعة 104 ميغابايت/ث. المعالجات ذات تعليمات SHA تضيّق الفجوة، وبلغت SHA-256 المدمجة في المتصفح 228 ميغابايت/ث على الجهاز نفسه.
هل يمكن أن يكون لملفين القيمة نفسها في SHA-256؟
نظريًا، لأن الملفات الممكنة أكثر من قيم التجزئة، لكن لم يُعثر على زوج كهذا قط، وإيجاد واحد أبعد بكثير من أي طريقة معروفة.
أي تجزئة أستخدم للمجاميع الاختبارية؟
SHA-256. إنها المعيار للمجاميع الاختبارية المنشورة، ويستطيع كل نظام تشغيل حسابها، وهي آمنة ضد العبث المتعمد.
الأدوات في هذا المقال
المزيد من المدونة
كيف تزيل الموقع والبيانات الوصفية الأخرى من الصور
كل صورة تحمل بيانات مخفية عن الكاميرا والوقت وغالبًا المكان. قرأنا ما كانت تسع صور منشورة ما زالت تكشفه، وأضفنا موقعًا لنُظهر مدى دقته، وتحققنا من أن إزالته لا تمس الصورة.
كم يستغرق كسر كلمة مرور؟
قوة كلمة المرور تأتي من عدد كلمات المرور التي كان يمكن اختيارها، لا من مدى تعقيد مظهرها. حسبنا كم تصمد أنواع شائعة من كلمات المرور أمام بطاقة رسوميات حديثة، ولماذا تسقط أولًا تلك التي يخترعها الناس.
هل ترفع المحوّلات على الإنترنت ملفاتك؟
معظم المحوّلات على الإنترنت ترسل ملفك إلى خادم، وبعضها يؤدي العمل في متصفحك بدلًا من ذلك. هكذا تعرف أي نوع هو الموقع في دقيقة تقريبًا، وهكذا بدا كل طلب حين حوّلنا صورة على موقعنا.