You are on page 1of 2

Kerberos

Weryfikacja pomiędzy klientem a serwerem w początkowej fazie autoryzacji polega na przekazaniu


do serwera informacji uwierzytelniającej składającej się z nazwy klienta i zakodowanego bieżącego
czasu. Po jej odszyfrowaniu serwer sprawdza, czy te informacje są zgodne z tymi zawartymi w
bilecie. Bilet zawiera oprócz adresu serwera także takie informacje jak czas utworzenia i czas
ważności oraz klucz sesji. Bilety wydawane przez serwer biletów mają określony czas ważności z
reguły od kilku do kilkunastu godzin, a informacje uwierzytelniające tracą ważność w ciągu kilku
minut. Dzięki temu nie można posłużyć się cudzym biletem, przestarzałym lub biletem z innego
serwera. Dodatkowo serwer odpowiadając klientowi zwiększa zaszyfrowany czas o jeden, tak więc
jakakolwiek próba podrobienia biletu jest praktycznie niewykonalna. Do dnia dzisiejszego, czyli przez
blisko czternaście lat nie odnotowano żadnego przypadku złamania systemu.

Dzięki swej konstrukcji kerberos zapewnia:


- weryfikację tożsamości obydwu stron
- integralność przesyłanych danych
- poufność danych

Pomimo wielu swoich zalet, Kerberos ma też kilka znaczących wad. Serwer jest newralgicznym
punktem przechowującym bardzo ważne informacje takie jak hasła użytkowników, tak więc jego
zabezpieczenie fizyczne jest sprawą priorytetową. Jakakolwiek penetracja systemu może mieć
katastrofalne skutki dla bezpieczeństwa całej sieci. Pomijając fakt, że Kerberos jest udostępniany
bezpłatnie dostępny jest też dla dużej ilości platform systemowych, a większość firm dołącza go już
do swoich dystrybucji. Ograniczony jest także zakres stosowania systemu do małych sieci lokalnych
oraz większych do poziomu organizacyjnego.

Schemat działania:

1. Użytkownik rozpoczyna pracę na stacji roboczej, podaje swój identyfikator, który jest
przekazywany w postaci jawnej do serwera uprawnień
2. Serwer uprawnień konstruuje bilet dla do serwera biletów (ang. Ticket granting server). Bilet
ten jest szyfrowany kluczem serwera biletów i tylko przez niego może być odczytany. Serwer
uprawnień generuje następnie losowy klucz sesji oraz odczytuje ze swojej bazy danych klucz
użytkownika. Ostatecznie bilet do serwera biletów i klucz sesji zostaną zaszyfrowane
kluczem użytkownika i przesłane do niego
3. Komputer klienta otrzymuje wysłane przez serwer informacje, pyta użytkownika o hasło,
przekształca hasło na klucz użytkownika. Tak uzyskany klucz powinien być tym kluczem,
którego użył serwer uprawnień, informacje uzyskane od serwera uprawnień mogą być teraz
odszyfrowane. Klient uzyskuje klucz sesji i bilet do serwera biletów - “bilet na bilety”
4. “bilet na bilety” umożliwia dostęp do pozostałych serwerów sieciowych. W celu uzyskania
dostępu np. do serwera plików klient przekazuje serwerom biletów “bilet na bilety” oraz
informacje o serwisie, do którego chce uzyskać dostęp.
5. Serwer biletów uzyskawszy zgłoszenie klienta sprawdza poprawność “biletu na bilety” a
następnie podobnie jak robił to serwer uprawnień konstruuje bilet do konkretnego serwera
w tym przypadku serwera plików. Bilet do serwera plików jest zaszyfrowany kluczem
serwera plików. Serwer biletów zwraca nowy bilet klientowi, cały komunikat jest szyfrowany
kluczem sesji zawartym w “bilecie na bilety”
6. Klient posługuje się uzyskanym biletem w celu uzyskania dostępu do serwera plików
7. Serwer plików po uzyskaniu od klienta biletu sprawdza czy bilet jest poprawny, jeżeli tak to
klient uzyskuje dostęp do serwera plików. Szyfrowanie danych pomiędzy klientem a
serwerem plików jest przeprowadzane w oparciu o nowy klucz sesji, który został
wygenerowany wcześniej przez serwer biletów i przekazany klientowi wraz z biletem do
serwera plików.

You might also like