OmniAUSF
تقوم OmniAUSF بتنفيذ وظيفة خادم المصادقة (AUSF) من النواة 5G. إنها تنظم المصادقة الأولية بين AMF (عبر واجهة N12) و UDM (عبر واجهة N13)، وتنفيذ طريقة المصادقة 5G-AKA المحددة في TS 33.501. يطلب AUSF متجه المصادقة من UDM، ويعيد تحدي RAND/AUTN (وهاش الاستجابة المتوقعة) إلى AMF، ويتحقق من الاستجابة التي ينتجها UE في النهاية، ويستنتج مفتاح التثبيت K_SEAF للشبكة الخدمية، ويسجل نتيجة المصادقة مرة أخرى في UDM.
يتم تتبع كل تبادل مصادقة بواسطة سياق مصادقة UE في الذاكرة، يتم تحديده بواسطة authCtxId (UUID) تم إنشاؤه. يحتفظ السياق بمواد المتجه (RAND، XRES*، HXRES*، K_AUSF، K_SEAF) طوال مدة التبادل ويتم حذفه عند الانتهاء (نجاح أو فشل)، أو عند deregistration صريح، أو عند إعادة تشغيل العملية. بالإضافة إلى ذلك، يقوم جامع السياقات الخاضع للإشراف بجمع السياقات غير النشطة أو المهجورة بشكل دوري بمجرد تجاوزها TTL القابل للتكوين، بحيث لا يبقى السياق الذي يبدأه AMF ولكنه لا يؤكده إلى الأبد. تستهدف مكالمات SBI الصادرة إلى UDM UDM المكتشفة من NRF (Nnrf_NFDiscovery)، وتعود إلى udm_uri الثابت فقط عندما لا تسفر الاكتشافات عن شيء؛ كما يسجل AUSF أيضًا مع NRF ويرسل نبضات قلب. تخدم OmniAUSF خدمة nausf-auth (nausf-auth/v1) وتستهلك خدمة UDM nudm-ueau (nudm-ueau/v1).
الوثائق
- العمليات - مراجع 3GPP، الواجهات ونقاط نهاية SBI، وإجراءات المصادقة الرئيسية مع مخططات تسلسلها.
- التكوين - مرجع تكوين كامل مع ج��اول المعلمات، ونقاط نهاية API للإدارة/OAM، وملاحظات التسجيل.
- المقاييس - مقاييس Prometheus التي يكشف عنها AUSF وأمثلة على استعلامات PromQL.
- استكشاف الأخطاء وإصلاحها - أعراض الفشل الشائعة مع العلاجات.
نظرة عامة على العمارة
نظرة عامة على الميزات
- المصادقة الأولية 5G-AKA (TS 33.501 6.1.3) من النهاية إلى النهاية: استرجاع المتجه، نقل التحدي، التحقق من الاستجابة، وتقرير النتيجة.
- استنتاج K_SEAF (TS 33.501 A.6) مرتبط باسم الشبكة الخدمية، يتم إرجاعه إلى AMF عند نجاح المصادقة.
- حساب HXRES* (TS 33.501 A.5) يتم إرجاعه إلى AMF في استجابة البدء.
- تقرير نتيجة المصادقة إلى UDM (
auth-events) لكل من النجاح والفشل. - معالجة إعادة مزامنة SQN: يتم اكتشاف
resynchronizationInfo(RAND + AUTS)، والتحقق منها، ونقلها إلى UDM؛ يتم إسقاط المدخلات المعاد مزامنتها بشكل غير صحيح. - إزالة سياق أمان UE - نقاط نهاية
deregisterوالحذف لكل سياق. - فك تشفير المتجهات/الاستجابات الدفاعية - يتم التعامل مع المتجهات غير الصحيحة من UDM و
resStarغير الصحيحة كأخطاء نظيفة، دون حدوث أعطال. - تسجيل NRF ونبض القلب.
- OAM في وقت التشغيل - فحص الجلسات/الإحصائيات، ضبط التكوين ومستوى التسجيل، وإجبار إعادة تسجيل NRF ع��ر واجهة إدارة HTTPS.
- مقاييس Prometheus لنتائج المصادقة (بما في ذلك إعادة مزامنة SQN)، حالة NRF، وصحة BEAM VM. عدد السياقات النشطة المتاحة في الوقت الحقيقي متاح عبر واجهة OAM.
البدء السريع
يتم قراءة التكوين من مفتاح بيئة التطبيق :omniausf، المملوء من config/runtime.exs. يتم دعم كل مفتاح وقت تشغيل بواسطة متغير بيئة نظام التشغيل الذي يتم قراءته عند بدء التشغيل.
config :omniausf,
udm_uri: "http://127.0.0.12:7777",
sbi_scheme: "http",
sbi_addr: "127.0.0.19",
sbi_port: 7777,
nrf_uri: "http://127.0.0.1:7777",
mcc: "999",
mnc: "70",
prometheus_metrics_port: 9568,
heartbeat_interval: 10_000
config :logger, :default_formatter,
format: {OmniLogger.JsonFormatter, :format},
metadata: :all
تعيش وثائق المعلمات الكاملة، بما في ذلك الأنواع والقيم الافتراضية ومتغيرات البيئة، في configuration.md.