Key distribution centres and the key hierarchy
The two-level key hierarchy that every KDC-based scheme relies on, what a KDC actually does, and the notes' worked scenario for a KDC delivering a session key to two users step by step.
- Distinguish a master key from a session key and state which one protects which.
- Explain what a KDC does and why it must always be online.
- Walk through the key distribution scenario message by message and state what each nonce achieves.
15 min read
Intuition
Boyd’s theorem says Alice and Bob need a mutually trusted third party to bootstrap a session key. For symmetric cryptography, that third party is a Key Distribution Centre. This page covers how it is structured, what it actually does, and the notes’ own worked scenario for delivering one session key from the KDC to two users.
Mechanism
A KDC relies on a key hierarchy with, at minimum, two levels. Communication between end systems is protected by a session key: a temporary key used for the duration of one logical connection (a transport-layer connection, say) and then discarded. Each session key is obtained from the KDC over the same network facilities used for the actual communication, so it must itself be transmitted encrypted. It is encrypted under a master key, a long-term key shared by the KDC and one end system or user. Master keys are distributed non-cryptographically: physical delivery is the notes’ own example, such as an IT department copying the key onto a laptop during setup, or in practice, deriving the key from a strong password.
EXTRACTION DEFECT: Figure 1 (the key hierarchy diagram) did not survive extraction. The two-level structure above, master key protecting session key, is exactly what the figure illustrated; only the visual is missing.
Mechanism
A KDC generates and distributes session keys. It is always online, and holds a long-term master key with every member it serves; these are pre-configured by administrators or derived from a strong password in practice. At its simplest: A asks the KDC for a session key to talk to B. The KDC generates one and encrypts it twice, once under the master key it shares with A, once under the master key it shares with B, either sending both to A for A to forward B’s copy on, or sending each party its own copy directly. KDCs are, per the notes, some of the most important technologies in use: even OpenID and OAuth fall into this category, and KDCs are the basis for Kerberos, deployed across Windows, Linux, UNIX, macOS and more.
Mechanism
The notes work through a full scenario. Each user shares a unique master key with the KDC: A holds , B holds , known only to that user and the KDC. A wants a one-time session key to talk to B.
- A requests a session key. A sends the KDC a message including the identities of A and B, and a nonce , a unique per-transaction identifier, ideally a random number, since it should be hard for an opponent to guess.
- The KDC replies, encrypted under . Only A can read it, and because it decrypts correctly under , A knows it came from the KDC. The reply carries the new session key and A’s original request including , which lets A both match the reply to its request and confirm the request was not altered or replayed. The same reply also carries a second payload meant for B: and A’s identifier , this time encrypted under , the master key the KDC shares with B, so A cannot read it.
- A forwards B’s payload. A stores its own copy of and passes on the -encrypted piece unopened. Because it is protected under , B can decrypt it, and doing so tells B three things at once: the session key , that the other party is A (from ), and that this information really came from the KDC (because only the KDC and B share ).
At this point the session key has been securely delivered to both sides. Two further steps add something the first three do not:
- B sends a fresh nonce. Using the new , B sends A a nonce .
- A proves it holds . A replies using with , some agreed transformation of , such as incrementing it.
Steps 1–3 alone move the key; steps 4 and 5 are an authentication function layered on top, giving B assurance that the message it received in step 3 is not a replay of an old one, since only whoever actually holds the fresh can produce for this specific .
EXTRACTION DEFECT: Figure 2 (the key distribution scenario diagram) did not survive extraction. The five steps above are the notes’ own textual description of that figure in full; only the visual sequence diagram is missing.
Exam detail
Keep the two purposes of this scenario separate when answering a question about it: steps 1 through 3 are key distribution, and steps 4 and 5 are authentication. A question asking “how many steps actually distribute the key” wants three, not five.
Aside
The slides label this same scenario “also called the Needham-Schroeder Protocol,” and the notes’ §8.1 formalises essentially this construction with an Authentication Server (AS) in place of the KDC and clean equations for each message. That formal version, and the vulnerability it turns out to have, is covered on the Needham-Schroeder and Kerberos page, so it is not repeated here.
Recall
- A session key protects real communication and is short-lived; a master key protects session key delivery and is long-lived.
- The KDC must be always online because it answers session-key requests live.
- Steps 1–3 of the scenario distribute the key; steps 4–5 authenticate that the party using it is genuinely present.
- Nonce ties the KDC’s reply to A’s specific request; nonce , answered with , proves A is live and holds .
Source
Week 7 Notes PDF