عمليات OmniUDM
OmniUDM هي وظيفة إدارة البيانات الموحدة (UDM) في نواة Omnitouch 5G. تقدم بيانات هوية المشترك والاشتراك والسياق لبقية النواة من خلال خدمات Nudm القياسية، مما يدعم جميع البيانات الموثوقة على مستودع البيانات الموحد (OmniUDR) عبر nudr-dr.
دور 3GPP ومراجع المواصفات
| الجانب | المرجع |
|---|---|
| الدور الوظيفي لـ UDM في 5GC | TS 23.501 |
| خدمات Nudm (SDM / UEAU / UECM) | TS 29.503 |
| Nudr_DataRepository (المستهلكة) | TS 29.504 |
| مخططات إخفاء وحماية SUCI / SUPI | TS 33.501 §6.12 وملحق C |
| هيكل وترميز SUCI / SUPI | TS 23.003 §2.2B |
| مصادقة 5G-AKA وتسلسل المفاتيح | TS 33.501 §6.1.3، ملحق A |
| مجموعة خوارزمية Milenage | TS 35.206 |
| ترميز هوية ��لهاتف المحمول (SUCI/MSIN BCD) | TS 24.501 |
الواجهات ونقاط نهاية SBI
تقوم OmniUDM بتسجيل الخدمات التالية مع NRF وتقدمها على مستمع SBI (sbi_scheme://sbi_addr:sbi_port):
| الخدمة | الإصدار | الغرض |
|---|---|---|
nudm-sdm | v2 | إدارة بيانات المشترك |
nudm-ueau | v1 | توليد متجه المصادقة للـ UE |
nudm-uecm | v1 | إدارة سياق UE (تسجيل AMF/SMF) |
تتم قراءة جميع بيانات المشترك والسياق الموثوقة من / الكتابة إلى OmniUDR عبر nudr-dr/v2 (مسار أساسي .../nudr-dr/v2/subscription-data/{ueId}/...). جميع أجسام الطلب/الاستجابة هي JSON. يتم إرجاع الأخطاء كـ application/problem+json ProblemDetails.
Nudm_UEAuthentication (nudm-ueau/v1)
| الطريقة | المسار | الوصف |
|---|---|---|
| POST | /{supiOrSuci}/security-information/generate-auth-data | توليد متجه مصادقة 5G-AKA. يقبل SUPI أو SUCI؛ يقوم بإلغاء إخفاء SUCI أولاً. يتطلب servingNetworkName و ausfInstanceId |
| POST | /{supi}/auth-events | تسجيل حدث نتيجة المصادقة. يتطلب nfInstanceId �� success و timeStamp و authType و servingNetworkName |
| PUT | /{supi}/auth-events/{authEventId} | تحديث / إزالة حدث مصادقة (جسم AuthEvent، authRemovalInd=true يزيله) |
Nudm_UECM (nudm-uecm/v1)
| الطريقة | المسار | الوصف |
|---|---|---|
| PUT | /{supi}/registrations/amf-3gpp-access | AMF يسجل الوصول 3GPP لـ UE |
| PATCH | /{supi}/registrations/amf-3gpp-access | تحديث معلمات تسجيل AMF 3GPP المخزنة (دمج-تحديث) |
| GET | /{supi}/registrations/amf-3gpp-access | استرجاع تسجيل AMF 3GPP المخزن |
| PUT | /{supi}/registrations/amf-non-3gpp-access | AMF يسجل الوصول غير 3GPP لـ UE |
| GET | /{supi}/registrations/amf-non-3gpp-access | استرجاع تسجيل AMF غير 3GPP المخزن |
| PUT | /{supi}/registrations/smf-registrations/{pduSessionId} | SMF يسجل سياق جلسة PDU |
| DELETE | /{supi}/registrations/smf-registrations/{pduSessionId} | SMF يلغي تسجيل سياق جلسة PDU |
Nudm_SDM (nudm-sdm/v2)
| الطريقة | المسار | الوصف |
|---|---|---|
| GET | /{supi} | GetDataSets - استرجاع مجموعات بيانات متعددة مختارة بواسطة معلمة الاستعلام الإلزامية dataset-names (مفصولة بفواصل AM و SM و SMF_SEL و UEC_SMF) |
| GET | /{supi}/am-data | بيانات الاشتراك في الوصول والتنقل (استعلام plmn-id اختياري) |
| GET | /{supi}/sm-data | بيانات الاشتراك في إدارة الجلسة (استعلام plmn-id اختياري) |
| GET | /{supi}/smf-select-data | بيانات الاشتراك في اختيار SMF (استعلام plmn-id اختياري) |
| GET | /{supi}/nssai | بيانات الاشتراك في اختيار شريحة الشبكة |
| GET | /{supi}/ue-context-in-smf-data | سياق UE في SMF (جلسات PDU النشطة): انظر الملاحظة أدناه |
| POST | /{supi}/sdm-subscriptions | الاشتراك في إشعارات تغيير البيانات. يتطلب nfInstanceId و callbackReference و monitoredResourceUris |
| GET | /{supi}/sdm-subscriptions/{subscriptionId} | استرجاع اشتراك SDM المخزن |
| PATCH | /{supi}/sdm-subscriptions/{subscriptionId} | تعديل اشتراك SDM (دمج-تحديث) |
| DELETE | /{supi}/sdm-subscriptions/{subscriptionId} | إزالة اشتراك SDM |
إخفاء SUCI / SUPI
لحماية هوية المشترك الدائمة عبر الهواء، يرسل UE SUCI (معرف الاشتراك المخفي) بدلاً من SUPI (معرف الاشتراك الدائم، أي imsi-<IMSI>). عندما يطلب AUSF من OmniUDM توليد متجه مصادقة لـ SUCI، يقوم OmniUDM بإلغاء إخفاء SUCI إلى SUPI قبل أن يتمكن من البحث عن بيانات المشترك في UDR.
يدعم OmniUDM ثلاثة مخططات حماية محددة في TS 33.501 §6.12 / ملحق C:
| المخطط | الاسم | المنحنى / التشفير | يتطلب مفتاح HNET؟ |
|---|---|---|---|
| 0 | مخطط فارغ | لا شيء - MSIN في نص عادي | لا |
| 1 | ملف ECIES A | Curve25519 (X25519) + AES-128-CTR + HMAC-SHA-256 | نعم |
| 2 | ملف ECIES B | secp256r1 / P-256 + AES-128-CTR + HMAC-SHA-256 | نعم |
بالنسبة لـ المخطط الفارغ، يتم حمل MSIN في نص عادي؛ يتم فك تشفيره باستخدام BCD من مخرجات المخطط لإعادة بناء IMSI (وفقًا لـ TS 24.501 - يتم ترميز أرقام MSIN باستخدام BCD، وليس hex). بالنسبة لـ الملف A والملف B، يقوم إلغاء الإخفاء بإجراء ECDH مؤقت-ثابت ضد المفتاح الخاص لشبكة المنزل للمشغل، ويستخرج مفاتيح التشفير/MAC (ANSI-X9.63-KDF مع SHA-256)، ويتحقق من MAC، ويفك تشفير MSIN المخفي، ويفك تشفيره باستخدام BCD لإعادة بناء IMSI.
يتم تحميل المفاتيح الخاصة لشبكة المنزل للملف A/B من دليل hnet_key_dir. يتم توثيق تسمية الملفات والترميزات ومتطلبات الأمان وتحديث الذاكرة المؤقتة في التكوين → مفاتيح شبكة المنزل (hnet_key_dir).
الإجراءات الرئيسية
إلغاء إخفاء SUCI وتوليد متجه المصادقة
يطلب AUSF متجه مصادقة؛ يقوم OmniUDM بحل الهوية (يتم إلغاء إخفاء SUCI إذا لزم الأمر)، ويستخرج مواد المفاتيح ومتجه أساسي من HSS عبر UDR، ثم يعيد اشتقاق AUTN ومفاتيح محددة لـ 5G. إدارة SQN وأي إعادة مزامنة تتم بواسطة HSS خلف UDR - يقوم OmniUDM بإعادة اشتقاق 5G AUTN (مع تعيين بت الفصل)، و XRES*، و KAUSF من المواد المعادة. يتم تمرير resynchronizationInfo المقدم من AUSF إلى HSS عبر UDR.
تعود حالات فشل إلغاء الإخفاء برمز HTTP 403 (فشل إلغاء إخفاء SUCI)، ويعود مخطط الحماية غير المدعوم برمز HTTP 501، ويعود المشترك المفقود برمز HTTP 404 (USER_NOT_FOUND)، ويعود مواد المفاتيح غير الصالحة أو فشل توليد متجه HSS برمز HTTP 500.
تسجيل حدث نتيجة المصادقة
بعد أن يكمل AUSF المصادقة، يسجل النتيجة. يقوم OmniUDM بتخزين الحدث ضد سياق UE ويعيد Location للحدث الذي تم إنشاؤه؛ يمكن لـ AUSF لاحقًا PUT حدث AuthEvent مع authRemovalInd=true لإزالته (204 لا محتوى).
جلب بيانات المشترك SDM (sm-data)
بعد التسجيل، يقوم AMF/SMF بجلب بيانات الاشتراك. يقوم OmniUDM بتمرير الطلب إلى UDR، مضيفًا PLMN الخادم، ويعيد استجابة UDR. بالنسبة لـ sm-data، يتم لف كائن UDR واحد في مصفوفة وفقًا لـ TS 29.503 SmSubsData.
تتبع تدفقات am-data و smf-select-data و GetDataSets (GET /{supi}) نفس نمط التمرير ضد UDR. يقوم GetDataSets بتجميع فقط مجموعات البيانات المطلوبة التي يمكنه حلها، متجاوزًا أي منها يحدث بها خطأ. يتم اشتقاق nssai من استجابة UDR am-data (انظر أدناه).
سياق UE في SMF يعيد سياق جلسة PDU الحية.
GET /{supi}/ue-context-in-smf-dataومجموعة بياناتUEC_SMFفي GetDataSets تعيد سياقات جلسة PDU النشطة لـ UE كما أبلغ عنها SMF عبر إجراء تسجيل SMF Nudm_UECM. يتم إسقاط كل تسجيل SMF مخزن في خريطةpduSessions(مفاتيحها بواسطة معرف جلسة PDU) وفقًا لـ TS 29.503. تكون الخريطة فارغة ({"pduSessions": {}}) فقط عندما لا يمتلك UE تسجيلات SMF حقيقية.
استرجاع NSSAI مع التراجع الافتراضي
GET /{supi}/nssai يجلب am-data من UDR ويستخرج nssai المضمن. إذا أعاد UDR am-data بدون nssai، أو فشل البحث في UDR، يعيد OmniUDM التراجع القابل للتكوين default_nssai حتى يتلقى AMF دائمًا قائمة الشرائح.
يجب أن يتطابق التراجع default_nssai مع الشرائح التي تقدمها الشبكة فعليًا - يتم رفض المشترك الذي تم تقديمه لشريحة لا يتم تكوين AMF لتقديمها برمز 5GMM السبب #62. انظر التكوين → مفاتيح الضبط الاختيارية.
إشعارات تغيي�� SDM
يتم إخطار المشتركين الذين لديهم اشتراك SDM نشط بالتغييرات اللاحقة: يقوم OmniUDM بإرسال ModificationNotification إلى callbackReference لكل اشتراك (بشكل غير متزامن) عندما تتغير الموارد المراقبة. يمكن أيضًا تشغيل إشعار يدويًا لمشترك عبر واجهة إدارة/OAM API.
تسجيل AMF لـ UECM والتنقل
عند تسجيل UE، يقوم AMF بتسجيل نفسه لذلك UE في OmniUDM. إذا تم تسجيل AMF مختلف سابقًا، يقوم OmniUDM بإخطار deregCallbackUri لـ AMF القديم حتى يتمكن من تحرير UE، ثم يحتفظ بالتسجيل الجديد في UDR.
يتم التحقق من IEs الإلزامية وفقًا لـ TS 29.503: يتطلب تسجيل AMF 3GPP amfInstanceId و deregCallbackUri و guami و ratType؛ يتطلب تسجيل SMF smfInstanceId و pduSessionId و singleNssai و plmnId، ويجب أن يتطابق جسم pduSessionId مع المسار (تؤدي عدم المطابقة إلى إرجاع MANDATORY_IE_INCORRECT). تؤدي IEs المفقودة إلى إرجاع HTTP 400.