وضع جالوا/كاونتر

في التشفير ، يعد وضع جالوا/كاونتر ( GCM ) [1] أحد أوضاع التشغيل للتشفير الكتلي المتماثل المفتاح والذي يتم اعتماده على نطاق واسع لأدائه. يمكن تحقيق معدلات إنتاجية GCM لقنوات الاتصال عالية السرعة الحديثة باستخدام موارد أجهزة غير مكلفة. [2]

توفر خوارزمية GCM كلاً من صحة البيانات (سلامتها) والسرية وتنتمي إلى فئة التشفير الموثق باستخدام طرق البيانات المرتبطة (AEAD). وهذا يعني أنه كمدخلات، فإنها تأخذ مفتاح K وبعض النص العادي P وبعض البيانات المرتبطة AD؛ ثم تقوم بتشفير النص العادي باستخدام المفتاح لإنتاج النص المشفر C، وتحسب علامة مصادقة T من النص المشفر والبيانات المرتبطة (التي تظل غير مشفرة). يمكن للمستلم الذي لديه معرفة بـ K، عند استلام AD وC وT، فك تشفير النص المشفر لاستعادة النص العادي P ويمكنه التحقق من العلامة T للتأكد من عدم العبث بالنص المشفر أو البيانات المرتبطة.

يستخدم GCM تشفيرًا كتليًا بحجم كتلة 128 بت (عادةً AES-128 ) يتم تشغيله في وضع العداد للتشفير، ويستخدم الحساب في حقل Galois GF(2 128 ) لحساب علامة المصادقة؛ ومن هنا جاء الاسم.

يعد رمز مصادقة رسالة Galois ( GMAC ) أحد أشكال GCM المخصصة للمصادقة فقط، والذي يمكنه تكوين رمز مصادقة رسالة تزايدي . يمكن لكل من GCM وGMAC قبول متجهات تهيئة ذات طول عشوائي.

يمكن أن تختلف خصائص الأداء والكفاءة بشكل كبير في أنماط تشغيل التشفير الكتلي المختلفة، حتى عند استخدامها مع نفس التشفير الكتلي. يمكن لـ GCM الاستفادة الكاملة من المعالجة المتوازية ، ويمكن لتطبيق GCM الاستفادة بكفاءة من خط أنابيب التعليمات أو خط أنابيب الأجهزة. على النقيض من ذلك، فإن نمط تشغيل تسلسل كتلة التشفير (CBC) يتسبب في توقف خط الأنابيب مما يعوق كفاءته وأدائه.

التشغيل الأساسي

كما هو الحال في وضع العداد العادي ، يتم ترقيم الكتل بشكل متسلسل، ثم يتم دمج رقم الكتلة هذا مع متجه تهيئة (IV) وتشفيره باستخدام شفرة كتلة E ، عادةً AES . ثم يتم إجراء عملية XOR لنتيجة هذا التشفير مع النص العادي لإنتاج النص المشفر . ومثل جميع أوضاع العداد، يعد هذا في الأساس تشفيرًا متدفقًا ، وبالتالي فمن الضروري استخدام متجه تهيئة مختلف لكل مجرى مشفر.

تعتبر كتل النص المشفر معاملات لكثيرة حدود يتم تقييمها بعد ذلك عند نقطة تعتمد على المفتاح H ، باستخدام حساب المجال المحدود . ثم يتم تشفير النتيجة، مما ينتج عنه علامة مصادقة يمكن استخدامها للتحقق من سلامة البيانات. يحتوي النص المشفر بعد ذلك على المتجه الرابع والنص المشفر وعلامة المصادقة.

عملية GCM. من أجل التبسيط، يتم عرض حالة بها كتلة واحدة فقط من البيانات الإضافية المصادق عليها (المسماة بيانات المصادقة 1) وكتلتان من النص العادي.
التشفير: يتم تشفير سلسلة من العدادات ذات 128 بت باستخدام التشفير الكتلي E مع المفتاح K؛ يمكن أن يحدث هذا بالتوازي. يتم دمج النتائج باستخدام XOR بت مع كتل نص عادي ذات 128 بت، مما ينتج عنه سلسلة من كتل النص المشفر.
المصادقة: يتم دمج البيانات الإضافية وكتل النص المشفر هذه باستخدام الضرب بثابت يعتمد على المفتاح H في حقل جالوا GF(2 128 ) لإنتاج علامة المصادقة.

اساس رياضي

يجمع GCM بين وضع العداد المعروف للتشفير ووضع Galois الجديد للمصادقة. الميزة الرئيسية هي سهولة الحساب المتوازي لضرب حقل Galois المستخدم للمصادقة. تسمح هذه الميزة بإنتاجية أعلى من خوارزميات التشفير، مثل CBC ، التي تستخدم أوضاع التسلسل. يتم تعريف حقل GF(2 128 ) المستخدم بواسطة متعدد الحدود

يتم إنشاء علامة المصادقة عن طريق إدخال كتل البيانات في دالة GHASH وتشفير النتيجة. يتم تعريف دالة GHASH هذه بواسطة

حيث H = E k (0 128 ) هو مفتاح التجزئة ، وسلسلة من 128 بت صفر مشفرة باستخدام التشفير الكتلي ، و A هي البيانات التي تم المصادقة عليها فقط (غير المشفرة)، وC هو النص المشفر ، و m هو عدد الكتل المكونة من 128 بت في A (مقربًا للأعلى)، و n هو عدد الكتل المكونة من 128 بت في C (مقربًا للأعلى)، والمتغير X i لـ i = 0، ...، m + n + 1 معرف أدناه. [3]

أولاً، يتم تعبئة النص الموثق والنص المشفر بشكل منفصل بمضاعفات 128 بت ودمجهما في رسالة واحدة S i :

حيث أن len( A ) وlen( C ) هما تمثيلان مكونان من 64 بتًا لأطوال البتات في A و C على التوالي، v  = len( A ) mod 128 هو طول البت في الكتلة النهائية في A ، u  = len( C ) mod 128 هو طول البت في الكتلة النهائية في C ، ويشير إلى تسلسل سلاسل البتات.

ثم يتم تعريف X i على النحو التالي:

الشكل الثاني هو خوارزمية تكرارية فعّالة (كل X i يعتمد على X i −1 ) يتم إنتاجها من خلال تطبيق طريقة هورنر على الشكل الأول. فقط X m + n +1 النهائي يبقى ناتجًا.

إذا كان من الضروري إجراء حساب التجزئة بالتوازي، فيمكن القيام بذلك عن طريق تداخل k مرة:

إذا لم يكن طول IV يساوي 96، فسيتم استخدام دالة GHASH لحساب العداد 0 :

تم تصميم GCM بواسطة جون فيجا وديفيد أ. ماكجرو ليكون تحسينًا لوضع عداد كارتر ويجمان (وضع CWC). [4]

في نوفمبر 2007، أعلن المعهد الوطني للمعايير والتكنولوجيا عن إصدار منشور خاص من المعهد الوطني للمعايير والتكنولوجيا 800-38D لتوصيات أوضاع تشغيل التشفير الكتلي: وضع جالوا/العداد (GCM) وجعل GMAC وضع جالوا/العداد وGMAC معايير رسمية. [5]

يستخدم

يستخدم وضع GCM في أمان Ethernet IEEE 802.1AE (MACsec)، وبروتوكول أمان WPA3-Enterprise Wifi، و IEEE 802.11ad (يُطلق عليه أيضًا WiGig )، وبروتوكولات أمان قناة الألياف ANSI ( INCITS ) (FC-SP)، وتخزين الشريط IEEE P1619 .1، ومعايير IETF IPsec ، [6] [7] SSH ، [8] TLS 1.2 [9] [10] وTLS 1.3. [11] تم تضمين AES-GCM في تشفير NSA Suite B وأحدث بديل له في مجموعة خوارزمية الأمن القومي التجاري (CNSA) لعام 2018. [ 12 ] يتم استخدام وضع GCM في خادم وعميل SoftEther VPN ، [13] بالإضافة إلى OpenVPN منذ الإصدار 2.4.

أداء

تتطلب GCM عملية تشفير كتلة واحدة وضرب 128 بت في حقل Galois لكل كتلة (128 بت) من البيانات المشفرة والموثقة. يمكن تنفيذ عمليات التشفير الكتلي بسهولة أو موازية؛ يمكن تنفيذ عمليات الضرب بسهولة ويمكن موازنتها ببعض الجهد المتواضع (إما عن طريق موازاة العملية الفعلية، أو عن طريق تكييف طريقة Horner وفقًا للتقديم الأصلي لـ NIST، أو كليهما).

أضافت شركة Intel تعليمة PCLMULQDQ ، مما يسلط الضوء على استخدامها في GCM. [14] في عام 2011، أضافت SPARC تعليمتي ​​XMULX وXMULXHI، اللتين تقومان أيضًا بضرب 64 × 64 بت بدون حمل . في عام 2015، أضافت SPARC تعليمة XMPMUL، التي تقوم بضرب XOR لقيم أكبر بكثير، حتى قيم إدخال 2048 × 2048 بت مما ينتج عنه نتيجة 4096 بت. تمكن هذه التعليمات من الضرب السريع على GF (2 n )، ويمكن استخدامها مع أي تمثيل حقل.

تم نشر نتائج أداء مبهرة لـ GCM على عدد من المنصات. وصف Käsper وSchwabe " AES-GCM أسرع ومقاوم للهجوم المؤقت " [15] والذي يحقق 10.68 دورة لكل بايت من التشفير الموثق AES-GCM على معالجات Intel ذات 64 بت. أفاد Dai et al. عن 3.5 دورة لكل بايت لنفس الخوارزمية عند استخدام تعليمات Intel's AES-NI وPCLMULQDQ. حقق Shay Gueron وVlad Krasnov 2.47 دورة لكل بايت على معالجات Intel من الجيل الثالث. تم إعداد التصحيحات المناسبة لمكتبات OpenSSL و NSS . [16]

عندما يلزم إجراء كل من المصادقة والتشفير على رسالة، يمكن لتطبيق برمجي تحقيق مكاسب في السرعة من خلال تداخل تنفيذ هذه العمليات. يتم زيادة الأداء من خلال استغلال التوازي على مستوى التعليمات من خلال عمليات التداخل. تسمى هذه العملية خياطة الوظائف، [17] وبينما يمكن تطبيقها من حيث المبدأ على أي مجموعة من الخوارزميات التشفيرية، فإن GCM مناسبة بشكل خاص. يوضح مانلي وجريج [18] سهولة التحسين عند استخدام خياطة الوظائف مع GCM. يقدمان مولد برنامج يأخذ نسخة C الموضحة من خوارزمية تشفير ويولد كودًا يعمل بشكل جيد على المعالج المستهدف.

لقد تعرضت GCM لانتقادات في عالم الأجهزة المضمنة (على سبيل المثال من قبل Silicon Labs) لأن المعالجة المتوازية غير مناسبة للاستخدام عالي الأداء لمحركات الأجهزة التشفيرية. ونتيجة لذلك، تعمل GCM على تقليل أداء التشفير لبعض الأجهزة الأكثر حساسية للأداء. [19] تعد مسرعات الأجهزة المتخصصة لـ ChaCha20-Poly1305 أقل تعقيدًا مقارنة بمسرعات AES. [20]

براءات الاختراع

وفقًا لبيان المؤلفين، فإن GCM غير مثقلة بالبراءات. [21]

حماية

ثبت أن GCM آمن في نموذج الأمان الملموس . [22] فهو آمن عند استخدامه مع تشفير كتلة لا يمكن تمييزه عن التباديل العشوائية؛ ومع ذلك، يعتمد الأمان على اختيار متجه تهيئة فريد لكل تشفير يتم إجراؤه بنفس المفتاح ( انظر هجوم تشفير التدفق ). بالنسبة لأي مفتاح معين، يقتصر GCM على تشفير 2 39 − 256 بت من النص العادي (64 جيجا بايت). يتضمن منشور NIST الخاص 800-38D [5] إرشادات لاختيار متجه التهيئة.

تعتمد قوة المصادقة على طول علامة المصادقة، كما هو الحال مع جميع أكواد مصادقة الرسائل المتماثلة. لا يُنصح باستخدام علامات مصادقة أقصر مع GCM. طول البت للعلامة، المشار إليه بـ t ، هو معلمة أمان. بشكل عام، قد يكون t أيًا من القيم الخمس التالية: 128 أو 120 أو 112 أو 104 أو 96. بالنسبة لتطبيقات معينة، قد يكون t 64 أو 32، لكن استخدام هذين الطولين للعلامة يقيد طول بيانات الإدخال وعمر المفتاح. يوفر الملحق C في NIST SP 800-38D إرشادات لهذه القيود (على سبيل المثال، إذا كانت t = 32 وكان الحد الأقصى لحجم الحزمة هو 2 10 بايت، فيجب استدعاء وظيفة فك تشفير المصادقة لا أكثر من 2 11 مرة؛ إذا كانت t = 64 وكان الحد الأقصى لحجم الحزمة هو 2 15 بايت، فيجب استدعاء وظيفة فك تشفير المصادقة لا أكثر من 2 32 مرة).

كما هو الحال مع أي رمز مصادقة للرسالة، إذا اختار الخصم علامة بت t عشوائيًا، فمن المتوقع أن تكون صحيحة للبيانات المعطاة بمقياس احتمال 2 - t . ومع ذلك، مع GCM، يمكن للخصم زيادة احتمالية نجاحه عن طريق اختيار علامات تحتوي على n كلمة - الطول الإجمالي للنص المشفر بالإضافة إلى أي بيانات مصادقة إضافية (AAD) - بمقياس احتمال 2 - t بعامل n . على الرغم من ذلك، يجب على المرء أن يضع في الاعتبار أن هذه العلامات المثالية لا تزال تهيمن عليها مقياس بقاء الخوارزمية 1 - n ⋅2 - t لـ t كبير بشكل تعسفي . علاوة على ذلك، فإن GCM غير مناسب للاستخدام مع أطوال علامات قصيرة جدًا ولا رسائل طويلة جدًا.

وقد وصف فيرجسون وسارينن بشكل مستقل كيف يمكن للمهاجم تنفيذ هجمات مثالية ضد مصادقة GCM، والتي تلبي الحد الأدنى من الأمان. وأظهر فيرجسون أنه إذا كان n يشير إلى العدد الإجمالي للكتل في الترميز (المدخلات إلى وظيفة GHASH)، فهناك طريقة لبناء تزوير نص مشفر مستهدف من المتوقع أن ينجح باحتمالية تقريبية تبلغ n ⋅2 t . وإذا كان طول العلامة t أقصر من 128، فإن كل تزوير ناجح في هذا الهجوم يزيد من احتمالية نجاح عمليات التزوير المستهدفة اللاحقة، وتسريب المعلومات حول مفتاح التجزئة الفرعي،  H. وفي النهاية، قد يتم اختراق H بالكامل وفقدان ضمان المصادقة تمامًا. [23]

بصرف النظر عن هذا الهجوم، قد يحاول الخصم تخمين العديد من العلامات المختلفة بشكل منهجي لإدخال معين لفك التشفير الموثق وبالتالي زيادة احتمال اعتبار واحدة (أو أكثر) منها صالحة في النهاية. لهذا السبب، يجب على النظام أو البروتوكول الذي ينفذ GCM مراقبة عدد محاولات التحقق غير الناجحة لكل مفتاح، وإذا لزم الأمر، الحد منها.

وصف سارينن مفاتيح GCM الضعيفة . [24] يقدم هذا العمل بعض الأفكار القيمة حول كيفية عمل المصادقة القائمة على التجزئة متعددة الحدود. بتعبير أدق، يصف هذا العمل طريقة معينة لتزوير رسالة GCM، مع إعطاء رسالة GCM صالحة، والتي تعمل باحتمالية تبلغ حوالي n ⋅2 −128 للرسائل التي يبلغ طولها n × 128 بت. ومع ذلك، لا يُظهر هذا العمل هجومًا أكثر فعالية مما كان معروفًا سابقًا؛ يتطابق احتمال النجاح في الملاحظة 1 من هذه الورقة مع احتمالية lemma 2 من تحليل INDOCRYPT 2004 (الإعداد w = 128 و l = n × 128 ). كما وصف سارينن أيضًا متغير GCM وضع عداد صوفي جيرمان (SGCM) استنادًا إلى الأعداد الأولية لصوفي جيرمان .

انظر أيضا

مراجع

  1. ^ مجموعات تشفير وضع عداد جالوا (GCM) AES RFC 5288 لنظام TLS
  2. ^ Lemsitzer, S.; Wolkerstorfer, J.; Felber, N.; Braendli, M. (2007). Paillier, P.; Verbauwhede, I. (eds.). Cryptographic Hardware and Embedded Systems - CHES 2007 . GCM-AES Architecture Optimized for FPGAs . Lecture Notes in Computer Science. المجلد 4727. سبرينغر. ص 227-238. doi :10.1007/978-3-540-74735-2_16. ISBN 978-3-540-74734-5.
  3. ^ McGrew, David A.; Viega, John (2005). "The Galois/Counter Mode of Operation (GCM)" (PDF) . ص. 5. تم الاسترجاع في 20 يوليو 2013 . لاحظ أن هناك خطأ مطبعي في الصيغ المذكورة في المقالة.
  4. ^ Kohno, Tadayoshi; Viega, John; Whiting, Doug (2004). "CWC: A High-Performance Conventional Authenticated Encryption Mode". في Roy, Bimal; Meier, Willi (eds.). Fast Software Encryption . Lecture Notes in Computer Science. المجلد 3017. برلين، هايدلبرغ: سبرينغر. ص 408-426. doi :10.1007/978-3-540-25937-4_26. ISBN 978-3-540-25937-4.
  5. ^ ab Dworkin, Morris (2007–2011). Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC (PDF) (تقرير فني). NIST. 800-38D . تم الاسترجاع في 2015-08-18 .
  6. ^ RFC 4106 استخدام وضع Galois/Counter (GCM) في الحمولة الأمنية المغلفة لـ IPsec (ESP)
  7. ^ RFC 4543 استخدام رمز مصادقة رسالة جالوا (GMAC) في IPsec ESP وAH
  8. ^ وضع عداد جالوا AES RFC 5647 لبروتوكول طبقة النقل الآمنة
  9. ^ مجموعات تشفير وضع عداد جالوا (GCM) AES RFC 5288 لنظام TLS
  10. ^ RFC 6367 إضافة مجموعات تشفير كاميليا إلى أمان طبقة النقل (TLS)
  11. ^ RFC 8446 بروتوكول أمان طبقة النقل الإصدار 1.3
  12. ^ "تسجيل الخوارزمية - سجل كائنات أمن الكمبيوتر | CSRC | CSRC". 24 مايو 2016.
  13. ^ "لماذا SoftEther VPN – مشروع SoftEther VPN".
  14. ^ جيرون، شاي؛ كونافيس، مايكل (أبريل 2014). "تعليمات الضرب بدون حمل من إنتل واستخدامها لحساب وضع نموذج الدوران العام (التنقيح 2.02)" (PDF) . تم الاسترجاع في 2023-09-01 .
  15. ^ كاسبر، إي.؛ شواب، بي. (2009). "AES-GCM أسرع وأكثر مقاومة للهجمات الزمنية". في كلافير، سي.؛ جاج، كيه. (المحرران). الأجهزة المشفرة والأنظمة المضمنة - CHES 2009. مذكرات محاضرات في علوم الكمبيوتر. المجلد 5747. سبرينغر. ص. 1-17. doi :10.1007/978-3-642-04138-9_1. ISBN 978-3-642-04138-9.
  16. ^ جيرون، شاي. "AES-GCM للتشفير الموثق الفعال – إنهاء حكم HMAC-SHA-1؟" (PDF) . ورشة عمل حول التشفير في العالم الحقيقي . تم الاسترجاع في 8 فبراير 2013 .
  17. ^ جوبال، ف.، فيجالي، و.، جيلفورد، ج.، أوزتورك، إي.، وولريتش، جي.، ديكسون، م.، لوكتيوخين، م.، بيرمينوف، م. "الحوسبة التشفيرية السريعة على بنية إنتل عبر خياطة الوظائف" شركة إنتل (2010)
  18. ^ مانلي، رايموند؛ جريج، ديفيد (2010). "مولد برنامج لتعليمات Intel AES-NI". في جونج، جي؛ جوبتا، كيه سي (المحرران). التقدم في علم التشفير - INDOCRYPT 2010. مذكرات محاضرات في علوم الكمبيوتر. المجلد 6498. سبرينغر. ص 311-327. doi :10.1007/978-3-642-17401-8_22. ISBN 978-3-642-17400-1.
  19. ^ "أمان إنترنت الأشياء الجزء 6: وضع عداد جالوا". 2016-05-06 . تم الاسترجاع 2023-10-17 .
  20. ^ Pfau, Johannes; Reuter, Maximilian; Harbaum, Tanja; Hofmann, Klaus; Becker, Jurgen (سبتمبر 2019). "منظور الأجهزة لشفرات ChaCha: تطبيقات Chacha8/12/20 القابلة للتطوير تتراوح من 476 شريحة إلى معدلات بت 175 جيجابت/ثانية": 294–299. doi :10.1109/SOCC46988.2019.1570548289. {{cite journal}}: تتطلب المجلة الاستشهاد بها |journal=( مساعدة )
  21. ^ McGrew, David A.; Viega, John. "بيان الملكية الفكرية لطريقة عمل Galois/Counter (GCM)" (PDF) . مركز موارد أمان الكمبيوتر، المعهد الوطني للمعايير والتكنولوجيا.
  22. ^ McGrew, David A.; Viega, John (2004). "The Security and Performance of the Galois/counter mode (GCM) of Operation". Proceedings of INDOCRYPT 2004 . Lecture Notes in Computer Science. المجلد 3348. Springer. CiteSeerX 10.1.1.1.4591 . doi :10.1007/978-3-540-30556-9_27. ISBN  978-3-540-30556-9.
  23. ^ نيلز فيرجسون، نقاط ضعف المصادقة في GCM، 2005-05-20
  24. ^ ماركو-جوهاني أو. سارينن (2011-04-20). "هجمات التدوير على GCM وGHASH وأنظمة MAC وHashes متعددة الحدود الأخرى". أرشيف Cryptology ePrint . FSE 2012.
  • منشور خاص من NIST SP800-38D يحدد GCM وGMAC
  • RFC 4106: استخدام وضع Galois/Counter (GCM) في الحمولة الأمنية المغلفة لـ IPsec (ESP)
  • RFC 4543: استخدام رمز مصادقة رسالة Galois (GMAC) في IPsec ESP وAH
  • RFC 5288: مجموعات تشفير AES Galois Counter Mode (GCM) لـ TLS
  • RFC 6367: إضافة مجموعات تشفير Camellia إلى أمان طبقة النقل (TLS)
  • IEEE 802.1AE – أمان التحكم في الوصول إلى الوسائط (MAC)
  • طورت مجموعة عمل أمن التخزين التابعة لمعهد مهندسي الكهرباء والإلكترونيات معيار P1619.1
  • تعمل اللجنة الفنية INCITS T11 على مشروع بروتوكولات أمان قنوات الألياف.
  • تشفير AES-GCM وAES-CCM المعتمد في بروتوكول RTP الآمن (SRTP)
  • طريقة عمل جالوا/كاونتر (GCM)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Galois/Counter_Mode&oldid=1245145814"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate