Przewodnik dla programistów kluczy dostępu dla podmiotów uzależnionych

Dowiedz się, jak zintegrować klucze dostępu z usługą.

Anatomia systemu kluczy dostępu

System kluczy dostępu składa się z kilku komponentów:

  • Podmiot polegający: w kontekście kluczy dostępu podmiot polegający (w skrócie RP) zajmuje się wydawaniem kluczy dostępu i uwierzytelnianiem. Podmiot polegający musi obsługiwać klienta – stronę internetową lub aplikację, która tworzy klucze dostępu lub uwierzytelnia za ich pomocą – oraz serwer do rejestrowania, przechowywania i weryfikowania danych logowania generowanych przez klucze dostępu na urządzeniu klienta. Aplikacja mobilna klucza dostępu musi być powiązana z domeną serwera RP za pomocą mechanizmu powiązywania udostępnianego przez system operacyjny, takiego jak Digital Asset Links.
  • Authenticator: urządzenie elektroniczne, takie jak telefon komórkowy, tablet, laptop lub komputer stacjonarny, które może tworzyć i weryfikować klucze dostępu za pomocą funkcji blokady ekranu oferowanej przez system operacyjny.
  • Menedżer haseł: oprogramowanie zainstalowane na urządzeniach użytkownika, które udostępnia, przechowuje i synchronizuje klucze dostępu, np. Menedżer haseł Google.

Proces rejestracji

Użyj interfejsu WebAuthn API w witrynie lub biblioteki Credential Manager w aplikacji na Androida, aby utworzyć i zarejestrować nowy klucz dostępu.

Aby utworzyć nowy klucz dostępu, musisz podać kilka kluczowych komponentów:

  • Identyfikator RP: podaj identyfikator podmiotu polegającego na uwierzytelnianiu w formie domeny internetowej.
  • Informacje o użytkowniku: identyfikator użytkownika, nazwa użytkownika i wyświetlana nazwa.
  • Dane logowania do wykluczenia: informacje o wcześniej zapisanych kluczach dostępu, które mają zapobiegać duplikowaniu rejestracji.
  • Rodzaje kluczy dostępu: czy jako uwierzytelniania ma być używane samo urządzenie („uwierzytelnianie platformowe”), czy odłączany klucz bezpieczeństwa („uwierzytelnianie międzyplatformowe / roamingowe”). Oprócz tego wywołujący mogą określić, czy dane logowania mają być wykrywalne, aby użytkownik mógł wybrać konto, za pomocą którego chce się zalogować.

Gdy dostawca tożsamości poprosi o utworzenie klucza dostępu, a użytkownik potwierdzi to odblokowaniem ekranu, zostanie utworzony nowy klucz dostępu i zostaną zwrócone dane logowania klucza publicznego. Wyślij te dane na serwer i zapisz identyfikator danych logowania oraz klucz publiczny na potrzeby przyszłego uwierzytelniania.

Proces rejestracji

Dowiedz się, jak utworzyć i zarejestrować klucz dostępu:

Proces uwierzytelniania

Używaj interfejsu WebAuthn API w witrynie lub biblioteki Credential Manager w aplikacji na Androida, aby uwierzytelniać się za pomocą zarejestrowanego klucza dostępu.

Aby uwierzytelnić się za pomocą klucza dostępu, musisz podać kilka kluczowych komponentów:

  • Identyfikator RP: podaj identyfikator podmiotu polegającego na uwierzytelnianiu w formie domeny internetowej.
  • Challenge: wygenerowany przez serwer ciąg znaków, który zapobiega atakom typu replay.

Gdy dostawca tożsamości poprosi o uwierzytelnienie za pomocą klucza dostępu, a użytkownik potwierdzi je odblokowaniem ekranu, zostanie zwrócony klucz publiczny. Wyślij go na serwer i zweryfikuj podpis za pomocą zapisanego klucza publicznego.

Proces uwierzytelniania

Dowiedz się więcej o uwierzytelnianiu za pomocą klucza dostępu:

Integracje po stronie serwera

Po utworzeniu klucza dostępu serwer musi podać parametry klucza, takie jak wyzwanie, informacje o użytkowniku, identyfikatory wykluczonych danych logowania itp. Następnie weryfikuje utworzone dane logowania za pomocą klucza publicznego przesłane przez klienta i zapisuje klucz publiczny w bazie danych. Aby uwierzytelnić użytkownika za pomocą klucza dostępu, serwer musi dokładnie sprawdzić dane logowania i zweryfikować podpis, aby umożliwić użytkownikowi zalogowanie się.

Więcej informacji znajdziesz w naszych przewodnikach po stronie serwera:

Istniejące (starsze) mechanizmy uwierzytelniania

Gdy zaczniesz obsługiwać klucze dostępu w swojej usłudze, przejście ze starszego mechanizmu uwierzytelniania, takiego jak hasła, na klucze dostępu nie nastąpi w ciągu jednego dnia. Wiemy, że możesz chcieć jak najszybciej wyeliminować słabszą metodę uwierzytelniania, ale może to wprowadzić użytkowników w błąd lub spowodować, że niektórzy z nich nie będą mogli korzystać z usługi. Zalecamy tymczasowe zachowanie dotychczasowej metody uwierzytelniania.

Może się tak stać z kilku powodów:

  • Użytkownicy znajdują się w środowisku, które nie jest zgodne z kluczami dostępu: obsługa kluczy dostępu jest rozszerzana na różne systemy operacyjne i przeglądarki, ale użytkownicy starszych wersji nie mogą jeszcze z nich korzystać.
  • Ekosystem kluczy dostępu nie jest jeszcze w pełni rozwinięty: ekosystem kluczy dostępu wciąż się rozwija. Szczegóły UX i kompatybilność techniczną między różnymi środowiskami można ulepszyć.
  • Użytkownicy mogą nie być jeszcze gotowi na korzystanie z kluczy dostępu: niektórzy niechętnie podchodzą do nowości. W miarę rozwoju ekosystemu kluczy dostępu użytkownicy będą mogli przekonać się, jak działają klucze dostępu i dlaczego są dla nich przydatne.

Ponowne sprawdzenie dotychczasowego mechanizmu uwierzytelniania

Klucze dostępu upraszczają i zwiększają bezpieczeństwo uwierzytelniania, ale pozostawienie starych mechanizmów jest jak pozostawienie dziury. Zalecamy ponowne sprawdzenie i ulepszenie dotychczasowych mechanizmów uwierzytelniania.

Hasła

Tworzenie silnych haseł i zarządzanie nimi na każdej stronie to dla użytkowników trudne zadanie. Zdecydowanie zalecamy korzystanie z menedżera haseł wbudowanego w system lub samodzielnego. Wprowadzając niewielkie zmiany w formularzu logowania, witryny i aplikacje mogą znacząco poprawić bezpieczeństwo i ułatwić logowanie. Sprawdź, jak wprowadzić te zmiany:

Uwierzytelnianie dwuskładnikowe

Menedżer haseł ułatwia użytkownikom zarządzanie hasłami, ale nie wszyscy z niego korzystają. Prośba o dodatkowe dane logowania, czyli hasło jednorazowe, to powszechna praktyka stosowana w celu ochrony takich użytkowników. Kody OTP są zwykle dostarczane e-mailem, SMS-em lub za pomocą aplikacji uwierzytelniającej, takiej jak Google Authenticator. Kody OTP to zwykle krótkie teksty generowane dynamicznie, które są ważne tylko przez ograniczony czas, co zmniejsza prawdopodobieństwo przejęcia konta. Te metody nie są tak niezawodne jak klucz dostępu, ale są znacznie lepsze niż pozostawienie użytkownikom tylko hasła.

Jeśli wybierzesz SMS-a jako sposób dostarczania kodu OTP, zapoznaj się z tymi sprawdzonymi metodami, aby ułatwić użytkownikom wpisywanie kodu OTP.

Federacja tożsamości

Federacja tożsamości to kolejna opcja, która umożliwia użytkownikom bezpieczne i łatwe logowanie się. Dzięki federacji tożsamości witryny i aplikacje mogą umożliwiać użytkownikom logowanie się przy użyciu tożsamości dostarczonej przez zewnętrznego dostawcę tożsamości. Na przykład Zaloguj się przez Google zapewnia deweloperom wysoki współczynnik konwersji, a użytkownicy uważają, że jest to łatwiejsza i lepsza metoda uwierzytelniania niż uwierzytelnianie oparte na hasłach. Federacja tożsamości jest uzupełnieniem kluczy dostępu. Jest to świetne rozwiązanie do rejestracji, ponieważ witryna lub aplikacja może w jednym kroku uzyskać podstawowe informacje o profilu użytkownika. Klucze dostępu doskonale sprawdzają się natomiast w upraszczaniu ponownego uwierzytelniania.

Pamiętaj, że po wycofaniu przez Chrome plików cookie innych firm w 2024 r. niektóre systemy federacji tożsamości mogą zostać dotknięte w zależności od sposobu ich działania. Aby złagodzić ten wpływ, opracowywany jest nowy interfejs API przeglądarki o nazwie Federated Credential Management API (w skrócie FedCM). Jeśli jesteś dostawcą tożsamości, zapoznaj się ze szczegółami i sprawdź, czy musisz wdrożyć FedCM.

Logowanie za pomocą magicznego linku to metoda uwierzytelniania, w której usługa wysyła link do logowania w e-mailu, aby użytkownik mógł kliknąć go w celu uwierzytelnienia. Ułatwia to użytkownikom logowanie się bez konieczności zapamiętywania hasła, ale przełączanie się między przeglądarką lub aplikacją a klientem poczty może być uciążliwe. Mechanizm uwierzytelniania opiera się na adresie e-mail, więc słabe zabezpieczenia dostawcy poczty e-mail mogą narazić konta użytkowników na ryzyko.

Zasoby szkoleniowe

Sieć

Aby zintegrować klucze dostępu ze swoją witryną, użyj interfejsu Web Authentication API (WebAuthn). Więcej informacji znajdziesz w tych materiałach:

Android

Aby zintegrować klucze dostępu z aplikacją na Androida, użyj biblioteki Credential Manager. Więcej informacji znajdziesz w tych materiałach:

UX

Poznaj rekomendacje dotyczące wrażeń użytkowników kluczy dostępu: