A.2 Nbsp_GBA API

29.3093GPPBootstrapping Server Function (GBA BSF) ServicesRelease 17TS

openapi: 3.0.0

info:

version: ‘1.0.0’

title: ‘GBA BSF Nbsp_GBA Service’

description: |

GBA BSF Nbsp_GBA Service.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: >

3GPP TS 29.309 V17.1.0; 5G System; Bootstrapping Server Function (GBA BSF) Services; Stage 3

url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.309/’

servers:

– url: ‘{apiRoot}/nbsp-gba/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

security:

– {}

– oAuth2ClientCredentials:

– nbsp-gba

paths:

/bootstrapping-info-retrieval:

post:

summary: Retrieve Bootstrapping Info from GBA BSF from NAF

operationId: BootstrappingInfoRetrieval

tags:

– Bootstrapping Info Retrieval (Custom Operation)

requestBody:

content:

application/json:

schema:

$ref: ‘#/components/schemas/BootstrappingInfoRequest’

required: true

responses:

‘200’:

description: Expected response to a valid request

content:

application/json:

schema:

$ref: ‘#/components/schemas/BootstrappingInfoResponse’

‘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’

‘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’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/push-info-retrieval:

post:

summary: Retrieve Push Info from GBA BSF from Push-NAF

operationId: PushInfoRetrieval

tags:

– Push Info Retrieval (Custom Operation)

requestBody:

content:

application/json:

schema:

$ref: ‘#/components/schemas/PushInfoRequest’

required: true

responses:

‘200’:

description: Expected response to a valid request

content:

application/json:

schema:

$ref: ‘#/components/schemas/PushInfoResponse’

‘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’

‘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’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

nbsp-gba: Access to the Nbsp_GBA API

schemas:

#

# COMPLEX TYPES

#

BootstrappingInfoRequest:

description: Request body of the HTTP POST operation for resource /bootstrapping-info-request

type: object

required:

– btId

– nafId

properties:

btId:

$ref: ‘#/components/schemas/BtId’

nafId:

$ref: ‘#/components/schemas/NafId’

gbaUAware:

type: boolean

default: false

gsIds:

type: array

items:

$ref: ‘#/components/schemas/GsId’

minItems: 1

BootstrappingInfoResponse:

description: Response body of the HTTP POST operation for resource /bootstrapping-info-request

type: object

required:

– meKeyMaterial

properties:

meKeyMaterial:

$ref: ‘#/components/schemas/MeKeyMaterial’

uiccKeyMaterial:

$ref: ‘#/components/schemas/UiccKeyMaterial’

keyExpiryTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

bootstrappingInfoCreationTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

ussList:

type: array

items:

$ref: ‘#/components/schemas/UssListItem’

minItems: 1

gbaType:

$ref: ‘#/components/schemas/GbaType’

impi:

$ref: ‘#/components/schemas/Impi’

PushInfoRequest:

description: Request body of the HTTP POST operation for resource /push-info-request

type: object

required:

– ueId

– ueIdType

– uiccAppLabel

– nafId

– ptId

– uiccOrMe

– requestedLifeTime

properties:

ueId:

$ref: ‘#/components/schemas/UeId’

ueIdType:

$ref: ‘#/components/schemas/UeIdType’

uiccAppLabel:

$ref: ‘#/components/schemas/UiccAppLabel’

nafId:

$ref: ‘#/components/schemas/NafId’

ptId:

$ref: ‘#/components/schemas/PtId’

uiccOrMe:

$ref: ‘#/components/schemas/UiccOrMe’

requestedLifeTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

privateIdRequest:

type: boolean

gbaUAware:

type: boolean

gsIds:

type: array

items:

$ref: ‘#/components/schemas/GsId’

minItems: 1

auts:

$ref: ‘#/components/schemas/Auts’

rand:

$ref: ‘#/components/schemas/Rand’

securityFeaturesRequest:

type: array

items:

$ref: ‘#/components/schemas/SecFeature’

minItems: 1

PushInfoResponse:

description: Response body of the HTTP POST operation for resource /push-info-request

type: object

required:

– meKeyMaterial

– gbaPushInfo

properties:

meKeyMaterial:

$ref: ‘#/components/schemas/MeKeyMaterial’

gbaPushInfo:

$ref: ‘#/components/schemas/GbaPushInfo’

uiccKeyMaterial:

$ref: ‘#/components/schemas/UiccKeyMaterial’

keyExpiryTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

bootstrappingInfoCreationTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

ussList:

type: array

items:

$ref: ‘#/components/schemas/UssListItem’

minItems: 1

gbaType:

$ref: ‘#/components/schemas/GbaType’

impi:

$ref: ‘#/components/schemas/Impi’

securityFeaturesResponse:

type: array

items:

$ref: ‘#/components/schemas/SecFeature’

NafId:

description: NAF ID, containing the NAF FQDN and the Ua Security Protocol Identifier

type: object

required:

– nafFqdn

– uaSecProtId

properties:

nafFqdn:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Fqdn’

uaSecProtId:

type: string

pattern: ‘^[A-Fa-f0-9]{10}$’

UssListItem:

description: Data item in a User Security Settings array list

type: object

required:

– uss

properties:

uss:

$ref: ‘#/components/schemas/Uss’

Uss:

description: User Security Settings for a given GAA Service

type: object

required:

– gsId

– gsType

– ueIds

properties:

gsId:

$ref: ‘#/components/schemas/GsId’

gsType:

$ref: ‘#/components/schemas/GsType’

ueIds:

type: array

items:

$ref: ‘#/components/schemas/UeIdsItem’

minItems: 1

nafGroup:

$ref: ‘#/components/schemas/NafGroup’

flags:

type: array

items:

$ref: ‘#/components/schemas/FlagsItem’

minItems: 1

keyChoice:

$ref: ‘#/components/schemas/KeyChoice’

UeIdsItem:

description: Data item in a UE ID array list

type: object

required:

– ueId

properties:

ueId:

$ref: ‘#/components/schemas/UeId’

FlagsItem:

description: Data item in a Flags array list

type: object

required:

– flag

properties:

flag:

$ref: ‘#/components/schemas/Flag’

#

# SIMPLE TYPES

#

GsId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint32’

GsType:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint32’

BtId:

description: Bootstrapping Transaction Identifier

type: string

MeKeyMaterial:

description: ME Key Material (hex-encoded string)

type: string

pattern: ‘^[A-Fa-f0-9]{64}$’

UiccKeyMaterial:

description: UICC key material (hex-encoded string)

type: string

pattern: ‘^[A-Fa-f0-9]{64}$’

UeId:

description: Public Identity of the UE

type: string

Impi:

description: IMS Private Identity of the UE

type: string

Flag:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uint32’

GbaPushInfo:

description: GBA Push Info (hex-encoded string)

type: string

pattern: ‘^([A-Fa-f0-9]{2})+$’

NafGroup:

description: Character string representing a NAF Group

type: string

PtId:

description: Character string representing a P-TID

type: string

UiccAppLabel:

description: Character string representing an UICC Application Label

type: string

Auts:

description: AUTS value in UMTS AKA

type: string

pattern: ‘^[A-Fa-f0-9]{28}$’

Rand:

description: RAND in UMTS AKA

type: string

pattern: ‘^[A-Fa-f0-9]{32}$’

#

# ENUMS

#

KeyChoice:

description: Type of key (ME-based or UICC-based) that the NAF shall use

anyOf:

– type: string

enum:

– ME_BASED_KEY

– UICC_BASED_KEY

– ME_UICC_BASED_KEYS

– type: string

UiccOrMe:

description: Indicates whether GBA_ME or GBA_U is to be used for GBA push

anyOf:

– type: string

enum:

– GBA_ME

– GBA_U

– type: string

SecFeature:

description: Security features supported by the BSF or the NAF

anyOf:

– type: string

enum:

– GPL_U

– type: string

GbaType:

description: Authentication type used by the UE for GBA

anyOf:

– type: string

enum:

– 3G_GBA

– 2G_GBA

– GBA_DIGEST

– type: string

UeIdType:

description: Type of UE Identity (public or private)

anyOf:

– type: string

enum:

– PUBLIC

– PRIVATE

– type: string

Annex B (informative): Change history

Change history

Date

Meeting

TDoc

CR

Rev

Cat

Subject/Comment

New version

2021-02

CT4#102

C4-211396

TS template agreed

0.0.0

2021-04

CT4#103

C4-212594

Incorporation of agreed pCRs from CT4#103: C4-212527, C4-212528, C4-212529

0.1.0

2021-05

CT4#104

C4-213524

Incorporation of agreed pCRs from CT4#104: C4-213293, C4-213316

0.2.0

2021-09

CT4#105

C4-214751

Incorporation of agreed pCRs from CT4#105: C4-214340, C4-214341

0.3.0

2021-10

CT4#106

C4-215515

Incorporation of agreed pCRs from CT4#106: C4-215330

0.4.0

2021-12

CT#94

CP-213154

V1.0.0. presented for information

1.0.0

2022-03

CT4#108

C4-221637

Incorporation of agreed pCRs from CT4#108: C4-221174, C4-221355

1.1.0

2022-03

CT#95

CP-220101

TS presented for information

2.0.0

2022-03

CT#95

TS approved

17.0.0

2022-06

CT#96

CP-221032

0001

F

Fqdn Data Type Definition

17.1.0

2022-06

CT#96

CP-221051

0002

F

29.309 Rel-17 API version and External doc update

17.1.0