أكاديميا.security.krd

← الأسس الأمنية

التشفير بدون رياضيات

24 دقيقة
تُرجم آلياً، ولم يراجعه إنسان.

لست بحاجة إلى الرياضيات لاستخدام التشفير بشكل صحيح. أنت بحاجة إلى معرفة ما يعِد به كل أسلوب تشفيري، وما لا يعِد به.

أربعة وعود

معظم الإخفاقات الحقيقية تحدث عند استخدام أسلوب في مكان كان يحتاج إلى أسلوب آخر.

الإخفاقات التي ستواجهها فعلاً

  1. كلمة مرور مخزَّنة باختزال سريع مثل SHA-256. السرعة هنا هي الخاصية الخاطئة: استخدم Argon2id أو bcrypt، فهما بطيئان عن قصد.
  2. تشفير من دون توثيق، بحيث يستطيع المهاجم تعديل النص المشفَّر من دون أن يُكتشف ذلك. استخدم نمط AEAD.
  3. مفتاح تم رفعه إلى مستودع (repository). الخوارزمية تصبح غير مهمة بمجرد أن يصبح المفتاح معروفاً للعلن.

⟦> Every primitive is a promise about one property. Confusing which is which causes more breaches than broken maths.⟧

ما يجب أن تخرج به

عندما ترى تشفيراً ضمن تصميم ما، اسأل عن الخاصية التي يُفترض أن يوفرها، وتحقق من أن الأسلوب المُختار يوفرها فعلاً.

مقتبس من: Written for this course

اختبر نفسك

2

تسجيل الدخول لتُصحَّح إجاباتك ويُحفظ تقدّمك.

1

# لماذا يُعد استخدام خوارزمية SHA-256 خيارًا خاطئًا لتخزين كلمات المرور؟ ## السبب خوارزمية SHA-256 مصممة لتكون **سريعة**. هذه الميزة مفيدة عند التحقق من سلامة الملفات، لكنها تتحول إلى نقطة ضعف عند استخدامها لحماية كلمات المرور. فالسرعة العالية تسمح للمهاجم بتجربة مليارات الاحتمالات في الثانية الواحدة باستخدام أجهزة عادية، مثل بطاقات المعالجة الرسومية (GPU). وبذلك يصبح من السهل نسبيًا: - تخمين كلمات المرور الشائعة عن طريق التجربة المتكررة (Brute Force). - استخدام جداول محسوبة مسبقًا (Rainbow Tables) لكشف كلمات المرور من قيم التجزئة (Hash) المسروقة. ## البديل الصحيح يجب استخدام خوارزميات مصممة خصيصًا لتكون **بطيئة ومكلفة حسابيًا**، مثل: - ⟦bcrypt⟧ - ⟦scrypt⟧ - ⟦Argon2⟧ هذه الخوارزميات تجعل عملية التحقق من كلمة المرور تستغرق وقتًا أطول بشكل مقصود، مما يرفع كلفة أي محاولة لاختراقها بشكل كبير، حتى لو استخدم المهاجم أجهزة قوية. > **الخلاصة:** SHA-256 خوارزمية تجزئة عامة سريعة، وليست خوارزمية مخصصة لحماية كلمات المرور. استخدامها في هذا السياق يجعل حسابات المستخدمين عرضة للاختراق بسهولة أكبر.

2

ما الذي لا يوفره التشفير وحده من بين ما يأتي؟ (اختر كل ما ينطبق)