الدالة الزائفة العشوائية (PRF)

يتيح لك النموذج الأساسي للدالة الزائفة العشوائية (PRF) إنتاج مخرجات ثابتة، عشوائية، ومخرجات عشوائية عشوائية لمدخل معين.

ولأنّ Tink يعمل على مجموعات مفاتيح، يعرض هذا النموذج الأساسي مجموعة مقابلة من PRF بدلاً من واحد. تتم فهرسة PRFs بواسطة معرّف مفتاح 32 بت. يمكن استخدام هذه الأداة لتغيير المفتاح المستخدَم لإخفاء جزء من المعلومات بدون فقدان عملية الربط السابقة.

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

  • محدّدة: سينتج دائمًا حساب PRF لمدخل معيّن النتيجة نفسها.
  • العشوائية: لا يمكن تمييز ناتج PRF عن وحدات البايت العشوائية.

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

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

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

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

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

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

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

تشمل حالات استخدام "إطار الشفافية والموافقة" عملية تنقيح حتمية لمعلومات تحديد الهوية الشخصية (PII) ووظائف التجزئة المرتبطة بالمفاتيح وإنشاء أرقام تعريف فرعية لا تسمح بالانضمام إلى مجموعة البيانات الأصلية بدون معرفة المفتاح.

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