IDMPrawidłowa identyfikacja osoby korzystającej z komputera lub usługi jest ważna, ponieważ pozwala ustalić odpowiedzialność zidentyfikowanej osoby. Jeśli znasz moją nazwę użytkownika w systemie komputerowym, możesz sprawdzić, co mogę zrobić w tym systemie poprzez ścieżki audytu, i mogę zostać pociągnięty do odpowiedzialności za te działania. Jednakże, jeśli jesteś Złym Gościem i posiadasz wystarczającą ilość informacji, aby podszywać się pode mnie, możesz wykonać wiele nielegalnych czynności, takich jak kradzież lub zniszczenie danych i popełnić wiele różnego rodzaju nadużyć.

Kto idzie?

Najczęstszym przykładem identyfikatora jest nazwa użytkownika lub konta, jest to sposób poinformowania systemu komputerowego kim jesteś. Niestety, nie gwarantuje ona, że jesteś tą osobą. Zazwyczaj jednak, system nie pozwala zrobić wiele dopóki nie udowodnisz, że to rzeczywiście ty i że jesteś upoważniony do korzystania z systemu. W rzeczywistości, to zazwyczaj nie jesteś w stanie korzystać z komputera w ogóle, dopóki nie powiesz kim jesteś i potwierdzisz swoją tożsamość poprzez wpisanie hasła, które ma być znane tylko tobie.

Kombinacja nazwy użytkownika i hasła jest przykładem środka zabezpieczającego o nazwie uwierzytelniania. Ludzie mają hasła lub PIN-y, dzięki czemu mogą udowodnić, że mają prawo do korzystania z czegoś, do czego dostęp jest ograniczony, na przykład: ograniczonego obszaru, systemu komputerowego, usługi internetowej (takiej jak e-mail) lub zaszyfrowanego dokumentu.

Identyfikatory są często oparte, dla wygody, o prawdziwe nazwisko posiadacza konta, a zatem łatwe do odgadnięcia. Czasami nie trzeba nawet zgadywać: ktoś, z kim porozumiewam się z danego konta e-mail zna moją nazwę konta na tej konkretnej usłudze poczty.

Tak więc, nie dość, że muszę identyfikować się do systemu, aby uzyskać dostęp do skrzynki pocztowej, muszę również uwierzytelnić się do systemu, aby udowodnić, że jestem rzeczywiście osobą, którą się podaję i, że jestem uprawniony do dostępu do tej skrzynki. Dla usług poczty elektronicznej, najczęstszą formą uwierzytelnienia jest hasło, choć istnieje wiele alternatyw stosowanych w innych sytuacjach, wspomnimy o tym później.

Uwierzytelnianie jest procedurą lub fragmentem informacji wykorzystywanych do weryfikacji tożsamości osoby i sprawdzenia, czy  mają prawa dostępu do systemu. Istnieją trzy główne grupy metod uwierzytelniania:

  • oparta na wiedzy czyli hasła, PIN, odpowiedzi na pytania „zabezpieczające” i tak dalej.
  • oparte o obecność. Klasa ta obejmuje wykorzystanie danych biometrycznych, takich jak odciski palców, skany siatkówki i tęczówki, lub algorytmów do pomiaru zachowań (cechy, takie jak rytm pisania lub maniery głosowe).
  • oparte o własność. Obejmują one klucze sprzętowe, karty dostępu i inne urządzenia, takie jak token sprzętowy.

Jeżeli używana jest więcej niż jedna metoda uwierzytelniania, mamy do czynienia z dwu- lub trzy-, a nawet wielopoziomowym uwierzytelnianiem.

Chip + PIN

Karta bankowa z „chipem” wymaga zarówno posiadania karty i znajomości kodu PIN, który jest do niej przypisany, jest przykładem dwuskładnikowego uwierzytelniania.

Tokeny sprzętowe

Jednym z przykładów uwierzytelniania przez sprzęt jest dedykowane urządzenie komunikujące się z serwerem (tzw. token), który generuje ciąg znaków dający dostęp do usługi. Samo urządzenie jest zazwyczaj chronione przez PIN (znany tylko przez danego użytkownika) lub ewentualnie przez zabezpieczenia biometryczne, takie jak skanowanie linii papilarnych. To oznacza, że ​​może być uznana za uwierzytelnianie wieloczynnikowe: trzeba znać kod PIN lub być akceptowanym przez skaner linii papilarnych oraz posiadać urządzenie. Tak więc, jeśli urządzenie zostanie zgubione lub skradzione, nie zostanie wykorzystane przez kogoś innego.

Tokeny programowe

Generowanie tokena jest często wbudowane w oprogramowanie, które może być używane na wielofunkcyjnych urządzeniach, takich jak smartfony czy tablety. To podejście do tokenów może zaoferować dodatkową warstwę ochrony, ponieważ samo urządzenie może być (i powinno być), chronione hasłem lub PIN-em (lub innym mechanizmem uwierzytelniania, takim jak wzór stosowany przez system Android). Jeżeli token jest generowany w celu umożliwienia dostępu do usługi, i odbywa się to za pośrednictwem innego urządzenia, takiego jak laptop, środki uwierzytelniania na tym drugim urządzeniu (hasła BIOS i Windows/MacOS/Linux, skaner linii papilarnych, i tak dalej), otrzymujemy dodatkowe warstwy ochrony.

Podsumowanie

Każda z metod uwierzytelniania ma swoje mocne i słabe strony. W przypadku hasła, główne ryzyko to szansa, że zostanie odgadnięte, przechwycone (elektronicznie przez „podsłuch” nieszyfrowanej transmisji lub poprzez utratę kartki z hasłem) lub udostępnienie przez prawowitego właściciela (na przykład, poprzez metody socjotechniczne). I, oczywiście, jeśli zdalny serwer nie zabezpiecza odpowiednio danych, a następnie zostanie zaatakowany, to naprawdę nie ma znaczenia jak dobre jest Twoje hasło.

Smutnym faktem jest, że hasła są rozwiązaniem tanim w implementacji, ale niesatysfakcjonującym z punktu widzenia bezpieczeństwa. Zwłaszcza jeśli nie są one chronione przez dodatkowe zabezpieczenia. Mam tu na myśli wymuszane zmiany hasła po upływie czasu określonego przez administratora oraz ograniczenie liczby nieudanych prób podania hasła.

Biometryka, jednorazowe hasła oraz tokeny są o wiele bardziej bezpieczne, zwłaszcza gdy zastosowane są w sprzęcie jako element uwierzytelniania wieloetapowego.

Jeżeli jednak jedyną możliwością jest wykorzystanie haseł to warto zadbać, aby były one bezpieczne.