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:
- https://web.mit.edu/kerberos/kfw-4.1/kfw-4.1/kfw-4.1-help/html/kerberos_terminology.htm
- https://web.mit.edu/rhel-doc/3/rhel-rg-en-3/s1-kerberos-terminology.html
Kerberos explained
The three main phases of Kerberos authentication are:
- Authentication Service (AS) exchange.
- Ticket-Granting Service (TGS) exchange.
- 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
Post a Comment