What is Kerbos?
Kerberos is
a computer network authentication protocol which allows individuals
communicating over an insecure network to prove their identity to one
another in a secure manner. Kerberos prevents eavesdropping or replay
attacks, and ensures the integrity of the data. Its designers aimed
primarily at a client-server model, and it provides mutual
authentication — both the user and the service verify each other's
identity.
Kerberos builds on symmetric key cryptography and requires a trusted third party.
History and development
The Massachusetts Institute of Technology (MIT) developed Kerberos
to protect network services provided by Project Athena. The protocol
was named after the Greek mythological character Kerberos (or
Cerberus), known in Greek Mythology as being the monstrous three-headed
guard dog of Hades. Several versions of the protocol exist; versions
1–3 occurred only internally at MIT.
Steve Miller and Clifford Neuman, the primary designers of Kerberos
version 4, published that version in the late 1980s, although they had
targeted it primarily for Project Athena.
Version 5, designed by John Kohl and Clifford Neuman, appeared as
RFC 1510 in 1993 (made obsolete by RFC 4120 in 2005), with the
intention of overcoming the limitations and security problems of
version 4.
MIT makes an implementation of Kerberos freely available, under copyright permissions similar to those used for BSD.
Authorities in the United States classed Kerberos as a munition and
banned its export because it used the DES encryption algorithm (with
56-bit keys). A non-US Kerberos 4 implementation, KTH-KRB developed in
Sweden, made the system available outside the US before the US changed
its cryptography export regulations (circa 2000). The Swedish
implementation was based on a version called eBones. eBones was based
on the exported MIT Bones release (stripped of both the encryption
functions and the calls to them) based on version Kerberos 4
patch-level 9. Australian Eric Young, the author of several
cryptography libraries, put back the function calls and used his libdes
encryption library. This somewhat limited Kerberos was called the
eBones release. A Kerberos version 5 implementation, Heimdal, was
released by basically the same group of people releasing KTH-KRB.
Windows 2000, Windows XP and Windows Server 2003 use a variant of
Kerberos as their default authentication method. Some Microsoft
additions to the Kerberos suite of protocols are documented in RFC 3244
"Microsoft Windows 2000 Kerberos Change Password and Set Password
Protocols". Apple's Mac OS X also uses Kerberos in both its client and
server versions.
As of 2005, the IETF Kerberos workgroup is updating the specifications [1]. Recent updates include:
· "Encryption and Checksum Specifications" (RFC 3961)
· "Advanced Encryption Standard (AES) Encryption for Kerberos 5" (RFC 3962),
· A new edition of the Kerberos V5 specification "The Kerberos
Network Authentication Service (V5)" (RFC 4120). This version obsoletes
RFC 1510, clarifies aspects of the protocol and intended use in a more
detailed and clearer explanation,
· A new edition of the GSS-API specification "The Kerberos Version 5
Generic Security Service Application Program Interface (GSS-API)
Mechanism: Version 2." (RFC 4121)
Description
Kerberos uses as its basis the Needham-Schroeder protocol. It makes use
of a trusted third party, termed a Key Distribution Center (KDC), which
consists of two logically separate parts: an Authentication Server (AS)
and a Ticket Granting Server (TGS). Kerberos works on the basis of
"tickets" which serve to prove the identity of users.
Kerberos maintains a database of secret keys; each entity on the
network — whether a client or a server — shares a secret key known
only to itself and to Kerberos. Knowledge of this key serves to prove
an entity's identity. For communication between two entities, Kerberos
generates a session key which they can use to secure their
interactions.
Kerberos drawbacks
· Single point of failure:
It requires continuous availability of a central server. When Kerberos
server is down, no one can log in. This can be mitigated by using
multiple Kerberos servers.
· Kerberos requires the clocks of the involved hosts to be synchronized.
The tickets have time availability period and, if the host clock is not
synchronized with the clock of Kerberos server, the authentication will
fail. The default configuration requires that clock times are no more
than 10 minutes apart.
· Password changing is not standardized, and differs between server implementations.
|