Co to jest bilet uwierzytelniający?
Bilet uwierzytelniający jest składnikiem bezpieczeństwa protokołu bezpieczeństwa sieci Kerberos. Działa jak coś w rodzaju tokena, małego zbioru danych przekazywanych między komputerem klienckim a serwerem, dzięki czemu oba komputery mogą udowodnić sobie tożsamość. Oprócz tej wzajemnej identyfikacji sieci bilet określa również wszelkie uprawnienia klienta do dostępu do serwera i jego usług, a także czas przeznaczony na sesję.
Istnieją zasadniczo dwa rodzaje biletów uwierzytelniających. Bilet przyznający bilet (TGT), zwany także biletem na bilety, jest biletem podstawowym wydawanym, gdy komputer kliencki po raz pierwszy ustanawia swoją tożsamość. Ten typ biletu zazwyczaj trwa przez długi okres, do 10 lub więcej godzin, i może zostać przedłużony w dowolnym momencie w okresie, w którym użytkownik jest zalogowany do sieci. Dzięki TGT użytkownik może następnie zażądać indywidualnych biletów uwierzytelniających, aby uzyskać dostęp do innych serwerów w sieci.
Bilet klient-serwer, zwany także biletem sesji, jest drugą formą biletu uwierzytelnienia. Zwykle jest to bilet krótkotrwały, który jest wydawany, gdy klient chce uzyskać dostęp do usługi na określonym serwerze. Bilet sesji zawiera adres sieciowy komputera klienckiego, informacje o użytkowniku i czas ważności biletu. W niektórych implementacjach Kerberos, takich jak Microsoft® Active Directory®, można również użyć trzeciego typu biletu, zwanego biletem polecającym. Ten typ biletu jest przyznawany, gdy klient chce uzyskać dostęp do serwera znajdującego się w domenie innej niż jego własna.
Sposób działania systemu przyznawania biletów Kerberos polega na wykorzystaniu oddzielnego serwera, zwanego centrum dystrybucji kluczy (KDC), który zapewnia cały system biletów uwierzytelniania. Na tym komputerze działają dwa podskładniki, z których pierwszy jest znany jako serwer uwierzytelniania (AS). AS wie o wszystkich innych komputerach i użytkownikach w sieci i prowadzi bazę haseł. Gdy użytkownik loguje się do sieci, AS udziela mu biletu TGT.
W momencie, w którym użytkownik musi uzyskać dostęp do serwera gdzieś w sieci, korzysta z podanego wcześniej TGT i żąda biletu usługi z drugiej części KDC, zwanej serwerem przyznawania biletów (TGS). TGS wysyła bilet sesji z powrotem do użytkownika, który może następnie użyć go do uzyskania dostępu do serwera, o który prosił. Gdy serwer odbiera bilet sesji, wysyła kolejną wiadomość z powrotem do użytkownika, weryfikując jego tożsamość i że użytkownik może uzyskać dostęp do żądanej usługi. W przypadku biletu polecającego wymagany jest dodatkowy krok, gdy KDC domeny domowej zamiast tego tworzy bilet polecający, który pozwala klientowi żądać biletów sesji z innego KDC w innej domenie sieciowej. Cały proces generowania i udostępniania biletów jest szyfrowany na każdym kroku, aby zabezpieczyć się przed podsłuchiwaniem lub maskowaniem się przez użytkownika.
Podstawową wadą metody biletu uwierzytelnienia jest scentralizowana struktura wszystkich autoryzacji. Jeśli atakującemu uda się uzyskać dostęp do KDC, zasadniczo uzyskuje on dostęp do wszystkich tożsamości użytkowników i haseł, a następnie może podszyć się pod kogokolwiek. Ponadto, jeśli KDC stanie się niedostępne, nikt nie będzie mógł korzystać z sieci. Inną kwestią są szczegółowe cykle życia biletów, które wymagają, aby wszystkie komputery w sieci miały zsynchronizowane zegary.