Od dawna intensywnie pracujemy nad stworzeniem skuteczniejszych oraz bezpieczniejszych sposobów identyfikacji użytkownika niż login i hasło. Wraz z rozwojem takich technologii jak czytniki linii papilarnych czy skanery siatkówki, jesteśmy w stanie zweryfikować tożsamość równie dobrze jak za pomocą loginu i hasła.

Dodatkowo mając wszystkie te urządzenia wbudowane w telefon komórkowy mamy możliwość bezpiecznego potwierdzenia swojej tożsamość.

Aby jednak ustandaryzować sposób w jaki nasza tożsamość jest weryfikowana, organizacja Fidoalliance.org postanowiła utworzyć jeden wzorzec postępowania w przypadku autentykacji użytkowników, jak i autoryzacji wykonywanych przez nich operacji. Protokoły te otrzymały skróconą nazwę – FIDO.

Jak to działa?

Jednym z protokołów standardu FIDO używanym z autentykacji użytkowników na platformach internetowych jest UAF. Po krótce jego działanie opiera się na następującym algorytmie:

  • Urządznie klienckie (zwane dalej Klientem UAF), w czasie rejestracji użytkownika, tworzy w swojej pamięci parę kluczy kryptograficznych (publiczny i prywatny) za pomocą autentykatora. Autentykator umożliwia potwierdzenie tożsamości użytkownika. Może nim być np. czytnik odcisków palca.
  • Serwer UAF jest odpytywany o listę grup obsługiwanych autentykatorów. Grupy te mogą określać takie parametry jak: producent autentykatora, obsługiwane przez niego algorytmy itp.
  • Po pozytywnym zweryfikowaniu możliwości autentykacji za pomocą tego Klienta UAF, klucz publiczny jest wysyłany w procesie rejestracji na serwer UAF i zapisywany w jego bazie danych, która przechowuje go wraz z nazwą użytkownika, identyfikatorem aplikacji, z której rejestruje się użytkownik.
  • Dodatkowo informacje o identyfikatorze klucza w pamięci autentykatora i kilka dodatkowych danych zostaje przesłane do serwera UAF.

FIDO – bezpieczniej czy wygodniej1

Przy próbie autentykacji aplikacja kliencka (zwana dalej Klientem UAF) wysyła prośbę o przysłanie listy zarejestrowanych autentykatorów (urządzenie umożliwiające potwierdzenie tożsamości, na przykład: czytnik odcisków) na serwerze UAF dla danego użytkownika. Po otrzymaniu takiej listy Klient UAF sprawdza, czy posiada parę kluczy odpowiadającą wcześniej zarejestrowanej parze na Serwerze UAF. Jeśli tak, za pomocą klucza prywatnego szyfruje tzw. „challenge” (na przykład kawałek losowo wygenerowanego tekstu – może to być jakikolwiek tekst lub ciąg bajtów) przysłany z serwera. Takim zadaniem może być przykładowo część losowo wygenerowanego tekstu lub ciąg bajtów. Następnie, wraz z innymi informacjami taka zaszyfrowana wiadomość jest przesyłana na serwer.

Serwer sprawdza czy wiadomość, którą otrzymał jest zaszyfrowana kluczem, który został zapisany w trakcie procesu rejestracji. Jeśli tak, użytkownik jest pozytywnie weryfikowany i proces autentykacji przebiega pomyślnie.

FIDO – bezpieczniej czy wygodniej 2

Co w tym fajnego?

Wiele osób może się zastanawiać czy ten sposób autentykacji jest lepszy niż standardowe login i hasło.

Przede wszystkim jest to sposób, który pozwala uniknąć przechowywania haseł użytkowników lub ich danych na serwerze autentykującym. Wpływa to pozytywnie na bezpieczeństwo aplikacji. Dodatkowo protokół UAF posiada zabezpieczenia przed kradzierzą urządzenia autentykującego, potrafi monitorować ilość autentykacji jaka odbyła się za jego pomocą. Potrafi też w każdej chwili dezaktywować skradziony/zgubiony autentykator, dzięki temu użytkownik nie traci dostępu do swojego konta na danej platformie, a jedynie możliwość potwierdzania swojej tożsamości za pomocą zgubionego autentykatora.

FIDO – bezpieczniej czy wygodniej?

Podsumowując, wraz ze wzrostem dostępności urządzeń autentykujących użytkowników za pomocą czytników biometrycznych, aplikacji na telefonie, skanów siatkówki itp., coraz mniej potrzebujemy haseł, które musimy zapamiętać, a odpowiedzialność za weryfikację możemy przenieść na urządzenia. Pozwala na to m.in. protokół UAF ze zbioru protokołów FIDO. Takie rozwiązanie idealnie sprawdzi się w aplikacjach bankowych, gdzie szczególną uwagę przykłada się do zapewnienia najwyższych standardów bezpieczeństwa. Dużo pewniejsze będzie logowanie się na konto na urządzeniu mobilnym poprzez wykorzystanie odcisku palca czy korzystając z kamerki wbudowanej w laptopa lub komputer skanującej siatkówkę oka.

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 3

No votes so far! Be the first to rate this post.

W przypadku naruszenia Regulaminu Twój wpis zostanie usunięty.

    _Wszystkie wpisy z tej kategorii

    Od Javy do Go – skalowanie kompetencji w zespole Software Development Center

    Eksperci Transition Technologies PSC opowiadają o inicjatywie "Akademia Go" i korzyściach z nauki języka programowania Go w dostarczaniu wydajnych rozwiązań klientom. Dowiedz się,…
    Czytaj dalej

    Outsourcing programistów – elastyczny sposób skalowania zespołu IT

    Outsourcing zewnętrznego programisty zwiększa możliwości Twojego zespołu. Dodatkowy specjalista jest wsparciem w realizacji codzienny zadań i dotrzymywaniu deadline’ów. Jego obecność pozwala zwiększyć produktywność…
    Czytaj dalej

    Jak uchronić się przed phishingiem, wykorzystując autentyfikację?

    Żyjemy w epoce danych, co oznacza, że w świecie, w którym funkcjonujemy, są one cenniejsze niż pieniądze. Kradzież tożsamości i utrata istotnych danych…
    Czytaj dalej

    Co musisz wiedzieć o serverless computing?

    Serverless cmputing nadal budzi sporo wątpliwości, szczególnie wśród tych środowisk, które właśnie zaczynają korzystanie z usług chmurowych lub dopiero planują migrację do chmury…
    Czytaj dalej

    6 błędnych przekonań na temat metodologii Scrum

    6 najczęstszych mitów i błędnych przekonań dotyczących scruma. Liczymy, że ich poznanie sprawi, że skutecznie ich unikniesz.
    Czytaj dalej

    Scrum Guide 2020. 5 TOP zmian i ich wpływ na pracę zespołu

    Najnowsza aktualizacja wytycznych najpopularniejszego frameworka agile czyli Scrum Guide. Najważniejsze zmiany wprowadzone przez aktualizację Scrum Guide 2020 oraz ocena ich wpływu na codzienną…
    Czytaj dalej

    Agile. Wszystko co musisz wiedzieć o metodyce zwinnej

    Czym właściwie jest agile? Jak to się wszystko zaczęło? Jakie zasady charakteryzują tę metodykę działania, czym różni się ona od podejścia tradycyjnego i…
    Czytaj dalej

    WCAG 2.1 – na co powinieneś zwrócić uwagę?

    Wyobraź sobie, że jesteś osobą niewidomą lub słabowidzącą i chciałbyś/chciałabyś zalogować się do własnego konta bankowego poprzez stronę internetową lub aplikacje mobilną. Wpisujesz…
    Czytaj dalej

    Dostępność w sieci zgodna z WCAG i jej wpływ na wizerunek firmy

    Coraz więcej aktywności z zakresu PR i marketingu przenosi sie obecnie do internetu. To zatem dobry moment na dokładną analizę działań prowadzonych w…
    Czytaj dalej

    WCAG, czyli dlaczego warto mieć dostępną stronę internetową i aplikację mobilną

    Zastanawiałeś się kiedyś, jak korzystają ze stron internetowych osoby niewidome i niepełnosprawne? Standardowe czynności, które wykonujemy na co dzień w Internecie, są dla…
    Czytaj dalej

    Dostępność w sieci, czyli co to jest WCAG?

    Dzisiejsze społeczeństwo jest mocno zinformatyzowane. Chcemy mieć dostęp do muzyki, książek, czy filmów gdziekolwiek jesteśmy, niezależnie od tego czy czekamy w poczekalni u…
    Czytaj dalej

    Nowości w Javie

    W javie sporo się zmieniło. Od wydania najpopularniejszej jej wersji, czyli ósemki minęło już kilka dobrych lat. Cały czas wersja 8 jest tą,…
    Czytaj dalej

    Nearshoring – więcej możliwości dla Twojego biznesu

    Branża IT to jedna z najszybciej ewoluujących gałęzi biznesu. Nie tylko dzięki technologii, którą oferuje, ale też dzięki szerokiemu obszarowi usług, które jest…
    Czytaj dalej

    Jak szybko i skutecznie zbudować profesjonalny zespół programistyczny w kilku krokach – studium przypadku

    Obecne trendy w tworzeniu i dostarczaniu dedykowanego oprogramowania dla firm mocno poszły w kierunku modelu opartego o outsourcing. Jest to bardzo wygodne rozwiązanie,…
    Czytaj dalej

    _Zostańmy w kontakcie

    Skontaktuj się