How Kerberos works
Kerberos in Windows -An Overview
Introduction
Kerberos is used since a long time as an authentication protocol in the UNIX world.It entered the Windows family with Windows 2000 and is used with all the OS releases till date. Windows Active Directory uses Kerberos as a default authentication protocol.Its major advantage over other authentication schemes is its interoperability with Unix systems.When coupled with a strong password, Kerberos is considered to be the toughest to break through.Kerberos V5 is the current version used in the Windows Family.
Architecture
Kerberos Architecture typically works on the concept of mutual authentication. Unlike other authentication techniques kerberos authentication verifies the identity of the client as well as the server. NTLM misses this techinique of validation as it has no provision of validating the server.
Architectural Dependencies
Operating System – Windows brought kerberos in its family since Windows 2000 so operating systems prior to Windows 2000 would fail to use kerberos.
Network Connectivity – For Kerberos to function correctly it is essential that there exist a TCP IP connectivity between client and the domain controller
DNS – Client in a kerberos process uses FQDN(Fully Qualified Domain Name) of the Domain Controller to access resources hence DNS should exist and should be configured properly.
ADS 2000 or above – Properly configured ADS is essential for Kerberos as it has its KDC and TGS components associated with it.Windows 2000 /2003 /2008 domain environment can use kerberos.
Time Synchronization – For Kerberos to function correctly all systems and servers should be using the same source for time synchronization. An authoritative time source (usually domain contoller in AD environements) is necessary as it would make sure that the entire network has the same time synchronized.
SPNs – Every service which uses kerberos needs to have a Service Principal Names set for it so as to identify the service on the network. Clients locate this service only by identifying these SPNs.
Let’s walk through the process that functions whenever a user logs on to the client system in a typical Domain Environment.
User Enters credentials on the logon screen which is sent to Winlogon to the LSA(local Security Authority) for proccessing.
The LSA passes this info to Kerberos (kerberos.dll) through SSPI (Security Server Provider interface- Secur32.dll).
This information along with the encrytped timestamp is sent to the KDC (Key Distibution Center) A TGT (Ticket-granting Ticket) is requested along with this inforamtion.
The KDC decrypts the provided information and Issues a TGT.The issued TGT is encrypted and sent to client along with the SID of the user Account and SIDs of its associated groups.
*TGT typically contains session key, account name for the authenticated user and maximum ticket life time.
Using this TGT client requests a service ticket from the Kerberos Service on the domain Controller.
Domain Controller using the Ticket Granting Service issues an encrypted service ticket to the client.
Client uses this service ticket to access resources over the LAN which provides user indentity info and associated SID info for permissions.
Tickets received by the client are locally cached and can be used till their expiry period.In the event of expiry LSA negotiates with the KDC for ticket renewal.
Summary
Kerberos provides enhanced authentication for the distributed computing environment and standardization to interoperate with other operating systems. This MIT Developed authentication protocol is widely used in all operating system and comes as default with windows Active directory Environment.
Comments
Post a Comment