Operações do OmniAUSF
1. Visão Geral do Componente
OmniAUSF é a Função do Servidor de Autenticação (AUSF) autônoma para o núcleo 5G da Omnitouch. Ele orquestra a autenticação 5G-AKA entre o AMF e o UDM, verificando as respostas de autenticação do UE e derivando chaves de sessão. O OmniAUSF foi anteriormente co-localizado dentro do OmniUDM e agora é implantado como um NF independente com seu próprio endpoint SBI.
Cada sessão de autenticação é gerenciada por um processo dedicado (processo-por-sessão-de-autenticação). O contexto de autenticação é mantido na memória durante a troca de autenticação e excluído ao término ou falha.
2. Referências de Papel e Especificação da 3GPP
| Aspecto | Referência |
|---|---|
| Definição funcional do AUSF | TS 23.501 Seção 6.2.8 |
| Serviço Nausf_UEAuthentication | TS 29.509 |
| Autenticação 5G-AKA | TS 33.501 Seção 6.1.3 |
| Cálculo de HXRES*/HRES* | TS 33.501 Anexo A.5 |
| Derivação de KSEAF | TS 33.501 Anexo A.6 |
| Geração de dados de autenticação do UDM | TS 29.503 Seção 5.2.2 |
| Ressincronização de SQN | TS 33.102 Seção 6.3.5, TS 33.501 Seção 6.1.3.4 |
3. Endpoints SBI
Todos os endpoints são HTTP/1.1 com Content-Type: application/json.
Nausf_UEAuthentication (TS 29.509)
| Método | Caminho | Descrição | Sucesso |
|---|---|---|---|
| POST | /nausf-auth/v1/ue-authentications | Iniciar autenticação do UE (AMF -> AUSF) | 201 Criado |
| PUT | /nausf-auth/v1/ue-authentications/{authCtxId}/5g-aka-confirmation | Confirmar 5G-AKA (AMF envia RES*) | 200 OK |
Respostas de Erro
| Status HTTP | Causa | Condição |
|---|---|---|
| 404 | USER_NOT_FOUND | UDM retornou 404 para o assinante |
| 401 | AUTHENTICATION_FAILURE | HRES* não corresponde a HXRES* |
| 500 | SYSTEM_FAILURE | Erro interno ou UDM inacessível |
4. Referência de Configuração
OmniAUSF é configurado via ambiente de aplicação Elixir sob a chave :omniausf.
Exemplo de Configuração
config :omniausf,
sbi_scheme: "http",
sbi_addr: "127.0.0.19",
sbi_port: 7777,
nrf_uri: "http://127.0.0.10:7777",
udm_uri: "http://127.0.0.12:7777",
mcc: "999",
mnc: "70",
heartbeat_interval: 10_000
Tabela de Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
sbi_scheme | string | "http" | Esquema URI para o servidor HTTP SBI |
sbi_addr | string | "127.0.0.19" | Endereço IP ao qual o servidor HTTP SBI se vincula |
sbi_port | integer | 7777 | Porta TCP na qual o servidor HTTP SBI escuta |
nrf_uri | string | "http://127.0.0.10:7777" | URI base do NRF para registro NF e heartbeat |
udm_uri | string | "http://127.0.0.12:7777" | URI base do UDM para geração de vetores de autenticação e armazenamento de eventos de autenticação |
mcc | string | "999" | Código do País Móvel para o PLMN em serviço |
mnc | string | "70" | Código da Rede Móvel para o PLMN em serviço |
heartbeat_interval | integer (ms) | 10000 | Intervalo em que o OmniAUSF envia requisições PATCH de heartbeat para o NRF |
5. Principais Procedimentos
5.1 Fluxo de Autenticação 5G-AKA
6. Métricas do Prometheus
Métricas do AUSF
| Métrica | Tipo | Tags | Descrição |
|---|---|---|---|
omni_ausf.auth.count | contador | result | Total de operações de autenticação (iniciadas/sucesso/falha) |
omni_ausf.nrf.registration.status | gauge | nf_type | Status de registro do NRF (1=registrado, 0=não) |
omni_ausf.active_contexts.count | gauge | -- | Número de contextos de autenticação do AUSF UE ativos |
Métricas da VM BEAM
| Métrica | Tipo | Descrição |
|---|---|---|
beam.memory.total | gauge | Total de memória BEAM em bytes |
beam.memory.processes | gauge | Memória usada por processos Erlang |
beam.memory.system | gauge | Memória do sistema (ETS, átomos, código) |
beam.processes.count | gauge | Número de processos Erlang |
beam.vm.uptime | gauge | Tempo de atividade da VM em segundos |
7. Limitações Conhecidas
| ID | Área | Descrição |
|---|---|---|
| AUSF-1 | Estado em memória | Contextos de autenticação são armazenados apenas na memória. O estado é perdido na reinicialização do processo. Sessões de autenticação ativas falharão na reinicialização do AUSF; o AMF deve reiniciar a autenticação |
| AUSF-2 | EAP-AKA' | Apenas 5G-AKA é suportado. O método de autenticação EAP-AKA' (TS 33.501 Seção 6.1.3.1) não está implementado |
| AUSF-3 | Encaminhamento de ressincronização | O AUSF não lida de forma independente com resynchronizationInfo; ele passa para o UDM. O AMF deve incluir resynchronizationInfo na solicitação de autenticação inicial |
8. Solução de Problemas
Autenticação falha com 404 Usuário Não Encontrado
O UDM retornou 404 para o assinante. Confirme:
udm_urié acessível a partir do host OmniAUSF.- O IMSI do assinante existe no backend do UDM/UDR/HSS.
- O SUCI apresentado pelo AMF está formatado corretamente.
Autenticação falha com 401 Falha na Autenticação
O AUSF calculou HRES* a partir do RES* recebido e não correspondeu ao HXRES* armazenado. Isso indica que as credenciais do UE (Ki, OPc) não correspondem às do backend, ou o RAND/AUTN foram corrompidos durante a transmissão.
UDM inacessível (500 Erro Interno)
Verifique a configuração de udm_uri e a conectividade de rede. O AUSF registra AUSF auth failed for {supiOrSuci}: {reason} em caso de falha de comunicação com o UDM.
Contexto de autenticação não encontrado na confirmação
O authCtxId na requisição PUT não corresponde a nenhum contexto ativo. Os contextos são excluídos após a confirmação bem-sucedida ou falha, e são perdidos na reinicialização do AUSF. O AMF deve reiniciar a autenticação.