Description
The Discovery User Confidentiality Key (DUCK) is a security key defined within the 3GPP architecture for Proximity-based Services (ProSe). It is derived as part of a key hierarchy specifically for the protection of discovery-related communication between User Equipments (UEs) operating in direct device-to-device (D2D) mode or via a network. The primary purpose of the DUCK is to provide confidentiality protection for discovery messages, which are signals or announcements broadcast by a UE to make its presence or services known to other nearby UEs. Without such protection, these messages could reveal sensitive information about the user's identity, location, or intent.
The DUCK is generated through a key derivation function (KDF) specified in 3GPP TS 33.220. Its derivation typically uses a root key shared between the UE and the network (such as the K_ProSe key) along with other input parameters like the ProSe Application Code and the key purpose identifier. Once derived, the DUCK is used within the UE's ProSe protocol stack. When a UE wishes to send a secured discovery message, it uses the DUCK to encrypt the payload of the discovery announcement or solicitation. The corresponding receiving UEs, which have derived the same DUCK (based on shared network-provided parameters or direct establishment), can decrypt the message to process the discovery information. This process ensures that only authorized UEs participating in the same discovery session can understand the content.
Architecturally, the DUCK is managed by the ProSe function in the network and securely provisioned to authorized UEs. It operates alongside the Discovery User Integrity Key (DUIK), which provides integrity protection. The combination of DUCK and DUIK forms a complete security suite for discovery signaling. The key's lifecycle is tied to the discovery session or the validity of the higher-layer root key. Its use is detailed in specifications governing the ProSe protocol layers (24.334) and the security architecture (33.503). The DUCK is a critical enabler for secure commercial find-and-connect services and, more importantly, for public safety communications where discovery between first responders must be both reliable and confidential.
Purpose & Motivation
The DUCK was introduced in 3GPP Release 13 to address the security requirements of the newly standardized Proximity Services (ProSe). ProSe enables direct device-to-device communication, a paradigm shift from traditional cellular networks where all traffic routes through a base station. One of the foundational operations in ProSe is discovery—the process by which devices find each other. Early ProSe work identified that discovery messages, if sent in plaintext, would pose significant privacy and security risks, potentially exposing user identities and enabling tracking or spoofing attacks.
The creation of the DUCK was motivated by the need to provide confidentiality for these discovery procedures, particularly for applications like public safety where communication must be secure from eavesdropping. Prior to ProSe, cellular security focused on the UE-to-network link. D2D discovery required a new security model for the direct UE-to-UE link. The DUCK, as part of a dedicated ProSe key hierarchy, solved the problem of how to efficiently and securely encrypt discovery payloads without requiring a prior direct secure connection between the discovering devices. It allowed the network to delegate cryptographic capability to devices for off-network operation, a crucial feature for public safety scenarios where network infrastructure might be unavailable. The DUCK thus filled a critical gap in the security architecture, enabling trustworthy discovery as a precursor to secure D2D communication.
Evolution Across Releases
Introduced as part of the foundational Proximity Services (ProSe) security architecture. The initial specification defined the DUCK's derivation method, its role in encrypting discovery message payloads, and its integration with the ProSe protocol stack for both public safety and commercial use cases.
Explore further
Broader topics and technologies where DUCK plays a role.
Defining Specifications
3GPP specifications that define or reference DUCK, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 24.334 vj00 | ProSe Protocols and Procedures | Rel-19 |
| TS 24.514 vj30 | Ranging & Sidelink Positioning in 5GS | Rel-19 |
| TS 24.554 vj40 | 5G Proximity Services (ProSe) Protocols | Rel-19 |
| TS 24.555 vj30 | 5G ProSe UE Policies Specification | Rel-19 |
| TS 29.345 vj00 | Diameter-based PC6/PC7 interfaces for ProSe | Rel-19 |
| TS 31.102 vj40 | USIM Application Specification | Rel-19 |
| TS 33.503 vj20 | Security for Proximity Services (ProSe) in 5G | Rel-19 |
| TS 33.843 vf10 | Security Study for ProSe UE-to-Network Relay | Rel-15 |