INCONE60 Green - Digital and green transition of small ports
Andrzej Chybicki: projekty związane z wykorzystaniem sztucznej inteligencji to znacząca część naszych projektów
Konfiguracja logowania bezhasłowego za pomocą Passkey na urządzeniu mobilnym

Nasz pierwszy wpis na temat Passkeys w Keycloak znajdziesz tu: Wprowadzenie do Passkeys w Keycloak

W naszym poprzednim wpisie pokazaliśmy, jak skonfigurować Passkeys w Keycloak, zastępując tradycyjne hasła uwierzytelnianiem opartym na WebAuthn. Omówiliśmy proces konfiguracji, kluczowe zalety oraz potencjalne ograniczenia. Ten wpis koncentruje się na konfiguracji Passkeys  dla urządzeń mobilnych, zapewniając płynne i bezpieczne logowanie bez hasła.

W tym wpisie ponownie omówimy konfigurację uwierzytelniania za pomocą Passkey w Keycloak, jednak tym razem wykorzystamy więcej niż jedno urządzenie.

Korzystanie z Passkey przechowywanego na telefonie

Podczas logowania na innym urządzeniu, takim jak laptop lub komputer stacjonarny, użytkownicy mogą uwierzytelnić się za pomocą Passkey przechowywanego na telefonie. Proces ten przebiega następująco:

  1. Wybór logowania za pomocą Passkey

    Zamiast wprowadzać hasło, użytkownik wybiera opcję uwierzytelniania za pomocą Passkey. Przeglądarka na laptopie generuje żądanie uwierzytelnienia. Następnie należy nawiązać bezpieczne połączenie między telefonem (np. iPhone) a laptopem.

  2. Skanowanie kodu QR

    Interfejs logowania generuje kod QR, który użytkownik skanuje aparatem telefonu. Laptop wysyła następnie kryptograficzne wyzwanie do telefonu, prosząc o podpisanie żądania za pomocą przechowywanego Passkey. Telefon komunikuje się z laptopem w sposób bezpieczny, wykorzystując Bluetooth lub inne protokoły łączności bliskiego zasięgu (np. NFC).

  3. Potwierdzenie tożsamości

    Po otrzymaniu wyzwania telefon prosi użytkownika o uwierzytelnienie biometryczne (np. Face ID lub Touch ID). Dzięki temu weryfikuje, czy osoba próbująca się zalogować jest uprawnionym użytkownikiem.

  4. Bezpieczne uwierzytelnienie

    Laptop sprawdza odpowiedź telefonu, weryfikując podpis kryptograficzny względem klucza publicznego zarejestrowanego w usłudze. Jeśli weryfikacja przebiegnie pomyślnie, użytkownik zostaje zalogowany bez konieczności wprowadzania hasła.

Krok po kroku: Konfiguracja Passkey za pomocą smartfona

Zanim przejdziemy do niestandardowego procesu uwierzytelniania, należy upewnić się, że w danym realmie jest włączona wymagana akcja WebAuthn Register Passwordless (Authentication → zakładka Required Actions).

Dzięki temu możemy na przykład wymusić konfigurację Passkey przez użytkowników po ich następnym pomyślnym logowaniu. Należy jednak pamiętać, że jest to tylko jedna z wielu metod konfigurowania uwierzytelniania wieloskładnikowego.

Gdy potwierdzimy, że ta opcja jest aktywna, możemy przejść do konfiguracji procesu uwierzytelniania.

Ten niestandardowy proces uwierzytelniania w Keycloak został zaprojektowany tak, aby pokazać, jak użytkownicy mogą wybierać między uwierzytelnianiem opartym na haśle a uwierzytelnianiem za pomocą Passkey (WebAuthn) podczas logowania. Oto jak to działa:

    • Użytkownicy muszą podać swoją nazwę użytkownika, aby kontynuować proces uwierzytelniania.
    • Ten krok wymusza uwierzytelnienie, jednak użytkownicy mogą wybrać między logowaniem opartym na haśle a logowaniem za pomocą Passkey.
    • Jeśli użytkownik wybierze uwierzytelnianie hasłem, wprowadza swoje dane logowania.
    • Jeśli preferuje logowanie bezhasłowe przy użyciu Passkey, może uwierzytelnić się tą metodą zamiast hasła.

Na tym etapie użytkownicy mogą wprowadzić swoją nazwę użytkownika lub adres e-mail, aby kontynuować proces uwierzytelniania. Jest to krok wymagany, który zapewnia, że system identyfikuje użytkownika przed udostępnieniem opcji uwierzytelniania.

Na tym etapie możliwe jest jedynie uwierzytelnianie za pomocą hasła, ponieważ Passkey (WebAuthn) nie został jeszcze skonfigurowany. Po jego ustawieniu użytkownicy będą mieli możliwość wyboru między uwierzytelnianiem opartym na haśle a logowaniem bezhasłowym.

Zamiast rejestrowania kodu PIN urządzenia, jak wspomniano wcześniej, w tym przykładzie użyjemy uwierzytelniania za pomocą telefonu, konkretnie iPhone’a.

Teraz powinien pojawić się kod QR, umożliwiający rejestrację Passkey na naszym koncie. Zeskanujmy go za pomocą aparatu w telefonie i zweryfikujmy operację, na przykład przy użyciu Face ID.

Teraz nasz Passkey powinien być widoczny w sekcji Credentials.

Podczas następnego logowania powinna pojawić się opcja wyboru między uwierzytelnianiem za pomocą hasła a uwierzytelnianiem za pomocą Passkey.

 

To rozwiązanie zwiększa wygodę użytkowników, umożliwiając im wybór preferowanej metody uwierzytelniania. Passkeys zapewniają bezpieczniejsze i odporne na phishing logowanie, podczas gdy hasła pozostają dostępne dla tych, którzy preferują tradycyjne metody. Dzięki tej elastyczności można zagwarantować zarówno bezpieczeństwo, jak i łatwy dostęp, dostosowany do różnych preferencji użytkowników.

 

Warto pamiętać, że tradycyjne hasła stanowią słabe ogniwo w bezpieczeństwie cyfrowym i często są narażone na ataki związane z ich ponownym użyciem, phishingiem lub wyciekami danych. Passkeys oferują nowoczesną metodę uwierzytelniania bez hasła, zwiększającą zarówno bezpieczeństwo, jak i wygodę użytkowania dzięki wykorzystaniu kryptograficznych par kluczy zarządzanych przez platformowe mechanizmy uwierzytelniania. Zapewniają odporność na phishing, płynny dostęp na różnych urządzeniach oraz zgodność ze standardami uwierzytelniania wieloskładnikowego (MFA).