رمز مصادقة الرسالة القائم على التلبيد

نوع من رمز مصادقة الرسالة يتضمن استعمال التلبيد

رمز مصادقة الرسالة القائم على التلبيد (بالإنجليزية: Hash-based Message Authentication Code)‏ اختصارً HMAC هو نوع محدد من رموز مصادقة الرسالة (MAC) في علم التعمية، يتضمن HMAC استخدام دالة تلبيد تعموية، بالإضافة إلى مفتاح تعمية سري.

الجيل HMAC-SHA1

الاستخدامات

عدل

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

الخوارزمية

عدل

يُرمز لخوارزمية رمز مصادقة الرسالة بالشكل HMAC-X، وفيه تُمثِّل X عن دالة التلبيد المستخدمة (مثلاً: HMAC-SHA256 أو HMAC-SHA3). تعتمد قوة التعمية على قوة دالة التلبيد التعموية المستخدمة، وعلى مقاس الخرج المُلبَّد وعلى مقاس المفتاح ونوعه.

يعتمد رمز المصادقة دورتين لحساب التلبيد: يستخدم المفتاح السري ليشتق منه مفتاحين – واحد داخلي والآخر خارجي. ينتج عن الدورة الأولى قيمة مُلبَّدة مشتقة من الرسالة ومن المفتاح الداخلي. وينتج من المرور الثاني رمز مصادقة الرسالة النهائي وهو مشتق من التلبيد الداخلي الناتج عن الدورة الأولى ومن المفتاح الخارجي. وهكذا توفر الخوارزمية حصانة أفضل ضد هجمات تمديد الطول.[ا]

دالة التلبيد

عدل

تُجزِّء دالة التلبيد التكرارية الرسالة إلى عدة وحدات مُجمَّعة ذات حجم ثابت، وتتكرر عليها باستخدام دالة ضغط. على سبيل المثال: تعالج الدالة SHA-256 وحدات مُجمَّعة طولها 512 بتاً. حجم خرج رمز المصادقة يساوي حجم دالة التلبيد المستخدمة (مثل: 256 و1600 بتاً في حالة استخدام الدوال SHA-256 وSHA-3 على التوالي)، مع أن إمكانية اقتطاعه عند الحاجة.

عدم التشفير

عدل

لا يُعمِّي رمز المصادقة الرسالة. بدلًا من ذلك، يجب إرسال الرسالة، سواء كانت معماة أم لا، إلى دالة تجزئة تعموية. يقوم الأطراف الذين يمتلكون المفتاح السري بتجزئة الرسالة مرة أخرى بأنفسهم، وإذا كانت الرسالة أصلية، فستتطابق التجزئتان المستلمة والمحسوبة.

التاريخ

عدل

نُشر تعريف وتحليل بناء HMAC لأول مرة في عام 1996 في ورقة كتبها Mihir Bellare و Ran Canetti و Hugo Krawczyk ، [1] وكتبوا أيضًا RFC 2104 في عام 1997. حددت ورقة عام 1996 أيضًا متغيرًا متداخلًا يُسمى NMAC. يقوم FIPS PUB 198 بتعميم وتوحيد استخدام HMACs.

الاستخدامات في البروتوكولات

عدل

يستخدم رمز مصادقة الرسالة القائم على التلبيد في حزمة أمن بروتوكول الإنترنت وبروتوكول طبقة المقابس الآمنة.

تعريف HMAS وصيغته

عدل

HMAC هو رمز مصادقة الرسالة القائم على التلبيد، وهذا التعريف مأخوذ من RFC 2104:

ويمكن تعريفه بالصورة التالية:

 

حيث:

-H هي دالة تلبيد تعموية
-M هي الرسالة المراد المصادقة عليها
-K هو المفتاح السري
-K ' هو مفتاح بحجم الوحدة المُجمَّعة مشتق من المفتاح السري K ؛ إما عن طريق الحشو إلى اليمين بصفر يصل إلى حجم الوحدة المُجمَّعة، أو بالتخفيض إلى أقل من حجم الوحدة المُجمَّعة أولًا ثم الحشو إلى اليمين باستخدام الأصفار
|| يدل على الضم
⊕ يدل على عملية الفصل المنطقي الحصري [الإنجليزية] (XOR).
opad عبارة عن حشوة خارجية بحجم الوحدة المُجمَّعة، تتكون من وحدات بايت متكررة بقيمة 0x5c
ipad هو حشوة داخلية بحجم الوحدة المُجمَّعة، تتكون من وحدات بايت متكررة بقيمة 0x36


هوامش

عدل
  1. ^ length extension attacks

المراجع

عدل
  1. ^ Bellare، Mihir؛ Canetti، Ran؛ Krawczyk، Hugo (1996). "Keying Hash Functions for Message Authentication": 1–15. {{استشهاد بدورية محكمة}}: الاستشهاد بدورية محكمة يطلب |دورية محكمة= (مساعدة)

وصلات خارجية

عدل