Understanding Kerberos

Kerberos is a network authentication protocol developed by MIT. It enables secure, mutual authentication between client and service over insecure network. Kerberos typically uses symmetric key encryption, although it is capable of both symmetric and asymmetric cryptography. Free implementation is available from the MIT, the most recent is krb5-1.19.3 (as of 14 Mar 2022). It is also widely used by many operating systems, such as MS Windows, RHEL, HP-UX and others. 

Terminology

Principal - a unique identity identified by username and realm (domain), represented in the format username@REALM.NAME

Realm - logical group of resources and identities within Kerberos; called also domain and typically named after DNS domain

Ticket - an encrypted data block used for authentication; tickets contain ticket key and session key

KDC - Key Distribution Center, a trusted third party that issues tickets to principals

TGT - Ticket Granting Ticket, a ticket that allows the client to obtain additional tickets when needed

TGS - Ticket Granting Server, a server issuing tickets to access a specific service

Authentication Server (AS) - a server used to get access to TGS


For more details see:

Kerberos explained

The three main phases of Kerberos authentication are:

  1. Authentication Service (AS) exchange.
  2. Ticket-Granting Service (TGS) exchange.
  3. Client-Server Authentication exchange.

 The video below explains them in detail.


Kerberos authentication on RHEL

Installation:

yum install krb5-workstation krb5-libs

Default configuration, /etc/krb5.conf

Notable commands:

  • kinit - used to reach out to the KDC for a TGT
  • klist - shows current tickets for a user
  • kdestroy - used to destroy an active TGT

Comments

Popular posts from this blog

Splunk: Authentication with Discord? Wht not! (OAuth 2.0)

Study notes: Understanding DNSSEC

Linux: auditd fundamentals