ما هو SHA-1؟
SHA-1، أو “خوارزمية التجزئة الآمنة 1″، هي دالة تجزئة تشفيرية. تأخذ هذه الدالة مدخلات من أي حجم وتعيد قيمة تجزئة ثابتة بطول 160 بت (20 بايت). تُستخدم قيم التجزئة هذه لتمثيل البيانات بطريقة فريدة، بحيث أن أي تغيير صغير في البيانات الأصلية سيؤدي إلى تغيير كبير في قيمة التجزئة. تم تطوير SHA-1 بواسطة وكالة الأمن القومي (NSA) ونُشر كمعيار في عام 1995.
على الرغم من أن SHA-1 كان يُعتبر في السابق آمناً، إلا أنه أصبح الآن عرضة للاصطدامات، مما يعني أنه من الممكن العثور على ملفين مختلفين لهما نفس قيمة التجزئة. ونتيجة لذلك، لم يعد يُوصى باستخدام SHA-1 لأغراض الأمان، ويُنصح باستخدام خوارزميات تجزئة أكثر أمانًا مثل SHA-256 أو SHA-3.
وظائف SHA1SUM
يقوم برنامج SHA1SUM بوظيفتين رئيسيتين:
- حساب قيم التجزئة: يقوم SHA1SUM بحساب قيمة تجزئة SHA-1 لملف معين.
- التحقق من قيم التجزئة: يقارن SHA1SUM قيمة التجزئة المحسوبة للملف بقيمة تجزئة معروفة (عادةً ما تكون مُقدمة من قبل المستخدم أو مصدر الملف).
هذه الوظائف تجعل SHA1SUM أداة قيمة للتحقق من سلامة البيانات. على سبيل المثال، عند تنزيل ملف من الإنترنت، يمكنك استخدام SHA1SUM للتأكد من أن الملف الذي تم تنزيله مطابق للملف الأصلي الموجود على الخادم، مما يحميك من البرامج الضارة أو الملفات التالفة.
كيفية استخدام SHA1SUM
يختلف استخدام SHA1SUM قليلاً اعتمادًا على نظام التشغيل. ومع ذلك، فإن المبدأ الأساسي يظل كما هو: يمكنك تشغيل الأداة مع اسم الملف كمدخل، وستقوم الأداة بحساب قيمة تجزئة SHA-1 للملف.
في نظام التشغيل Windows
على نظام التشغيل Windows، يمكنك استخدام أدوات سطر الأوامر مثل CertUtil أو PowerShell لحساب قيم تجزئة SHA-1.
باستخدام CertUtil:
افتح موجه الأوامر (Command Prompt) أو PowerShell، ثم اكتب الأمر التالي:
certutil -hashfile اسم_الملف SHA1
استبدل “اسم_الملف” باسم الملف الذي تريد حسابه. سيقوم الأمر بعرض قيمة تجزئة SHA-1 للملف.
باستخدام PowerShell:
افتح PowerShell، ثم استخدم الأمر التالي:
Get-FileHash -FilePath اسم_الملف -Algorithm SHA1
سيقوم PowerShell بعرض قيمة تجزئة SHA-1 للملف، بالإضافة إلى معلومات أخرى.
في نظام التشغيل Linux/Unix/macOS
في أنظمة التشغيل المستندة إلى Linux وUnix وmacOS، عادةً ما يكون برنامج SHA1SUM مُثبتًا بشكل افتراضي. يمكنك استخدامه من خلال سطر الأوامر (Terminal) عن طريق كتابة الأمر التالي:
sha1sum اسم_الملف
سيؤدي هذا إلى عرض قيمة تجزئة SHA-1 للملف، متبوعة باسم الملف.
أمثلة على الاستخدام
لنأخذ بعض الأمثلة العملية على كيفية استخدام SHA1SUM:
1. التحقق من سلامة ملف تم تنزيله:
لنفترض أنك قمت بتنزيل ملف تثبيت برنامج من الإنترنت. يقوم موقع الويب بتوفير قيمة تجزئة SHA-1 للملف. بعد تنزيل الملف، يمكنك استخدام SHA1SUM لحساب قيمة تجزئة الملف الذي قمت بتنزيله. إذا تطابقت قيمة التجزئة التي حسبتها مع القيمة التي يوفرها موقع الويب، فهذا يعني أن الملف لم يتغير أثناء التنزيل، ويمكنك تثبيته بأمان. إذا لم تتطابق القيم، فهذا يشير إلى أن الملف ربما تعرض للتلف أو التعديل، ويجب عليك إعادة تنزيله.
2. التحقق من سلامة ملف بعد النسخ:
إذا قمت بنسخ ملف من محرك أقراص ثابت إلى آخر، يمكنك استخدام SHA1SUM للتأكد من أن النسخة المطابقة سليمة. احسب قيمة تجزئة SHA-1 للملف الأصلي والملف المنسوخ. إذا تطابقت القيم، فهذا يعني أن الملفات متطابقة.
3. مقارنة إصدارات الملفات:
إذا كان لديك إصداران مختلفان من نفس الملف، يمكنك استخدام SHA1SUM لمقارنة قيم التجزئة الخاصة بهما. إذا كانت قيم التجزئة مختلفة، فهذا يعني أن الملفين مختلفان.
أفضل الممارسات عند استخدام SHA1SUM
لضمان استخدام SHA1SUM بشكل فعال، اتبع أفضل الممارسات التالية:
- الحصول على قيمة التجزئة من مصدر موثوق به: تأكد من أنك تحصل على قيمة التجزئة الأصلية للملف من مصدر موثوق به (مثل موقع الويب الرسمي للمطور).
- التحقق من قيمة التجزئة بعد التنزيل/النسخ: قم دائمًا بالتحقق من قيمة التجزئة بعد تنزيل ملف أو نسخه للتأكد من سلامته.
- تخزين قيم التجزئة بشكل آمن: إذا كنت تحتفظ بقيم التجزئة لملفاتك، فقم بتخزينها في مكان آمن لحمايتها من العبث.
- استخدام خوارزميات تجزئة أحدث: نظرًا لأن SHA-1 أصبح عرضة للاصطدامات، فمن الأفضل استخدام خوارزميات تجزئة أكثر أمانًا مثل SHA-256 أو SHA-3 كلما أمكن ذلك. تتوفر أدوات مشابهة لـ SHA1SUM لدعم هذه الخوارزميات الحديثة.
قيود SHA1SUM
على الرغم من فائدته، لـ SHA1SUM بعض القيود:
- ضعف SHA-1: كما ذكرنا سابقاً، فإن SHA-1 عرضة للاصطدامات. هذا يعني أنه من الممكن نظريًا العثور على ملفين مختلفين لهما نفس قيمة التجزئة، مما يجعل SHA-1 غير مناسب للأغراض الأمنية الحساسة.
- لا يوفر التشفير: SHA1SUM لا يشفر الملفات. إنه ببساطة يحسب قيمة تجزئة لتمثيل الملف.
- يعتمد على المستخدم: يعتمد استخدام SHA1SUM بشكل كبير على المستخدم لتوفير قيمة التجزئة الأصلية ومقارنة النتائج.
بدائل SHA1SUM
بالنظر إلى القيود المفروضة على SHA-1، من المهم النظر في بدائل أكثر أمانًا:
- SHA-256: هي دالة تجزئة أكثر أمانًا من SHA-1. توفر SHA-256 قيمة تجزئة بطول 256 بت، مما يجعلها أكثر مقاومة للاصطدامات. تتوفر أدوات مماثلة لـ SHA1SUM لحساب والتحقق من قيم SHA-256.
- SHA-3: هي مجموعة من دوال التجزئة التي طورت كبديل لـ SHA-2. تعتبر SHA-3 آمنة للغاية.
- MD5: هي دالة تجزئة أخرى. على الرغم من أنها أسرع من SHA-1، إلا أنها أضعف وأكثر عرضة للاصطدامات.
عند اختيار خوارزمية تجزئة، ضع في اعتبارك متطلبات الأمان الخاصة بك. إذا كنت بحاجة إلى أقصى درجات الأمان، فاختر SHA-256 أو SHA-3.
متى لا تستخدم SHA1SUM
على الرغم من فائدته في التحقق من سلامة الملفات، هناك بعض الحالات التي قد لا يكون فيها SHA1SUM هو الأداة المناسبة:
- الأمان الحرج: لا تستخدم SHA1SUM لأغراض الأمان الحرج حيث يكون من الضروري للغاية عدم وجود أي احتمال للاصطدامات. في هذه الحالات، استخدم SHA-256 أو SHA-3.
- التشفير: لا تستخدم SHA1SUM لتشفير الملفات. إنه ليس أداة تشفير.
- التحقق من الهوية: لا تستخدم SHA1SUM للتحقق من الهوية. يُستخدم بشكل أساسي للتحقق من سلامة البيانات.
الخلاصة
SHA1SUM هي أداة مفيدة للتحقق من سلامة الملفات. تسمح للمستخدمين بحساب ومقارنة قيم تجزئة SHA-1 للتأكد من أن الملفات لم تتغير أثناء النقل أو التخزين. ومع ذلك، نظرًا لضعف خوارزمية SHA-1، فمن الأفضل استخدام خوارزميات تجزئة أكثر أمانًا مثل SHA-256 أو SHA-3 في معظم الحالات. على الرغم من هذه القيود، يظل SHA1SUM أداة قيمة لتحديد ما إذا كان الملف قد تعرض للتلف أو التعديل.
المراجع
- ويكيبيديا – SHA-1
- Microsoft – Get-FileHash (PowerShell)
- Sha1sum manual – Linux
- GeeksForGeeks – sha1sum command in Linux
“`