Funkcjonalność
Passkeys
Jak działa: Używając passkeys, logowanie nie opiera się na haśle wielokrotnego użytku, które atakujący mógłby ukraść lub wyłudzić.
W skrócie
Passkeys pozwalają klientom logować się kluczem zapisanym na ich urządzeniu zamiast hasłem. Klucz jest powiązany z domeną Twojej strony, więc fałszywa strona nie dostaje niczego, co mogłaby użyć. Połączenia bazodanowe (database connections) w Auth0 obsługują passkeys.1
Powiązane funkcjonalności
- MFA odporne na phishing
- Wyciekłe hasła
- Wykrywanie botów
Co to jest i jakie ataki zatrzymuje
Hasło to sekret, który zna Twój klient, Twój system przechowuje jego zaszyfrowaną wersję, a atakujący może próbować zdobyć go z obu stron. Klienci często też używają tego samego hasła w wielu serwisach.
Passkeys działają inaczej - przypisane do urządzenia trzymają klucz prywatny na urządzeniu klienta, a urządzenie używa go tylko dla domeny strony, dla której klucz utworzono.1
Art. 21 ust. 2 lit. j dyrektywy NIS2 wymienia stosowanie uwierzytelniania wieloskładnikowego lub ciągłego uwierzytelniania wśród środków zarządzania ryzykiem cyberbezpieczeństwa.5
Usunięcie hasła wielokrotnego użytku zatrzymuje ataki, takie jak:
Wyłudzanie haseł (phishing)
Fałszywa strona logowania zbiera hasło wpisane przez klienta. Używając passkeys nie ma hasła do wpisania, więc fałszywa strona nie ma niczego, co mogłaby odtworzyć.
Credential stuffing
Atakujący testują losowe wyciekłe pary adresu e-mail i hasła na Twojej stronie logowania. Przy logowaniu z passkey nie ma hasła, więc taki atak jest niemożliwy.
Powtarzane hasła
Klient używa tego samego hasła w Twoim serwisie i w mniejszym serwisie, który padł ofiarą wycieku. Passkey powstaje tylko dla Twojej strony, więc nie ma czego przenieść.
Password spraying i zgadywanie haseł
Atakujący próbują popularnych haseł na wielu kontach, ale konta logujące się poprzez passkeys nie posiadają haseł do odgadnięcia.
Wycieki baz haseł
Wyciek bazy ujawnia hasła klientów. System z passkeys przechowuje klucz, który nie pozwala atakującemu się zalogować samym ujawnionym hasłem.
Przed i po wdrożeniu funkcjonalności
Jak to robi Auth0
Auth0 obsługuje passkeys w połączeniach bazodanowych (database connections), a klucze bezpieczeństwa WebAuthn można dodać jako faktor MFA.
Klient zaczyna logowanie
Klient otwiera stronę logowania Twojej aplikacji, obsługiwaną przez Auth0.4
Urządzenie potwierdza obecność klienta
Urządzenie podpisuje żądanie kluczem prywatnym. Klient potwierdza na urządzeniu, na przykład biometrią lub PIN-em.1
Auth0 weryfikuje i loguje klienta
Auth0 sprawdza podpisaną odpowiedź względem passkey zarejestrowanego dla konta i akceptuje logowanie.1
Fałszywa strona
Prawdziwe logowanie Auth0
Jak wdrażamy to w Zelto
Technologia za Auth0 to gotowa i sprawdzona połowa - Zelto planuje, jak Twoi klienci przechodzą z haseł na passkeys. Wdrażamy etapami, aby zminimalizować ryzyko i skutki dla rejestracji, logowania i wsparcia. Dbamy też o proces odzyskiwania dostępu, którego atakujący nie obejdzie szybką rozmową.
Typowy przebieg wdrożenia
Sprawdzamy, jak klienci logują się dziś
Spisujemy aplikacje, połączenia, metody logowania i urządzenia, z których korzystają klienci.
Decydujemy, gdzie pasują passkeys
Wybieramy, w których ścieżkach klienta oferujemy passkeys najpierw, i czy zastępują hasło, czy działają obok niego. Do tego używamy database connections w Auth0.
Pilotaż na małej grupie klientów
Zaczynamy od ograniczonej grupy lub jednej aplikacji, ustalamy właściciela po Twojej stronie. Ustalamy też, kiedy rozszerzamy zakres i pod jakimi warunkami go wycofujemy (roll-back).
Przygotowujemy wsparcie i odzyskiwanie dostępu
Spisujemy kroki odzyskiwania dostępu po zgubieniu lub wymianie urządzenia. Zespół wsparcia dostaje odpowiedzi na potencjalne pytania klientów.
Rozszerzamy zakres i ograniczamy hasła
Zachęcamy do rejestracji passkeys i ograniczamy zależność od haseł, gdy to tylko możliwe. Metody zapasowe przeglądamy regularnie.
Pułapki, które uwzględniamy w planie
Klient gubi telefon, na którym ma passkey.
−Wpuszczamy klienta linkiem e-mail lub kodem SMS, z którego może skorzystać każdy, kto ma dostęp do skrzynki lub karty SIM.
+Oferujemy proces odzyskiwania dostępu, który weryfikuje tożsamość klienta, a potem prosimy o rejestrację nowego passkey.
Klienci logują się z kilku urządzeń i przeglądarek.
−Oferujemy passkey tylko na pierwszym urządzeniu, więc na każdym innym klienci wracają do hasła.
+Zachęcamy do dodania passkey na każdym używanym urządzeniu i testujemy ścieżkę na przeglądarkach i urządzeniach, które klienci faktycznie mają.
Passkeys są dodane obok istniejących haseł.
−Hasła zostają w pełni aktywne na zawsze, więc atakujący nadal celują w tę drogę.
+Z czasem ograniczamy użycie haseł, w miarę jak rośnie rejestracja passkeys, i regularnie przeglądamy pozostałe wyjątki.
Klient dostaje prośbę o utworzenie passkey bez wyjaśnienia.
−Pokazujemy techniczny komunikat, którego klienci nie rozumieją, po czym zamykają stronę i nigdy nie rejestrują swojego passkey.
+Wyjaśniamy jednym prostym zdaniem, po co i kiedy utworzyć passkey, i proponujemy to zaraz po udanym logowaniu klienta.
Passkey synchronizuje się na każde urządzenie w koncie chmurowym klienta.
−Traktujemy zsynchronizowane passkeys jak w pełni odporne na phishing, choć każdy, kto ma dostęp do konta chmurowego, może zarejestrować ten sam passkey gdzie indziej.
+Decydujemy, w których ścieżkach klienta dopuszczamy synchronizowane passkeys, wymagamy drugiego faktora tam, gdzie ryzyko jest wyższe, i zostawiamy proces odzyskiwania, który nie opiera się wyłącznie na e-mailu lub SMS-ie.
Chcesz, aby klienci logowali się bez haseł i bez wdrożenia, które utknie w połowie?
Sprawdzimy, jak dziś logują się Twoi klienci. Potem powiemy, gdzie najpierw pasują passkeys.
Umów rozmowę30 minut, bez prezentacji. Sprawdzamy, jak dziś logują się Twoi klienci.Powiązane wpisy na blogu
Notatki z wdrożeń
Źródła
Oficjalna dokumentacja Okta i Auth0 oraz źródła prawne
- 1Passkeys in Auth0 database connectionsAuth0 Docs
- 2Configure WebAuthn security keys as an MFA factorAuth0 Docs
- 3Multi-factor authenticationAuth0 Docs
- 4Auth0 Universal LoginAuth0 Docs
- 5Directive (EU) 2022/2555 (NIS2)EUR-Lex