Created on
07-03-2025
04:11 AM
Edited on
07-03-2025
05:10 AM
By
Anthony_E
This article explains Kerberos authentication basics in an easily understood manner.
FortiGate, FortiProxy.
Kerberos is a very common authentication mechanism in Windows AD environments and usually happens in the background, without a user's active input required. Other operating systems that interact with a Windows domain are also frequently able to interact with Kerberos authentication to perform user authentication in the background.
FortiGate and FortiProxy, for example, can use Kerberos as an authentication method for explicit proxy setups and trigger authentication without the user being required to enter their credentials.
Kerberos consists of multiple components:
Kerberos authentication can be roughly split into two parts: Authentication, and Service Access.
Authentication consists of the user authenticating themselves to the Authentication Server and receiving a Ticket Granting Ticket. Steps 1-3 below deal with the actual authentication.
Service Access consists of the user trying to access a service (like an explicit proxy, a network drive, or similar) and acquiring a Service Ticket to be granted access. Explicit proxy authentication in a FortiGate would fall into this part. Steps 4-8 below cover service access.
Note:
The TGS session key is encrypted with the user's keytab.
The TGT is encrypted with the Ticket Granting Service's keytab, and CANNOT be decrypted by the user, only the Ticket Granting Service. The TGT contains the same TGS session key.
The TGT has a limited lifetime and is usually renewed automatically when it expires.
Note:
The user information is encrypted with the TGS session key. The TGT is (still) encrypted with the TGS' keytab. The TGS can decrypt the TGT and retrieve the TGS session key from it.
The TGS can use the retrieved TGS session key to decrypt the user information.
The user information contains a timestamp and is rejected if there is a significant time difference between the user's timestamp and the server's system time.
Note:
The Service session key is encrypted with the TGS session key. The Service Ticket is encrypted with the service's keytab and contains the same Service session key.
Note:
The user information is encrypted with the Service session key.
The Service Ticket is (still) encrypted with the service's keytab. The service can decrypt the Service Ticket and retrieve the Service session key from it.
The service can then use the Service session key to decrypt the user information. The user information contains a timestamp and is rejected if there is a significant time difference between the user's timestamp and the service's system time.
Related documents:
Wikipedia: Kerberos (protocol)
Technical Tip: FortiGate explicit proxy authentication with Kerberos
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.