FIDO2
FIDO2 odnosi się do kombinacji specyfikacji stworzonej przez Fido Alliance dla Client-to-Authenticator Protocols (CTAP) oraz specyfikacji stworzonej przez World Wide Web Consortium (W3C) – Web Authentication (WebAuthn). Obydwie specyfikacje pozwalają użytkownikom uwierzytelniać się online, zarówno z aplikacji mobilnych jak i desktopowych – za pomocą aplikacji lub zewnętrznego urządzenia.
WebAuthn definiuje standardowy interfejs API, który jest implementowany przez przeglądarki, aby umożliwić aplikacjom internetowym korzystanie z uwierzytelniania FIDO. Korzystając z WebAuthn, przeglądarki internetowe mogą wywoływać interfejs CTAP. Robią to w celu interakcji z modułami uwierzytelniającymi, które są osadzone na hoście lub z nim połączone.
CTAP implementuje standardowy interfejs do sprzętowych urządzeń uwierzytelniających wbudowanych w urządzenie hosta. Na przykład czujnik odcisków palców – lub podłączony do hosta przez USB, Bluetooth (BLE) lub NFC. CTAP zawiera dwie podspecyfikacje – CTAP1 i CTAP2. CTAP2 umożliwia korzystanie z zewnętrznych uwierzytelniaczy (klucze bezpieczeństwa FIDO, urządzenia mobilne). Służą do uwierzytelniania w przeglądarkach i systemach operacyjnych z obsługą FIDO2 przez USB, NFC lub BLE w celu uwierzytelniania bezhasłowego, dwuskładnikowego lub wieloskładnikowego. CTAP1 umożliwia uwierzytelnianie przy użyciu istniejących urządzeń FIDO U2F (takich jak klucze bezpieczeństwa FIDO). Uwierzytelnianie odbywa się w przeglądarkach i systemach operacyjnych obsługujących FIDO2 przez USB, NFC lub BLE, do uwierzytelnienia dwuskładnikowego.
Korzystając z WebAuthn i CTAP, FIDO2 obsługuje uwierzytelnianie użytkownika bez hasła, dwuskładnikowe i wieloskładnikowe. Odbywa się to przy użyciu wbudowanych uwierzytelniaczy (takich jak biometria lub kody PIN) lub metod zewnętrznych (takich jak klucze bezpieczeństwa FIDO, urządzenia mobilne, opaski elektroniczne itp.).
Aby lepiej zrozumieć FIDO2, warto wyjaśnić FIDO i inne jego specyfikacje:
FIDO („Fast IDentity Online”) Alliance to otwarte stowarzyszenie branżowe założone w lutym 2013 r. Misją jest opracowywanie i promowanie standardów uwierzytelniania, które pomagają zmniejszyć nadmierne poleganie na hasłach na świecie. Do tej pory FIDO Alliance opublikowało trzy zestawy specyfikacji w celu standaryzacji uwierzytelniania użytkowników:
FIDO Universal Second Factor (FIDO U2F) zapewnia standardowy interfejs dla obsługi uwierzytelniacza dwuskładnikowego. Ten interfejs jest używany głównie przez przeglądarki internetowe, aby umożliwić aplikacjom łączenie się z uwierzytelniaczem sprzętowym. Wraz z wydaniem FIDO2, U2F został przemianowany na CTAP1.
Protokoły Client to Authenticator (CTAP) umożliwiają użytkownikom uwierzytelnianie w aplikacji WWW lub aplikacji natywnej. Robią to przy użyciu narzędzia uwierzytelniającego osadzonego w komputerze hosta lub podłączonego do komputera hosta. Zapewniają ustandaryzowany interfejs do uwierzytelnienia.
FIDO Universal Authentication Framework (FIDO UAF) definiuje ramy umożliwiające użytkownikom rejestrację urządzenia (np. laptopa, komputera stacjonarnego, telefonu komórkowego) w usłudze online. Pozwalają tez wybranie jednego z lokalnych mechanizmów uwierzytelniania dostępnych na urządzeniu w celu uwierzytelnienia. Usługa online wybiera następnie, który lokalnie dostępny mechanizm uwierzytelniania zaakceptuje. Na przykład użytkownicy mogą zarejestrować swoje urządzenie mobilne i wybrać wbudowany czujnik odcisków palców jako środek do uwierzytelniania 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 usługę online użytkownicy mogą uwierzytelniać się w tej usłudze przy użyciu zarejestrowanej akcji uwierzytelniania lokalnego. Mogą to robić zamiast korzystania z bardziej tradycyjnych opcji nazwy użytkownika i hasła.
JAKI JEST CEL FIDO2?
FIDO2 to otwarty standard uwierzytelniania, który składa się z WebAuthn i FIDO2 Client to Authentication Protocol z wykorzystaniem dodatkowego urządzenia uwierzytelniającego – Universal Second Factor (U2F) lub Universal Authentication Factor (UAF)
CO TO JEST 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
JAKIE INNE 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. Umożliwia to za pośrednictwem przeglądarki internetowej obsługującej WebAuthn na innym urządzeniu
JAKA JEST RÓŻNICA MIĘDZY FIDO2 A WEBAUTHN?
FIDO2 jest wynikiem połączonych wysiłków sojuszu FIDO i W3C.
Sojusz stworzył protokół CTAP jako specyfikację uzupełniającą do WebAuthn W3C. Pierwsza opisuje wymagania uwierzytelniania lokalnego urządzenia, a druga umożliwia użycie go do logowania do usługi sieciowej. Razem te dwie specyfikacje standaryzują uwierzytelnianie internetowe i sprawiają, że działa ono na wielu różnych klientach, serwerach i urządzeniach uwierzytelniających.