Co to jest klucz dostępu i co to oznacza dla Twojej aplikacji konsumenckiej?

Hasła stanowią przedmiot problemu od dawna. Notorycznie wielu z nas domyślnie używa przewidywalnych, słabych haseł, a nawet jeśli tego nie robimy, zapamiętywanie skomplikowanych staje się wyzwaniem.

Niepokojący jest fakt, że nawet silne hasła zawierające skomplikowane kombinacje nie są odporne na phishing i oszustwa. Menedżery haseł były rozwiązaniem tymczasowym, ale mają swoje wady i luki w zabezpieczeniach.

Ale horyzont przynosi coś obiecującego: po prawie dziesięciu latach tworzenia klucze mają zrewolucjonizować nasze bezpieczeństwo cyfrowe. Oto wprowadzenie na temat tego, czym one są, w jaki sposób mają zmienić krajobraz uwierzytelniania cyfrowego i co to będzie oznaczać dla Twojej aplikacji konsumenckiej.

Zrozumienie kluczy dostępu

Zamiast tradycyjnej kombinacji nazwy użytkownika i hasła, hasło zapewnia bezpieczniejszą i łatwiejszą metodę logowania się do platform internetowych. Piękno kluczy polega na tym, że opierają się na kryptografii klucza publicznego. Bez zagłębiania się w szczegóły techniczne – za każdym razem, gdy się logujesz, Twoje urządzenie otrzymuje unikalne dane logowania.

Proces ten minimalizuje ryzyko zdobycia informacji przez hakerów. Ten przełom jest wynikiem wysiłków FIDO Alliance, konsorcjum gigantów technologicznych, takich jak Apple, Google, Microsoft i wielu innych, które dostrzegło pilną potrzebę opracowania bezpieczniejszej metody uwierzytelniania.

Jak działają klucze dostępu?

Klucze dostępu wchodzą w zakres uwierzytelniania sieciowego (WebAuthn). System ten wykorzystuje kryptografię klucza publicznego, wypróbowaną i przetestowaną metodę stosowaną przez różne bezpieczne platformy przesyłania wiadomości i płatności.

Oto krótki podział:

  • Klucze publiczne i prywatne: Po utworzeniu konta generowane są dwa klucze. Klucz publiczny, który jest przechowywany na serwerach usługi, nie musi być poufny. Natomiast klucz prywatny pozostaje chroniony na Twoim urządzeniu.
  • Proces uwierzytelniania: Podczas logowania usługa wykorzystuje Twój klucz publiczny w celu sprawdzenia Twojego urządzenia. Klucz prywatny na Twoim urządzeniu spełnia to wyzwanie, nie ujawniając żadnych wrażliwych szczegółów. Zapewnia to bezpieczne uwierzytelnianie odporne na hakerów.
  • Dla użytkowników proces ten pozostaje w dużej mierze niewidoczny. Jedyne, co napotkasz, to prosty monit urządzenia lub przeglądarki o podanie kodu PIN lub weryfikację biometryczną, taką jak FaceID lub TouchID.

    Klucze dostępu mają dodatkową warstwę, która synchronizuje te klucze pomiędzy odpowiednimi usługami chmurowymi dużych technologii (Apple, Google, Microsoft). Ta ważna warstwa wypełnia lukę w zakresie doświadczenia użytkownika, umożliwiając płynne przełączanie między urządzeniami bez konieczności ponownej rejestracji kluczy, co uznano za znaczącą lukę w stosunku do głównego nurtu przyjęcia FIDO2.

    Ponieważ klucze dostępu z definicji obejmują wiele czynników, spełniają definicję uwierzytelniania wieloskładnikowego (MFA), w szczególności spełniając następujące warunki:

    • Współczynnik posiadania (coś, co posiadasz) – użytkownik posiada urządzenie zawierające klucz prywatny
    • Czynnik wrodzony lub współczynnik wiedzy – dane biometryczne użytkownika (FaceID, Touch ID, odcisk palca) lub kod PIN urządzenia

    Te właściwości sprawiają, że klucze dostępu są prawidłowym jedynym czynnikiem uwierzytelniania w scenariuszach logowania lub uzupełniają inne czynniki w scenariuszach uwierzytelniania stopniowego. Sprawdź to Demo kluczy do wdrożenia w świecie rzeczywistym.

    Kompatybilność urządzenia

    W tej chwili trwają prace nad wieloplatformową funkcjonalnością kluczy dostępu. Urządzenia Apple z systemem iOS i macOS obsługują klucze, podobnie jak urządzenia Google z systemem Android. Microsoft również ulepsza obsługę kluczy dostępu, wprowadzając na horyzoncie znaczące aktualizacje.

    Oto aktualność lista obsługiwanych urządzeń.

    Co możesz zrobić, aby rozpocząć wdrażanie kluczy dostępu?

    Wdrożenie kluczy dostępu może być proste, pod warunkiem, że dysponuje się niezbędną infrastrukturą. Krytycznym elementem architektury jest usługa zaplecza lub serwer WebAuthn, który udostępnia punkty końcowe API zaplecza umożliwiające zarządzanie pełnym cyklem życia zarządzania kluczami dostępu.

    Po ustanowieniu usługi WebAuthn niezbędny jest dostęp do zestawów SDK i bibliotek po stronie klienta w celu przeprowadzenia ceremonii rejestracji i weryfikacji po stronie klienta. Dobra wiadomość jest taka, że ​​istnieje obecnie wiele powszechnie dostępnych bibliotek po stronie klienta, które mogą uprościć ten proces. Na przykład Authsignal zapewnia następujące zestawy SDK tutaj:

    • Javascript SDK dla kluczy dostępu
    • Reaguj natywny SDK dla kluczy
    • Zestaw SDK systemu iOS dla kluczy dostępu
    • Android SDK dla kluczy dostępu

    Należy zauważyć, że integracja techniczna to tylko część szerszego wdrożenia. Należy dobrze rozumieć doświadczenie użytkownika i względy bezpieczeństwa. The uwagi dotyczące implementacji klucza dostępu zostały szczegółowo wyjaśnione w poście na blogu.

    Passkeys, przyszłość jest teraz.

    Znajdujemy się obecnie w ekscytującym momencie szybkiego dojrzewania technologii Passkeys. Nowoczesne przeglądarki i urządzenia, szczególnie w ekosystemie Apple i Android, szeroko obsługują klucze dostępu, a popularne aplikacje konsumenckie udostępniają teraz funkcje klucza dostępu (np. Kayak, TikTok). Wreszcie, integracja techniczna została uproszczona dzięki gotowym do użycia rozwiązaniom dotyczącym kluczy dostępu, takim jak Authsignal, oferującym wszystkie części składowe, takie jak zaplecza usługa WebAuthn i klienckie zestawy SDK.

    Nie powinno być żadnych poważnych wymówek ani barier, aby Twoja aplikacja przyjęła klucze dostępu jako kluczowy element interakcji z klientami, oferując im bezproblemową obsługę, ale co ważniejsze, bardzo bezpieczną.