6 API Definitions

29.5263GPP5G SystemNetwork Slice-Specific and SNPN Authentication and Authorization servicesRelease 17Stage 3TS

6.1 Nnssaaf_NSSAA Service API

6.1.1 Introduction

The Nnssaaf_NSSAA service shall use the Nnssaaf_NSSAA API.

The API URI of the Nnssaaf_NSSAA API shall be:

{apiRoot}/<apiName>/<apiVersion>

The request URIs used in HTTP request from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].

– The <apiName> shall be "nnssaaf-nssaa".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 6.1.3.

6.1.2 Usage of HTTP

6.1.2.1 General

HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].

HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].

The OpenAPI [6] specification of HTTP messages and content bodies for the Nnssaaf_NSSAA API is contained in Annex A.

6.1.2.2 HTTP standard headers

6.1.2.2.1 General

See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.

6.1.2.2.2 Content type

JSON, IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".

"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].

6.1.2.3 HTTP custom headers

The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be applicable.

6.1.3 Resources

6.1.3.1 Overview

The structure of the Resource URIs of the Nnssaaf_NSSAA service is shown in Figure 6.1.3.1-1

Figure 6.1.3.1-1: Resource URI structure of the NSSAA API

Table 6.1.3.1-1 provides an overview of the resources and applicable HTTP methods.

Table 6.1.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

slice-authentications

(Collection)

/v1/slice-authentications

POST

Initiate the slice-specific authentication and authorization process by providing inputs related to the UE and a specific slice.

slice-authentication

(Document)

/v1/slice-authentications/{authCtxId}

PUT

Put the UE response from the EAP process.

6.1.3.2 Resource: slice-authentications (Collection)

6.1.3.2.1 Description

This resource represents a collection of the slice-authentication resources generated by the NSSAAF.

6.1.3.2.2 Resource Definition

Resource URI: {apiRoot}/nnssaaf-nssaa /<apiVersion>/slice-authentications

This resource shall support the resource URI variables defined in table 6.1.3.2.2-1.

Table 6.1.3.2.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.1.1

apiVersion

string

See clause 6.1.1

6.1.3.2.3 Resource Standard Methods

6.1.3.2.3.1 POST

This method shall support the URI query parameters specified in table 6.1.3.2.3.1-1.

Table 6.1.3.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.2.3.1-2 and the response data structures and response codes specified in table 6.1.3.2.3.1-3.

Table 6.1.3.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SliceAuthInfo

M

1

Contains the GPSI, S-NSSAI, and EAP ID Response from the UE, etc.

Table 6.1.3.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

SliceAuthContext

M

1

201 Created

This case indicates the corresponding resource has been created by the NSSAAF for the requested slice-specific authentication and authorization, and further EAP process is required.

The HTTP response shall include a "Location" header that contains the resource URI of the created resource.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

ProblemDetails

O

0..1

400 Bad Request

This case represents the failure to start slice-specific authentication and authorization because of input parameter error.

ProblemDetails

O

0..1

403 Forbidden

This case represents when the UE or the slice is not allowed to be authenticated.

The "cause" attribute may be used to indicate one of the following application errors:

– SLICE_AUTH_REJECTED

ProblemDetails

O

0..1

404 Not Found

This case represents the user or user context is not found.

The "cause" attribute may be used to indicate one of the following application errors:

– CONTEXT_NOT_FOUND

– USER_NOT_FOUND

ProblemDetails

O

0..1

504 Gateway Time out

This case represents network error or remote peer (i.e. AAA-S) error, e.g. not reachable, no response and time out.

The "cause" attribute may be used to indicate one of the following application errors:

– NETWORK_FAILURE

– UPSTREAM_SERVER_ERROR

– TIME_OUT_REQUEST

NOTE 1: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.2.3.1-4: Headers supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.1.3.2.3.1-5: Headers supported by the 201 response code on this resource

Name

Data type

P

Cardinality

Description

Location

URI

M

1

URI of created resource for the slice authentication context.

The URI structure is defined in clause 6.1.3.3.1.

Table 6.1.3.2.3.1-6: Headers supported by the 307 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

Table 6.1.3.2.3.1-7: Headers supported by the 308 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

6.1.3.2.4 Resource Custom Operations

There is no Resource Custom Operations in the current version of this API.

6.1.3.3 Resource: slice-authentication (Document)

6.1.3.3.1 Description

The sub-resource "slice-authentication" is generated by the NSSAAF. This subresource should not persist after the slice-specific authentication and authorization process finishes.

6.1.3.3.2 Resource Definition

Resource URI: {apiRoot}/nnssaaf-nssaa/<apiVersion>/slice-authentications/{authCtxId}

This resource shall support the resource URI variables defined in table 6.1.3.3.2-1.

Table 6.1.3.3.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.1.1

apiVersion

string

See clause 6.1.1

authCtxId

string

The slice authentication context ID, which is of data type SliceAuthCtxId defined in clause 6.1.6.3.2.

6.1.3.3.3 Resource Standard Methods

6.1.3.3.3.1 PUT

This method shall support the URI query parameters specified in table 6.1.3.3.3.1-1.

Table 6.1.3.3.3.1-1: URI query parameters supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.1.3.3.3.1-2 and the response data structures and response codes specified in table 6.1.3.3.3.1-3.

Table 6.1.3.3.3.1-2: Data structures supported by the PUT Request Body on this resource

Data type

P

Cardinality

Description

SliceAuthConfirmationData

M

1

Contains the EAP message generated by the UE and provided to the AMF.

Table 6.1.3.3.3.1-3: Data structures supported by the PUT Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

SliceAuthConfirmationResponse

M

1

200 OK

This case indicates that the NSSAAF has performed the slice-specific authentication. The response body shall contain the result of the slice-specific authentication and authorization.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

ProblemDetails

O

0..1

400 Bad Request

This case represents a slice-specific authentication failure because of input parameter error. This indicates that the NSSAAF was not able to process the slice-specific authentication.

ProblemDetails

O

0..1

403 Forbidden

This case represents when the UE or the slice is not allowed to be authenticated.

The "cause" attribute may be used to indicate one of the following application errors:

– SLICE_AUTH_REJECTED

ProblemDetails

O

0..1

404 Not Found

This case represents the UE or UE related context is not found.

The "cause" attribute may be used to indicate one of the following application errors:

– CONTEXT_NOT_FOUND

– USER_NOT_FOUND

ProblemDetails

O

0..1

504 Gateway Time out

This case represents network error or remote peer (i.e. AAA-S) error, e.g. not reachable, no response when time out.

The "cause" attribute may be used to indicate one of the following application errors:

– NETWORK_FAILURE

– UPSTREAM_SERVER_ERROR

– TIMED_OUT_REQUEST

NOTE 1: The mandatory HTTP error status code for the PUT method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.3.3.3.1-4: Headers supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.1.3.3.3.1-5: Headers supported by the 200 response code on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.1.3.3.3.1-6: Headers supported by the 307 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

Table 6.1.3.3.3.1-7: Headers supported by the 308 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

6.1.3.3.4 Resource Custom Operations

There is no Resource Custom Operations in the current version of this API.

6.1.4 Custom Operations without associated resources

6.1.4.1 Overview

There is no Custom Operation in the current version of this API.

6.1.5 Notifications

6.1.5.1 General

Notifications shall comply to clause 6.2 of 3GPP TS 29.500 [4] and clause 4.6.2.3 of 3GPP TS 29.501 [5].

Table 6.1.5.1-1: Notifications overview

Notification

Resource URI

HTTP method or custom operation

Description

(service operation)

Re-authentication Notification

{reauthNotifUri}

(NF Service Consumer provided callback reference)

POST

Re-authentication Notification

Revocation Notification

{revocNotifUri}

(NF Service Consumer provided callback reference)

POST

Revocation Notification

6.1.5.2 Re-authentication Notification

6.1.5.2.1 Description

The Re-authentication Notification is used by the NSSAAF to trigger the NF Service Consumer (i.e. the AMF) to re-initiate slice-specific authentication and authorization for a given UE.

6.1.5.2.2 Target URI

The Notification URI "{reauthNotifUri}" shall be used with the resource URI variables defined in table 6.1.5.2.2-1.

Table 6.1.5.2.2-1: Resource URI variables for this resource

Name

Definition

reauthNotifUri

String formatted as URI which carries the re-authentication notification URI.

6.1.5.2.3 Standard Methods

6.1.5.2.3.1 POST

This method shall support the request data structures specified in table 6.1.5.2.3.1-1 and the response data structures and response codes specified in table 6.1.5.2.3.1-2.

Table 6.1.5.2.3.1-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SliceAuthReauthNotification

M

1

SliceAuthReauthNotification which carries the re-authentication notification for a given UE.

Table 6.1.5.2.3.1-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

Successful notification of the re-authentication.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent.

(NOTE 2)

NOTE 1: The mandatory HTTP error status codes for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.5.2.3.1-3: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of NF service consumer to which the notification should be sent.

Table 6.1.5.2.3.1-4: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of NF service consumer to which the notification should be sent.

6.1.5.3 Revocation Notification

6.1.5.3.1 Description

The Revocation Notification is used by the NSSAAF to trigger the NF Service Consumer (i.e. the AMF) to revoke the slice-specific authentication and authorization result for a given UE.

6.1.5.3.2 Target URI

The Notification URI "{revocNotifUri}" shall be used with the resource URI variables defined in table 6.1.5.3.2-1.

Table 6.1.5.3.2-1: Resource URI variables for this resource

Name

Definition

revocNotifUri

String formatted as URI which carries the revocation notification URI.

6.1.5.3.3 Standard Methods

6.1.5.3.3.1 POST

This method shall support the request data structures specified in table 6.1.5.3.3.1-1 and the response data structures and response codes specified in table 6.1.5.3.3.1-2.

Table 6.1.5.3.3.1-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SliceAuthRevocNotification

M

1

SliceAuthRevocNotification which carries the revocation notification for a given UE.

Table 6.1.5.3.3.1-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

Successful notification of the revocation.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent.

If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent.

(NOTE 2)

NOTE 1: The mandatory HTTP error status codes for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.1.5.3.3.1-3: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of NF service consumer to which the notification should be sent.

Table 6.1.5.3.3.1-4: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

A URI pointing to the endpoint of NF service consumer to which the notification should be sent.

6.1.6 Data Model

6.1.6.1 General

This clause specifies the application data model supported by the API.

Table 6.1.6.1-1 specifies the data types defined for the Nnssaaf service based interface protocol.

Table 6.1.6.1-1: Nnssaaf specific Data Types

Data type

Clause defined

Description

Applicability

SliceAuthInfo

6.1.6.2.2

Contains the GPSI, S-NSSAI, EAP ID Response, etc.

SliceAuthContext

6.1.6.2.3

Contains the information of the resource created for slice-specific authentication and authorization.

SliceAuthConfirmationData

6.1.6.2.4

Contains the EAP message from the UE for EAP process.

SliceAuthConfirmationResponse

6.1.6.2.5

Contains the slice-specific authentication and authorization result from the NSSAAF to the UE.

SliceAuthReauthNotification

6.1.6.2.6

Contains the re-authentication notification for slice-specific authentication and authorization.

SliceAuthRevocNotification

6.1.6.2.7

Contains the revocation notification for slice-specific authentication and authorization.

SliceAuthCxtId

6.1.6.3.2

Contains the resource ID of slice authentication context.

EapMessage

6.1.6.3.2

Contains the string formatted EAP message.

SliceNotificationType

6.1.6.3.3

Notification type of slice-specification authentication and authorization.

Table 6.1.6.1-2 specifies data types re-used by the Nnssaaf service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Nnssaaf service based interface.

Table 6.1.6.1-2: Nnssaaf re-used Data Types

Data type

Reference

Comments

Applicability

ProblemDetails

3GPP TS 29.571 [10]

Common Data Type used in response bodies

RedirectResponse

3GPP TS 29.571 [10]

Redirect Response

Gpsi

3GPP TS 29.571 [10]

GPSI

Snssai

3GPP TS 29.571 [10]

S-NSSAI

AuthStatus

3GPP TS 29.571 [10]

Slice Authentication Status

Supi

3GPP TS 29.571 [10]

SUPI of the UE

6.1.6.2 Structured data types

The following clause defines the structures to be used in resource representations.

6.1.6.2.1 Introduction

This clause defines the structures to be used in resource representations.

6.1.6.2.2 Type: SliceAuthInfo

Table 6.1.6.2.2-1: Definition of type SliceAuthInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

eapIdRsp

EapMessage

M

1

Contains the EAP ID Responses message from the UE.

If no EAP ID Responses message is received or requested, it shall contain the Null value.

amfInstanceId

NfInstanceId

O

0..1

This IE may be present, if the AMF determines to provide the re-authentication/revocation notification URI to the NSSAAF.

When present, it shall contain the NF Instance Id of the AMF.

reauthNotifUri

Uri

O

0..1

This IE may be present, e.g. if the AMF determines the UE with low mobility characteristic.

When present, it shall contain the re-authentication notification URI.

revocNotifUri

Uri

O

0..1

This IE may be present, e.g. if the AMF determines the UE with low mobility characteristic.

When present, it shall contain the revocation notification URI.

6.1.6.2.3 Type: SliceAuthContext

Table 6.1.6.2.3-1: Definition of type SliceAuthContext

Attribute name

Data type

P

Cardinality

Description

Applicability

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

authCtxId

SliceAuthCtxId

M

1

Indicates the resource ID uniquely identifying the slice authentication context, generated by the NSSAAF.

eapMessage

EapMessage

M

1

Contains the EAP message to be sent to the UE.

6.1.6.2.4 Type: SliceAuthConfirmationData

Table 6.1.6.2.4-1: Definition of type SliceAuthConfirmationData

Attribute name

Data type

P

Cardinality

Description

Applicability

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

eapMessage

EapMessage

M

1

Contains the EAP message received from the UE.

6.1.6.2.5 Type: SliceAuthConfirmationResponse

Table 6.1.6.2.5-1: Definition of type SliceAuthConfirmationResponse

Attribute name

Data type

P

Cardinality

Description

Applicability

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

eapMessage

EapMessage

M

1

Contains the EAP success/failure message needs to be sent to the UE.

authResult

AuthStatus

O

0..1

When present, it shall indicate the result of slice-specific authentication and authorization.

6.1.6.2.6 Type: SliceAuthReauthNotification

Table 6.1.6.2.6-1: Definition of type SliceAuthReauthNotification

Attribute name

Data type

P

Cardinality

Description

Applicability

notificationType

SliceAuthNotificationType

M

1

Indicate the type of slice authentication notification.

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

supi

Supi

C

0..1

This IE should be sent by the NSSAAF to the AMF, if available.

6.1.6.2.7 Type: SliceAuthRevocNotification

Table 6.1.6.2.7-1: Definition of type SliceAuthRevocNotification

Attribute name

Data type

P

Cardinality

Description

Applicability

notificationType

SliceAuthNotificationType

M

1

Indicate the type of slice authentication notification.

gpsi

Gpsi

M

1

Contains the GPSI of the UE.

snssai

Snssai

M

1

Contains the S-NSSAI for authentication.

supi

Supi

C

0..1

This IE should be sent by the NSSAAF to the AMF, if available.

6.1.6.3 Simple data types and enumerations

6.1.6.3.1 Introduction

This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.

6.1.6.3.2 Simple data types

The simple data types defined in table 6.1.6.3.2-1 shall be supported.

Table 6.1.6.3.2-1: Simple data types

Type Name

Type Definition

Description

Applicability

SliceAuthCtxId

string

The resource ID uniquely identifying the slice authentication context, generated by the NSSAAF.

EapMessage

string

The EAP packet is encoded using base64 (see IETF RFC 4648 [14]) and represented as a String.

Format: byte

6.1.6.3.3 Enumeration: SliceAuthNotificationType

The enumeration SliceAuthNotificationType represents the notification type of slice-specific authentication and authorization. It shall comply with the provisions defined in table 6.1.6.3.3-1.

Table 6.1.6.3.3-1: Enumeration SliceAuthNotificationType

Enumeration value

Description

Applicability

SLICE_RE_AUTH

This value is used to indicate the re-authentication is needed

SLICE_REVOCATION

This value is used to indicate the previous slice-specific authentication and authorization shall be revoked.

6.1.6.4 Data types describing alternative data types or combinations of data types

There is no alternative data types defined in this specification.

6.1.6.5 Binary data

There is no binary data type defined in this specification.

6.1.7 Error Handling

6.1.7.1 General

For the Nnssaaf_NSSAA API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].

In addition, the requirements in the following clauses are applicable for the Nnssaaf_NSSAA API.

6.1.7.2 Protocol Errors

No specific procedures for the Nnssaaf_NSSAA service are specified.

6.1.7.3 Application Errors

The application errors defined for the Nnssaaf_NSSAA service are listed in Table 6.1.7.3-1.

Table 6.1.7.3-1: Application errors

Application Error

HTTP status code

Description

RESOURCE_TEMP_MOVED

307 Temporary Redirect

Indicates that the NSSAAF is not able to handle the request, but points to the URI of another NSSAAF.

RESOURCE_MOVED

308 Permanent Redirect

Indicates that the NSSAAF is not able to handle the request, but points to the URI of another NSSAAF.

SLICE_AUTH_REJECTED

403 Forbidden

The user cannot be authenticated, e.g. authentication request rejected by the AAA-S.

CONTEXT_NOT_FOUND

404 Not Found

The NSSAAF cannot find the resource corresponding to the URI provided by the NF Service Consumer, i.e. the resource identified by the authCtxId does not exist in the NSSAAF.

USER_NOT_FOUND

404 Not Found

The user does not exist in the HPLMN.

UPSTREAM_SERVER_ERROR

504 Gateway Timeout

Error happens in reaching the remote peer (i.e. the AAA-S).

NETWORK_FAILURE

504 Gateway Timeout

The request is rejected due to a network problem.

TIMED_OUT_REQUEST

504 Gateway Timeout

No response is received from the remote peer (i.e. the AAA-S) when time out.

6.1.8 Feature negotiation

The optional features in table 6.1.8-1 are defined for the Nnssaaf_NSSAA API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].

Table 6.1.8-1: Supported Features

Feature number

Feature Name

Description

6.1.9 Security

As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Nnssaaf_NSSAA API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.

If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Nnssaaf_NSSAA API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.

NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Nnssaaf_NSSAA service.

The Nnssaaf_NSSAA API defines a single scope "nnssaaf-nssaa" for the entire service, and it does not define any additional scopes at resource or operation level.

6.2 Nnssaaf_AIW Service API

6.2.1 Introduction

The Nnssaaf_AIW service shall use the Nnssaaf_AIW API.

The API URI of the Nnssaaf_AIW API shall be:

{apiRoot}/<apiName>/<apiVersion>

The request URIs used in HTTP request from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].

– The <apiName> shall be "nnssaaf-aiw".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 6.2.3.

6.2.2 Usage of HTTP

6.2.2.1 General

HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].

HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].

The OpenAPI [6] specification of HTTP messages and content bodies for the Nnssaaf_AIW API is contained in Annex A.

6.2.2.2 HTTP standard headers

6.2.2.2.1 General

See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.

6.2.2.2.2 Content type

JSON, IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".

"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].

6.2.2.3 HTTP custom headers

The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be applicable.

6.2.3 Resources

6.2.3.1 Overview

The structure of the Resource URIs of the Nnssaaf_AIW service is shown in Figure 6.2.3.1-1

Figure 6.2.3.1-1: Resource URI structure of the AIW API

Table 6.2.3.1-1 provides an overview of the resources and applicable HTTP methods.

Table 6.2.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

authentications

(Collection)

/authentications

POST

Initiate the authentication and authorization process by providing inputs related to the UE.

authentication

(Document)

/authentications/{authCtxId}

PUT

Put the UE response from the EAP process.

6.2.3.2 Resource: authentications (Collection)

6.2.3.2.1 Description

This resource represents a collection of the authentication resources generated by the NSSAAF.

6.2.3.2.2 Resource Definition

Resource URI: {apiRoot}/nnssaaf-aiw/<apiVersion>/authentications

This resource shall support the resource URI variables defined in table 6.2.3.2.2-1.

Table 6.2.3.2.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.2.1

apiVersion

string

See clause 6.2.1

6.2.3.2.3 Resource Standard Methods

6.2.3.2.3.1 POST

This method shall support the URI query parameters specified in table 6.2.3.2.3.1-1.

Table 6.2.3.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.2.3.2.3.1-2 and the response data structures and response codes specified in table 6.2.3.2.3.1-3.

Table 6.2.3.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

AuthInfo

M

1

Contains the SUPI, EAP ID Response from the UE, etc.

Table 6.2.3.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

AuthContext

M

1

201 Created

This case indicates the corresponding resource has been created by the NSSAAF for the requested authentication and authorization, and further EAP process is required.

The HTTP response shall include a "Location" header that contains the resource URI of the created resource.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

ProblemDetails

O

0..1

400 Bad Request

This case represents the failure to start authentication and authorization because of input parameter error.

ProblemDetails

O

0..1

403 Forbidden

This case represents when the UE is not allowed to be authenticated.

ProblemDetails

O

0..1

404 Not Found

This case represents the user or user context is not found.

The "cause" attribute may be used to indicate one of the following application errors:

– CONTEXT_NOT_FOUND

– USER_NOT_FOUND

ProblemDetails

O

0..1

504 Gateway Time out

This case represents network error or remote peer (i.e. AAA-S) error, e.g. not reachable, no response and time out.

The "cause" attribute may be used to indicate one of the following application errors:

– NETWORK_FAILURE

– UPSTREAM_SERVER_ERROR

– TIME_OUT_REQUEST

NOTE 1: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.2.3.2.3.1-4: Headers supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.2.3.2.3.1-5: Headers supported by the 201 response code on this resource

Name

Data type

P

Cardinality

Description

Location

URI

M

1

URI of created resource for the authentication context.

The URI structure is defined in clause 6.2.3.3.1.

Table 6.2.3.2.3.1-6: Headers supported by the 307 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

Table 6.2.3.2.3.1-7: Headers supported by the 308 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

6.2.3.3 Resource: authentication (Document)

6.2.3.3.1 Description

The sub-resource "authentication" is generated by the NSSAAF. This subresource should not persist after the authentication and authorization process finishes.

6.2.3.3.2 Resource Definition

Resource URI: {apiRoot}/nnssaaf-aiw/<apiVersion>/authentications/{authCtxId}

This resource shall support the resource URI variables defined in table 6.2.3.3.2-1.

Table 6.2.3.3.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 6.2.1

apiVersion

string

See clause 6.2.1

authCtxId

string

The authentication context ID, which is of data type AuthCtxId defined in clause 6.2.6.3.2.

6.2.3.3.3 Resource Standard Methods

6.2.3.3.3.1 PUT

This method shall support the URI query parameters specified in table 6.2.3.3.3.1-1.

Table 6.2.3.3.3.1-1: URI query parameters supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

Applicability

n/a

This method shall support the request data structures specified in table 6.2.3.3.3.1-2 and the response data structures and response codes specified in table 6.2.3.3.3.1-3.

Table 6.2.3.3.3.1-2: Data structures supported by the PUT Request Body on this resource

Data type

P

Cardinality

Description

AuthConfirmationData

M

1

Contains the EAP message generated by the UE and provided to the AUSF.

Table 6.2.3.3.3.1-3: Data structures supported by the PUT Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

AuthConfirmationResponse

M

1

200 OK

This case indicates that the NSSAAF has performed the authentication. The response body shall contain the result of the authentication and authorization.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if this is a redirection triggered by an SCP to the same target resource via another SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NSSAAF or NSSAAF (service) set.

(NOTE 2)

ProblemDetails

O

0..1

400 Bad Request

This case represents an authentication failure because of input parameter error. This indicates that the NSSAAF was not able to process the authentication.

ProblemDetails

O

0..1

403 Forbidden

This case represents when the UE is not allowed to be authenticated.

ProblemDetails

O

0..1

404 Not Found

This case represents the UE or UE related context is not found.

The "cause" attribute may be used to indicate one of the following application errors:

– CONTEXT_NOT_FOUND

– USER_NOT_FOUND

ProblemDetails

O

0..1

504 Gateway Time out

This case represents network error or remote peer (i.e. AAA-S) error, e.g. not reachable, no response when time out.

The "cause" attribute may be used to indicate one of the following application errors:

– NETWORK_FAILURE

– UPSTREAM_SERVER_ERROR

– TIMED_OUT_REQUEST

NOTE 1: The mandatory HTTP error status code for the PUT method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

NOTE 2: RedirectResponse may be inserted by an SCP, see clause 6.10.9.1 of 3GPP TS 29.500 [4].

Table 6.2.3.3.3.1-4: Headers supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.2.3.3.3.1-5: Headers supported by the 200 response code on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 6.2.3.3.3.1-6: Headers supported by the 307 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

Table 6.2.3.3.3.1-7: Headers supported by the 308 Response Code on this endpoint

Name

Data type

P

Cardinality

Description

Location

string

M

1

URI pointing to the resource of another NF service producer to which the request should be sent.

Or the same URI, if a request is redirected to the same target resource via a different SCP.

6.2.4 Custom Operations without associated resources

There are no Custom Operation in the current version of this API.

6.2.5 Notifications

There are no Notifications in the current version of this API.

6.2.6 Data Model

6.2.6.1 General

This clause specifies the application data model supported by the API.

Table 6.2.6.1-1 specifies the data types defined for the Nnssaaf service based interface protocol.

Table 6.2.6.1-1: Nnssaaf_AIW specific Data Types

Data type

Clause defined

Description

Applicability

AuthInfo

6.2.6.2.2

Contains the SUPI, EAP ID Response, etc.

AuthContext

6.2.6.2.3

Contains the information of the resource created for authentication and authorization.

AuthConfirmationData

6.2.6.2.4

Contains the EAP message from the UE for EAP process.

AuthConfirmationResponse

6.2.6.2.5

Contains the authentication and authorization result from the NSSAAF to the UE.

AuthCxtId

6.2.6.3.2

Contains the resource ID of authentication context.

Table 6.2.6.1-2 specifies data types re-used by the Nnssaaf_AIW service based interface from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Nnssaaf_AIW service based interface.

Table 6.2.6.1-2: Nnssaaf re-used Data Types

Data type

Reference

Comments

Applicability

ProblemDetails

3GPP TS 29.571 [10]

Common Data Type used in response bodies

RedirectResponse

3GPP TS 29.571 [10]

Redirect Response

AuthStatus

3GPP TS 29.571 [10]

Authentication Status

Supi

3GPP TS 29.571 [10]

SUPI of the UE

SupportedFeatures

3GPP TS 29.571 [10]

Supported Features

ServerAddressingInfo

3GPP TS 29.571 [10]

Addressing information (FQNDs and/or IP addresses) of a server.

EapMessage

3GPP TS 29.526

See clause 6.1.6.3.2

Msk

3GPP TS 29.509 [18]

See clause 6.1.6.3.2

6.2.6.2 Structured data types

6.2.6.2.1 Introduction

This clause defines the structures to be used in resource representations.

6.2.6.2.2 Type: AuthInfo

Table 6.2.6.2.2-1: Definition of type AuthInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

M

1

Contains the SUPI of the UE.

eapIdRsp

EapMessage

C

0..1

Contains the EAP Identity Response message. (NOTE)

ttlsInnerMethodContainer

EapMessage

C

0..1

Contains the EAP-TTLS inner method messages. It is included when EAP-TTLS is used, after the initial EAP-TLS exchange. (NOTE)

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.9 is supported.

NOTE: Either eapIdRsp or ttlsInnerMethodContainer shall be present, but not both.

6.2.6.2.3 Type: AuthContext

Table 6.2.6.2.3-1: Definition of type AuthContext

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

M

1

Contains the SUPI of the UE.

authCtxId

AuthCtxId

M

1

Indicates the resource ID uniquely identifying the authentication context, generated by the NSSAAF.

eapMessage

EapMessage

C

0..1

Contains the EAP message to be sent to the UE. (NOTE)

ttlsInnerMethodContainer

EapMessage

C

0..1

Contains the EAP-TTLS inner method messages. It is included when EAP-TTLS is used, after the initial EAP exchange. (NOTE)

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.9 is supported.

NOTE: Either eapIdRsp or ttlsInnerMethodContainer shall be present, but not both.

6.2.6.2.4 Type: AuthConfirmationData

Table 6.2.6.2.4-1: Definition of type AuthConfirmationData

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

M

1

Contains the SUPI of the UE.

eapMessage

EapMessage

M

1

Contains the EAP message received from the UE.

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.9 is supported.

6.2.6.2.5 Type: AuthConfirmationResponse

Table 6.2.6.2.5-1: Definition of type AuthConfirmationResponse

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

M

1

Contains the SUPI of the UE.

eapMessage

EapMessage

M

1

Contains the EAP success/failure message needs to be sent to the UE.

authResult

AuthStatus

O

0..1

When present, it shall indicate the result of authentication and authorization.

pvsInfo

array(ServerAddressingInfo)

O

1..N

When present, it shall contain the FQDN(s) and/or IP address(es) of the SNPN UE onboarding Provisioning Servers.

msk

Msk

C

0..1

This IE shall be present if MSK is received from AAA-S after successful authentication, as specified in clause I.2.2.2 of 3GPP TS 33.501 [8].

supportedFeatures

SupportedFeatures

C

0..1

This IE shall be present if at least one optional feature defined in clause 6.2.9 is supported.

6.2.6.3 Simple data types and enumerations

6.2.6.3.1 Introduction

This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.

6.2.6.3.2 Simple data types

The simple data types defined in table 6.2.6.3.2-1 shall be supported.

Table 6.2.6.3.2-1: Simple data types

Type Name

Type Definition

Description

Applicability

AuthCtxId

string

The resource ID uniquely identifying the authentication context, generated by the NSSAAF.

6.2.7 Error Handling

6.2.7.1 General

For the Nnssaaf_AIW API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].

In addition, the requirements in the following clauses are applicable for the Nnssaaf_AIW API.

6.2.7.2 Protocol Errors

No specific procedures for the Nnssaaf_AIW service are specified.

6.2.7.3 Application Errors

The application errors defined for the Nnssaaf_AIW service are listed in Table 6.2.7.3-1.

Table 6.2.7.3-1: Application errors

Application Error

HTTP status code

Description

RESOURCE_TEMP_MOVED

307 Temporary Redirect

Indicates that the NSSAAF is not able to handle the request, but points to the URI of another NSSAAF.

RESOURCE_MOVED

308 Permanent Redirect

Indicates that the NSSAAF is not able to handle the request, but points to the URI of another NSSAAF.

CONTEXT_NOT_FOUND

404 Not Found

The NSSAAF cannot find the resource corresponding to the URI provided by the NF Service Consumer, i.e. the resource identified by the authCtxId does not exist in the NSSAAF.

USER_NOT_FOUND

404 Not Found

The user does not exist.

UPSTREAM_SERVER_ERROR

504 Gateway Timeout

Error happens in reaching the remote peer (i.e., the AAA-S).

NETWORK_FAILURE

504 Gateway Timeout

The request is rejected due to a network problem.

TIMED_OUT_REQUEST

504 Gateway Timeout

No response is received from the remote peer (i.e., the AAA-S) when time out.

6.2.8 Feature negotiation

The optional features in table 6.2.8-1 are defined for the Nnssaaf_AIW API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].

Table 6.2.8-1: Supported Features

Feature number

Feature Name

Description

6.2.9 Security

As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Nnssaaf_AIW API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.

If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Nnssaaf_AIW API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.

NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Nnssaaf_AIW service.

The Nnssaaf_AIW API defines a single scope "nnssaaf-aiw" for the entire service, and it does not define any additional scopes at resource or operation level.

Annex A (normative):
OpenAPI specification