فتحت Google تطورات متعلقة ببروتوكول شبكة PSP الآمنة

أعلنت Google عن فتح المواصفات والتنفيذ المرجعي لـ PSP (بروتوكول أمان PSP)، المستخدم لتشفير حركة المرور بين مراكز البيانات. يستخدم البروتوكول بنية تغليف حركة المرور المشابهة لـ IPsec ESP (تغليف حمولات الأمان) عبر IP، مما يوفر التشفير والتحكم في سلامة التشفير ومصادقة المصدر. كود تنفيذ PSP مكتوب بلغة C ويتم توزيعه بموجب ترخيص Apache 2.0.

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

يتم استخدام بروتوكول UDP كوسيلة نقل لنقل البيانات. تبدأ حزمة PSP برأس IP، متبوعًا برأس UDP، ثم رأس PSP الخاص بها مع معلومات التشفير والمصادقة. بعد ذلك، يتم إلحاق محتويات حزمة TCP/UDP الأصلية، وتنتهي بكتلة PSP نهائية مع مجموع اختباري لتأكيد التكامل. تتم دائمًا مصادقة رأس PSP، بالإضافة إلى رأس وبيانات الحزمة المغلفة، لتأكيد هوية الحزمة. يمكن تشفير بيانات الحزمة المغلفة، في حين أنه من الممكن تطبيق التشفير بشكل انتقائي مع ترك جزء من رأس TCP واضحًا (مع الحفاظ على التحكم في المصادقة)، على سبيل المثال، لتوفير القدرة على فحص الحزم على معدات شبكة النقل.

فتحت Google تطورات متعلقة ببروتوكول شبكة PSP الآمنة

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

على عكس بروتوكولات VPN النموذجية، يستخدم PSP التشفير على مستوى اتصالات الشبكة الفردية، وليس قناة الاتصال بأكملها، أي. يستخدم PSP مفاتيح تشفير منفصلة لاتصالات UDP وTCP النفقية المختلفة. يتيح هذا الأسلوب تحقيق عزل أكثر صرامة لحركة المرور من التطبيقات والمعالجات المختلفة، وهو أمر مهم عندما يتم تشغيل التطبيقات والخدمات الخاصة بمستخدمين مختلفين على نفس الخادم.

تستخدم Google بروتوكول PSP لحماية اتصالاتها الداخلية ولحماية حركة مرور عملاء Google Cloud. تم تصميم البروتوكول في البداية للعمل بفعالية في البنى التحتية على مستوى Google ويجب أن يوفر تسريعًا للتشفير في الأجهزة في ظل وجود الملايين من اتصالات الشبكة النشطة وإنشاء مئات الآلاف من الاتصالات الجديدة في الثانية.

يتم دعم وضعين للتشغيل: "الحالة" و"عديمة الحالة". في الوضع "عديم الحالة"، يتم إرسال مفاتيح التشفير إلى بطاقة الشبكة في واصف الحزمة، ولفك التشفير يتم استخراجها من حقل SPI (مؤشر معلمة الأمان) الموجود في الحزمة باستخدام مفتاح رئيسي (256 بت AES، مخزن في ذاكرة بطاقة الشبكة واستبدالها كل 24 ساعة)، مما يسمح لك بحفظ ذاكرة بطاقة الشبكة وتقليل المعلومات حول حالة الاتصالات المشفرة المخزنة على جانب الجهاز. في الوضع "الحالة"، يتم تخزين مفاتيح كل اتصال على بطاقة الشبكة في جدول خاص، على غرار كيفية تنفيذ تسريع الأجهزة في IPsec.

فتحت Google تطورات متعلقة ببروتوكول شبكة PSP الآمنة

يوفر PSP مزيجًا فريدًا من إمكانيات بروتوكول TLS وIPsec/VPN. كان TLS مناسبًا لشركة Google من حيث الأمان لكل اتصال، ولكنه لم يكن مناسبًا بسبب افتقاره إلى المرونة في تسريع الأجهزة ونقص دعم UDP. يوفر IPsec استقلالية البروتوكول ويدعم تسريع الأجهزة بشكل جيد، ولكنه لا يدعم ربط المفاتيح للاتصالات الفردية، وقد تم تصميمه لعدد صغير فقط من الأنفاق التي تم إنشاؤها، وواجه مشكلات في توسيع نطاق تسريع الأجهزة بسبب تخزين حالة التشفير الكاملة في الجداول الموجودة في الذاكرة من بطاقة الشبكة (على سبيل المثال، يلزم وجود 10 جيجابايت من الذاكرة للتعامل مع 5 ملايين اتصال).

في حالة PSP، يمكن إرسال المعلومات حول حالة التشفير (المفاتيح، ومتجهات التهيئة، والأرقام التسلسلية، وما إلى ذلك) في واصف حزمة TX أو في شكل مؤشر لذاكرة النظام المضيفة، دون شغل ذاكرة بطاقة الشبكة. وفقًا لشركة Google، تم إنفاق ما يقرب من 0.7% من قوة الحوسبة وكمية كبيرة من الذاكرة سابقًا على تشفير حركة مرور RPC في البنية التحتية للشركة. أدى إدخال PSP من خلال استخدام تسريع الأجهزة إلى تقليل هذا الرقم إلى 0.2٪.

المصدر: opennet.ru

إضافة تعليق