Wat is een authenticatieticket?
Een authenticatieticket is een beveiligingscomponent van het Kerberos-netwerkbeveiligingsprotocol. Het fungeert als een token, een kleine verzameling gegevens die wordt doorgegeven tussen een clientcomputer en een server, zodat de twee computers identiteit aan elkaar kunnen bewijzen. Naast deze wederzijdse netwerkidentificatie, geeft het ticket ook informatie over alle machtigingen die de client heeft voor toegang tot de server en zijn services, evenals een toegewezen tijd voor de sessie.
Er zijn in wezen twee soorten authenticatietickets. Een ticket dat ticket verleent (TGT), ook wel een ticket genoemd om tickets te krijgen, is het primaire ticket dat wordt uitgegeven wanneer de clientcomputer voor het eerst zijn identiteit vaststelt. Dit type ticket duurt meestal een lange periode, maximaal 10 uur of meer, en kan op elk moment worden vernieuwd tijdens de periode waarin de gebruiker is aangemeld op het netwerk. Met een TGT kan de gebruiker vervolgens individuele authenticatietickets aanvragen voor toegang tot andere servers in het netwerk.
Een client-naar-server-ticket, ook wel een sessieticket genoemd, is de tweede vorm van authenticatieticket. Dit is meestal een kortstondig ticket dat wordt uitgereikt wanneer een client toegang wenst tot een service op een bepaalde server. Het sessieticket bevat het netwerkadres van de clientcomputer, de gebruikersinformatie en een geldigheidsduur van het ticket. In sommige Kerberos-implementaties, zoals Microsoft's® Active Directory®, kan ook een derde type ticket, een verwijzingsticket genoemd, worden gebruikt. Dit tickettype wordt verleend wanneer een client toegang wenst tot een server die zich op een ander domein bevindt.
De manier waarop het Kerberos-ticketuitgiftesysteem werkt, is door het gebruik van een afzonderlijke server, het zogenoemde sleuteldistributiecentrum (KDC), die het volledige authenticatieticketsysteem levert. Deze machine heeft twee actieve subcomponenten, waarvan de eerste de authenticatieserver (AS) wordt genoemd. Het AS kent alle andere computers en gebruikers in het netwerk en houdt een database bij van hun wachtwoorden. Wanneer een gebruiker inlogt op het netwerk, verleent het AS hem een TGT.
Op het moment dat een gebruiker ergens in het netwerk toegang moet hebben tot een server, gebruikt hij de eerder gegeven TGT en vraagt hij een serviceticket aan bij het tweede deel van de KDC, de Ticket Granting Server (TGS). De TGS stuurt een sessieticket terug naar de gebruiker, die deze vervolgens kan gebruiken om toegang te krijgen tot de server die hij heeft aangevraagd. Wanneer de server het sessieticket ontvangt, stuurt hij een ander bericht terug naar de gebruiker om zijn identiteit te verifiëren en dat de gebruiker toegang heeft tot de gevraagde service. In het geval van een verwijzingsticket is een extra stap vereist waarbij de KDC van het thuisdomein in plaats daarvan een verwijzingsticket maakt waarmee de client sessietickets kan aanvragen bij een andere KDC op een ander netwerkdomein. Dit hele proces voor het genereren en delen van tickets wordt bij elke stap versleuteld om te beschermen tegen een aanvaller die als gebruiker afluistert of zich voordoet.
Het belangrijkste nadeel van de authenticatieticketmethode is de gecentraliseerde structuur van alle autorisaties. Als een aanvaller toegang krijgt tot de KDC, krijgt hij in wezen toegang tot alle gebruikersidentiteiten en wachtwoorden en kan hij zich vervolgens voordoen als iemand anders. Verder, als de KDC onbeschikbaar zou worden, zou niemand het netwerk kunnen gebruiken. Een ander probleem is de gedetailleerde levenscyclus van de tickets, waarbij alle computers op het netwerk hun klokken moeten synchroniseren.