Sposoby uwierzytelniania użytkowników w systemach informatycznych


Piotr Siemieniak 5 minut czytania

Unijny prawodawca w rodo gwarantuje pełną neutralność technologiczną. Oznacza to, że administrator będzie mógł swobodnie zadecydować m.in. o tym, jakie techniki uwierzytelniania użytkownika w systemach informatycznych zostaną przez niego wykorzystane.

Obowiązujące rozporządzenie z dnia 29 kwietnia 2004 r. w sprawie dokumentacji przetwarzania danych osobowych oraz warunków technicznych i organizacyjnych, jakim powinny odpowiadać urządzenia i systemy informatyczne służące do przetwarzania danych osobowych (dalej: rozporządzenie w sprawie dokumentacji), w swej treści wymienia mechanizm uwierzytelniania przy pomocy identyfikatora oraz hasła. Wielu administratorów danych osobowych, mając na względzie treść rozporządzenia w sprawie dokumentacji, błędnie zakłada, że jedynym dopuszczalnym przez prawo mechanizmem uwierzytelniania użytkownika w systemie informatycznym jest identyfikator użytkownika oraz hasło.

Organizatorzy procesów przetwarzania danych osobowych powinni posiadać wiedzę na temat istnienia innych metod uwierzytelniania w systemach informatycznych, wobec których nie ma bezpośrednich zakazów dotyczących ich stosowania.

System informatyczny

Uwierzytelnienie (ang. authentication) użytkownika w systemie informatycznym polega na działaniu, którego celem jest zweryfikowanie tożsamości podmiotu (§ 2 pkt 11 rozporządzenia w sprawie dokumentacji). Proces uwierzytelnienia ma na celu uprawdopodobnienie, że dany podmiot jest rzeczywiście tym podmiotem, za który się podaje. Weryfikacja tożsamości odbywa się przez zastosowanie sekretu znanego wyłącznie osobie, która ma zamiar uwierzytelnić się w systemie informatycznym. Następnie system informatyczny w określony sposób dla danej metody uwierzytelniania weryfikuje dany sekret i wpuszcza lub odrzuca użytkownika.

Wobec narastających zagrożeń regularnie są wymyślane i implementowane nowe rozwiązania wspierające klasyczne techniki uwierzytelniania lub takie, które całkowicie je zastępują. Stały postęp technologiczny umożliwia wykorzystanie technologii biometrycznych czy też „bezhasłowego” (ang. passwordless) uwierzytelniania opierającego się na automatycznie generowanych tokenach.

Nazwa użytkownika oraz unikalne hasło

Zgodnie z sekcją A pkt II załącznika do rozporządzenia w sprawie dokumentacji administrator powinien zapewnić, aby dostęp do danych przetwarzanych w systemie informatycznym odbywał się przy użyciu indywidualnego identyfikatora użytkownika oraz dokonaniu uwierzytelnienia.

Identyfikator użytkownika może przybierać postać adresu e-mail, imienia i nazwiska w określonym formacie, pseudonimu lub innego dowolnego ciągu znaków. Uwierzytelnienie za pomocą nazwy użytkownika i hasła opiera się na elemencie uwierzytelniania, jakim jest wiedza dotycząca hasła lub numeru PIN („something you know”).

Administratorzy powinni zwrócić szczególną uwagę, jeżeli dopuszczają identyfikatory, które mogą zawierać znaki unicode z uwagi na możliwe ryzyka związane z bezpieczeństwem. Przykładowo użytkownicy będą mieli możliwość utworzenia nietypowych identyfikatorów zawierających również nietypowe znaki, np. „jan_:)_kowalski”.

Dopuszczenie znaków unicode w identyfikatorze użytkownika niesie za sobą ryzyko, które może wiązać się z całkowitym przejęciem konta użytkownika. Dla przykładu system może dopuścić, aby różni użytkownicy posłużyli się identyfikatorem, który przez system informatyczny zostanie zinterpretowany jako ten sam identyfikator. Problem ten dotknął w 2013 r. popularny serwis do streamingu muzyki Spotify1. Polegał on na tym, że akceptowane były znaki unicode w identyfikatorach użytkowników i możliwe było utworzenie nowego konta użytkownika o nazwie BIGBIRD (u’\u1d2e\u1d35\u1d33\u1d2e\u1d35\u1d3f\u1d30’). W procesie resetowania hasła użytkownik ten był interpretowany jako użytkownik bigbird, czyli zupełnie inny użytkownik, ale link z resetowaniem hasła trafiał do atakującego posiadającego konto BIGBIRD.

Ograniczenie znaków do wyłącznie tych z zakresu ASCII jest opcją mniej atrakcyjną dla uczestników serwisu, lecz jednocześnie jest to rozwiązanie bardziej przewidywalne. Dodatkową rekomendacją jest to, aby traktować te same nazwy użytkowników jako nazwy typu „JanKowalski” oraz „jankowalski”.

Ponadto uwierzytelnianie oparte na „współdzielonym” sekrecie, jakim jest hasło, stanowi metodę najbardziej podatną na ataki. Oznacza to, że administratorzy powinni zadbać o to, aby użytkownicy stosowali odpowiednio silne hasła, które będą cyklicznie zmieniane i jednocześnie zostaną wprowadzone dodatkowe mechanizmy bezpieczeństwa, np. zasady blokowania kont użytkowników czy blokada ponownego użycia tych samych haseł.

Uwierzytelnienie wieloskładnikowe

Istnieją metody, które mogą podnieść poziom bezpieczeństwa kont użytkowników w systemach informatycznych. Uwierzytelnianie wieloskładnikowe polega na weryfikacji dodatkowych składników, które są w posiadaniu użytkownika („something you have”), którego tożsamość ma zostać potwierdzona w systemie informatycznym.

W ramach tego dodatkowego składnika w procesie uwierzytelniania użytkownik po wprowadzeniu prawidłowego identyfikatora oraz hasła do systemu informatycznego musi również wprowadzić np. jednorazowy kod SMS, kod znajdujący się na zdrapce, automatycznie wygenerowany token czy też wykorzystać kartę chipową (smartcard).