Authentication and Authorization
Kerberos Authentication
Kerberos is the primary authentication protocol in Active Directory, providing secure, efficient authentication without transmitting passwords over the network.
Kerberos Components:
Key Distribution Center (KDC): Authentication service running on domain controllers
Authentication Server (AS): Issues ticket-granting tickets (TGTs)
Ticket Granting Server (TGS): Issues service tickets
Principal: Any entity that can be authenticated (user, computer, service)
Kerberos Authentication Process:
Step 1: Initial Authentication (AS Exchange)
Client sends authentication request to KDC
KDC verifies credentials and returns TGT encrypted with user's password hash
Client decrypts TGT using password hash, proving identity
Step 2: Service Request (TGS Exchange)
Client requests service ticket from TGS, presenting TGT
TGS validates TGT and returns service ticket encrypted with service's password hash
Service ticket contains session key for client-service communication
Step 3: Service Authentication (AP Exchange)
Client presents service ticket to target service
Service decrypts ticket and validates client identity
Optional mutual authentication proves service identity to client
Kerberos Security Features:
Password Protection: Passwords never transmitted over network
Mutual Authentication: Both parties can verify each other's identity
Time-Limited Access: Tickets have expiration times
Replay Protection: Timestamps prevent reuse of intercepted tickets
NTLM Authentication
NTLM is a legacy authentication protocol still used in certain scenarios:
NTLM Usage Scenarios:
Authentication to servers using IP addresses instead of hostnames
Authentication across firewalls that block Kerberos ports
Legacy applications that don't support Kerberos
Local authentication on standalone systems
NTLM Authentication Process:
Client sends username to server
Server sends challenge (random string) to client
Client encrypts challenge with password hash and sends response
Server validates response with domain controller
NTLM Security Limitations:
No mutual authentication (servers don't prove their identity)
Vulnerable to pass-the-hash attacks
Susceptible to relay attacks
Weaker encryption than Kerberos
Authorization Model
Access Tokens: When users successfully authenticate, Windows creates an access token containing:
User SID and group SIDs
Privileges assigned to the user
Default DACL for objects created by the user
Session information
Access Control Lists (ACLs): Every securable object has an ACL containing:
Discretionary Access Control List (DACL): Permissions granted or denied
System Access Control List (SACL): Auditing settings
Access Control Entries (ACEs): Individual entries in ACLs specifying:
Security principal (user, group, computer)
Access rights (read, write, full control, etc.)
Access type (allow or deny)
Inheritance flags
Authorization Process:
User attempts to access resource
System compares user's access token against resource's DACL
System evaluates ACEs in order to determine access
First matching "deny" ACE blocks access
Matching "allow" ACEs grant access
Last updated
Was this helpful?