رمز مصادقة الرسالة القائم على التلبيد
تحتاج هذه المقالة إلى تهذيب لتتناسب مع دليل الأسلوب في ويكيبيديا. |
تحتاج هذه المقالة كاملةً أو أجزاءً منها لإعادة الكتابة حسبَ أسلوب ويكيبيديا. |
رمز مصادقة الرسالة القائم على التلبيد (بالإنجليزية: Hash-based Message Authentication Code) اختصارً HMAC هو نوع محدد من رموز مصادقة الرسالة (MAC) في علم التعمية، يتضمن HMAC استخدام دالة تلبيد تعموية، بالإضافة إلى مفتاح تعمية سري.
الاستخدامات
عدليمكن استخدام رمز مصادقة الرسالة القائم على التلبيد( 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
هوامش
عدل- ^ length extension attacks
المراجع
عدل- ^ Bellare، Mihir؛ Canetti، Ran؛ Krawczyk، Hugo (1996). "Keying Hash Functions for Message Authentication": 1–15.
{{استشهاد بدورية محكمة}}
: الاستشهاد بدورية محكمة يطلب|دورية محكمة=
(مساعدة)