A.4 Nhss_imsUEAU API
29.5623GPP5G SystemHome Subscriber Server (HSS) servicesRelease 18Stage 3TS
openapi: 3.0.0
info:
version: ‘1.2.0-alpha.1’
title: ‘Nhss_imsUEAU’
description: |
Nhss UE Authentication Service for IMS.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.562 Home Subscriber Server (HSS) Services, version 18.0.0
url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.562/’
servers:
– url: ‘{apiRoot}/nhss-ims-ueau/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501.
security:
– {}
– oAuth2ClientCredentials:
– nhss-ims-ueau
paths:
/{impi}/security-information/generate-sip-auth-data:
post:
summary: Generate authentication data for the UE based on the Auth-Scheme provided
operationId: GenerateSipAuthData
tags:
– Generate SIP Auth Data (Custom Operation)
security:
– {}
– oAuth2ClientCredentials:
– nhss-ims-ueau
– oAuth2ClientCredentials:
– nhss-ims-ueau
– nhss-ims-ueau:generate-sip-auth-data:invoke
parameters:
– name: impi
in: path
description: IMS Private Identity for the UE (IMPI)
required: true
schema:
$ref: ‘#/components/schemas/Impi’
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/SipAuthenticationInfoRequest’
required: true
responses:
‘200’:
description: Expected response to a valid request
content:
application/json:
schema:
$ref: ‘#/components/schemas/SipAuthenticationInfoResult’
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘405’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/405’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘501’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/501’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
‘504’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/504’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{nrfApiRoot}/oauth2/token’
scopes:
nhss-ims-ueau: Access to the Nhss IMS UE Authentication API
nhss-ims-ueau:generate-sip-auth-data:invoke: >
Access to invoke the Generate SIP Auth Data custom operation
schemas:
#
# COMPLEX TYPES:
#
SipAuthenticationInfoRequest:
description: >
Contains input data to the SIP authentication request message (e.g. SIP authentication
scheme, requested number of authentication items, resynchronization information)
type: object
required:
– cscfServerName
– sipAuthenticationScheme
properties:
cscfServerName:
type: string
sipAuthenticationScheme:
$ref: ‘#/components/schemas/SipAuthenticationScheme’
sipNumberAuthItems:
$ref: ‘#/components/schemas/SipNumberAuthItems’
resynchronizationInfo:
$ref: ‘#/components/schemas/ResynchronizationInfo’
ResynchronizationInfo:
description: Contains RAND and AUTS
type: object
required:
– rand
– auts
properties:
rand:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/Rand’
auts:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/Auts’
SipAuthenticationInfoResult:
description: >
Contains authentication information returned in the SIP authentication response message
(e.g. authentication vectors, digest authentication parameters, line identifiers)
type: object
required:
– impi
properties:
impi:
$ref: ‘#/components/schemas/Impi’
3gAkaAvs:
type: array
items:
$ref: ‘#/components/schemas/3GAkaAv’
minItems: 1
digestAuth:
$ref: ‘#/components/schemas/DigestAuthentication’
lineIdentifierList:
type: array
items:
$ref: ‘#/components/schemas/LineIdentifier’
minItems: 1
ipAddress:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’
3GAkaAv:
description: Contains RAND, XRES, AUTN, CK, and IK
type: object
required:
– rand
– xres
– autn
– ck
– ik
properties:
rand:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/Rand’
xres:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/Xres’
autn:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/Autn’
ck:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/ConfidentialityKey’
ik:
$ref: ‘TS29503_Nudm_UEAU.yaml#/components/schemas/IntegrityKey’
DigestAuthentication:
description: Parameters used for the Digest authentication scheme
type: object
required:
– digestRealm
– digestAlgorithm
– digestQop
– ha1
properties:
digestRealm:
type: string
digestAlgorithm:
$ref: ‘#/components/schemas/SipDigestAlgorithm’
digestQop:
$ref: ‘#/components/schemas/SipDigestQop’
ha1:
type: string
#
# SIMPLE TYPES:
#
SipNumberAuthItems:
description: Indicates the number of requested SIP authentication items
type: integer
minimum: 1
Impi:
description: IMS Private Identity of the UE
type: string
LineIdentifier:
description: Line Identifier for the wireline access
type: string
#
# ENUMS:
#
SipAuthenticationScheme:
description: Authentication scheme to be used in the SIP authentication request message
anyOf:
– type: string
enum:
– DIGEST-AKAV1-MD5
– DIGEST-HTTP
– NBA
– GIBA
– UNKNOWN
– type: string
SipDigestAlgorithm:
description: Algorithm used for the SIP Digest authentication scheme
anyOf:
– type: string
enum:
– MD5
– MD5_SESS
– type: string
SipDigestQop:
description: Quality of Protection for the SIP Digest authentication scheme
anyOf:
– type: string
enum:
– AUTH
– AUTH_INT
– type: string