Kerberos protocol

The Kerberos protocol is a network authentication and authorization protocol. It was developed by the Massachusetts Institute of Technology (MIT) in the 1980s as a more secure alternative to traditional authentication through user/password entry to machines and services on insecure networks.

Table of Contents

Where is the Kerberos protocol used?

Today, Kerberos is primarily associated with its derived Windows implementation. But numerous Unix and Unix-like devices also support the protocol, including, for example, FreeBSD, MacOS, Red Hat Enterprise Linux or HP's HP-UX. Kerberos is also becoming increasingly widespread in embedded systems (e.g. Cisco IOS or IoT devices). There are 5 major implementations in total, the first three of which are under free licenses:

  • WITH Kerberos
  • Heimdall
  • GNU Shishi
  • Microsoft's AD Keberos
  • Sun's Java
 
 

How does the Kerberos protocol increase security?

Password authentication suffers from two problems in particular. The first is that simply by knowing the correct password, attackers can impersonate legitimate users. So if someone knows the password to your user account, that person can steal your identity, causing harm to you and your business. Specifically, attackers do this in the following ways: 

  • stealing information
  • Proliferation of malware (such as Emotet ransomware and keyloggers)
  • Infecting additional devices for phishing purposes
  • Sending from SPA
  • Carrying out DDoS attacks
 
In order to protect yourself against such attacks, it is recommended not only to use the Kerberos protocol, but also to implement pen teststo uncover existing vulnerabilities in your system.

The second problem is related to the human factor: we tend to use more and more uniform passwords as the number of password authentications (without the help of a password manager) increases. So if someone else gets one of these passwords, for example through a Man in the middle attack, it is potentially possible to be able to successfully authenticate yourself with this password or a variation of it (keyword password spraying) at several points.

In order to make the authentication in the network more secure, it must be ensured that the password or passwords are not constantly transmitted in the network and could therefore simply be recorded. At the same time, it must be ensured that a user can authenticate himself at every service and every machine to which he is authorized.

The Kerberos protocol solves both of these problems and thus helps to make authentication processes more secure. In the following section, we'll go into more detail about how the protocol does this.

How does the Kerberos protocol work?

The third instance: Key Distribution Center (KDC)

Kerberos solves the problem of insecure password transmission by introducing a third authoritative entity within the network that issues encrypted tickets. This third entity is called the Key Distribution Center (KDC).

The KDC effectively consists of two services running on one or more servers. This includes the Authentication Server (AS) and the Service Server (SS) – also known as the Ticket Granting Server. The Authentication Server (AS) checks whether it is a legitimate user of the network. The Service Server (SS) issues the tickets for permission to use the requested service.

The (initial) communication in an environment with the Kerberos protocol

At the end of this basic article on the Kerberos protocol, we consider a concrete scenario in which a user wants to access a file server. In this scenario, the following instances interact:

  • User (A)
  • File server (B)
  • KDC with Authentication Server (KAS) and Service Server (KSS)
 
 Scenario: (A) wants to access (B)'s file share.
 

The following steps are carried out using the Kerberos protocol:

  1. (A) first reports to (KAS) with his ID, encrypted by his password. It is important to note that the password is not transmitted over the network, only the encrypted secret.
  2. The (KAS) in turn decrypts the secret with the stored password.
  3. After successful verification of (A) by (KAS), (KAS) sends back a ticket, the so-called Ticket Granting Ticket (TGT), which is itself encrypted with another secret.
  4. (A) now sends this TGT together with its request for using the file share from (B) to (KSS).
  5. The (KSS) now decrypts the TGT with the shared secret with (KAS).
  6. After this (KSS) sends an encrypted token back to (A).
  7. (A) now sends this token to (B).
  8. (B) decrypts the token with the shared secret between him and the (KSS) and thus allows (A) access to the file share for the time estimated in the token.
Illustration of the effect and steps of the Kerberos protocol
Communication between the Key Distribution Center (KDC), client and service using the Kerberos protocol

With this process, Kerberos ensures that the password is not transmitted. On the other hand, users of devices and services that support Kerberos do not have to log in again until the TGT expires. In short: Kerberos allows the use of Single sign-on (SSO), since no further communication with the authentication server is required via the valid TGT in order to be able to generate further tokens on the service server (SS).

Don't want to waste time on your way to becoming a penetration tester?
In our courses, led by experienced penetration testers, you will learn everything you really need for this.
Go to the Junior Penetration Tester Intensive Course
Newsletter Form

Become a Cyber ​​Security Insider

Get early access and exclusive content!


By signing up, you agree to receive occasional marketing emails from us.
Please accept the cookies at the bottom of this page to be able to submit the form!
OTHER CONTRIBUTIONS

Table of Contents

PSN_KU_Cover
NewsLetter Form Pop Up New

Become a Cyber ​​Security Insider

Subscribe to our knowledge base and get:

Early access to new blog posts
Exclusive content
Regular updates on industry trends and best practices


By signing up, you agree to receive occasional marketing emails from us.
Please accept the cookies at the bottom of this page to be able to submit the form!