|
TECHNICAL SPECIFICATION
LTE;
5G;
Security aspects of Common API Framework (CAPIF)
for 3GPP northbound APIs
(3GPP TS 33.122 version 15.3.0 Release 15)
---------------------- Page: 1 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 1 ETSI TS 133 122 V15.3.0 (2019-04)
Reference
RTS/TSGS-0333122vf30
Keywords
5G,LTE,SECURITY
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
If you find errors in the present document, please send your comment to one of the following services:
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying
and microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2019.
All rights reserved.
TM TM TM
DECT , PLUGTESTS , UMTS and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
TM TM
3GPP and LTE are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 2 ETSI TS 133 122 V15.3.0 (2019-04)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (https://ipr.etsi.org/).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP).
The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or
GSM identities. These should be interpreted as being references to the corresponding ETSI deliverables.
The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under
.
Modal verbs terminology
In the present document "shall", "shall not", "should", "should not", "may", "need not", "will", "will not", "can" and
"cannot" are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 3 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 3 ETSI TS 133 122 V15.3.0 (2019-04)
Contents
Intellectual Property Rights . 2
Foreword . 2
Modal verbs terminology . 2
Foreword . 5
1 Scope . 6
2 References . 6
3 Definitions, symbols and abbreviations . 6
3.1 Definitions . 6
3.2 Symbols . 6
3.3 Abbreviations . 6
4 Security requirements . 7
4.1 General . 7
4.2 Common security requirements . 7
4.3 Security requirements on the CAPIF-1/1e reference points . 7
4.4 Security requirements on the CAPIF-2/2e reference points . 8
4.5 Security requirements on the CAPIF-3/4/5 reference points . 8
5 Functional security model . 8
6 Security procedures . 9
6.1 Security procedures for API invoker onboarding . 9
6.2 Security procedures for CAPIF-1 reference point . 11
6.3 Security procedures for CAPIF-1e reference point . 11
6.3.1 Authentication and authorization . 11
6.3.1.1 General . 11
6.3.1.2 Security method negotiation. 11
6.3.1.3 API discovery . 12
6.3.1.4 Topology hiding . 12
6.4 Security procedures for CAPIF-2 reference point . 12
6.5 Security procedures for CAPIF-2e reference point . 13
6.5.1 General . 13
6.5.2 Authentication and authorization . 13
6.5.2.1 Method 1 – Using TLS-PSK . 13
6.5.2.2 Method 2 – Using PKI . 14
6.5.2.3 Method 3 – TLS with OAuth token . 15
6.6 Security procedures for CAPIF-3/4/5 reference points . 16
6.7 Security procedures for updating security method . 17
6.8 Security procedure for API invoker offboarding . 17
Annex A (normative): Key derivation functions . 19
A.1 AEFPSK derivation function. 19
Annex B (informative): Security flows . 20
B.1 Onboarding . 20
B.2 Authentication and authorization . 21
Annex C (normative): Access token profile for ‘Method 3 - TLS with OAuth token’ . 24
C.1 General . 24
C.2 Access token profile . 24
C.2.1 . General
. 24
C.2.2 Token claims . 24
ETSI
---------------------- Page: 4 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 4 ETSI TS 133 122 V15.3.0 (2019-04)
C.3 Obtaining tokens . 25
C.3.1 General . 25
C.3.2 Access token request . 25
C.3.3 Access token response . 26
C.4 Refreshing an access token . 26
C.5 Using the token to access API exposing functions . 26
C.6 Token revocation . 26
C.7 Token validation . 26
C.7.1 Access token validation . 26
Annex D (informative): Change history . 27
History . 28
ETSI
---------------------- Page: 5 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 5 ETSI TS 133 122 V15.3.0 (2019-04)
Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal
TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
x the first digit:
1 presented to TSG for information;
2 presented to TSG for approval;
3 or greater indicates TSG approved document under change control.
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the document.
ETSI
---------------------- Page: 6 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 6 ETSI TS 133 122 V15.3.0 (2019-04)
1 Scope
The present document specifies the security architecture i.e., the security features and the security mechanisms for the
common API framework (CAPIF) as per the architecture and procedures defined in 3GPP TS 23.222 [3].
2 References
The following documents contain provisions which, through reference in this text, constitute provisions of the present
document.
- References are either specific (identified by date of publication, edition number, version number, etc.) or
non-specific.
- For a specific reference, subsequent revisions do not apply.
- For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including
a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same
Release as the present document.
[1] 3GPP TR 21.905: "Vocabulary for 3GPP Specifications".
[2] 3GPP TS 33.310: "Network Domain Security (NDS); Authentication Framework (AF)".
[3] 3GPP TS 23.222: "Common API Framework for 3GPP Northbound APIs".
[4] IETF RFC 6749: "The OAuth 2.0 Authorization Framework".
[5] IETF RFC 6750: "The OAuth 2.0 Authorization Framework: Bearer Token Usage".
[6] IETF RFC 7519: "JSON Web Token (JWT)".
[7] IETF RFC 7515: "JSON Web Signature (JWS)".
[8] 3GPP TS 33.220: "Generic Authentication Architecture (GAA); Generic Bootstrapping
Architecture (GBA)".
[9] IETF RFC 5246: "The Transport Layer Security (TLS) Protocol Version 1.2".
3 Definitions, symbols and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in 3GPP TR 21.905 [1] and the following
apply. A term defined in the present document takes precedence over the definition of the same term, if any, in 3GPP
TR 21.905 [1].
3.2 Symbols
For the purposes of the present document, the following symbols apply:
AEF Pre-Shared Key for AEF
PSK
3.3 Abbreviations
For the purposes of the present document, the abbreviations given in 3GPP TR 21.905 [1] and the following apply. An
abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in
3GPP TR 21.905 [1].
AEF API Exposing Function
API Application Programming Interface
ETSI
---------------------- Page: 7 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 7 ETSI TS 133 122 V15.3.0 (2019-04)
CAPIF Common API Framework
JSON JavaScript Object Notation
JWT JSON Web Token
KDF Key Derivation Function
PKI Public Key Infrastructure
PSK Pre-Shared Key
TLS Transport Layer Security
4 Security requirements
4.1 General
Architectural requirements pertaining to CAPIF security are found in 3GPP TS 23.222 [3]. The following are CAPIF
derived security requirements.
4.2 Common security requirements
Security requirements that are applicable to all CAPIF entities are:
- [CAPIF-SEC-4.2-a] The CAPIF shall provide mechanisms to hide the topology of the PLMN trust domain from
the API invokers accessing the service APIs from outside the PLMN trust domain.
- [CAPIF-SEC-4.2-b] The CAPIF shall provide mechanisms to hide the topology of the 3rd party API provider
trust domain from the API invokers accessing the service APIs from outside the 3rd party API provider trust
domain.
- [CAPIF-SEC-4.2-c] The CAPIF shall provide authorization mechanism for service APIs from the 3rd party API
providers.
- [CAPIF-SEC-4.2-d] The CAPIF shall support a common security mechanism for all API implementations to
provide confidentiality and integrity protection.
- [CAPIF-SEC-4.2-e] API invoker authentication and authorization shall support all deployment models listed in
3GPP TS 23.222 [3].
- [CAPIF-SEC-4.2-f] The API invoker and CAPIF should enforce the result of the authentication for the duration
of communications (e.g. by integrity protection or implicit authentication by encryption with a key that is
derived from the authentication and is unknown to the adversary).
4.3 Security requirements on the CAPIF-1/1e reference points
The CAPIF-1/1e reference points between the API invoker and the CAPIF core function shall fulfil the following
requirements:
- [CAPIF-SEC-4.3-a] Mutual authentication between the API invoker and the CAPIF Core function shall be
supported.
- [CAPIF-SEC-4.3-b] The transport of messages over the CAPIF-1 and CAPIF-1e reference points shall be
integrity protected.
- [CAPIF-SEC-4.3-c] The transport of messages over the CAPIF-1 and CAPIF-1e reference points shall be
protected from replay attacks.
- [CAPIF-SEC-4.3-d] The transport of messages over the CAPIF-1 and CAPIF-1e reference points shall be
confidentiality protected.
- [CAPIF-SEC-4.3-e] Privacy of the 3GPP user over the CAPIF-1 and CAPIF-1e reference points shall be
protected.
- [CAPIF-SEC-4.3-f] The CAPIF core function shall authorize the API invoker prior to the API invoker accessing
the AEF.
ETSI
---------------------- Page: 8 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 8 ETSI TS 133 122 V15.3.0 (2019-04)
- [CAPIF-SEC-4.3-g] The CAPIF core function shall authorize the API invoker prior to accessing the discover
service API.
- [CAPIF-SEC-4.3-h] The CAPIF core function shall authenticate the API invoker's onboarding request.
- [CAPIF-SEC-4.3-i] The CAPIF core function shall authenticate the API invoker's offboarding request.
4.4 Security requirements on the CAPIF-2/2e reference points
The CAPIF-2/2e reference points between the API invoker and API exposing function shall fulfil the following
requirements:
- [CAPIF-SEC-4.4-a] Mutual authentication between the API invoker and the API exposing function shall be
supported.
- [CAPIF-SEC-4.4-b] The transport of messages over the CAPIF-2 and CAPIF-2e reference points shall be
integrity protected.
- [CAPIF-SEC-4.4-c] The transport of messages over the CAPIF-2 and CAPIF-2e reference points shall be
protected from replay attacks.
- [CAPIF-SEC-4.4-d] The transport of messages over the CAPIF-2 and CAPIF-2e reference points shall be
confidentiality protected.
- [CAPIF-SEC-4.4-e] Privacy of the 3GPP user over the CAPIF-2 and CAPIF-2e reference points shall be
protected.
- [CAPIF-SEC-4.4-f] The API exposing function shall determine whether API invoker is authorized to access
service API.
4.5 Security requirements on the CAPIF-3/4/5 reference points
The security requirements for CAPIF-3/4/5 reference points are:
- [CAPIF-SEC-4.5-a] The transport of messages over the CAPIF-3/4/5 reference points shall be integrity
protected.
- [CAPIF-SEC-4.5-b] The transport of messages over the CAPIF-3/4/5 reference points shall be confidentiality
protected.
- [CAPIF-SEC-4.5-c] The transport of messages over the CAPIF-3/4/5 reference points shall be protected from
replay attacks.
- [CAPIF-SEC-4.5-d] The CAPIF core function shall be able to authenticate the service API publishers to publish
and manage the service API information.
- [CAPIF-SEC-4.5-e] The CAPIF core function shall be able to authorize the service API publishers to publish
and manage the service API information.
- [CAPIF-SEC-4.5-f] The CAPIF core function shall be able to request explicit grant of new API invoker’s
onboarding.
5 Functional security model
Figure 5-1 shows the functional security model for the CAPIF architecture. The interfaces CAPIF-1, CAPIF-1e,
CAPIF-2, CAPIF-2e, CAPIF-3, CAPIF-4 and CAPIF-5 are defined in 3GPP TS 23.222 [3] and support the CAPIF
functionality defined in 3GPP TS 23.222 [3]. CAPIF-1, CAPIF-2, CAPIF-3, CAPIF-4 and CAPIF-5 are interfaces that
lie within the PLMN trust domain while the CAPIF-1e and CAPIF-2e interfaces are CAPIF core and AEF access points
for API Invokers outside of the PLMN trust domain.
Security for the CAPIF-1, CAPIF-2, CAPIF-3, CAPIF-4 and CAPIF-5 interfaces support TLS as specified in IETF RFC
5246 [9],and are defined in subclauses 6.2, 6.4 and 6.6 of the present document. Security for the CAPIF-1e and CAPIF-
2e interfaces support TLS [9], and are defined in subclause 6.3 and subclause 6.5, respectively.
ETSI
---------------------- Page: 9 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 9 ETSI TS 133 122 V15.3.0 (2019-04)
Authentication and authorization are required for both API invokers that lie within the PLMN trust domain and API
invokers that lie outside of the PLMN trust domain. For an API invoker that is outside of the PLMN trust domain, the
CAPIF core function in coordination with the API exposing function utilizes the CAPIF-1e, CAPIF-2e and the CAPIF-3
interfaces to onboard, authenticate and authorize the API invoker prior to granting access to CAPIF services. Security
flow diagrams for onboarding security, CAPIF-1e security and CAPIF-2e security can be found in Annex B. When the
API invoker is within the PLMN trust domain, the CAPIF core function in coordination with the API exposing function
perform authentication and authorization of the API invoker via the CAPIF-1, the CAPIF-2 and the CAPIF-3 interfaces
prior to granting access to CAPIF services. Authentication and authorization of API invokers (both internal and external
to the PLMN trust domain) is specified in clause 6 of the present document.
API invoker
n
i
API invoker
CAPIF-1e
a
m
o
D
TLS
t
s
TLS
u
r
TLS
T
N
M
L CAPIF-2
TLS
P
CAPIF-1
CAPIF-2e
CAPIF APIs Service APIs
ServSeicerv AicePI sAPIs
CAPIF-3
TLS
API exposing function
CAPIF-4
TLS
API publishing function
CAPIF core function
CAPIF-5
API management function
TLS
API provider domain
Figure 5-1: CAPIF functional security model
6 Security procedures
6.1 Security procedures for API invoker onboarding
The API invoker and the CAPIF core function shall follow the procedure in this subclause to secure and authenticate the
onboarding of the API invoker to the CAPIF core function. The API invoker and the CAPIF core function shall
establish a secure session using TLS as specified in IETF RFC 5246 [9].
With a secure session established, the API Invoker sends an Onboard API Invoker Request message to the CAPIF core
function. The Onboard API Invoker Request message carries an onboard credential obtained during pre-provisioning of
the onboard enrolment information, which may be an OAuth 2.0 [4] access token. When the OAuth 2.0 token based
mechanism is used as the onboarding credential, the access token shall be encoded as JSON web token as specified in
IETF RFC 7519 [6], shall include the JSON web signature as specified in IETF RFC 7515 [7], and shall be validated
per OAuth 2.0 [4], IETF RFC 7519 [6] and IETF RFC 7515 [7]. Other credentials may also be used (e.g. message
digest).
Figure 6.1-1 details the security information flow for the API invoker onboarding procedure. The OAuth 2.0 token
based authentication credential is shown in this example.
ETSI
---------------------- Page: 10 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 10 ETSI TS 133 122 V15.3.0 (2019-04)
CAPIF core function
API invoker API provider domain
1. Onboarding enrollment information
[CCF(Address,Root CA Certifcate),
OAuth 2.0 Access token]
4. Verify OAuth
access token,
generate API invoker
Profile.
5. Onboard API Invoker Response
[API Invoker ID, API Invoker Certificate, (service API authentication and Authorization
information), (Onboard_Secret)]
Figure 6.1-1: Security procedure for API invoker onboarding
1. As a prerequisite to the onboarding procedure, the API invoker obtains onboarding enrolment information from
the API provider domain. The onboarding enrolment information is used to authenticate and establish a secure
TLS communication with the CAPIF core function during the onboarding process. The enrolment information
includes details of the CAPIF core function (Address, and Root CA certificate) and includes an onboarding
credential (the OAuth 2.0 [4] access token).
NOTE 1: The procedure used to obtain the enrolment information by the API invoker is out of scope of the present
document.
2. The API invoker and CAPIF core function shall establish a secure session based on TLS (Server side certificate
authentication). The API invoker shall use the enrolment information obtained in step 1 to establish the TLS
session with the CAPIF core function.
3. After successful establishment of the TLS session, the API invoker shall send an Onboard API invoker request
message to the CAPIF core function along with the enrolment credential (OAuth 2.0 [4] access token). The API
invoker generates the key pair {Private Key, Public key} and provides the public key along with the Onboard
API invoker request.
4. The CAPIF core function shall validate the enrolment credential (OAuth 2.0 [4] access token). If validation of
the credential (the OAuth 2.0 [4] access token in this example) is successful, the CAPIF core function shall
generate an API invoker's profile as specified in TS 23.222 [3] which may contain the selected method for AEF
authentication and authorization between the API Invoker and the AEF (see subclause 6.5.2). The CAPIF core
function may generate API invoker's certificate on its own, for the assigned API invoker identity and public key.
This certificate shall be used by the API invoker for subsequent authentication procedures with the CAPIF core
function and may be used for establishing a secure connection and authentication with the API Exposing
Function. The CAPIF core function may optionally generate an Onboard_Secret if the subscribed Service API
uses Method 3 (as specified in clause 6.5.2.3 of the present document) for CAPIF-2e security. The
Onboard_Secret value remains the same during the lifetime of the onboarding, and shall be bound to the CAPIF
core function specific API Invoker ID.
ETSI
---------------------- Page: 11 ----------------------
3GPP TS 33.122 version 15.3.0 Release 15 11 ETSI TS 133 122 V15.3.0 (2019-04)
NOTE 2: When API invoker's client certificate is issued by the third party, then in Step 3 the API invoker can
additionally include the certificate in Onboard API Invoker request message. If the CAPIF core function
trusts the issuer of the API invoker's client certificate, then the CAPIF Core Function includes the
provided certificate in the API invoker's profile, in step 4. It is up to the CAPIF domain policy to accept
the client certificates issued by third party.
5. The CAPIF core function shall respond with an Onboard API invoker response message. The response shall
include the CAPIF core function assigned API invoker ID, AEF Authentication and authorization information (if
generated in step 4), API invoker's certificate and the API inv
...