Connector  Systemy Informatyczne
 
 
 
« powrot

Autentykacja - Kerberos

W systemie Kerberos używa się jednego komputera wyposażonego w niezwykle sprawne zabezpieczenia, który może być umieszczony w pokoju chronionym przez 24 godziny na dobę. Na komputerze tym znajdują się informacje o hasłach i prawach dostępu każdego użytkownika w systemie (w instytucie MIT komputer ten nosi nazwę kerberos.mit.edu). Wszystkie komputery i użytkownicy sieci działają na podstawie danych dostarczanych przez ten serwer.
Serwer ten jest jedynym serwerem w sieci, który może dostarczać programom sieciowym informacje związane z dostępem. Dla serwerów działających w systemie Kerberos oraz pracujących w nim użytkowników wszystkie pozostałe elementy sieci są niepewne. Jeśli użytkownik sieci obsługiwanej przez system Kerberos chce uzyskać dostęp do pliku lub innego serwera sieciowego udostępniającego zasoby, to musi najpierw uzyskać pozwolenie od bezpiecznego serwera.
Uwiarygodnianie transakcji jest przeprowadzane przy użyciu tradycyjnych metod kryptograficznych, czyli z użyciem wspólnego klucza tajnego. Należy pamiętać, że jest to klucz wymieniany między dwiema stronami połączenia za pośrednictwem bezpiecznego kanału jeszcze przed rozpoczęciem przesyłania danych. Klucze te są określane mianem wspólnych kluczy tajnych, ponieważ podczas ich używania poufne informacje są wspólne dla dwóch (lub więcej) stron. Nie można mylić tego klucza z kluczem prywatnym używanym w systemach kryptograficznych. Klucza prywatnego nie powinien znać nikt oprócz użytkownika, do którego należy ten klucz, a jak już poprzednio wspomniano, wspólny klucz tajny znają co najmniej dwie strony (użytkownik i serwer).
System Kerberos używa jednego lub kilku serwerów uwiarygodniania (bezpiecznych serwerów) działających na zabezpieczonych fizycznie komputerach głównych. Serwery uwiarygodniania zawierają bazę danych z informacjami o użytkownikach (innymi słowy, baza danych zawiera spis wszystkich użytkowników i serwerów), a także wspólny klucz tajny i klucz publiczny każdego użytkownika. Biblioteki źródłowe dostarczają mechanizmów szyfrowania i implementują protokół Kerberos. Aby wprowadzić funkcję uwiarygodniania przesyłanych danych, typowa aplikacja sieciowa wysyła jedno lub dwa zapytania do biblioteki Kerberos, po których uzyskuje informacje niezbędne do uwiarygodnienia.
Jak wiadomo, system Kerberos wydaje uwiarygodnienie na podstawie identyfikatora logowania użytkownika i wspólnego klucza tajnego. Z takim rozwiązaniem wiąże się niebezpieczeństwo oszukania serwera przez hakera. Innymi słowy, włamywacz może sprawić, że bezpieczny serwer będzie go traktował jak uprawnionego użytkownika. Osoba taka może uzyskać wszelkie prawa dostępu. Na przykład można wysłać do bezpiecznego serwera wiadomość z prośbą o przyznanie prawa dostępu do serwera plików. Haker może przechwycić taką wiadomość i przesłać ją następnie do bezpiecznego serwera, który uzna, że to uprawniony użytkownik zażądał uwiarygodnienia. Aby wyeliminować taką możliwość, programiści projektu Athena wprowadzili do niego mechanizm znaczników czasu. Mechanizm ten gwarantuje, że wszystkie wiadomości otrzymywane przez bezpieczny serwer zawierają datę i bezpieczny serwer odrzuca wszystkie te wiadomości, które są przestarzałe o co najmniej 5 minut. Mechanizm znaczników czasu pomaga zapobiec wielu działaniom osób nieuprawnionych.

al. 3-go Maja 5, 30-063 Kraków
tel.: 012 632 53 45, tel/fax: 012 632 54 25
e - m a i l :   b i u r o @ c o n n e c t o r . c o m . p l