Connected: An Internet Encyclopedia
Kerberos Protocol Overview

Up: Connected: An Internet Encyclopedia
Up: Topics
Up: Functions
Up: Security
Prev: IPSEC Protocol Overview
Next: Session Management

Kerberos Protocol Overview

Kerberos Protocol Overview Kerberos Version 5, documented in RFC 1510, was originally developed by MIT's Project Athena. New life has been breathed into this protocol by Microsoft's adoption of it in Windows 2000. MIT's implementation is publicly distributed.

Kerberos is designed to address the problem of authentication in a network of slightly trusted client systems. By slightly trusted, I mean that the servers will not simply take the client's word that a particular user has logged in. On the other hand, some level of trust is implicit; the clients are expected not to steal the user's passwords themselves.

Kerberos uses dedicated authentication servers which can be hosted on machines physically distinct from any other network services, such as file or print servers. The authentication servers possess secret keys for every user and server in the network. Kerberos is not a public-key system; its primary cryptosystem is DES, which alone makes it suspect due to DES's small key size.

When a user logs in, the client transmits the username to the authentication server, along with the identity of the service the user desires to connect to, for example a fileserver. The authentication server constructs a ticket, which contains a randomly generated session key, encrypted with the fileserver's secret key, and sends it to the client as part of its credentials, which includes the session key encrypted with the client's secret key. If the user typed the right password, then the client can decrypt the session key, present the ticket to the fileserver, and use the shared secret session key to communicate between them. Tickets are timestamped, and typically have an expiration time on the order a few hours.

In practice, the load on the authentication server is further reduced by using a ticket-granting server (TGS). The first service requested by the user is typically the TGS, which then grants additional tickets for additional servers. Thus, the passwords are localized on the authentication server, while the trust relationships are maintained by the TGS.

Kerberos also supports realms, a management domain roughly analogous to a Windows NT domain. Cross-realm authorizations can be maintained by establishing an inter-realm key between two TGSs, allowing each one to issue tickets valid on the other realm's TGS.


Next: Session Management

Connected: An Internet Encyclopedia
Kerberos Protocol Overview