Ticket-Granting Kaartjes
Omdat het Kerberos-protocoloorspronkelijk is ontworpen, is een hoofdsleutel voor een gebruiker afgeleid van een wachtwoord dat door de gebruiker is opgegeven. Wanneer een gebruiker zich heeft aangemeld, heeft de Kerberos-client op het werkstation van de gebruiker het wachtwoord van de gebruiker geaccepteerd en geconverteerd naar een versleutelingssleutel door de tekst door te geven via een eenmalige hash- functie. De resulterende hash was de hoofdsleutel van de gebruiker. De client heeft deze hoofdsleutel gebruikt om sessiesleutels te ontsleutelen ontvangen van KDC.
Het probleem met het oorspronkelijke Kerberos-ontwerp is dat de client de hoofdsleutel van de gebruiker nodig heeft telkens wanneer deze een sessiesleutel ontsleutelt van de KDC. Dit betekent dat de client de gebruiker moet vragen om het wachtwoord aan het begin van elke client-/serveruitwisseling, of dat de client de sleutel van de gebruiker op het werkstation moet opslaan. Regelmatige onderbrekingen van de gebruiker zijn te intrusief. Het opslaan van de sleutel op het werkstation brengt het risico met zich mee dat een sleutel, afgeleid van het gebruikerswachtwoord, wordt gecompromitteerd, en dit is een sleutel voor de lange termijn.
De oplossing van het Kerberos-protocol voor dit probleem is dat de client een tijdelijke sleutel van de KDC kan ophalen. Deze tijdelijke sleutel is alleen geschikt voor deze aanmeldingssessie. Wanneer een gebruiker zich aanmeldt, vraagt de client een ticket aan voor de KDC, net zoals bij elke andere service. De KDC reageert door een aanmeldingssessiesleutel en een ticket te maken voor een speciale server, de volledige service voor het verlenen van tickets van de KDC. Eén kopie van de aanmeldingssessiesleutel is ingesloten in het ticket en het ticket wordt versleuteld met de hoofdsleutel van de KDC. Een andere kopie van de aanmeldingssessiesleutel wordt versleuteld met de hoofdsleutel van de gebruiker die is afgeleid van het aanmeldingswachtwoord van de gebruiker. Zowel het ticket als de versleutelde sessiesleutel worden naar de client verzonden.
Wanneer de client het antwoord van de KDC ontvangt, ontsleutelt deze de aanmeldingssessiesleutel met de hoofdsleutel van de gebruiker die is afgeleid van het wachtwoord van de gebruiker. De client heeft de sleutel die is afgeleid van het wachtwoord van de gebruiker niet meer nodig omdat de client nu de aanmeldingssessiesleutel gebruikt om de kopie van een serversessiesleutel te ontsleutelen die wordt opgehaald van de KDC. De client slaat de aanmeldingssessiesleutel op in de ticketcache, samen met het ticket voor de volledige tickettoekenningsservice van de KDC.
Het ticket dat toegang geeft tot de volledige ticket-granting-service wordt een ticket-granting ticket (TGT) genoemd. Wanneer de client de KDC om een ticket voor een server vraagt, presenteert het referenties in de vorm van een authenticatorbericht en een ticket — in dit geval een TGT — zoals het ook referenties aan andere services zou presenteren. De service voor het verlenen van tickets opent de TGT met de hoofdsleutel, extraheert de aanmeldingssessiesleutel voor deze client en gebruikt de aanmeldingssessiesleutel om de kopie van een sessiesleutel voor de server te versleutelen.