Obecnie trudno sobie wyobrazić życie bez komputera. Z większości programów czy stron internetowych można korzystać bez konieczności podawania dodatkowych, znanych tylko danemu użytkownikowi danych. Jeśli jednak program lub strona internetowa zawiera dane, które powinny być chronione, konieczne jest wprowadzenie dodatkowych zabezpieczeń.
Najczęściej wymagane jest podanie nazwy lub numeru użytkownika (bardzo często bywa nim adres e-mail) oraz hasła. Banki stosują zazwyczaj dodatkowe zabezpieczenia, którymi są np. jednorazowe hasło wysłane na telefon komórkowy czy zmienne hasło wyświetlane na tokenie. Podobne zasady autoryzacji występują w programach użytkowych wykorzystywanych w firmach. Jeśli jest ich niewiele, użytkownicy nie mają problemu z zapamiętaniem loginów i haseł potrzebnych w różnych systemach. Problem pojawia się wówczas, gdy takich programów jest więcej. Najczęstszym błędem jest stosowanie przez użytkownika tych samych haseł w różnych systemach. Jest to o tyle niebezpieczne, że przechwycenie hasła do jednego systemu może umożliwić dostęp do innych. Jeszcze więcej problemów występuje wtedy, gdy system wymusza cykliczną zmianę hasła – np. raz w miesiącu. Zgodnie z założeniem taki mechanizm dodatkowo chroni system. Jeśli jednak użytkownik w swej codziennej pracy korzysta z wielu systemów wymagających odrębnej autoryzacji, zdarza się, że zapisuje sobie loginy i hasła w postaci jawnej, na przykład w notesie lub na karteczce przechowywanej w pobliżu komputera (w szufladzie biurka, pod klawiaturą) lub nawet przyklejonej do monitora, aby ich nie zapomnieć. Jest to rzeczywiście duże ułatwienie dla użytkownika, ale zarazem zagrożenie dla firmy. Niewielu użytkowników zdaje sobie sprawę z tego, iż będzie odpowiadać za skutki wykorzystania ich danych w systemie przez kogoś innego. Co zrobić, aby poprawić komfort pracy użytkowników systemów przy jednoczesnym zapewnieniu odpowiednio wysokiego poziomu bezpieczeństwa? W większych firmach, posiadających dużą liczbę stanowisk pracy, najczęściej wykorzystuje się autoryzację domenową, co oznacza, że użytkownik musi podać unikalną parę danych: login i hasło, aby móc korzystać z systemów służbowych, drukować dokumenty z wykorzystaniem drukarek sieciowych czy korzystać z Internetu. Coraz częściej programy użytkowe w firmach są aplikacjami webowymi (czyli, mówiąc w uproszczeniu, korzysta się z nich, używając przeglądarek internetowych) i w większości przypadków można w nich wykorzystać autoryzację domenową. Oznacza to, że użytkownik, który przy uruchomieniu systemu dokonał autoryzacji w domenie (podał login i hasło domenowe), jest po uruchomieniu programu użytkowego automatycznie autoryzowany w danej aplikacji – to system weryfikuje, czy użytkownik podał wcześniej login i hasło domenowe oraz czy jest uprawniony do dostępu do aplikacji. Aplikacja zostaje uruchomiona, jeśli dane są prawidłowe. Jeśli użytkownik nie posiada uprawnień, system poprosi o podanie innej pary danych autoryzacyjnych lub nie uruchomi się. Co jednak, jeśli w firmie nie stosuje się autoryzacji domenowej lub aplikacje użytkowe nie mogą zostać zintegrowane z domeną? Z pomocą przychodzi oprogramowanie typu SSO (ang. Single Sign-On) umożliwiające dostęp do wielu systemów po jednokrotnej autoryzacji. Jak to działa? Po pierwsze osoby odpowiedzialne za utrzymanie systemów informatycznych firmy muszą zainstalować tzw. agenta SSO, czyli odpowiednie oprogramowanie na konkretnych stacjach komputerowych, na których ma być możliwość jego wykorzystania. Następnie administrator (lub użytkownik posiadający takie umiejętności) musi określić, jakie systemy ma obsługiwać SSO i w jaki sposób automatycznie podawać dane autoryzacyjne w konkretnych aplikacjach. Gdy operacje te zostaną wykonane i SSO zostanie wdrożone, użytkownik, chcąc uruchomić aplikację wymagającą zalogowania, konfiguruje agenta, podając login i hasło dla każdej aplikacji z osobna (robi to tylko raz). Od tej chwili agent SSO przy uruchomieniu dowolnej aplikacji wymagającej autoryzacji zapyta tylko o jedno hasło. Po jego poprawnym wpisaniu będzie można uruchamiać różne aplikacje, a agent będzie podawać dane uwierzytelniające za użytkownika. Warto pamiętać, że odpowiednie skonfigurowanie SSO przez administratora może umożliwić również automatyczną, cykliczną zmianę hasła do danej aplikacji, jeśli jest ona wymagana. Od momentu skonfigurowania agenta SSO nie trzeba pamiętać loginu i hasła do konkretnej aplikacji, a jedynie jeden login i hasło do SSO.
Po przeczytaniu niniejszego artykułu czytelnikowi może nasunąć się pytanie: „Jak to możliwe, że SSO podnosi poziom bezpieczeństwa, skoro wystarczy przechwycenie loginu i hasła do SSO, by uzyskać dostęp do wielu aplikacji przeznaczonych dla konkretnego użytkownika?”. Otóż SSO stosuje się najczęściej z dodatkowym, zewnętrznym elementem uwierzytelniającym, który użytkownik musi posiadać. O ile login i hasło są wyłącznie danymi, zewnętrzny element uwierzytelniający jest fizycznym przedmiotem (najczęściej jest to karta z chipem, token podłączany do portu USB lub token wyświetlający zmienne hasła), który użytkownik musi posiadać przy sobie, więc osobie nieuprawnionej jest o wiele trudniej niepostrzeżenie wejść w jego posiadanie. Przy zastosowaniu takich zabezpieczeń uruchomienie systemu SSO – a jednocześnie jednokrotne logowanie i tym samym uzyskanie dostępu do wielu aplikacji – następuje po podłączeniu karty lub tokena do komputera i jednokrotnym podaniu hasła. Dzięki temu korzyść uzyskuje zarówno użytkownik (możliwość uzyskiwania dostępu do wielu różnych systemów po podaniu jednego hasła, bez konieczności zapamiętywania wielu różnych danych), jak i firma stosująca takie zabezpieczenia, ponieważ jednocześnie zabezpiecza się dostęp do aplikacji, a więc także do ważnych dla firmy danych.
Krzysztof Białek
Zabezpieczenia 1/2013