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

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

تتضمّن عناوين MAC السمات التالية:

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

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

إذا كنت بحاجة إلى مفتاح أساسي غير متماثل بدلاً من ذلك، اطّلِع على التوقيع الرقمي.

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

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

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

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

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

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

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

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