Description
Resource owner authorization (ROA) is a security concept within 3GPP's API exposure architecture, particularly in the context of the Common API Framework (CAPIF) and the Service Enabler Architecture Layer (SEAL). It refers to the explicit permission given by the owner of a resource—such as a user, an application, or a network function—to an API invoker, allowing the invoker to access that resource through a northbound API. This authorization is a fundamental component of the access control model, ensuring that only authorized entities can interact with protected resources. The ROA is typically obtained through an OAuth 2.0-based authorization framework, where the resource owner grants the API invoker an access token after successful authentication and consent.
In the 3GPP architecture, the northbound API is exposed by an API exposing function (AEF) or a similar entity, and the API invoker is an application or service that seeks to consume the API. The resource owner may be the end user, the application provider, or another entity that has ownership or control over the resource. The ROA process involves several steps: the API invoker requests authorization from the resource owner (often via a user interface or a pre-configured consent), the resource owner authenticates and authorizes the request, and an authorization server issues an access token to the API invoker. The API invoker then presents this token to the AEF when accessing the API. The AEF validates the token and enforces the permissions granted.
The ROA concept is crucial for privacy and security in API exposure. It ensures that resources are not accessed without the owner's consent, aligning with regulatory requirements such as GDPR. It also enables fine-grained access control, as the resource owner can specify the scope and duration of the authorization. For example, a user might authorize a third-party application to access their location information for a limited time. The authorization can be revoked by the resource owner at any time, and the token would then become invalid.
Technically, the ROA is implemented using OAuth 2.0 frameworks as specified in RFC 6749 and related 3GPP specifications like TS 33.122 (Security aspects of CAPIF) and TS 33.700 (Study on security aspects of API exposure). These specifications define the functional entities and procedures for authorization, including the role of the authorization server, the resource owner, and the API invoker. The authorization server may be part of the 3GPP network (e.g., the CAPIF core function) or an external entity. The access token format may be JWT (JSON Web Token) or another format, containing claims about the granted permissions.
In summary, Resource owner authorization is a critical mechanism that enforces user consent and access control in 3GPP API exposure. It enables secure and privacy-respecting access to network resources and services, facilitating the development of third-party applications while protecting the interests of resource owners.
Purpose & Motivation
Resource owner authorization was introduced to provide a standardized and secure method for controlling access to resources exposed via northbound APIs in 3GPP networks. As 3GPP networks evolved to expose capabilities and data through APIs—enabling third-party applications to leverage network services—the need arose to ensure that such access is granted only with the explicit consent of the resource owner. Without a formal authorization mechanism, there would be risks of unauthorized access, privacy breaches, and misuse of sensitive data. The ROA concept addresses these concerns by establishing a clear framework based on OAuth 2.0, which is widely used in web and mobile ecosystems.
The primary problem ROA solves is the lack of a unified authorization model in early API exposure efforts. Previously, API access control might have been handled through static credentials or API keys, which do not provide user-level consent or granular permissions. This was insufficient for scenarios involving personal data or sensitive network resources. ROA introduces dynamic, consent-based authorization, allowing resource owners to grant, limit, and revoke access. This is particularly important for compliance with privacy regulations and for building trust with end users.
Furthermore, ROA enables service differentiation and monetization. By authorizing specific API invokers to access resources, operators can offer tiered services or partner-specific access. It also supports the concept of delegated authorization, where a user can authorize an application to act on their behalf. This is essential for many IoT and consumer applications. The introduction of ROA in Release 19 reflects the maturation of 3GPP's API exposure strategy, recognizing that secure and user-consented access is foundational to a thriving API economy.
What changed in its specifications
The latest release-to-release comparison of specifications that define Resource owner authorization. Each summary describes the whole specification, not only this term.
Rel-19 adds roaming and interconnect authorization aspects for indirect communication, changing security requirements on the CAPIF-8 reference point. It also updates OAuth client credential and authorization code (optional PKCE) flow authorization sections in TS 33.122.
Full comparison in TS 33.122 →Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (1 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Defining Specifications
3GPP specifications that define or reference Resource owner authorization, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 33.122 vj40 | CAPIF Security Architecture Specification | Rel-19 read |
| TS 33.700 | 3GPP TR 33.700 | Rel-19 read |