GPI

GBA Push Information

Security
Introduced in Rel-8
GBA Push Information (GPI) is a security mechanism that enables a network application server to securely 'push' bootstrap information to a UE. It is part of the Generic Bootstrapping Architecture (GBA), allowing servers to initiate secure communication setup without prior shared secrets.

Description

GBA Push Information (GPI) is a component of the 3GPP Generic Bootstrapping Architecture (GBA), which provides a standardized method for mutual authentication and key agreement between a User Equipment (UE) and a Network Application Function (NAF). While standard GBA relies on the UE initiating the bootstrapping procedure, GPI enables a 'push' model. In this model, a NAF (e.g., a service provider's server) can proactively send essential bootstrapping information to the UE, allowing the UE to subsequently establish a secure connection with that NAF. This information is contained within a GPI message, which is itself a secure object.

Architecturally, GPI involves several key entities defined in GBA: the UE, the Bootstrapping Server Function (BSF), the NAF, and the Home Subscriber Server (HSS). The process begins when a NAF determines it needs to push information to a specific UE. The NAF requests a GPI from the BSF. The BSF, which shares a trust relationship with the HSS, generates the GPI. This GPI contains critical data such as a Bootstrapping Transaction Identifier (B-TID), the NAF's identity, key lifetime information, and potentially other parameters. Crucially, this GPI is cryptographically protected using keys derived from the subscriber's long-term credentials stored in the HSS, ensuring its integrity and authenticity. The BSF sends the GPI to the NAF, which then delivers it to the UE via a push channel, which could be an IP-based push mechanism like SIP Push or an SMS bearer.

Upon receiving the GPI, the UE processes it. The UE can verify the GPI's authenticity because it can derive the same cryptographic keys from its own identity module (USIM/ISIM) and the parameters in the GPI. Once verified, the UE extracts the B-TID and other information. The UE can then contact the BSF using this B-TID to perform a standard GBA bootstrapping run, resulting in the establishment of shared session keys (Ks_NAF) specifically for use with that NAF. Finally, the UE establishes a secure connection (e.g., using TLS) with the NAF using these keys. This mechanism allows services like firmware updates over-the-air (FOTA), instant messaging service activation, or emergency alert systems to securely initiate contact with a device that has not previously interacted with the service server.

Purpose & Motivation

GPI was created to address a limitation in the original GBA model, which was purely 'pull'-based, requiring the UE to always initiate contact with the BSF. Many emerging mobile services, however, are server-initiated (push services). For example, a service provider may need to send a configuration update or an alert to a device. Without a pre-established security context, initiating such communication securely is challenging. GPI solves this by allowing the server to securely push the initial bootstrap 'invitation' to the UE.

Historically, before standardized push security mechanisms, services used less secure methods like plain SMS for activation or relied on pre-provisioned keys, which were difficult to manage at scale. Introduced in 3GPP Release 8 alongside GBA enhancements, GPI leveraged the existing, robust security of the GBA infrastructure (rooted in the USIM) to enable secure server-initiated services. It filled a critical gap in the service enablement ecosystem, allowing for secure, scalable, and standardised push-based service delivery without requiring modifications to the UE's SIM card for each new service.

Key Features

  • Enables a push model for bootstrapping within the Generic Bootstrapping Architecture (GBA)
  • Allows a Network Application Function (NAF) to initiate secure communication with a UE
  • GPI message contains a Bootstrapping Transaction Identifier (B-TID) and NAF identity
  • Cryptographically protected by keys derived from subscriber's USIM/ISIM credentials
  • Delivered to UE via push mechanisms like SIP Push or SMS
  • UE uses GPI contents to perform a subsequent standard GBA bootstrapping run with the BSF

Evolution Across Releases

Rel-8 Initial

Introduced GBA Push Information (GPI) as a new component within the Generic Bootstrapping Architecture. The initial architecture defined the GPI message format, the roles of the BSF in generating it and the NAF in delivering it, and the procedure for the UE to use the GPI to establish keys with a pushing server.

Defining Specifications

SpecificationTitle
TS 24.109 3GPP TS 24.109
TS 24.334 3GPP TS 24.334
TS 24.554 3GPP TS 24.554
TS 29.109 3GPP TS 29.109
TS 33.223 3GPP TR 33.223
TS 33.224 3GPP TR 33.224
TS 33.503 3GPP TR 33.503
TS 33.843 3GPP TR 33.843
TS 33.924 3GPP TR 33.924