A38

Authentication and Key Agreement Algorithm 38

Security
Introduced in Rel-5
A38 is a combined cryptographic algorithm that performs both authentication (A3) and key generation (A8) functions in GSM and early 3GPP networks. It generates a signed response (SRES) for user verification and a ciphering key (Kc) for encrypting radio communications. This integrated approach streamlined security operations in 2G systems, providing essential protection against unauthorized access and eavesdropping.

Description

A38 is a cryptographic algorithm specified in 3GPP standards, primarily for GSM (2G) networks, that consolidates the functions of the separate A3 and A8 algorithms into a single computational process. It operates within the Authentication Centre (AuC) of the network and the Subscriber Identity Module (SIM) card in the user's device. The algorithm takes three inputs: a 128-bit subscriber authentication key (Ki), which is securely stored in both the AuC and SIM; a 128-bit random challenge (RAND), generated by the network; and a 128-bit algorithm identifier (ALGID), which is set to a fixed value to select A38. Using these inputs, A38 produces two outputs: a 32-bit signed response (SRES) for authentication and a 64-bit ciphering key (Kc) for encryption.

Architecturally, A38 is implemented as a proprietary algorithm, meaning its internal design is not publicly standardized by 3GPP—it is developed individually by network operators or vendors to ensure security through obscurity, though this approach has been criticized. The algorithm's role is central during the authentication and key agreement (AKA) procedure. When a mobile device attempts to connect, the AuC generates a RAND and computes the expected SRES and Kc using A38 with the stored Ki. The RAND is sent to the mobile, which uses its SIM to compute its own SRES and Kc via the same A38 algorithm. The mobile returns the SRES to the network for verification; if it matches the AuC's computed SRES, authentication succeeds, and the derived Kc is used to encrypt voice and data traffic over the air interface.

Key components involved with A38 include the Ki, which must remain secret and is never transmitted, ensuring long-term security; the RAND, which provides randomness to prevent replay attacks; and the SRES and Kc, which are ephemeral outputs for session security. A38's integration of A3 and A8 functions reduces complexity and processing overhead compared to using separate algorithms, as both authentication and key generation are computed in one step. However, A38 is limited to 2G networks and has known vulnerabilities, such as weak encryption due to the 64-bit Kc and lack of mutual authentication (the network authenticates the user, but not vice versa), which led to its deprecation in favor of more robust algorithms like MILENAGE in 3G and beyond.

In the network, A38 operates in the core network's AuC, interfacing with the Home Location Register (HLR) to provide authentication vectors to the Mobile Switching Centre (MSC) or Serving GPRS Support Node (SGSN). Its role is critical for initial network access, handovers, and periodic re-authentication, ensuring that only authorized subscribers can use the network and that their communications are protected from interception. Despite its historical importance, A38 is considered obsolete in modern 3GPP systems due to security weaknesses, but it remains a foundational concept in understanding the evolution of mobile security protocols.

Purpose & Motivation

A38 was created to address the need for an efficient and integrated security mechanism in GSM networks, which were the first widely deployed digital mobile systems. Prior to GSM, analog systems like AMPS had minimal security, making them vulnerable to cloning and eavesdropping. The separate A3 and A8 algorithms in early GSM specifications required distinct computations for authentication and key generation, which could increase latency and complexity. A38 combined these functions into a single algorithm to streamline the authentication and key agreement process, reducing processing time and simplifying implementation in SIM cards and network elements.

The motivation for A38 stemmed from the growing demand for secure mobile communications in the 1990s, as GSM expanded globally. It solved the problem of providing basic cryptographic protection—authentication to prevent unauthorized access and encryption to safeguard voice and data—while maintaining compatibility with the limited computational resources of early mobile devices and SIM cards. By integrating A3 and A8, A38 enabled faster authentication procedures, which was crucial for seamless handovers and network efficiency. However, its proprietary nature meant that security relied on secrecy, a design choice that later proved inadequate against advancing attack methods.

Historically, A38 addressed limitations of having disjoint security functions, but it itself had shortcomings, such as the use of a short 64-bit ciphering key and lack of mutual authentication. These limitations became apparent with the rise of more sophisticated threats, leading 3GPP to develop stronger, standardized algorithms like MILENAGE for UMTS (3G), which offered longer keys, mutual authentication, and enhanced cryptographic robustness. A38's creation was a stepping stone in mobile security evolution, highlighting the trade-offs between efficiency and security in early cellular networks.

Key Features

  • Combines authentication (A3) and key generation (A8) into a single algorithmic process
  • Uses a 128-bit subscriber authentication key (Ki) and 128-bit random challenge (RAND) as inputs
  • Generates a 32-bit signed response (SRES) for user authentication and a 64-bit ciphering key (Kc) for encryption
  • Implemented as a proprietary algorithm, allowing operator-specific customization for security
  • Operates within the Authentication Centre (AuC) and Subscriber Identity Module (SIM) for distributed security
  • Supports essential GSM security functions like initial access, handovers, and re-authentication

Evolution Across Releases

Rel-5 Initial

Introduced A38 as a combined algorithm performing A3 and A8 functions in GSM networks. It provided an integrated approach for authentication and cipher key generation, streamlining security operations by reducing separate computations. This initial architecture supported basic 2G security needs but was proprietary and limited to 64-bit encryption keys.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905