Uwierzytelnianie Fast Identity Online (FIDO) to zestaw otwartych specyfikacji technicznych, które definiują mechanizmy uwierzytelniania użytkowników, które zmniejszają zależność od haseł. Do tej pory Fast Identity Online Alliance opublikowało trzy zestawy specyfikacji:
- FIDO Universal Second Factor (FIDO U2F) zapewnia standardowe środki do łączenia się z uwierzytelniaczem sprzętowym drugiego składnika. Ten interfejs jest używany głównie przez przeglądarki internetowe, aby umożliwić aplikacjom sieciowym łączenie się z uwierzytelniaczem sprzętowym użytkownika. Wraz z wydaniem FIDO2, U2F został przemianowany na CTAP1.
- Protokoły Client to Authenticator (CTAP) umożliwiają użytkownikom uwierzytelnianie w aplikacji sieci Web lub aplikacji natywnej. Uwierzytelniają przy użyciu narzędzia uwierzytelniającego osadzonego w komputerze hosta lub podłączonego do komputera hosta. Podobnie jak FIDO U2F, CTAP został zaprojektowany w celu zapewnienia znormalizowanego interfejsu do uwierzytelnienia sprzętowego.
- FIDO Universal Authentication Framework (FIDO UAF) definiuje ramy dla użytkowników, aby zarejestrować swoje urządzenie (np. laptop, komputer stacjonarny, telefon komórkowy) w usłudze online i wybrać jeden z lokalnych mechanizmów uwierzytelniania dostępnych na urządzeniu w celu uwierzytelnienia swojego użytkownika. Usługa online może wybrać, który lokalnie dostępny mechanizm uwierzytelniania zaakceptuje. Na przykład użytkownicy mogą zarejestrować swoje urządzenie mobilne i wybrać wbudowany czytnik odcisków palców, jako lokalny środek uwierzytelniania używany do uwierzytelniania ich w usłudze online. Inne popularne mechanizmy uwierzytelniania obejmują patrzenie w kamerę, mówienie do mikrofonu lub wprowadzanie kodu PIN. Po zarejestrowaniu i zaakceptowaniu przez serwis internetowy.
Protokoły FIDO zostały zaprojektowane od podstaw w celu ochrony prywatności użytkowników. Protokoły nie ujawniają poufnych danych użytkownika, które mogą być wykorzystywane przez różne usługi online do współpracy i śledzenia użytkownika w różnych usługach. Inne wrażliwe dane, takie jak wydruki biometryczne i kody PIN, nigdy nie opuszczają urządzenia użytkownika, aby uniemożliwić jego przechwycenie lub złamanie przez atakującego.
Aby uwierzytelnić użytkownika, aplikacja – często nazywana stroną ufającą – używa określonych przez FIDO interfejsów API po stronie klienta do interakcji z zarejestrowanym uwierzytelniaczem użytkownika. W przypadku aplikacji internetowych interfejsy API po stronie klienta obejmują WebAuthn zaimplementowane przez przeglądarkę internetową. Ona kolei wywołuje FIDO CTAP w celu uzyskania dostępu do modułu uwierzytelniającego.
Aby uwierzytelnić użytkownika, strona ufająca przekazuje wyzwanie kryptograficzne zarejestrowanemu podmiotowi uwierzytelniającemu. Następnie ocenia odpowiedź w celu określenia autentyczności tajnych informacji przechowywanych na urządzeniu klienckim i użytych do wygenerowania odpowiedzi.
„Pod maską” FIDO wykorzystuje kryptografię asymetryczną, aby zapewnić, że wszystkie wrażliwe sekrety i materiał klucza kryptograficznego pozostają na urządzeniu klienta przez cały czas i nie są przesyłane do usługi uwierzytelniającej.
Jak działa uwierzytelnianie FIDO?
Uwierzytelnianie FIDO wymaga wstępnego kroku rejestracji. W przypadkach, w których urządzenie użytkownika obsługuje wiele form uwierzytelniania (tj. skaner linii papilarnych, rejestrator głosu, identyfikator twarzy itp.), użytkownik jest proszony o wybranie z opcji dostępnych na urządzeniu uwierzytelniacza zgodnego z FIDO, który odpowiada polityce akceptacji aplikacji uwierzytelniającej . Następnie użytkownik odblokowuje uwierzytelnianie FIDO za pomocą dowolnego mechanizmu wbudowanego w uwierzytelnianie. Może to być np. poprzez podanie odcisku palca, naciśnięcie przycisku na urządzeniu drugiego składnika lub wprowadzenie kodu PIN.
Po odblokowaniu narzędzia uwierzytelniającego urządzenie użytkownika tworzy nową i unikalną parę kluczy kryptograficznych publiczny/prywatny, która będzie używana do uwierzytelniania dostępu. Klucz publiczny jest następnie przesyłany do usługi online i kojarzony z kontem użytkownika. Klucz prywatny i wszystkie inne wrażliwe dane związane z wybraną metodą uwierzytelniania – na przykład wydruki biometryczne – pozostają na lokalnym urządzeniu i nigdy go nie opuszczają.
Uwierzytelnianie wymaga, aby urządzenie klienckie udowodniło posiadanie klucza prywatnego do usługi uwierzytelniającej poprzez pomyślną odpowiedź na wyzwanie kryptograficzne. Klucz prywatny może być użyty tylko po pomyślnym uwierzytelnieniu za pomocą zarejestrowanego autoryzatora, na przykład poprzez przesunięcie palcem po czytniku linii papilarnych, wprowadzenie kodu PIN, mówienie do mikrofonu, podłączenie urządzenia drugiego składnika, naciśnięcie przycisku itp. Urządzenie następnie używa identyfikatora konta użytkownika dostarczonego przez usługę, aby wybrać właściwy klucz i kryptograficznie podpisać wyzwanie usługi. Podpisane wyzwanie jest odsyłane do serwisu, który weryfikuje je z przechowywanym kluczem publicznym i loguje użytkownika.
KTO JEST CZĘŚCIĄ FIDO ALLIANCE?
FIDO to duże konsorcjum cieszące się szerokim poparciem branży. Aktualną listę zwolenników można zobaczyć na stronie FIDO Alliance – FIDO Alliance Member Companies & Organizations
CO TO JEST URZĄDZENIE U2F?
Urządzenie U2F to sprzętowy uwierzytelniacz, który łączy się z urządzeniem komputerowym hosta za pośrednictwem interfejsów USB lub NFC. Działa on jako drugi składnik uwierzytelniania w usługach online.
CO TO JEST FIDO LEDGER?
FIDO ledger to niewłaściwy termin. Ledger to firma produkująca portfel sprzętowy do kryptowalut, który obsługuje również standardy FIDO dotyczące uwierzytelniania.
JAKI JEST CEL FIDO2?
FIDO2 to otwarty standard uwierzytelniania, który składa się z WebAuthn i protokołu FIDO2 Client to Authentication Protocol przy użyciu urządzenia uwierzytelniającego oddzielnym kanałem – Universal Second Factor (U2F) lub Universal Authentication Factor (UAF)
JAKA JEST RÓŻNICA MIĘDZY U2F A UAF? DLACZEGO DWA ODDZIELNE STANDARDY?
Protokół UAF został zaprojektowany, aby umożliwić usługom online oferowanie bezhasłowych i wieloskładnikowych zabezpieczeń. Umożliwia użytkownikom zarejestrowanie urządzenia w usłudze online i korzystanie z lokalnego mechanizmu uwierzytelniania, takiego jak przesunięcie palcem, patrzenie w kamerę, mówienie do mikrofon, wprowadzanie kodu PIN itp.
Protokół U2F został zaprojektowany, aby umożliwić usługom online rozszerzenie tradycyjnego uwierzytelniania opartego na hasłach o drugi składnik uwierzytelniania, który jest prezentowany za pośrednictwem urządzenia USB lub interfejsu NFC.
CO TO JEST FIDO ASM?
W FIDO UAF, Authenticator-Specific Module (ASM) jest opartą na oprogramowaniu warstwą abstrakcji (rodzaj oprogramowania pośredniczącego), która oddziela klientów FIDO UAF od podstawowego sprzętu i umożliwia standardowy interfejs z dostępnymi interfejsami urządzeń / uwierzytelniającymi (tj. czytnikiem odcisków palców).
KTÓRE PROTOKOŁY UWIERZYTELNIANIA SĄ CZĘŚCIĄ FIDO ALLIANCE?
- Universal Authentication Framework (UAF), umożliwiający uwierzytelnianie bez hasła za pomocą metody lokalnej na urządzeniu użytkownika
- Universal Second Factor (U2F), umożliwiający użycie tokena sprzętowego lub innego urządzenia jako drugiego składnika
- Protokół User to Authenticator (CTAP), umożliwiający urządzeniu z obsługą FIDO uwierzytelnianie użytkownika uzyskującego dostęp do aplikacji za pośrednictwem przeglądarki internetowej obsługującej WebAuthn na innym urządzeniu