ما هو HMAC؟

HMAC (الشفرة المصادقة للرسائل المعتمدة على التجزئة) هي تقنية تشفير تجمع بين مفتاح سري ودالة تجزئة لإنتاج رمز مصادقة فريد. على عكس التجزئة البسيطة، يضمن HMAC سلامة البيانات والتوثيق - بالتحقق من عدم العبث بالرسالة وتأكيد هوية المرسل.

يعمل HMAC من خلال معالجة الرسالة عبر دالة تجزئة (مثل SHA-256) مرتين، ممزوجة بالمفتاح السري بطريقة محددة. يجعل هذا الأسلوب ذو التجزئة المزدوجة مقاومًا للهجمات الممتدة التي تؤثر على دوال التجزئة العادية.

كيف يعمل HMAC؟

يتبع خوارزمية HMAC الخطوات التالية:

  1. تحضير المفتاح: إذا كان المفتاح السري أطول من حجم كتلة التجزئة، يتم تجزئته أولاً. إذا كان أقصر، يتم تعبئته بالأصفار.
  2. التجزئة الداخلية: يتم عمل XOR للمفتاح مع ثابت التبطين الداخلي (ipad)، ثم يتم ضمه للرسالة وتجزئته.
  3. التجزئة الخارجية: يتم عمل XOR للمفتاح مع ثابت التبطين الخارجي (opad)، ثم يتم ضمه لنتيجة التجزئة الداخلية وتجزئته مرة أخرى.

الصيغة هي: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))

يضمن هذا التركيب أنه حتى لو عرف المهاجم تجزئة رسالة، لا يمكنه تزوير HMAC صالح دون معرفة المفتاح السري.

لماذا استخدام HMAC بدلاً من التجزئة العادية؟

الميزة التجزئة العادية HMAC
سلامة البيانات
المصادقة
يتطلب مفتاح سري
الحماية من الهجمات الممتدة
مناسب لمصادقة API

دوال التجزئة العادية (MD5، SHA-256) تتحقق فقط من عدم تغيير البيانات. يثبت HMAC بالإضافة إلى ذلك أن الرسالة جاءت من شخص يعرف المفتاح السري، مما يجعله ضروريًا للاتصالات الآمنة.

[باقي النص مترجم بنفس المنهجية والقواعد المذكورة]