Description
The B2 algorithm is a standardized cryptographic function specified in 3GPP TS 43.020 that generates authentication keys for Cordless Telephony System (CTS) security mechanisms. As part of the CTS authentication and key agreement (AKA) protocol, B2 operates within the authentication center (AuC) of the network and within the CTS mobile station's security module. The algorithm takes specific input parameters including the subscriber's secret key (Ki), a random challenge (RAND), and other authentication-related data to produce a unique authentication key (Kc) for each authentication session.
Architecturally, B2 functions within the CTS security framework that includes multiple cryptographic algorithms (B1, B2, B3, B4) each serving distinct purposes in the authentication and encryption chain. B2 specifically handles the generation of the ciphering key Kc, which is then used by other algorithms for actual encryption of user data and signaling. The algorithm implementation must ensure that even with knowledge of multiple RAND-Kc pairs, an attacker cannot feasibly derive the secret Ki, maintaining the long-term security of the authentication system.
Technically, B2 is designed as a one-way function that produces a fixed-length output key from variable-length inputs. The algorithm employs cryptographic primitives including permutation operations, substitution tables, and logical operations to achieve the required cryptographic strength. During authentication, the network generates a random RAND and computes the expected response (SRES) and cipher key (Kc) using B2 along with other algorithms. The mobile station independently computes the same values, enabling mutual authentication when the computed values match.
The B2 algorithm's role extends beyond mere key generation—it forms part of a comprehensive security chain where each algorithm (B1-B4) has specialized functions. B2's output (Kc) serves as input to subsequent algorithms that handle actual encryption, ensuring separation of concerns in the cryptographic design. This modular approach allows for potential algorithm updates while maintaining backward compatibility with existing authentication infrastructure.
Purpose & Motivation
The B2 algorithm was created to address the specific security requirements of Cordless Telephony System (CTS) within GSM/3GPP networks. CTS required robust authentication mechanisms to prevent unauthorized access to telephony services while maintaining compatibility with existing GSM security architectures. Before standardized algorithms like B2, proprietary solutions created interoperability challenges and potential security vulnerabilities across different network equipment vendors.
Historically, the development of B2 responded to the need for a standardized, cryptographically sound method to generate session keys for CTS authentication. The algorithm needed to balance computational efficiency for implementation in resource-constrained mobile devices with sufficient cryptographic strength to resist known attacks. By providing a standardized approach to key generation, B2 enabled consistent security implementation across different network operators and equipment manufacturers, facilitating global interoperability of CTS services.
The creation of B2 addressed limitations in earlier authentication approaches that either lacked proper key separation or used weaker cryptographic constructions. By specializing in authentication key generation as part of a larger algorithm suite (B1-B4), B2 allowed for optimized security where each algorithm could be specifically designed and potentially updated independently. This modular design philosophy supported the evolution of CTS security while maintaining the fundamental authentication framework established in earlier GSM specifications.
Classification
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.
Studied in Rel-8, normative work from Rel-17.
In Release 17, an explicit requirement on the initial INPUT value for the GPRS-A5 ciphering algorithm was introduced. This change provides specific guidance for the algorithm's initialization, which is part of the broader set of ciphering and authentication mechanisms referenced in the specification. The update falls under the ongoing work to define and maintain the cryptographic algorithms used within the system's security architecture.
- Explicit requirement on initial INPUT value for the GPRS-A5 ciphering algorithm TS 43.020CR0094
Explore further
Broader topics and technologies where B2 plays a role.
Defining Specifications
3GPP specifications that define or reference B2, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 43.020 vj00 | Security Procedures for GSM | Rel-19 |