رمز مصادقة الرسائل (MAC)

يتيح لك رمز MAC الأساسي التحقق من عدم التلاعب ببياناتك. يمكن للمُرسِل الذي يشارك مفتاحًا متماثلاً مع أحد المستلِمين احتساب علامة مصادقة لرسالة معيّنة، ما يسمح للمستلِم بالتحقق من أنّ الرسالة من المُرسِل المتوقّع ولم يتم تعديلها.

يحتوي MAC على الخصائص التالية:

  • الأصالة: إنّ معرفة المفتاح هو الطريقة الوحيدة لإنشاء علامة MAC قابلة للتحقق.
  • المتماثل: يتطلب حساب العلامة والتحقق منها نفس المفتاح.

يمكن أن يكون MAC محددًا أو عشوائيًا، اعتمادًا على الخوارزمية. لا يقوم Tink بتنفيذ خوارزميات MAC غير الحتمية في الوقت الحالي. يجب عليك استخدام MAC فقط لمصادقة الرسائل، وليس لأغراض أخرى مثل إنشاء وحدات البايت الزائفة (لذلك، راجع PRF).

إذا كنت بحاجة إلى عنصر أولي غير متماثل، يُرجى الاطّلاع على التوقيع الرقمي.

اختيار نوع المفتاح

ننصح باستخدام دالة HMAC_SHA256 لمعظم الاستخدامات، ولكن هناك خيارات أخرى أيضًا.

وبشكل عام، ينطبق ما يلي:

  • قد يكون HMAC_SHA512 أسرع أو لا يكون أسرع وفقًا لحجم الرسالة وتفاصيل الأجهزة التي تستخدمها.
  • يُعد HMAC_SHA512 الوضع الأكثر تحفظًا الذي يمكن استخدامه لعدد غير محدود من الرسائل عمليًا.
  • معيار AES256_CMAC هو أسرع على الأنظمة التي تتوافق مع تسريع الأجهزة AES-NI.

الحد الأدنى من ضمانات الأمان

  • مدى قوة مصادقة 80 بت على الأقل
  • توفر الحماية من التزييف الوجودي ضمن هجوم نص عادي محدد
  • توفير أمان 128 بت على الأقل ضد هجمات استرداد المفاتيح، وأيضًا في سيناريوهات تعدد المستخدمين (عندما لا يستهدف المهاجم مفتاحًا محددًا، ولكن أي مفتاح من مجموعة مفاتيح يصل عددها إلى 232)

مثال على حالة الاستخدام

راجع أريد حماية البيانات من التلاعب.