NUDM UEAU

The Nudm_UEAuthentication service is used by the AUSF to request the UDM to select an authentication method, calculate a fresh authentication vector (AV) if required for the selected method, and provide it to the AUSF by means of the Get service operation. The Nudm_UEAuthentication service is also used by the AUSF to inform the UDM about the occurrence of a successful or unsuccessful authentication by means of the ResultConfirmation service operation

OpenAPI

OpenAPI Version: 3.0.0

info

Version: '1.0.0'

Title: 'NudmUEAU'

Description: 'UDM UE Authentication Service'

externalDocs

Description: 3GPP TS 29.503 Unified Data Management Services, version 15.2.1

URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/'

security

- oAuth2ClientCredentials:

- nudm-ueau

- {}

servers

URL: '{apiRoot}/nudm-ueau/v1'

Variables:

API Root:

Default: https://example.com

Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501.

paths

supi or Suci security information generate auth data

Method: Post

Summary: Generate authentication data for the UE

Operation ID: GenerateAuthData

Tags:

- Generate Auth Data

Parameters:

- name: supiOrSuci

In: path

Description: SUPI or SUCI of the user

Required/Optional: true

Schema:

Reference: '#/components/schemas/SupiOrSuci'

Request Body:

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/AuthenticationInfoRequest'

Required/Optional: true

Responses:

'200' Expected response to a valid request

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/AuthenticationInfoResult'

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'403': Reference 'TS29571_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'501': Reference 'TS29571_CommonData.yaml#/components/responses/501'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default:

Description: Unexpected error

supi auth events

Method: Post

Summary: Create a new confirmation event

Operation ID: ConfirmAuth

Tags:

- Confirm Auth

Parameters:

- name: supi

In: path

Description: SUPI of the user

Required/Optional: true

Schema:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Supi'

Request Body:

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/AuthEvent'

Required/Optional: true

Responses:

'201' Expected response to a valid request

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/AuthEvent'

Headers:

Location:

Description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ueau/v1/{supi}/auth-events/{authEventId}'

Required/Optional: true

Schema:

Type: string

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default:

Description: Unexpected error

components

securitySchemes

oAuth2ClientCredentials

Type: oauth2

Flows:

clientCredentials:

tokenUrl: '{nrfApiRoot}/oauth2/token'

scopes:

nudm-ueau: Access to the nudm-ueau API

schemas

# COMPLEX TYPES:

AuthenticationInfoRequest

Type: object

Required:

- servingNetworkName

- ausfInstanceId

Properties:

supportedFeatures:

Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

servingNetworkName:

Reference: '#/components/schemas/ServingNetworkName'

resynchronizationInfo:

Reference: '#/components/schemas/ResynchronizationInfo'

ausfInstanceId:

Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'

AuthenticationInfoResult

Type: object

Required:

- authType

Properties:

authType:

Reference: '#/components/schemas/AuthType'

supportedFeatures:

Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

authenticationVector:

Reference: '#/components/schemas/AuthenticationVector'

supi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Supi'

AuthenticationVector

oneOf:

- $ref: '#/components/schemas/AvEapAkaPrime'

- $ref: '#/components/schemas/Av5GHeAka'

discriminator:

propertyName: avType

mapping:

5G_HE_AKA: '#/components/schemas/Av5GHeAka'

EAP_AKA_PRIME: '#/components/schemas/AvEapAkaPrime'

AvEapAkaPrime

Type: object

Required:

- avType

- rand

- xres

- autn

- ckPrime

- ikPrime

Properties:

avType:

Reference: '#/components/schemas/AvType'

rand:

Reference: '#/components/schemas/Rand'

xres:

Reference: '#/components/schemas/Xres'

autn:

Reference: '#/components/schemas/Autn'

ckPrime:

Reference: '#/components/schemas/CkPrime'

ikPrime:

Reference: '#/components/schemas/IkPrime'

Av5GHeAka

Type: object

Required:

- avType

- rand

- xresStar

- autn

- kausf

Properties:

avType:

Reference: '#/components/schemas/AvType'

rand:

Reference: '#/components/schemas/Rand'

xresStar:

Reference: '#/components/schemas/XresStar'

autn:

Reference: '#/components/schemas/Autn'

kausf:

Reference: '#/components/schemas/Kausf'

ResynchronizationInfo

Type: object

Required:

- rand

- auts

Properties:

rand:

Reference: '#/components/schemas/Rand'

auts:

Reference: '#/components/schemas/Auts'

AuthEvent

Type: object

Required:

- nfInstanceId

- success

- timeStamp

- authType

- servingNetworkName

Properties:

nfInstanceId:

Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'

success:

Reference: '#/components/schemas/Success'

timeStamp:

Reference: 'TS29571_CommonData.yaml#/components/schemas/DateTime'

authType:

Reference: '#/components/schemas/AuthType'

servingNetworkName:

Reference: '#/components/schemas/ServingNetworkName'

# SIMPLE TYPES:

Autn

Type: string

Pattern: '^[A-Fa-f0-9]{32}$'

Auts

Type: string

Pattern: '^[A-Fa-f0-9]{28}$'

CkPrime

Type: string

Pattern: '^[A-Fa-f0-9]{32}$'

IkPrime

Type: string

Pattern: '^[A-Fa-f0-9]{32}$'

Kausf

Type: string

Pattern: '^[A-Fa-f0-9]{64}$'

Rand

Type: string

Pattern: '^[A-Fa-f0-9]{32}$'

Xres

Type: string

Pattern: '^[A-Fa-f0-9]{8,32}$'

XresStar

Type: string

Pattern: '^[A-Fa-f0-9]{32}$'

SupiOrSuci

Type: string

Pattern: '^(imsi-[0-9]{5,15}|nai-.+| suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$'

ServingNetworkName

Type: string

Pattern: '^5G:mnc[0-9]{3}[.]mcc[0-9]{3}[.]3gppnetwork[.]org$'

Success

Type: boolean

# ENUMS:

AuthType

anyOf:

- type: string

enum:

- 5G_AKA

- EAP_AKA_PRIME

- EAP_TLS

- type: string

AvType

anyOf:

- type: string

enum:

- 5G_HE_AKA

- EAP_AKA_PRIME

- type: string