أدوات المطورين · SHA حاسبة التجزئة
الاصطدام والصورة الأولية والصورة الثانية: الأهداف الأمنية الثلاثة للتجزئة
· خلفية
شا-256 التشفير حماية
يشير أحد النصائح إلى أن الخوارزمية بها مشكلات تصادم وتحتاج إلى معرفة ما إذا كان استخدامك قد تأثر أم لا. يحدد هذا المنشور خصائص المقاومة الثلاثة، ويوضح حالات الاستخدام التي تعتمد عليها، ويطبقها على SHA-1.
هل يتأثر استخدامي؟ - السؤال الذي نادراً ما يجيب عليه الاستشارة بشكل مباشر
تصل رسالة استشارية تفيد بأن SHA-1 به مشكلات تصادم، لذا يجب ترقية نظامك. ولكن ماذا لو كان نظامك يستخدم SHA-1 فقط لاشتقاق المفاتيح، وليس لمصادقة الرسائل؟ ماذا لو تم استخدام SHA-1 فقط لإلغاء تكرار الملفات المتطابقة، وليس لإثبات صحتها؟ السؤال "هل يتأثر نظامي؟" لا يمكن الإجابة عليها دون فهم خاصية دالة التجزئة المعطلة بالفعل وما هي الخاصية التي تعتمد عليها حالة الاستخدام الخاصة بك.
توفر وظيفة التجزئة خصائص أمان متعددة: مقاومة الصورة الأولية، ومقاومة الصورة الثانية، ومقاومة الاصطدام. لا يؤدي أي انقطاع في خاصية إلى تعطيل أخرى، وتعتمد بعض حالات الاستخدام فقط على الخصائص التي تظل آمنة. تعرض حاسبة التجزئة ToolAcre SHA الخوارزميات وعروض الملخص الخاصة بها، والخصائص التي تحدد حدود كل هدف أمني. إن فهم هذه الخصائص هو الخطوة الأولى في تحديد ما إذا كان الاستشارة ستؤثر على نظامك أم لا.
مقاومة ما قبل الصورة - نظرًا للتجزئة، لا يمكنك العثور على المدخلات التي تنتجها
تعني مقاومة الصورة المسبقة أنه بالنظر إلى الملخص، يجب أن يكون من غير الممكن العثور على المدخلات التي تنتج هذا الملخص. تتلقى تجزئة كلمة المرور وتريد تخمين كلمة المرور؛ هذا هجوم ما قبل الصورة. تعني مقاومة الصورة الأولية الثانية أنه بالنظر إلى الرسالة وتجزئةها، يجب أن يكون من غير الممكن العثور على رسالة مختلفة بنفس التجزئة. لديك ملف تم تنزيله ومجموعه الاختباري SHA-256؛ يريد أحد المهاجمين تبديل الملف بملف مختلف له نفس التجزئة؛ هذا هو هجوم بريماجي الثاني.
تعني مقاومة الاصطدام أنه من غير الممكن العثور على أي رسالتين مختلفتين بنفس التجزئة. أنت تقوم بتوقيع وثيقة؛ يريد المهاجم إنشاء مستند مختلف بنفس التوقيع؛ هذا هجوم تصادمي. تتطلب هذه السيناريوهات الثلاثة قدرًا مختلفًا من العمل من جانب المهاجم، وتختلف حدود الأمان. مقاومة ما قبل الصورة هي الخاصية الأقوى، ونادرا ما تكون هي التي تنكسر. بالنظر إلى الملخص، فإن العثور على صورة أولية يتطلب بحثًا قويًا عبر مساحة المدخلات المحتملة. يؤثر عرض الملخص على مساحة البحث العامة، لكن هذه المقالة لا توضح عدد العمليات دون استخلاصها وتحديد نموذج الهجوم.
مقاومة الصورة المسبقة الثانية - بالنظر إلى المدخلات، لا يمكنك العثور على مدخلات مختلفة بنفس التجزئة
المقاومة الأولية الثانية هي الأقوى التالية، ونادرًا ما يتم كسرها بمعزل عن غيرها. بالنظر إلى رسالة وتجزئة لها، فإن العثور على رسالة مختلفة بنفس التجزئة يتطلب أيضًا عملاً هائلاً في حجم الملخص. تمنح عمليات البحث عن الصور الأولية والتصادمية للمهاجم خيارات مختلفة، لذا فإن حدودها العامة غير قابلة للتبديل. ويكفي هنا التمييز النوعي؛ لا يتم التأكيد على أي حد رقمي دون اشتقاق سطري. تفقد الخوارزمية مقاومة الصورة المسبقة الثانية إذا كان هناك هجوم هيكلي لا يتطلب قوة غاشمة.
مقاومة الاصطدام هي الأضعف بين الخصائص الثلاث، وهي الأكثر عرضة للكسر أو الانحناء. يتيح بحث الاصطدام للمهاجم اختيار كلا المدخلين، على عكس الهدفين الآخرين، لذلك له حدود عامة مختلفة. تحذف هذه المقالة عمدًا الأرقام المرتبطة بأعياد الميلاد والجداول الزمنية للأجهزة لأن اشتقاقها وتحديد مصادرها يقع خارج نطاق المواد التي تم التحقق منها.
مقاومة الاصطدام - لا يمكنك العثور على أي مدخلين لهما نفس التجزئة، ولماذا يعد هذا هو الأضعف بين الثلاثة
يُظهر تعيين خصائص الأمان الثلاثة لحالات الاستخدام الخاصية المطلوبة لكل مهمة. يعتمد إلغاء البيانات المكررة على افتراض أنه إذا كان هناك ملفان لهما نفس التجزئة، فإنهما نفس الملف. يتطلب ذلك مقاومة الاصطدام: إذا كانت الاصطدامات ممكنة، فيمكن للمهاجم إنشاء ملفين مختلفين بنفس التجزئة وكسر ثابت إلغاء البيانات المكررة. إلا أن هذا مطلب ضعيف، لأن الاصطدامات العملية نادرة للغاية حتى لو كانت ممكنة من الناحية النظرية.
تتطلب التوقيعات الرقمية مقاومة الاصطدام بشكل قوي. عندما يقوم المُوقع بإنتاج توقيع لتجزئة المستند، ويقوم المدقق لاحقًا بفحص التوقيع، يجب أن يقوم الاثنان بالتحقق من نفس التجزئة. إذا كانت التصادمات سهلة، فيمكن للمهاجم تزييف توقيع لمستند مختلف من خلال العثور على تضارب مع المستند الموقع. هذا هو الهجوم الذي حفز الترقية من SHA-1 إلى SHA-256 في الشهادات. تجتاز الشهادة الموقعة من قبل CA والشهادة المزورة التي تحمل نفس التوقيع التحقق من صحة التجزئة في حالة حدوث تصادم.
تختلف مقاومة الاصطدام عن أهداف ما قبل الصورة؛ لا تظهر أي أرقام مرتبطة بعيد الميلاد بدون اشتقاق
يستخدم التخزين الموجه للمحتوى التجزئة كمفاتيح بحث. إذا تم تخزين ملف في الموقع المحدد بواسطة التجزئة الخاصة به، ثم تم استرداده لاحقًا باستخدام نفس التجزئة، فيجب أن تصل العمليتان إلى نفس الملف. يتطلب هذا مقاومة الاصطدام إذا كان هناك مهاجمون نشطون، ولكنه يتطلب فقط مقاومة الصورة المسبقة الثانية إذا كان المهاجمون سلبيين. لا يمكن للمهاجم السلبي أن يخلق تصادمًا؛ يمكنهم فقط ملاحظة ما إذا كانت الملفات الشرعية تتصادم عن طريق الصدفة.
يستخدم التحقق من التنزيل المجموع الاختباري للتأكد من أن الملف الذي تم استرداده من الإنترنت غير تالف. عادةً ما يتم نشر المجموع الاختباري بجانب الملف من مصدر موثوق به. لا يمكن للمهاجم الذي يقوم بتعديل الملف الذي تم تنزيله تحديث المجموع الاختباري دون الوصول إلى المصدر الموثوق. تتطلب حالة الاستخدام هذه مقاومة ما قبل الصورة الثانية: بالنظر إلى الملف الأصلي ومجموعه الاختباري، يجب ألا يتمكن المهاجم من إنتاج ملف مختلف بنفس المجموع الاختباري. SHA-1 لا تزال مقاومة الصورة الثانية قوية على الرغم من فواصل الاصطدام.
سلامة الخريطة واستخدامات التسمية للخصائص المطلوبة؛ التجزئة العادية ليست تخزينًا لكلمات المرور
تخزين كلمة المرور هو حالة الاستخدام الوحيدة التي لا تكون فيها وظيفة التجزئة هي الأداة الصحيحة. إذا تم تخزين كلمات المرور على هيئة تجزئات SHA-256، وتم تسريب قاعدة بيانات التجزئة، فيمكن للمهاجم تشغيل هجوم القاموس: تجزئة ملايين التخمينات والتحقق مما إذا كان أي منها يطابق التجزئات المخزنة. يحتاج المهاجم إلى صورة مسبقة واحدة فقط لكل كلمة مرور، وتمنح الوظيفة السريعة المهاجم حلقة مقارنة فعالة دون اتصال بالإنترنت دون حدود لمعدل التطبيق.
تحتاج كلمات المرور إلى وظيفة ملحة بطيئة ومستنزفة للذاكرة لكل مستخدم مثل Argon2id أو scrypt أو bcrypt. إن الملح الفريد لكل مستخدم يجعل كلمات المرور المتطابقة تنتج سجلات مخزنة مختلفة، في حين أن الذاكرة التي تم تكوينها لوظيفة كلمة المرور وتكاليف الوقت تجعل كل مرشح أكثر تكلفة عمدًا. تتطلب المعلمات الدقيقة قياس الأداء المحلي ولم يتم وصفها هنا. لا تقوم حاسبة التجزئة ToolAcre SHA بتجزئة كلمة المرور، وتوضح وثائق الدليل سبب عدم ملاءمة SHA-256 لحالة الاستخدام هذه.
مثال عملي - تطبيق التعيين على SHA-1 في مستودع Git مقابل SHA-1 في الشهادة
مثال عملي: SHA-1 في مستودع Git. يحتوي كل التزام Git على تجزئة SHA-1 كمعرف الكائن الخاص به. إذا كانت SHA-1 معطلة في مقاومة الاصطدام، فهل يكون مستودع Git عرضة للخطر؟ الجواب هو: ربما. يمكن للمهاجم إنشاء التزام بنفس SHA-1 كالتزام موجود ودفعه إلى خادم مستودع، والذي قد يخدم بعد ذلك التزامات مختلفة لعملاء مختلفين. ومع ذلك، يتطلب هذا اختيار هدف محدد وحساب الاصطدام، وهو أمر مكلف حتى مع SHA-1 المكسور.
لقد نشر أعضاء مشروع Git خريطة طريق للانتقال إلى SHA-256، ولكن درجة الاستعجال معتدلة لأن الهجوم العملي يتطلب تقنيات التصادم وتسوية الخادم. بالنسبة للمطور الذي يسأل "هل يعتمد أمان مستودع Git الخاص بي على SHA-1 مقاومة الاصطدام؟" الجواب هو نعم، ولكن المخاطر العملية منخفضة مقارنة بالتهديدات الأمنية الأخرى. توفر حاسبة التجزئة ToolAcre SHA كلاً من SHA-1 وSHA-256، مصنفين بشكل مناسب، حتى يتمكن المطورون من حساب أي منهما وفهم الفرق.
الخلاصة: قم بتسمية الخاصية قبل الذعر - تتيح لك حاسبة التجزئة ToolAcre SHA رؤية أطوال الملخص التي تحدد حدود كل خوارزمية
بالنسبة لأي نظام يستخدم SHA-1، يعتمد قرار الترقية على ما إذا كانت حالة الاستخدام تتطلب الخاصية المحددة المعطلة. إذا كانت حالة الاستخدام عبارة عن توقيعات رقمية أو إلغاء البيانات المكررة ضد المهاجمين النشطين، فستكون مقاومة الاصطدام مطلوبة، ويكون SHA-1 معطلاً، لذا قم بالترقية إلى SHA-256 على الفور. إذا كانت حالة الاستخدام عبارة عن تخزين موجه للمحتوى أو مجاميع اختبارية، فستكون مقاومة الصورة الأولية الثانية مطلوبة، ولا يزال SHA-1 آمنًا لهذا الغرض، على الرغم من أن SHA-256 مفضل للتدقيق المستقبلي.
إذا كانت حالة الاستخدام هي اشتقاق مفتاح أو التحقق من كلمة المرور، فستكون مقاومة الصورة المسبقة مطلوبة، ولا ينبغي استخدام أي شيء في مجموعة الأدوات هذه على الإطلاق لأن الوظائف الأسرع أفضل لاشتقاق المفتاح. تتيح حاسبة التجزئة ToolAcre SHA للمطورين حساب الملخصات ورؤية الخصائص أثناء العمل. إن فهم هذه الخصائص الثلاثة ومطابقتها لحالات الاستخدام هو الأساس لاتخاذ خيارات تشفير آمنة في الأنظمة الحقيقية.