Udostępnij za pośrednictwem


bilety Ticket-Granting

Jak protokół Kerberos był pierwotnie zaprojektowany, klucz główny dla użytkownika pochodził z hasła podanego przez użytkownika. Po zalogowaniu się użytkownika, klient Kerberos na stacji roboczej użytkownika zaakceptował hasło od użytkownika i przekonwertował je na klucz szyfrowania, przekazując tekst przez jednokierunkową funkcję skrótu . Skrót wynikowy był kluczem głównym użytkownika. Klient użył tego klucza głównego do odszyfrowania kluczy sesji odebranych z centrum dystrybucji kluczy.

Problem z oryginalnym projektem protokołu Kerberos polega na tym, że klient potrzebuje klucza głównego użytkownika za każdym razem, gdy odszyfrowuje klucz sesji z centrum dystrybucji kluczy. Oznacza to, że klient musi poprosić użytkownika o hasło na początku każdej wymiany klienta/serwera lub klient musi przechowywać klucz użytkownika na stacji roboczej. Częste przerwy w działaniu użytkownika są zbyt uciążliwe. Przechowywanie klucza na stacji roboczej może naruszać klucz pochodzący z hasła użytkownika, który jest kluczem długoterminowym.

Rozwiązaniem tego problemu protokołu Kerberos jest uzyskanie przez klienta klucza tymczasowego z centrum dystrybucji kluczy. Ten klucz tymczasowy jest dobry tylko w przypadku tej sesji logowania . Gdy użytkownik loguje się, klient uzyskuje token dla centrum dystrybucji kluczy tak samo jak uzyskuje token dla każdej innej usługi. Centrum dystrybucji kluczy (KDC) odpowiada, tworząc klucz sesji logowania i bilet wstępu dla specjalnego serwera, pełnej usługi przyznawania biletów przez centrum dystrybucji kluczy. Jedna kopia klucza sesji logowania jest osadzona w bilecie, a bilet jest szyfrowany przy użyciu klucza głównego KDC (centrum dystrybucji kluczy). Kolejna kopia klucza sesji logowania jest szyfrowana przy użyciu klucza głównego użytkownika pochodzącego z hasła logowania użytkownika. Zarówno bilet, jak i zaszyfrowany klucz sesji są wysyłane do klienta.

Kiedy klient otrzyma odpowiedź od centrum dystrybucji kluczy, odszyfrowuje klucz sesji logowania za pomocą głównego klucza użytkownika uzyskanego z hasła użytkownika. Klient nie potrzebuje już klucza pochodzącego z hasła użytkownika, ponieważ będzie teraz używał klucza sesji logowania, aby odszyfrować swoją kopię dowolnego klucza sesji serwera uzyskanego z centrum dystrybucji kluczy. Klient zapamiętuje klucz sesji w swojej pamięci podręcznej biletów, wraz z biletem dla pełnej usługi przyznawania biletów KDC.

Bilet dla pełnej usługi udzielania biletów jest nazywany biletem przyznawania biletów (TGT). Gdy klient prosi centrum dystrybucji kluczy o bilet na serwer, przedstawia poświadczenia w postaci komunikatu uwierzytelniającego i biletu — w tym przypadku biletu TGT — podobnie jak w przypadku prezentowania poświadczeń innej usłudze. Usługa przyznawania biletów otwiera TGT z kluczem głównym, wyodrębnia klucz sesji logowania dla tego klienta i używa klucza sesji logowania do szyfrowania kopii klucza sesji klienta dla serwera.