Przejdź do treści

Uwierzytelnianie vs Autoryzacja (Authentication vs Authorization)

5
(8)

Kwestia różnicy pomiędzy uwierzytelnianiem (zwanym przez niektórych błędnie „autentykacją”) i autoryzacją jest stosunkowo często poruszaną kwestią. Niestety nierzadko możemy spotkać się z niezrozumieniem tych dwóch zagadnień, co skutkuje np. stosowaniem ich wymiennie. Jednak uwierzytelnianie i autoryzacja to, w kwestii samej definicji, dwa zupełnie odrębne pojęcia, które jednak są ze sobą istotnie powiązane. W tym wpisie postaram się w możliwie najprostszy sposób przedstawić znaczenie obydwu pojęć oraz nakreślić różnicę pomiędzy nimi.

Czym jest uwierzytelnianie?

Uwierzytelnianie to potwierdzenie, że jesteśmy tym, za kogo się podajemy, czyli inaczej to ujmując, potwierdzenie swojej tożsamości. Najczęściej możemy je spotkać podczas logowania do dowolnego systemu, gdzie:

  • Login jest wartością, która określa, za kogo podajemy się w danym systemie. Tak samo, jak w życiu jesteśmy identyfikowani przez Imię i Nazwisko, tak w danym systemie identyfikowani jesteśmy właśnie przez login (lub inny tego typu element, który jest indywidualny dla danego systemu – np. ID klienta w niektórych bankach itp.). Często również nasz login powiązany jest z naszym imieniem i nazwiskiem.
  • Hasło to tajny ciąg znaków, który jest znany tylko przez nas. To właśnie hasło pozwala nam potwierdzić, że jesteśmy faktycznie tym, za kogo się podajemy, czyli w przypadku systemu potwierdzić, że konto identyfikowane za pomocą wpisanego przez nas loginu, należy faktycznie do nas.

Spróbujmy wyobrazić sobie jak działa takie logowanie na konkretnym przykładzie. Zastosuję tutaj analogię do wizyty w urzędzie – w tym przypadku systemem, do którego się logujemy będzie dany urząd:

  1. Podchodząc do okienka w urzędzie (zapewne po wielu godzinach stania w kolejce 😉 ) i prosząc np. o wydanie nam naszego Prawa jazdy Urzędnik nie wyda nam go od razu – nawet nie wie kim jesteśmy ani o które konkretnie Prawo Jazdy chodzi! Tak samo jest gdy wchodzimy na stronę – przez samo wejście pierwszy raz na daną stronę nie zobaczymy treści widocznych dla zalogowanych użytkowników.
  2. Prawdopodobnie zostaniemy zapytani prze Urzędnika o nasze imię i nazwisko. Przekładając to na logowanie do systemu, będzie to podanie przez nas loginu. Urzędnik nie wyda nam jeszcze prawa jazdy na podstawie podanego mu imienia i nazwiska – nie ma przecież pewności, czy faktycznie podaliśmy własne dane. Podobnie z logowaniem, na podstawie samego loginu nie zostaniemy zalogowani do systemu, ponieważ znajomość naszego loginu (który często stanowi np. nasz publicznie znany adres email lub jego fragment) pozwoliłaby na zalogowanie się do systemu każdej osobie, która by go podała
  3. Aby potwierdzić, czy faktycznie jesteśmy tym za kogo się podajemy Urzędnik najprawdopodobniej poprosi nas, żebyśmy okazali swój dowód osobisty lub inny dokument tożsamości. W założeniu taki dokument posiadamy tylko my, więc wylegitymowanie się takim dokumentem potwierdza naszą tożsamość. W przypadku logowanie do systemu taką funkcję pełni hasło – również z założenia znamy je tylko my, a podając je, jesteśmy w stanie udowodnić, że jesteśmy tym za kogo się podajemy.

Na tym właśnie polega uwierzytelnianie. W codziennym życiu, w logowaniu do danego systemu i wielu innych kwestiach jest to zwyczajnie udowodnienie, że jesteśmy tym za kogo się podajemy. Inaczej mówiąc uwierzytelnienie to potwierdzenie swojej tożsamości.

Czym jest autoryzacja?

Autoryzacja to proces określania uprawnień danego podmiotu. Inaczej mówiąc autoryzacja pozwala na stwierdzenie czy dany podmiot (np. osoba) posiada dostęp do danego zasobu (np. folderu, pomieszczenia).

Wyobraźmy sobie sytuację, gdy pracownik porusza się po biurze – jest on identyfikowany za pomocą karty magnetycznej, którą przykłada w odpowiednie miejsce, aby przejść przez bramki czy otworzyć drzwi. Rzadko jest tak (a jeżeli jest to trzeba to natychmiast zmienić!), że każdy pracownik ma dokładnie taki sam dostęp. Przeważnie dla danej karty, czyli w tym przypadku identyfikatora danej osoby, określony jest konkretny dostęp, który wynika np. z poziomu stanowiska lub konkretnej funkcji. Przykładając kartę do czytnika system sprawdza, czy pracownik identyfikujący się tą kartą posiada dostęp do miejsca, w które próbuje się dostać. Tym właśnie jest autoryzacja – w tym przypadku pozwoli ona na określenie czy pracownik ma dostęp do tego pomieszczenia i wyśle do systemu sygnał, że drzwi mogą zostać otwarte, bądź zupełnie przeciwnie.

Zależność pomiędzy uwierzytelnianiem i autoryzacją

Wiemy już czym jest uwierzytelnianie i autoryzacja i na czym dokładnie polega różnica między nimi. Na koniec warto wspomnieć o zależności występującej pomiędzy tymi dwoma procesami. Najważniejsza z nich to fakt, że autoryzacja występuje zawsze po uwierzytelnieniu. Rozumiejąc oba pojęcia wydaje się to oczywiście bardzo logiczne – głównym celem autoryzacji jest kontrola dostępu, a nie można przecież określić, czy dany podmiot ma dostęp do danego obiektu, jeżeli nie wiedząc kim właściwie jest dany podmiot, a będąc bardziej precyzyjnym, czy jest tym za kogo się podaje.

Ponownie posługując się konkretnym przykładem – żeby uzyskać dostęp np. do zasobu sieciowego znajdującego się w sieci naszej firmy trzeba najpierw zalogować się do komputera, z którego możemy się tam dostać. Następuje tutaj uwierzytelnienie poprzez konieczność zalogowania się na swoje konto domenowe lub lokalne, na danym komputerze, a dopiero później autoryzacja – gdy próbujemy dostać się do wybranego zasobu na sieci, system weryfikuję, czy mamy odpowiednie uprawnienia do przeprowadzenia takiej operacji.

Mam nadzieję, że dzięki temu wpisowi temat uwierzytelniania, autoryzacji oraz występujących między nimi różnic stanie się dla wszystkich istotnie prostszy, co przełoży się na poprawne wypowiadanie się w kontekście tych pojęć.

Coś jest dla Ciebie niezrozumiałe? Chciałbyś wyrazić opinię na temat artykułu? Znalazłeś jakiś błąd? Koniecznie daj mi o tym znać wysyłając maila lub wypełniając formularz!

Czy ten wpis był dla Ciebie przydatny?

Zostaw ocenę!

Średnia ocena 5 / 5. 8

Nikt nie ocenił jeszcze tego wpisu. Bądź pierwszym, który to zrobi!

Przykro mi, że post nie był dla Ciebie przydatny ...

Podziel się proszę swoją opinią

Twoja opinia jest dla mnie niezwykle ważna

1 komentarz do “Uwierzytelnianie vs Autoryzacja (Authentication vs Authorization)”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.