Rozwiązanie czwarte - wprowadzamy serwer przyznawania biletów

Schemat1
bilet TGS=[id użytkownika, id TGS, adres sieciowy, stempel czasowy, czas życia, klucz sesji z TGS]#hasło TGS
poświadczenie TGS=[identyfikator użytkownika, stempel czasowy, adres sieciowy]#klucz sesji z TGS
bilet usługa=[id użytkownika, id usługi, adres sieciowy, stempel czasowy, czas życia, klucz sesji z usługą]#hasło usługi
poświadczenie usługa=[identyfikator użytkownika, stempel czasowy, adres sieciowy]#klucz sesji z usługą

Opis rozwiązania:

Usługa uwierzytelniania pełni dwie funkcje:
  1. Identyfikacji użytkownika - szyfrując hasłem użytkownika zapewnia że skontaktował się z nią prawdziwy użytkownik. Jeśli użytkownik był fałszywy to i tak zaszyfrowany hasłem użytkownika komunikat do niczego mu się nie przyda
  2. Wystawiania biletów i generowania kluczy
W dotychczasowym rozwiązaniu obie te funkcje były połączone. Teraz usługę uwierzytelniania dzielimy na dwie składowe:
  1. Authentication server (AS) - odpowiada za potwierdzenie tożsamości użytkownika, raz na sesję użytkownik kontaktuje się z AS i otrzymuje bilet do TGS i klucz sesji do TGS zakodowany hasłem użytkownika
  2. Ticket-granting server (TGS) - użytkownik chcąc otrzymać bilet i klucz sesji do usługi wysyła bilet dostępu do TGS, poświadczenie do TGS, swój identyfikator i identyfikator usługi. TGS sprawdza poprawność biletu i nadesłanych danych. Jeśli wszystko się zgadza tworzy i wysyła użytkownikowi bilet i klucz sesji do usługi (klucz sesji do usługi zakodowany jest kluczem sesji z TGS). Użytkownik kontaktuje się z TGS wielokrotnie, raz dla każdej usługi. Rolę hasła przejmuje bilet i klucz sesji do TGS.

Pełny opis działania systemu(wersja 4)