RFC 4120 — Kerberos V5
The Kerberos Network Authentication Service (V5) — ticket-based authentication protocol using symmetric key cryptography for mutual authentication between clients and services in untrusted networks.
1. Introduction
▶Kerberos V5 provides mutual authentication between a client and a server using a trusted third party — the Key Distribution Center (KDC). The protocol uses symmetric key cryptography to issue time-limited tickets that prove identity without transmitting passwords.
2. Protocol Overview
▶The Kerberos authentication exchange involves three sub-protocols:
- AS Exchange: Client authenticates to KDC, receives Ticket-Granting Ticket (TGT)
- TGS Exchange: Client presents TGT to obtain service tickets
- AP Exchange: Client presents service ticket to application server
Client KDC (AS+TGS) Service
| | |
|--- AS-REQ -------->| |
|<-- AS-REP (TGT) --| |
| | |
|--- TGS-REQ ------->| |
|<-- TGS-REP (ST) --| |
| | |
|--- AP-REQ (ST) ---------------------->|
|<-- AP-REP ----------------------------|
| | | 3. Ticket Structure
▶A Kerberos ticket contains:
| Field | Description | Security Role |
|---|---|---|
| tkt-vno | Ticket version (5) | Version negotiation |
| realm | Issuing realm | Trust domain identification |
| sname | Service principal name | Target service identity |
| enc-part | Encrypted ticket data | Contains session key, client name, authtime, flags |
4. Encryption Types
▶Kerberos V5 supports multiple encryption types. Modern deployments should use:
| etype | Algorithm | ISO 27001 A.8.24 |
|---|---|---|
| 18 | AES-256-CTS-HMAC-SHA1-96 | RECOMMENDED |
| 17 | AES-128-CTS-HMAC-SHA1-96 | Acceptable |
| 23 | RC4-HMAC | DEPRECATED — weak |
| 3 | DES-CBC-MD5 | MUST NOT use |
5. Cross-Realm Authentication
▶Kerberos supports cross-realm authentication through shared inter-realm keys. This allows users in one administrative domain to access services in another:
- Direct trust: Realms share a direct inter-realm key
- Transitive trust: Authentication can traverse a chain of trusted realms
- PKINIT (RFC 4556): Public key authentication to KDC, eliminating password-based initial authentication
6. Security Considerations
▶- Replay protection: Timestamps and authenticator caching prevent replay attacks
- Clock synchronization: Kerberos requires synchronized clocks (typically ±5 minutes) — see RFC 5905 (NTPv4)
- Ticket lifetime: Limit ticket validity to reduce exposure window
- Delegation: Constrained delegation limits which services can act on behalf of users
- Pre-authentication: MUST be enabled to prevent offline password attacks