واجهة برمجة تطبيقات خدمات الأمن العامة
واجهة برمجة تطبيقات خدمة الأمان العامة ( GSSAPI ، أو GSS-API ) هي واجهة برمجة تطبيقات للبرامج للوصول إلى خدمات الأمان [ 1 ] .
يُعدّ GSSAPI معيارًا من معايير IETF يعالج مشكلة وجود العديد من خدمات الأمان المتشابهة ولكن غير المتوافقة المستخدمة اعتبارًا من عام 2005..
عملية
لا يوفر بروتوكول GSSAPI، بحد ذاته، أي حماية. بدلاً من ذلك، توفر شركات خدمات الأمان تطبيقات GSSAPI ، عادةً على شكل مكتبات تُثبّت مع برامج الأمان الخاصة بها. تُقدّم هذه المكتبات واجهة متوافقة مع GSSAPI لمطوري التطبيقات، الذين يمكنهم كتابة تطبيقاتهم لاستخدام GSSAPI فقط، بغض النظر عن الشركة المُصنّعة . إذا دعت الحاجة إلى استبدال تطبيق الأمان، فلن يكون من الضروري إعادة كتابة التطبيق. [ 2 ]
تتمثل السمة المميزة لتطبيقات GSSAPI في تبادل رسائل مبهمة ( رموز ) تخفي تفاصيل التنفيذ عن التطبيق ذي المستوى الأعلى [ 3 ] . يُكتب جانبا التطبيق، العميل والخادم، لنقل الرموز التي تُمنح لهما من قِبل تطبيقات GSSAPI الخاصة بهما. عادةً ما يمكن لرموز GSSAPI أن تنتقل عبر شبكة غير آمنة، حيث توفر الآليات أمانًا متأصلًا للرسائل. بعد تبادل عدد معين من الرموز، تُبلغ تطبيقات GSSAPI على كلا الطرفين تطبيقها المحلي بإنشاء سياق أمان .
بمجرد إنشاء سياق أمني، يمكن تغليف (تشفير) رسائل التطبيق الحساسة بواسطة GSSAPI لتأمين الاتصال بين العميل والخادم. تشمل الحمايات النموذجية التي يضمنها تغليف GSSAPI السرية (الخصوصية) والنزاهة (الأصالة) [ 4 ] . كما يمكن لـ GSSAPI توفير ضمانات محلية بشأن هوية المستخدم أو المضيف البعيد.
يصف دليل GSSAPI حوالي 45 استدعاءً إجرائيًا. ومن أهمها ما يلي:
- GSS_Acquire_cred
- يحصل على إثبات هوية المستخدم، وغالبًا ما يكون مفتاح تشفير سري
- اسم الاستيراد GSS
- يحوّل اسم المستخدم أو اسم المضيف إلى شكل يحدد كيانًا أمنيًا
- سياق GSS_Init_sec_context
- يقوم بإنشاء رمز عميل لإرساله إلى الخادم، وعادةً ما يكون تحديًا.
- GSS_Accept_sec_context
- يقوم بمعالجة رمز مميز من GSS_Init_sec_context ويمكنه إنشاء رمز استجابة لإعادته
- غلاف GSS
- يحوّل بيانات التطبيق إلى رمز رسالة آمن (عادةً ما يكون مشفرًا).
- GSS_Unwrap
- يحوّل رمز الرسالة الآمنة إلى بيانات التطبيق
تم توحيد معيار GSSAPI للغة C (RFC 2744). وتُطبّق لغة جافا معيار GSSAPI [ 5 ] باسم JGSS، [ 6 ] وهو واجهة برمجة تطبيقات خدمات الأمان العامة لجافا. [ 7 ]
بعض القيود [ 8 ] لـ GSSAPI هي:
- توحيد معايير المصادقة فقط ، وليس التفويض أيضاً؛
- بافتراض بنية العميل والخادم .
واستباقًا لآليات الأمان الجديدة، يتضمن GSSAPI آلية تفاوض زائفة ، SPNEGO ، يمكنها اكتشاف واستخدام آليات جديدة لم تكن موجودة عند إنشاء التطبيق الأصلي.
التوافر
تُطبّق لغات برمجة مختلفة واجهة برمجة تطبيقات GSSAPI. توفر لغة جافا هذه الميزات في حزمة مكتبتها القياسيةorg.ietf.jgss.* . [ 9 ]
العلاقة مع كيربيروس
يُعدّ Kerberos آلية GSSAPI الأكثر استخدامًا . على عكس GSSAPI، لم يتم توحيد واجهة برمجة تطبيقات Kerberos، وتستخدم العديد من التطبيقات الحالية واجهات برمجة تطبيقات غير متوافقة. يسمح GSSAPI لتطبيقات Kerberos بأن تكون متوافقة مع واجهة برمجة التطبيقات. [ 10 ]
التقنيات ذات الصلة
المفاهيم الأساسية
- اسم
- سلسلة ثنائية تُعرّف كيانًا أمنيًا (أي مستخدم أو برنامج خدمة) - انظر التحكم في الوصول والهوية . على سبيل المثال، يستخدم Kerberos أسماءً مثل user@REALM للمستخدمين و service/hostname@REALM للبرامج.
- أوراق اعتماد
- معلومات تثبت الهوية؛ تستخدمها جهة ما لتتصرف بصفتها الكيان الرئيسي المذكور. تتضمن بيانات الاعتماد عادةً مفتاح تشفير سري.
- سياق
- حالة أحد طرفي بروتوكول المصادقة/المصادق عليه . قد توفر خدمات حماية الرسائل، والتي يمكن استخدامها لإنشاء قناة آمنة .
- الرموز
- يتم تبادل الرسائل المبهمة إما كجزء من بروتوكول المصادقة الأولي (رموز على مستوى السياق)، أو كجزء من اتصال محمي (رموز لكل رسالة).
- الآلية
- تطبيق أساسي لـ GSSAPI يوفر أسماءً ورموزًا وبيانات اعتماد فعلية. تشمل الآليات المعروفة Kerberos و NTLM وبيئة الحوسبة الموزعة ( DCE) وSESAME و SPKM وLIPKEY.
- المبادر/المتقبل
- الطرف الذي يرسل الرمز المميز الأول هو المُبادر، والآخر هو المُستقبِل. عمومًا، يكون برنامج العميل هو المُبادر بينما يكون الخادم هو المُستقبِل.
تاريخ
- يوليو 1991: يجتمع فريق عمل تقنية المصادقة المشتركة (CAT) التابع لـ IETF في أتلانتا، بقيادة جون لين.
- سبتمبر 1993: الإصدار 1 من GSSAPI (RFC 1508، RFC 1509)
- مايو 1995: تم إصدار نظام التشغيل ويندوز إن تي 3.51، والذي يتضمن واجهة SSPI.
- يونيو 1996: آلية كيربيروس لـ GSSAPI (RFC 1964)
- يناير 1997: الإصدار 2 من GSSAPI (RFC 2078)
- أكتوبر 1997: تم نشر SASL، ويتضمن آلية GSSAPI (RFC 2222)
- يناير 2000: التحديث 1 للإصدار 2 من GSSAPI (RFC 2743، RFC 2744)
- أغسطس 2004: اجتماع فريق عمل القطط الصغيرة لمواصلة أنشطة القطط
- مايو 2006: تم توحيد استخدام بروتوكول GSSAPI في بروتوكول Secure Shell (RFC 4462)
انظر أيضاً
مراجع
- ↑ "مقدمة أساسية إلى GSSAPI — وثائق Python-GSSAPI 1.2.2" . pythonhosted.org . تم الاطلاع عليه بتاريخ 2026-05-08 .
- ↑ "الفصل 1: واجهة برمجة تطبيقات GSS: نظرة عامة (دليل برمجة واجهة برمجة تطبيقات GSS)" . docs.oracle.com . تم الاطلاع عليه بتاريخ 2026-05-08 .
- ↑ "مصادقة GSSAPI" . docs.ssh.com . تم الاطلاع عليه بتاريخ 2026-05-08 .
- ↑ "مقدمة أساسية إلى GSSAPI — وثائق Python-GSSAPI 1.2.2" . pythonhosted.org . تم الاطلاع عليه بتاريخ 2026-05-08 .
- ↑ "JSR-000072 مواصفات واجهة برمجة تطبيقات خدمات الأمان العامة 0.1" . 15-06-2001 . تم الاطلاع عليه بتاريخ 07-10-2015 .
- ^ مارك شونيفيلد (2010). إعادة هيكلة الأنماط الأمنية المضادة في مكونات Java الموزعة . انضم إلى كلية Wirtschaftsinformatik وAngewante Informatik في جامعة أوتو فريدريش بامبرغ. المجلد. 5. مطبعة جامعة بامبرج. ص. 179. ردمك 9783923507689تم الاطلاع عليه بتاريخ 2015-10-07 .
JGSS هو تطبيق جافا لـ GSSAPI.
- ↑ فيشر، مارينا؛ شارما، سونو؛ لاي، راي؛ موروني، لورانس (2006). التوافق بين Java EE و.NET: استراتيجيات التكامل، والأنماط، وأفضل الممارسات . برنتيس هول بروفيشنال. ISBN 9780132715706تم الاطلاع عليه بتاريخ 2015-10-07 .
واجهة برمجة تطبيقات خدمات الأمان العامة في جافا (JGSS) للوصول الموحد إلى خدمات الأمان فوق مجموعة متنوعة من آليات الأمان الأساسية، بما في ذلك Kerberos، والتي تعتبر لبنات بناء لتسجيل الدخول الموحد وتشفير البيانات.
- ↑ "قيود واجهة برمجة تطبيقات GSS - دليل المطور لأمان Oracle® Solaris 11" . docs.oracle.com . تم الاطلاع عليه بتاريخ 2026-05-08 .
- ↑ "org.ietf.jgss (Java SE 25 & JDK 25)" . docs.oracle.com . شركة أوراكل . تم الاطلاع عليه بتاريخ 10 أكتوبر 2025 .
- ↑ "التطوير باستخدام GSSAPI - وثائق MIT Kerberos" . web.mit.edu . تم الاطلاع عليه بتاريخ 2026-05-08 .
روابط خارجية
- RFC 2743 واجهة برمجة تطبيقات خدمة الأمان العامة الإصدار 2 التحديث 1
- RFC 2744 واجهة برمجة تطبيقات خدمة الأمان العامة الإصدار 2: روابط C
- RFC 1964 آلية Kerberos 5 GSS-API
- RFC 4121 آلية Kerberos 5 GSS-API: الإصدار 2
- RFC 4178 آلية التفاوض البسيطة والمحمية بين نظام GSS وواجهة برمجة التطبيقات (SPNEGO)
- RFC 2025 آلية المفتاح العام البسيطة لواجهة برمجة تطبيقات نظام الأمن العام (SPKM)
- RFC 2847 LIPKEY - آلية مفتاح عام منخفضة البنية التحتية باستخدام SPKM
- "تقنية المصادقة المشتركة من الجيل التالي (kitten)" . فريق عمل هندسة الإنترنت . سبتمبر 2013.
- صن مايكروسيستمز (2002). "دليل برمجة GSS-API - صن سولاريس 9" . شركة أوراكل .
- شركة أوراكل (2020). "كتابة التطبيقات التي تستخدم GSS-API - أوراكل سولاريس 11.4، دليل المطور للأمان" .
- أمان أنظمة التشغيل
- معايير الإنترنت
