• Kerberos is an authentication protocol and a
software suite implementing this protocol.
• Kerberos uses symmetric cryptography to authenticate clients to services and vice versa.
• For example, Windows servers use Kerberos as the primary authentication mechanism, working in conjunction with Active Directory to maintain centralized user information.
• Other possible uses of Kerberos include allowing users to log into other machines in a local-area network, authentication for web services, authenticating email client and servers, and authenticating the use of devices such as printers.
• Services using Kerberos authentication are commonly referred to as “Kerberized”.
• Kerberos uses the concept of a ticket as a token that proves the identity of a user.
• Tickets are digital documents that store session keys. They are typically issued during a login session and then can be used instead of passwords for any Kerberized services. During the course of authentication, a client receives two tickets:
– A ticket-granting ticket (TGT), which acts as a global identifier for a user and a session key
– A service ticket, which authenticates a user to a particular service
• These tickets include time stamps that indicate an expiration time after which they become invalid. This expiration time can be set by Kerberos administrators depending on the service.
• To accomplish secure authentication, Kerberos uses a trusted third party known as a key distribution center (KDC), which is composed of two components, typically integrated into a single server:
– An authentication server (AS), which performs user authentication
– A ticket-granting server (TGS), which grants tickets to users
• The authentication server keeps a database storing the secret keys of the users and services. The secret key of a user is typically generated by performing a one-way hash of the user-provided password. Kerberos is designed to be modular, so that it can be used with a number of encryption protocols, with AES being the default cryptosystem.
• Kerberos aims to centralize authentication for an entire network—rather than storing sensitive authentication information at each user’s machine, this data is only maintained in one presumably secure location.
• The client and authentication server authenticate themselves to each other.
• The client and ticket-granting server authenticate themselves to each other.
• The client and requested service authenticate themselves to each other, at which point the service will be provided to the client.
–The client requests a ticket from the Kerberos
–Kerberos grants a ticket and a session key
–The ticket is used for requesting other tickets for various services
–Ticket conveys the identity of the client to the server
–The session key is used for conversation between the client and the server
–The client uses the ticket of the first phase to request a ticket from the ticket granting server (tgs) for a specific service
–The client presents the key to the server for the service
The three phases of authentication is achieved via two authentication protocols
The user-authentication protocol (1stPhase): Verifies the authenticity of the user and grants the initial ticket and the session key
Client -Server authentication protocol (2nd & 3rd phases): Mutual authentication of a client and a server
Two servers are used:
- First phase is used for user-authentication (using the id and password)
- Second and third phase may continue several times with the same TGT granted by the first phase
In absence of this additional phase:
- For each service, the user needs to authenticate itself using its password
- Once the intruder gets the first session key, it can continue doing malicious works throughout the session
- That’s why life and timestamp are mentioned
• The Kerberos protocol is designed to be secure even when performed over an insecure network.
• Since each transmission is encrypted using an appropriate secret key, an attacker cannot forge a valid ticket to gain unauthorized access to a service without compromising an encryption key or breaking the underlying encryption algorithm, which is assumed to be secure.
• Kerberos is also designed to protect against replay attacks, where an attacker eavesdrops legitimate Kerberos communications and retransmits messages from an authenticated party to perform unauthorized actions.
– The inclusion of time stamps in Kerberos messages restricts the window in which an attacker can retransmit messages.
– Tickets may contain the IP addresses associated with the authenticated party to prevent replaying messages from a different IP address.
– Kerberized services make use of a “replay cache,” which stores previous authentication tokens and detects their reuse.
• Kerberos makes use of symmetric encryption instead of public-key encryption, which makes Kerberos computationally efficient
• The availability of an open-source implementation has facilitated the adoption of Kerberos.
• Kerberos has a single point of failure: if the Key Distribution Center becomes unavailable, the authentication scheme for an entire network may cease to function.
– Larger networks sometimes prevent such a scenario by having multiple KDCs, or having backup KDCs available in case of emergency.
• If an attacker compromises the KDC, the authentication information of every client and server on the network would be revealed.
• Kerberos requires that all participating parties have synchronized clocks, since time stamps are used.