AAA - uwierzytelnianie, autoryzacja i kontrola dostępu (cz. 1)

W przeszłości niektóre systemy komputerowe używały słabych algorytmów haszowania, które teraz uważa się za łatwe do odwrócenia. Obecnie większość dostawców tożsamości wykorzystuje znacznie silniejsze algorytmy.

Słaby system uwierzytelniania ma też prosty sposób odpytywania podmiotu zabezpieczeń o weryfikator tożsamości i zakłada bezpośrednie wysłanie go do procesu uwierzytelniania dla porównania z bazą danych poświadczeń. Silny system zaciemnia lub szyfruje te procesy tak, aby nieautoryzowana strona trzecia nie mogła wprost odczytać danych ze strumienia uwierzytelniania i wykraść weryfikatora tożsamości.

Obecnie dobry system uwierzytelniania stosuje metodę znaną jako wezwanie-odzew. Jest to zestaw procesów uwierzytelniania, który pozwala podmiotowi zabezpieczeń na udowodnienie znajomości weryfikatora tożsamości bez przekazywania go do uwierzytelniającego. W systemie wezwanie-odzew, poświadczenia nie są wysyłane w jawnym tekście ani też przechowywane w wersji przekształconej. Napastnik, który chce przechwycić weryfikator, musi przejąć zarówno wezwanie, jak i odpowiedź, zawierające losowo wygenerowane ciągi, i na podstawie tego odtworzyć rzeczywisty weryfikator. Dobry protokół uwierzytelniania sprawia, iż jest to bardzo trudne do przeprowadzenia.

Gdy podmiot zabezpieczeń zostanie pomyślnie uwierzytelniony, to często jest możliwe, aby kolejny (zazwyczaj usługa lub program) ponownie użył poświadczeń uwierzytelniania pierwszego podmiotu zabezpieczeń.

Użytkownik może np. logować się do serwera webowego, który jest połączony z serwerem zaplecza SQL. Program serwera webowego może sam przekazać poświadczenie uwierzytelnienia użytkownika do serwera SQL, w celu otrzymania danych zażądanych przez użytkownika. Serwer webowy i jego oprogramowanie mogą nie mieć bezpośrednio dostępu do bazy SQL lub jej danych, i potrzebują poświadczeń użytkownika, aby uzyskać dostęp do danych. Proces wykorzystania poświadczeń uwierzytelnienia innego podmiotu zabezpieczeń nazywany jest "delegacją" lub "wcieleniem się" (impersonation).

Trzeba jednak pamiętać, że także programy złośliwe mogą wcielać się w podmiot zabezpieczeń. Gdy podmiot zabezpieczeń zostanie uwierzytelniony w zarażonym systemie, złośliwy program może przejąć jego poświadczenia i zacząć podszywać się pod legalnego użytkownika oraz podejmować nieupoważnione działania. Na przykład ataki przepełnienia bufora zazwyczaj uzyskują kontekst bezpieczeństwa, w którym narażany program pracuje.

Podstawy systemów AAA $(Authentication, Authorization, Accounting)$

Aby lepiej zrozumieć bardziej złożone formy uwierzytelniania i kontroli dostępu, przypominamy podstawowe pojęcia z zakresu bezpieczeństwa systemów komputerowych.

Domena ochrony (bezpieczeństwa) to obszar sieci, gdzie obowiązuje zdefiniowana polityka bezpieczeństwa. Czynnik ten określa enklawy serwerów (komputerów) - sieć z odmienną domeną ochrony jest odseparowana od innych. Za domenę ochrony można uważać zbiór aplikacji obdarzających zaufaniem wspólny token bezpieczeństwa. Jest on zazwyczaj wydawany użytkownikowi po jego uwierzytelnieniu w danej domenie.

Domeną ochrony mogą być: dysk twardy, komputer lokalny, zbiór danych, katalog, plik, sieć, witryna WWW czy cokolwiek innego, wymagającego zestawu uprawnień dostępu dla jednego lub więcej użytkowników.

Podstawowe elementy bezpieczeństwa niezbędne do zabezpieczenia każdej domeny ochrony przed nieautoryzowanym dostępem czy modyfikacją to: uwierzytelnianie, autoryzacja i rozliczanie użytkowników.

Uwierzytelnianie jest procesem, w którym weryfikowana jest legalność posiadania danej tożsamości.

Autoryzacja określa, podejmowanie jakich działań jest dozwolone przez posiadacza tożsamości - po jego uwierzytelnieniu w ramach poszczególnych systemów kontroli dostępu.

Rozliczanie (accounting) to dokładne rejestrowanie tego, co dana "tożsamość" robi lub próbuje robić w poszczególnych domenach ochrony. Pozwala na tworzenie raportów dotyczących dostępu do zasobów sieci (zapisywany jest np. każdy fakt połączenia się z serwerem czy korzystania z usług).

W informatyce funkcjonuje też pojęcie "podmiotu zabezpieczeń" (security principal). Jest to jednostka, która może być uwierzytelniona przez system komputerowy lub sieć. Poza uwierzytelnianiem podmiot zabezpieczeń ma zazwyczaj możliwość uzyskania uprawnień do korzystania z zasobów sieci. Pozwalają one jednostce reprezentowanej przez podmiot zabezpieczeń na dostęp do zasobów sieci. Dwa podstawowe rodzaje podmiotu zabezpieczeń to użytkownicy (reprezentujący osoby fizyczne) oraz fizyczne lub wirtualne systemy podpięte do sieci. Często wyróżnia się też inne, jak np. te reprezentujące usługi. Podmiotami zabezpieczeń mogą zatem być: użytkownicy, administratorzy, komputery, usługi, procesy lub inne jednostki.

Kontrola dostępu do zabezpieczanego obiektu to mechanizm określający uprawnienia dostępu do poszczególnych obiektów, przyznawane poszczególnym podmiotom zabezpieczeń na podstawie tożsamości. Uprawnienia mogą obejmować dopuszczenie (lub zakazanie): możliwości tworzenia, czytania, zapisu, modyfikowania, usuwania, przemieszczania i zmiany nazwy obiektu w ramach poszczególnych domen ochrony

Zobacz też Drugą część artykułu

Opracowano na podstawie "Info-World Authentication and Authorization Deep Dive".


TOP 200