بث التشفير المصدق عليه مع البيانات المرتبطة (بث AEAD)

توفّر دالة AEAD الأساسية لبث الوسائط تشفيرًا مصادقًا لبث البيانات. يكون مفيدًا عندما تكون البيانات المطلوب تشفيرها كبيرة جدًا ولا يمكن معالجتها في خطوة واحدة. تشمل حالات الاستخدام الشائعة تشفير الملفات الكبيرة أو عمليات نقل بيانات المباشرة.

يتم التشفير في أقسام مرتبطة بموقعها الجغرافي ضمن ملف التشفير ولا يمكن إزالتها أو إعادة ترتيبها. لا يمكن إدراج أجزاء من نص مشفَّر في نص مشفَّر آخر. لتعديل نص مشفَّر حالي، يجب إعادة تشفير مصدر البيانات بالكامل.1

يكون فك التشفير سريعًا لأنّه يتم فك تشفير جزء من النص المشفَّر وتأكيد هويته في كل مرة. يمكن الحصول على نصوص عادية جزئية بدون معالجة النص المشفَّر بالكامل.

تستوفي عمليات تنفيذ AEAD للبث تعريف AEAD وتكون آمنة بتقنية nOAE. وتتسم هذه الصفحات بالخصائص التالية:

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

البيانات المرتبطة

يمكن استخدام ميزة "التدفّق بتشفير متعدّد الأطراف" لربط النص المشفَّر ببيانات مرتبطة معيّنة . لنفترض أنّ لديك قاعدة بيانات تحتوي على الحقلين user-id وencrypted-medical-history. في هذا السيناريو، يمكن استخدام user-id كข้อมูล مرتبطة عند تشفير encrypted-medical-history. يمنع هذا المهاجم من نقل السجل الطبي من مستخدم إلى آخر.

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

ننصحك باستخدام AES128_GCM_HKDF_1MB لمعظم الاستخدامات. بشكل عام:

  • AES128_GCM_HKDF_1MB (أو AES256_GCM_HKDF_1MB) هو الخيار الأسرع. ويمكنه تشفير ملفَين بحجم 264 بايت كحد أقصى لكل منهما. يتم استخدام ‎1 ميغابايت تقريبًا من الذاكرة أثناء عملية التشفير وفك التشفير.
  • يستهلك AES128_GCM_HKDF_4KB ما يقرب من 4 كيلوبايت من الذاكرة، وهو خيار جيد إذا كان نظامك لا يتضمّن الكثير من الذاكرة.
  • أما AES128_CTR_HMAC_SHA256_1 ميغابايت (أو AES256_CTR_HMAC_SHA256_1 ميغابايت) فهي الخيار الأكثر تحفُّظًا.

ضمانات الأمان

توفّر عمليات تنفيذ AEAD للبث ما يلي:

  • أمان CCA2.
  • قوة مصادقة تبلغ 80 بت على الأقل
  • إمكانية تشفير 264 رسالة على الأقل3 بإجمالي 251 بايت2 لا يمكن لأي هجوم باستخدام ما يصل إلى 232 نصًا عاديًا أو نصًا مشفَّرًا تم اختيارهما أن يحقّق احتمال نجاح أكبر من 2-32.

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

يُرجى الاطّلاع على أريد تشفير الملفات الكبيرة أو مصادر البيانات.


  1. ويعود سبب هذا التقييد إلى استخدام مُشفّر AES-GCM. قد يكون تشفير مقطع نص عادي مختلف في الموقع نفسه معادلاً لإعادة استخدام IV، الذي ينتهك ضمانات الأمان لمعيار AES-GCM. وهناك سبب آخر وهو أنّ ذلك يمنع هجمات "الرجوع إلى الإصدار السابق"، حيث قد يحاول المهاجم استعادة إصدار سابق من الملف بدون رصده. 

  2. يمكن استخدام 32 مقطعًا، ويحتوي كل مقطع على segment_size - tag_size بايت من النص العادي. بالنسبة إلى المقاطع التي تبلغ حجمها 1 ميغابايت، يكون إجمالي حجم النص العادي 232 * (220-16) ~= 251 بايت. 

  3. يصبح بروتوكول AEAD للبث غير آمن عند تكرار تركيبة مفتاح مشتق (128 بت) وبادئة عدد عشوائي (قيمة عشوائية مستقلة تبلغ 7 بايت). لدينا مقاومة للتصادم بسعة 184 بت، ما يعادل تقريبًا رسالتَين64 إذا أردنا أن يكون احتمال النجاح أقل من 2-32