Rozwiązanie drugie - bilet zawierający identyfikatory usługi i użytkownika
bilet=[identyfikator użytkownika, identyfikator usługi]#hasło usługi
Opis rozwiązania:
Ze względu na wydajność interesować nas będą bilety wielorazowego użytku.
Gdybyśmy chcieli korzystać z biletów jednorazowych, użytkownik za każdym razem chcąc skorzystać z jakiejś usługi musiałby się
łączyć się z serwerem uwierzytelniającym.
W pierwszej wersji rozwiązania bilet zawiera identyfikator użytkownika
i identyfikator serwera z którego użytkownik chce skorzystać. Informacje
te zakodowane są hasłem serwera. Kodownie hasłem serwera jest niezbędne
w celu zapewnienia autentyczności biletu.
- Użytkownik wysyła serwerowi uwierzytelniającemu swój identyfikator
i nazwę serwera z którego chce skorzystać.
- Serwer uwierzytelniający tworzy bilet - [identyfikator użytkownika,
identyfikator usługi]#hasło usługi (A#B - oznacza kodowanie A za pomocą
B), koduje go hasłem użytkownika i wysyła użytkownikowi.
- Użytkownik znając hasło dekoduje przesyłke i otrzymuje bilet.
- Bilet może wykorzystać do uwierzytelnienia się przed serwerem.