Uwierzytelnianie (ang. authentication, czasami „autentykacja”, rzadziej „autentyfikacja”[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ż terminów „autentykacja” i „autentyfikacja” (rzadziej), które mają charakter neologizmów (na bazie terminu angielskiego) i bywają krytykowane jako formy błędne[6][2][7][8].
W większości zastosowań uzyskanie dostępu do chronionych zasobów (ang. resources) przez dany podmiot (ang. entity)[uwaga 1] odbywa się w następujących krokach[7]:
- Identyfikacja (ang. identification) – podmiot deklaruje swoją tożsamość (identity). Na przykład:
- w procesie logowania do serwera użytkownik wpisuje nazwę (login) (serwer jest stroną ufającą);
- w rozmowie telefonicznej z centrum obsługi banku klient deklaruje swoje imię, nazwisko i numer konta (bank jest stroną ufającą);
- osoba podchodząca do stanowiska pocztowego podaje swoje imię i nazwisko;
- 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 (ang. authentication) – strona ufająca stosuje odpowiednią technikę uwierzytelniania (ang. authentication mechanism) w celu weryfikacji zadeklarowanej wcześniej tożsamości. Na przykład:
- serwer prosi użytkownika o wpisanie statycznego hasła (lub wskazanie pliku klucza) i weryfikuje jego zgodność z wcześniej ustawioną wartością;
- personel banku prosi o podanie znanego obu stronom sekretu, czyli np. ustawionego wcześniej kodu telefonicznego, daty urodzenia, nazwiska panieńskiego matki; suma poprawnych odpowiedzi daje odpowiednio wysokie prawdopodobieństwo, że dana osoba jest tą, za którą się podaje;
- obsługa poczty prosi klienta odbierającego paczkę o dowód osobisty i weryfikuje zgodność zdjęcia;
- przeglądarka weryfikuje podpis cyfrowy złożony pod certyfikatem serwera przez urząd certyfikacji, któremu ufa.
Po zakończeniu uwierzytelniania może jeszcze następować autoryzacja (ang. authorization), czyli 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:
- serwer sprawdza rolę użytkownika i pozwala na dostęp do listy czytelników tylko, jeśli zalogowany użytkownik ma rolę bibliotekarza;
- 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;
- pracownik poczty potwierdza, że przesyłka została nadana na dane nazwisko;
- przeglądarka sprawdza zapisane w certyfikacie serwera flagi keyUsage, weryfikując, czy został on poświadczony przez uprawniony podmiot.
W zależności od kanału komunikacyjnego stosuje się różne metody i protokoły uwierzytelniania.
- w stosunku do dokumentów papierowych – podpisy, pieczęcie, parafowanie, znak wodny (metody), poświadczenie notarialne (protokół);
- w stosunku do osób i innych istot żywych – zabezpieczenie biometryczne, dokument tożsamości, hasło, karta mikroprocesorowa (smart card), biochip, token (generator kodów);
- w stosunku do wiadomości i dokumentów elektronicznych – podpis cyfrowy, kod uwierzytelniania wiadomości (message authentication code);
- w stosunku do podmiotów w komunikacji elektronicznej – metody oparte na dowodzie posiadania hasła (kryptografia symetryczna – np. HMAC[9]) lub klucza prywatnego (kryptografii asymetrycznej[10]), dowód z wiedzą zerową[11], hasło jednorazowe.
Jedną z funkcjonalnych klasyfikacji uwierzytelniania jest podział na metody wykorzystujące[7]:
Przy umożliwianiu dostępu do danych lub systemów o szczególnie wysokiej wartości często stosuje się uwierzytelnianie dwuskładnikowe (ang. 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.
Podmiotem może być osoba, instytucja, urządzenie, aplikacja i inne.
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”.
PN-ISO/IEC 9798-1:1996, Technika informatyczna – Techniki zabezpieczeń – Mechanizmy uwierzytelniania podmiotów – Model ogólny.
MirosławM. Bańko MirosławM., autentykacja, [w:] Poradnia językowa PWN [online], sjp.pwn.pl, 14 lutego 2013 [dostęp 2019-01-17].
StefanS. Zabieglik StefanS., Dbajmy o język!: poradnik nie tylko dla menedżerów, Gdańsk: Scientific Publishing Group, 2004, s. 27, ISBN 83-921075-7-8, OCLC 838579166.
PN-ISO/IEC 9798-2:1996, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Mechanizmy wykorzystujące symetryczne algorytmy szyfrowania.
PN-ISO/IEC 9798-3:2002, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Część 3: Mechanizmy stosujące techniki podpisu cyfrowego.
PN-ISO/IEC 9798-5:2001, Technika informatyczna – Techniki zabezpieczeń – Uwierzytelnianie podmiotów – Część 5: Mechanizmy wykorzystujące techniki wiedzy zerowej.