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

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

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

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

يفي بث عمليات تنفيذ AEAD بتعريف AEAD وتكون آمنة لـ OAE2. وهي تتضمن الخصائص التالية:

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

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

يمكن استخدام بث AEAD لربط النص المشفر ببيانات مرتبطة محددة. لنفترض أن لديك قاعدة بيانات تحتوي على الحقلين user-id وencrypted-medical-history. في هذا السيناريو، يمكن استخدام user-id كبيانات مرتبطة عند تشفير encrypted-medical-history. وهذا يمنع المهاجم من نقل السجلّ الطبي من مستخدم إلى آخر.

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

وننصح باستخدام AES128_GCM_HKDF_1MB لمعظم الاستخدامات. بوجه عام:

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

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

يقدم بث عمليات تنفيذ AEAD ما يلي:

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

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

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


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

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

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