Uwierzytelnianie

Uwierzytelnianie, autentyfikacja (ang. authentication, niepopr. „autentykacja”[1][2]) – proces polegający na potwierdzeniu zadeklarowanej tożsamości podmiotu biorącego udział w procesie komunikacji[3]. Celem uwierzytelniania jest uzyskanie określonego poziomu pewności, że dany podmiot jest w rzeczywistości tym, za którego się podaje[4][5].

Na określenie tego procesu używa się również niezalecanych przez normatywistów terminów „autentykacja”, „autentyfikacja”[6][7] będących kalkami z języka angielskiego.

Proces uwierzytelniania

W większości zastosowań uzyskanie dostępu do chronionych zasobów (resources) przez dany podmiot (entity)[8] odbywa się w następujących krokach:

  • Identyfikacja (identification) – podmiot deklaruje swoją tożsamość (identity). Na przykład:
    • w rozmowie telefonicznej z centrum obsługi banku klient deklaruje swoje imię, nazwisko i numer konta (bank jest stroną ufającą);
    • w procesie logowania do serwera użytkownik wpisuje nazwę (login) (serwer jest stroną ufającą);
    • podczas połączenia przeglądarki z serwerem SSL, ten ostatni przedstawia certyfikat X.509 zawierający jego nazwę (przeglądarka jest stroną ufającą).
  • Uwierzytelnianie (authentication) – strona ufająca stosuje odpowiednią technikę uwierzytelniania (authentication mechanism) w celu weryfikacji zadeklarowanej wcześniej tożsamości. Na przykład:
    • personel banku prosi o podanie ustawionego wcześniej hasła telefonicznego, daty urodzenia, nazwiska panieńskiego matki; suma poprawnych odpowiedzi daje wysokie prawdopodobieństwo, że dana osoba jest tą, za którą się podaje;
    • serwer prosi użytkownika o wpisanie hasła (lub wskazanie pliku klucza) i weryfikuje jego zgodność z wcześniej ustawioną wartością;
    • przeglądarka weryfikuje podpis cyfrowy złożony pod certyfikatem serwera przez urząd certyfikacji, któremu ufa.
  • Autoryzacja (authorization) – potwierdzenie, czy dany podmiot jest uprawniony do uzyskania dostępu do żądanego zasobu. Na tym etapie autentyczność podmiotu jest już potwierdzona, nie musi on jednak być uprawnionym do uzyskania dostępu w żądanym zakresie. Na przykład:
    • personel banku potwierdza, że użytkownik ma dostęp do swojego rachunku, ale żądanie stanu konta rachunku powiązanego (małżonka, firmy) weryfikuje sprawdzając czy zostało złożone odpowiednie pełnomocnictwo;
    • serwer weryfikuje uprawnienia zalogowanego użytkownika do konkretnego pliku sprawdzając tablicę dostępu w systemie plików;
    • przeglądarka sprawdza zapisane w certyfikacie serwera flagi keyUsage, weryfikując czy został on poświadczony przez uprawniony podmiot.

Metody uwierzytelniania

W zależności od kanału komunikacyjnego stosuje się różne metody i protokoły uwierzytelniania.

Jedną z funkcjonalnych klasyfikacji uwierzytelniania jest podział na metody wykorzystujące:

  • coś co wiesz (something you know) – informacja będąca w wyłącznym posiadaniu uprawnionego podmiotu, na przykład hasło lub klucz prywatny;
  • coś co masz (something you have) – przedmiot będący w posiadaniu uprawnionego podmiotu, na przykład klucz (do zamka) lub token (generator kodów);
  • coś czym jesteś (something you are) – metody biometryczne.

Uwierzytelnianie dwuskładnikowe

Przy umożliwianiu dostępu do danych lub systemów o szczególnie wysokiej wartości często stosuje się uwierzytelnianie dwuskładnikowe (two-factor authentication), czyli łączące dwie wymienione wyżej metody. Na przykład w komunikacji elektronicznej stosowanie hasła wiąże się z ryzykiem jego przechwycenia (keylogger) lub podsłuchania (sniffer). Przestaje ono być wówczas znane wyłącznie osobie uprawnionej, zaś kradzież może pozostać niezauważona. Ryzyko to można ograniczyć, wprowadzając dodatkowy, materialny składnik uwierzytelniania, w postaci tokenu sprzętowego:

  • token istnieje w jednym, unikatowym egzemplarzu, więc jego użycie wymaga fizycznego dostępu lub kradzieży, która zostanie zauważona (cecha coś co masz);
  • użycie tokenu wymaga dodatkowo podania hasła (np. w postaci kodu PIN), więc bez jego znajomości token będzie nieprzydatny, nawet w razie kradzieży (cecha coś co wiesz).

Uwierzytelnienie dwuskładnikowe stosuje większość banków internetowych, a także platformy gier (Battle.net), usługa poczty Gmail i wiele innych. Stosowane są zarówno tokeny sprzętowe, jak i programowe generatory haseł (np. Google Authenticator) oraz hasła jednorazowe przesyłane za pomocą SMS.

Zobacz też

Przypisy

  1. Standard API (interfejsu programistycznego aplikacji). s. 3. [dostęp 2020-03-11]. (pol.).
  2. Autentykacja, www.rjp.pan.pl [dostęp 2020-06-23].
  3. Norma ISO/IEC 27000:2009 definiuje uwierzytelnianie ogólniej jako „uzyskiwanie pewności, że zadeklarowana cecha danego podmiotu jest prawdziwa” oraz autentyczność jako „fakt, że podmiot jest tym, za który się podaje”.
  4. PN-ISO/IEC 9798-1:1996, Technika informatyczna – Techniki zabezpieczeń – Mechanizmy uwierzytelniania podmiotów – Model ogólny.
  5. Krzysztof Gaj, Anna Górska, Karol Górski, Nicolas Courtois: Słowniczek terminów związanych z kryptologią i ochroną informacji angielsko – francusko – polski. Enigma Systemy Ochrony Informacji, 2003.
  6. Mirosław Bańko, autentykacja, [w:] Poradnia językowa PWN [online], sjp.pwn.pl, 14 lutego 2013 [dostęp 2019-01-17].
  7. Autentykacja, [w:] Porady językowe [online], Rada Języka Polskiego, 2002 [dostęp 2019-01-17].
  8. Podmiotem może być osoba, instytucja, urządzenie, aplikacja i inne.
  9. PN-ISO/IEC 9798-2:1996, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Mechanizmy wykorzystujące symetryczne algorytmy szyfrowania.
  10. PN-ISO/IEC 9798-3:2002, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Część 3: Mechanizmy stosujące techniki podpisu cyfrowego.
  11. PN-ISO/IEC 9798-5:2001, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Część 5: Mechanizmy wykorzystujące techniki wiedzy zerowej.