SHA-256 دالة Hash تنتج بصمة ثابتة الطول من بيانات أي ملف. إذا تغير بايت واحد عادة تتغير النتيجة بصورة كبيرة، لذلك هي ممتازة للتحقق من أن نسختين متطابقتان أو أن ملفًا لم يتغير منذ حساب ال ـhash. لكن وجود SHA-256 بجانب ملف على نفس الموقع لا يثبت وحده أن الملف صادر من جهة موثوقة؛ المهاجم الذي يستطيع استبدال الملف قد يستطيع استبدال ال ـhash أيضًا.
ما الذي تثبته Hash مطابقة؟
إذا حصلت على قيمة SHA-256 موثوقة مسبقًا ثم حسبت hash للملف الذي لديك ووجدتها مطابقة، لديك دليل قوي أن البيانات هي نفسها التي حُسبت لها القيمة. هذا مفيد بعد تنزيل ملفات كبيرة أو نقل backups أو مقارنة artifacts.
المشكلة هي الثقة في القيمة المرجعية
لو حمّلت ملفًا و hash من نفس قناة مخترقة، المهاجم يستطيع تغيير الاثنين. تحتاج قناة مستقلة أو توقيعًا رقميًا أو سجل release موثوقًا لحماية أصل القيمة. لذلك Checksums ممتازة للسلامة، والتوقيعات أفضل لإثبات المصدر.
خطوات عملية
- احصل على hash من مصدر موثوق.
- احسب SHA-256 محليًا.
- قارن السلسلتين كاملتين.
- ارفض الملف عند أي اختلاف.
- تحقق من التوقيع إن كان المصدر يوفره.
استخدمها في Pipelines والنسخ الاحتياطية
يمكن تسجيل checksums للأ Artifacts عند البناء ثم التحقق قبل النشر، أو فحص backups دوريًا لاكتشاف corruption. في مجموعات كبيرة استخدم manifest يربط المسار بالحجم وال hash ووقت الإنشاء.
قائمة مراجعة
- الخوارزمية محددة بوضوح.
- القيمة المرجعية محمية.
- المقارنة آلية عند الإمكان.
- الفشل يوقف deployment أو الاستعادة.
- manifest نفسها لها حماية أو توقيع مناسب.
SHA-256 لا تفحص البرمجيات الخبيثة
ملف ضار له SHA-256 صحيحة بالنسبة للنسخة الضارة. Hash تقول «هذا الملف هو نفسه»، لا «هذا الملف آمن». تحتاج سمعة أو توقيع ناشر وفحص أمني وسياسات تنفيذ منفصلة.
متى تستخدم HMAC أو توقيعًا؟
إذا كان طرفان يشتركان في سر ويريدان إثبات عدم التعديل، HMAC-SHA-256 توفر مصادقة بالإضافة إلى السلامة. وللتوزيع العام، التوقيع بالمفتاح العام يسمح لأي شخص بالتحقق دون مشاركة secret.
ابنِ سلسلة ثقة لل ـChecksum
في عملية Release، احسب SHA-256 داخل CI بعد إنتاج Artifact، ثم انشر manifest موقعة أو احفظ القيمة في نظام إصدار موثوق. عند التنزيل أو النشر إلى خادم آخر، أعد الحساب وقارنه. بهذه الطريقة لا تعتمد على شخص ينسخ hash يدويًا، ويصبح أي اختلاف سببًا لإيقاف pipeline تلقائيًا حتى يتم التحقيق فيه.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…