Description
TUAK is a set of cryptographic algorithms designed for the 3GPP Authentication and Key Generation Functions (AKA). It was introduced in Release 12 as an example algorithm set, similar to MILENAGE, but with a different design philosophy. TUAK is specified in 3GPP specifications 33.834, 35.231, 35.232, 35.233, and 35.934. The name is pronounced like 'too-ack'.
The primary function of TUAK is to provide authentication and key generation for mobile networks. It is used in the Authentication and Key Agreement (AKA) protocol, which is the foundation for secure access in 3GPP networks (including 3G, 4G, and 5G). The AKA protocol involves the mobile station (UE) and the network (more specifically, the Authentication Center (AuC) in the Home Subscriber Server (HSS) or the Unified Data Management (UDM)) authenticating each other and generating session keys. TUAK provides the algorithms for generating the authentication vectors (RAND, AUTN, XRES, CK, IK) and for verifying the response from the UE.
TUAK is based on a block cipher (the Keccak permutation) and is designed to be efficient and secure. It supports different security levels and can be configured with different key lengths. The algorithm set includes functions f1, f1*, f2, f3, f4, f5, and f5* as defined in 3GPP TS 35.231. These functions are used to generate the authentication response (RES), the network authentication token (AUTN), the cipher key (CK), and the integrity key (IK). TUAK also supports the generation of the anonymity key (AK) and the re-synchronization token (AUTS).
One of the key advantages of TUAK over MILENAGE is its flexibility and improved security properties. TUAK is designed to be resistant to known cryptanalytic attacks and can be adapted to different security requirements. It also allows for the use of different key sizes, which can be beneficial in environments where stronger security is needed. The algorithm set is provided as an example, meaning that operators can choose to implement it or design their own algorithms based on the framework.
TUAK is specified in a set of documents that cover the algorithm specification (35.231), the test data (35.232), the implementation guidance (35.233), and the security analysis (33.834). The specification 35.934 provides the report on the design and evaluation of TUAK. These documents ensure that TUAK can be implemented interoperably and securely.
In the context of 5G, TUAK continues to be relevant as an alternative authentication algorithm. It is part of the 5G security architecture and can be used in conjunction with 5G-AKA or EAP-AKA'. The introduction of TUAK in Release 12 was motivated by the need for a second example algorithm set to complement MILENAGE, providing diversity and reducing the risk of widespread vulnerabilities if one algorithm is compromised. The evolution of TUAK has been stable, with the definition remaining consistent across releases, indicating its established role in 3GPP security.
Purpose & Motivation
TUAK was created to provide an alternative to the MILENAGE algorithm set, which had been the primary example algorithm set for 3GPP authentication since Release 99. While MILENAGE is secure, relying on a single algorithm set poses a risk: if a vulnerability is discovered, it could affect a large number of networks. TUAK was designed to offer a second, independent algorithm set that could be used as an alternative or in addition to MILENAGE, enhancing the overall security and resilience of 3GPP networks.
The motivation for TUAK also included the desire for a more flexible and modern cryptographic design. TUAK is based on the Keccak permutation, which is the basis for the SHA-3 standard, and it supports variable key lengths and different security levels. This allows operators to tailor the security to their needs and to comply with local regulations. TUAK also includes a comprehensive security analysis and test data, making it easier for vendors to implement and validate.
By providing a second example algorithm set, 3GPP aimed to encourage diversity in implementations and to reduce the risk of monoculture in security algorithms. TUAK solves the problem of over-reliance on a single algorithm and provides a path for future evolution. It is particularly important in the context of 5G, where security requirements are more stringent and the threat landscape is more complex.
Release Timeline
Evolution Across Releases
An overview written from the defining specifications, not a verified change history. For the exact text, open the specifications listed below.
The definition reverted to the original wording with a line break, 'newly designed example algorithm set for the\n3GPP Authentication and Key Generation Functions. It should be\npronounced like "too-ack"'. This is likely a formatting inconsistency and does not represent a technical change.
Defining Specifications
3GPP specifications that define or reference Tuak, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TR 33.834 vg10 | Long Term Key Update Procedures Study | Rel-16 read |
| TS 35.231 vj00 | Tuak Algorithm Set Specification | Rel-19 read |
| TS 35.232 vj00 | Tuak Algorithm Test Data Specification | Rel-19 read |
| TS 35.233 vj00 | Tuak Algorithm Set: Design Conformance Test Data | Rel-19 read |
| TR 35.934 vj00 | Tuak algorithm set for 3GPP auth & key gen | Rel-19 read |