Saltar al contenido principal

← Resumen

Operaciones de OmniUDM

OmniUDM es la función de Gestión Unificada de Datos (UDM) del núcleo 5G de Omnitouch. Presenta la identidad del suscriptor, la suscripción y los datos de contexto al resto del núcleo a través de los servicios estándar de Nudm, respaldando todos los datos autorizados en el Repositorio de Datos Unificado (OmniUDR) a través de nudr-dr.

Rol de 3GPP y Referencias de Especificación​

AspectoReferencia
Rol funcional de UDM en el 5GCTS 23.501
Servicios de Nudm (SDM / UEAU / UECM)TS 29.503
Nudr_DataRepository (consumido)TS 29.504
Esquemas de ocultación y protección de SUCI / SUPITS 33.501 §6.12 y Anexo C
Estructura y codificación de SUCI / SUPITS 23.003 §2.2B
Autenticación 5G-AKA y jerarquía de clavesTS 33.501 §6.1.3, Anexo A
Codificación de identidad móvil (SUCI/MSIN BCD)TS 24.501

Interfaces y Puntos de Acceso SBI​

OmniUDM registra los siguientes servicios con el NRF y los sirve en el listener SBI (sbi_scheme://sbi_addr:sbi_port):

ServicioVersiónPropósito
nudm-sdmv2Gestión de datos del suscriptor
nudm-ueauv1Generación de vectores de autenticación de UE
nudm-uecmv1Gestión del contexto de UE (registro AMF/SMF)

Todos los datos autorizados del suscriptor y del contexto se leen desde / escriben en OmniUDR a través de nudr-dr/v2 (ruta base .../nudr-dr/v2/subscription-data/{ueId}/...). Todos los cuerpos de solicitud/respuesta son JSON. Los errores se devuelven como application/problem+json ProblemDetails.

Nudm_UEAuthentication (nudm-ueau/v1)​

MétodoRutaDescripción
POST/{supiOrSuci}/security-information/generate-auth-dataGenerar un vector de autenticación 5G-AKA. Acepta un SUPI o SUCI; primero oculta SUCI. Requiere servingNetworkName y ausfInstanceId
POST/{supi}/auth-eventsRegistrar un evento de resultado de autenticación. Requiere nfInstanceId, success, timeStamp, authType, servingNetworkName
PUT/{supi}/auth-events/{authEventId}Actualizar / eliminar un evento de autenticación (el cuerpo de AuthEvent, authRemovalInd=true lo elimina)

Nudm_UECM (nudm-uecm/v1)​

MétodoRutaDescripción
PUT/{supi}/registrations/amf-3gpp-accessAMF registra acceso 3GPP para un UE
PATCH/{supi}/registrations/amf-3gpp-accessActualizar parámetros de la inscripción 3GPP AMF almacenada (merge-patch)
GET/{supi}/registrations/amf-3gpp-accessRecuperar la inscripción 3GPP AMF almacenada
PUT/{supi}/registrations/amf-non-3gpp-accessAMF registra acceso no 3GPP para un UE
GET/{supi}/registrations/amf-non-3gpp-accessRecuperar la inscripción no 3GPP AMF almacenada
PUT/{supi}/registrations/smf-registrations/{pduSessionId}SMF registra un contexto de sesión PDU
DELETE/{supi}/registrations/smf-registrations/{pduSessionId}SMF desregistra un contexto de sesión PDU

Nudm_SDM (nudm-sdm/v2)​

MétodoRutaDescripción
GET/{supi}GetDataSets - recuperar múltiples conjuntos de datos seleccionados por el parámetro de consulta obligatorio dataset-names (separados por comas AM, SM, SMF_SEL, UEC_SMF)
GET/{supi}/am-dataDatos de suscripción de acceso y movilidad (consulta opcional plmn-id)
GET/{supi}/sm-dataDatos de suscripción de gestión de sesiones (consulta opcional plmn-id)
GET/{supi}/smf-select-dataDatos de suscripción de selección de SMF (consulta opcional plmn-id)
GET/{supi}/nssaiDatos de suscripción de selección de corte de red
GET/{supi}/ue-context-in-smf-dataContexto de UE en SMF (sesiones PDU activas): ver nota a continuación
POST/{supi}/sdm-subscriptionsSuscribirse a notificaciones de cambio de datos. Requiere nfInstanceId, callbackReference, monitoredResourceUris
GET/{supi}/sdm-subscriptions/{subscriptionId}Recuperar una suscripción SDM almacenada
PATCH/{supi}/sdm-subscriptions/{subscriptionId}Modificar una suscripción SDM (merge-patch)
DELETE/{supi}/sdm-subscriptions/{subscriptionId}Eliminar una suscripción SDM

Ocultación de SUCI / SUPI​

Para proteger la identidad permanente del suscriptor a través del aire, el UE envía un SUCI (Identificador Oculto de Suscripción) en lugar del SUPI (Identificador Permanente de Suscripción, es decir, imsi-<IMSI>). Cuando el AUSF pide a OmniUDM que genere un vector de autenticación para un SUCI, OmniUDM de-oculta el SUCI al SUPI antes de que pueda buscar los datos del suscriptor en UDR.

OmniUDM soporta los tres esquemas de protección definidos en TS 33.501 §6.12 / Anexo C:

EsquemaNombreCurva / Cripto¿Requiere clave HNET?
0Esquema nuloNinguno - MSIN está en texto claroNo
1Perfil ECIES ACurve25519 (X25519) + AES-128-CTR + HMAC-SHA-256Sí
2Perfil ECIES Bsecp256r1 / P-256 + AES-128-CTR + HMAC-SHA-256Sí

Para el esquema nulo, el MSIN se transporta en texto claro; se decodifica en BCD a partir de la salida del esquema para reconstruir el IMSI (según TS 24.501 - los dígitos MSIN están codificados en BCD, no en hex). Para Perfil A y Perfil B, la de-ocultación realiza un ECDH efímero-estático contra la clave privada de la Red de Hogar del operador, deriva las claves de cifrado/MAC (ANSI-X9.63-KDF con SHA-256), verifica el MAC, descifra el MSIN oculto y lo decodifica en BCD para reconstruir el IMSI.

Las claves privadas de la Red de Hogar para Perfil A/B se cargan desde el directorio hnet_key_dir. La nomenclatura de archivos, codificaciones y los requisitos de seguridad y actualización de caché están documentados en Configuración → Claves de Red de Hogar (hnet_key_dir).

Procedimientos Clave​

De-ocultación de SUCI y Generación de Vectores de Autenticación​

El AUSF solicita un vector de autenticación; OmniUDM resuelve la identidad (de-ocultando un SUCI si es necesario), solicita un vector al HSS a través de UDR, y luego deriva las claves 5G a partir de él. Ki/OPc, gestión de SQN y cualquier re-sincronización permanecen en el HSS detrás de UDR - OmniUDM verifica que el AUTN del HSS lleve el bit de separación 5G (bit 0 de AMF, TS 33.501 §6.1.3.2, tomado de la AMF provisionada del suscriptor) y deriva XRES* y KAUSF a partir del xres, ck y ik devueltos. Un resynchronizationInfo proporcionado por el AUSF se reenvía al HSS a través de UDR.

Los fallos de de-ocultación devuelven HTTP 403 (Fallo de De-ocultación de SUCI), un esquema de protección no soportado devuelve HTTP 501, un suscriptor faltante o deshabilitado devuelve HTTP 404 (USER_NOT_FOUND), y un vector HSS inválido (incluyendo un AUTN sin el bit de separación) o una generación de vector HSS fallida devuelve HTTP 500.

Registro de Evento de Resultado de Autenticación​

Después de que el AUSF completa la autenticación, registra el resultado. OmniUDM almacena el evento contra el contexto de UE y devuelve una Location para el evento creado; el AUSF puede más tarde PUT un AuthEvent con authRemovalInd=true para eliminarlo (204 No Content).

Recuperación de Datos del Suscriptor SDM (sm-data)​

Después del registro, el AMF/SMF recupera los datos de suscripción. OmniUDM actúa como proxy de la solicitud hacia UDR, añadiendo el PLMN de servicio, y devuelve la respuesta de UDR. Para sm-data, un único objeto UDR se envuelve en un array según TS 29.503 SmSubsData.

Los flujos am-data, smf-select-data y GetDataSets (GET /{supi}) siguen el mismo patrón de proxy contra UDR. GetDataSets ensambla solo los conjuntos de datos solicitados que puede resolver, omitiendo cualquier que falle. nssai se deriva de la respuesta am-data de UDR (ver más abajo).

UE-context-in-SMF devuelve contexto de sesión PDU en vivo. GET /{supi}/ue-context-in-smf-data y el conjunto de datos UEC_SMF en GetDataSets devuelven los contextos de sesión PDU activos del UE según lo informado por el SMF a través del procedimiento de registro SMF Nudm_UECM. Cada registro SMF almacenado se proyecta en el mapa pduSessions (indexado por ID de sesión PDU) según TS 29.503. El mapa está vacío ({"pduSessions": {}}) solo cuando el UE no tiene registros SMF genuinos.

Recuperación de NSSAI con Recaída por Defecto​

GET /{supi}/nssai recupera am-data de UDR y extrae el nssai embebido. Si UDR devuelve am-data sin un nssai, o si la búsqueda en UDR falla, OmniUDM devuelve la recaída configurable default_nssai para que el AMF siempre reciba una lista de cortes.

La recaída default_nssai debe coincidir con los cortes que la red realmente sirve - un suscriptor al que se le ofrece un corte que el AMF no está configurado para servir es rechazado con la causa 5GMM #62. Ver Configuración → Claves de Ajuste Opcionales.

Notificaciones de Cambio SDM​

Los suscriptores con una suscripción SDM activa son notificados de cambios posteriores: OmniUDM POSTea una ModificationNotification a la callbackReference de cada suscripción (asíncronamente) cuando los recursos monitoreados cambian. También se puede activar manualmente una notificación para un SUPI a través de la API de Gestión/OAM.

Registro AMF UECM y Movilidad​

Cuando un UE se registra, el AMF se registra a sí mismo para ese UE en OmniUDM. Si un AMF diferente fue registrado previamente, OmniUDM notifica la deregCallbackUri del viejo AMF para que pueda liberar el UE, luego persiste la nueva inscripción en UDR.

Los IEs obligatorios se validan según TS 29.503: el registro 3GPP de AMF requiere amfInstanceId, deregCallbackUri, guami, ratType; el registro SMF requiere smfInstanceId, pduSessionId, singleNssai, plmnId, y el cuerpo pduSessionId debe coincidir con la ruta (una discrepancia devuelve MANDATORY_IE_INCORRECT). Los IEs faltantes devuelven HTTP 400.