Description
The KAF (AKMA Application Key) is a crucial security element within the Authentication and Key Management for Applications (AKMA) framework standardized by 3GPP. It is a symmetric cryptographic key uniquely generated for a specific user equipment (UE) and a specific Application Function (AF). The KAF is not directly provisioned but is dynamically derived from a root key known as the KAKMA (AKMA Anchor Key), which itself is established during the primary 5G AKA or EAP-AKA' authentication procedure between the UE and the network. The derivation process involves input parameters such as the AF's identity (e.g., its FQDN), ensuring key separation so that each UE-AF pair has a distinct KAF.
The generation of the KAF is a distributed process. The UE and the AKMA Anchor Function (AAnF) in the home network independently compute the same KAF using the shared KAKMA and the agreed-upon derivation inputs. The AAnF then securely provides this KAF to the requesting AF over the Naf interface. This architecture ensures the AF never learns the root KAKMA, and the UE never exposes the KAF externally, maintaining a strong security chain. The KAF's primary role is to enable the establishment of a secure channel, typically using TLS-PSK (Pre-Shared Key) or similar mechanisms, between the UE and the AF.
Once established, the KAF is used to secure application-layer communications. It can directly serve as a pre-shared key for TLS or be used to derive further session keys for encryption and integrity protection of application data. This model offloads authentication and key management from the application server to the 3GPP security infrastructure, leveraging the robust, subscription-based network authentication. The KAF's lifecycle is tied to the underlying KAKMA; it remains valid as long as the KAKMA is valid, which is typically aligned with the UE's registration state, providing a balance between security and service continuity.
Purpose & Motivation
The KAF was introduced to solve the problem of repetitive and inefficient authentication for over-the-top (OTT) and operator-hosted applications accessing 3GPP networks. Before AKMA, applications often required their own authentication mechanisms (like usernames/passwords or API tokens), which were separate from the robust cellular network authentication. This created a poor user experience, increased credential management overhead, and could introduce security weaknesses if application-level credentials were weak or poorly managed.
AKMA, and specifically the KAF, was created to leverage the strong, primary authentication performed by the 3GPP core network (5GC) for securing application access. Its purpose is to enable seamless and secure bootstrapping of application security. By deriving the KAF from the already-established network authentication, it eliminates the need for the user to perform a separate log-in for trusted applications. This is particularly valuable for services that require a verified mobile subscriber identity and for IoT scenarios where manual intervention is impossible.
The motivation stems from the need for a standardized, network-centric authentication framework for applications, moving beyond basic network access security. It addresses the limitation of previous approaches where application security was siloed. KAF provides a standardized way for Application Functions to obtain cryptographically strong keys tied to a proven subscriber identity, enabling new business models like identity-as-a-service and secure IoT service enablement directly from the 3GPP network trust anchor.
Classification
Release Timeline
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (11 CRs across 3 releases). Complements the general historical overview above with the evidence-based evolution of this function.
In Release 16, the specification for the AKMA Application Key (KAF) function was enhanced to define a lifetime for the KAF, after which it expires. This introduces a specific expiration mechanism for this key, ensuring it is not used indefinitely.
- Lifetime of KAF expiration TS 33.535CR0043
In Release 17, the specification introduced new details and clarifications for the AKMA Application Key (KAF) function. The enhancements specifically focused on defining the KAF generation procedure within the UE and providing clearer guidance on KAF lifetime management. This included new recommendations for handling KAF expiration and refresh mechanisms, particularly in relation to the Ua protocol.
- Clarification on indication to UE when KAF is expired TS 33.535CR0122
- Adding details of AKMA application key generation in the UE TS 33.535CR0047
- KAF lifetime expiration in clause 5.2 TS 33.535CR0060
- Clarification on Kaf lifetime in Clause 5.2 TS 33.535CR0101
- Add a Note about the Kaf refresh TS 33.535CR0115
- KAF lifetime and Ua protocol recommendations TS 33.535CR0151
In Release 18, the enhancements to the AKMA Application Key (KAF) function introduced mechanisms for its lifecycle management and clarified its usage. Specifically, the release linked KAF refresh to KAKMA refresh, defined a procedure for KAF re-keying triggered by the AAnF after expiration, and added clarifying text on the derivation and limitations of session keys based on Kaf. These changes are documented in a new clause 6.3 for Kaf derivation descriptions.
Explore further
Broader topics and technologies where KAF plays a role.
Defining Specifications
3GPP specifications that define or reference KAF, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 29.522 vj40 | 5G NEF Northbound APIs Stage 3 | Rel-19 |
| TS 33.127 vj50 | Lawful Interception Architecture and Functions | Rel-19 |
| TS 33.535 vj00 | 5G AKMA: Authentication and Key Management for Apps | Rel-19 |