Informacje o cyfrowych dokumentach tożsamości

Dane logowania cyfrowe to dokumenty cyfrowe, które można zweryfikować kryptograficznie. Użytkownicy mogą ich używać do podawania informacji o sobie oraz do uwierzytelniania i autoryzowania się. Dane logowania cyfrowe są oparte na otwartym standardzie branżowym W3C Digital Credentials API. Na Androidzie jest to realizowane za pomocą interfejsu Digital Credentials API w Menedżerze danych logowania.

Obraz przedstawiający proces korzystania z cyfrowych dokumentów tożsamości
Rysunek 1. Używanie danych logowania cyfrowych w przykładowej aplikacji.

Korzyści z cyfrowych certyfikatów

Dane logowania cyfrowe mają kilka zalet w porównaniu z danymi logowania fizycznymi i niestandardowymi dokumentami cyfrowymi:

  • Większe bezpieczeństwo i zaufanie: dane logowania cyfrowe są szyfrowane, co zapewnia integralność danych i autentyczność. Dzięki temu masz pewność, że dane logowania zostały wydane przez źródło, które można zweryfikować, i nie zostały naruszone.
  • Większa prywatność: wiele formatów danych logowania cyfrowych obsługuje selektywne ujawnianie informacji, co pozwala użytkownikom udostępniać tylko niezbędne informacje. Użytkownik może na przykład udostępnić dowód kwalifikacji do prowadzenia pojazdów bez ujawniania daty urodzenia.
  • Scentralizowane przechowywanie: użytkownicy mogą przechowywać różne dane logowania od różnych wystawców w portfelach cyfrowych na swoim urządzeniu, co zmniejsza potrzebę noszenia fizycznych kart.
  • Interoperacyjność: dzięki przestrzeganiu otwartych standardów dane logowania cyfrowe mogą działać w różnych systemach operacyjnych, na różnych urządzeniach i platformach.

Przypadki użycia

Interfejs Digital Credentials API może być używany w wielu przypadkach, takich jak:

  • Akceptowanie dokumentów tożsamości wydanych przez organ państwowy: aplikacje mogą prosić o atrybuty oficjalnych dokumentów państwowych i ich używać w procesach takich jak weryfikacja wieku, odzyskiwanie konta czy proces „Poznaj swojego klienta” (KYC).
  • Weryfikowanie numerów telefonów: aplikacje mogą używać interfejsu API do weryfikacji numeru telefonu przez wymianę danych logowania cyfrowych pochodzących z karty SIM bezpośrednio z operatorem użytkownika. Eliminuje to potrzebę używania haseł jednorazowych, zwiększa bezpieczeństwo i zmniejsza koszty transmisji. Więcej informacji znajdziesz w przewodniku po weryfikacji numeru telefonu.
  • Weryfikowanie adresów e-mail: interfejs API umożliwia aplikacji pobieranie zweryfikowanych adresów e-mail bezpośrednio z urządzenia użytkownika, co eliminuje potrzebę używania haseł jednorazowych i ułatwia rejestrację, logowanie i odzyskiwanie konta. Więcej informacji znajdziesz w przewodniku po potwierdzaniu adresu e-mail.
  • Niestandardowe dane logowania: rozszerzalność interfejsu API umożliwia każdej aplikacji rozpoczęcie wydawania własnych niestandardowych danych logowania cyfrowych, o które mogą prosić odpowiednie aplikacje weryfikujące.
  • Potwierdzanie danych logowania do płatności i transakcji: interfejs API umożliwia zabezpieczanie autoryzacji płatności i danych logowania do płatności cyfrowych za pomocą natywnego, kryptograficznie powiązanego potwierdzenia portfela.

Jak działają dane logowania cyfrowe

Ekosystem danych logowania cyfrowych obejmuje 3 główne kategorie aplikacji:

  • Wystawcy: są to aplikacje, które bezpiecznie tworzą i wydają dane logowania.
  • Portfele: są to aplikacje na urządzeniu użytkownika, które przechowują dane logowania. Powinny one umożliwiać udostępnianie tych danych logowania aplikacjom, które o nie proszą, w ramach procesu prezentacji.
  • Aplikacje weryfikujące: są to aplikacje, które weryfikują i używają danych logowania cyfrowych.

Interfejs Digital Credentials API w Menedżerze danych logowania koordynuje interakcje między aplikacjami wystawców, portfeli i aplikacji weryfikujących.

Gdy aplikacja weryfikująca wysyła prośbę o dane logowania cyfrowe, wysyła ją do systemu Android za pomocą interfejsu API. Menedżer danych logowania wyświetla wtedy kwalifikujące się dane logowania cyfrowe z różnych portfeli w zaufanym interfejsie systemu. Gdy użytkownik wyrazi zgodę na kontynuowanie, Menedżer danych logowania wywoła odpowiedni portfel, aby wygenerować odpowiedź.

Wrażenia użytkownika

Podobnie jak Credential Manager ma wbudowane interfejsy użytkownika do procesów uwierzytelniania, np. za pomocą kluczy dostępu, haseł i funkcji Zaloguj się przez Google, istnieją też standardowe interfejsy do różnych przypadków użycia interfejsu Digital Credentials API.

Dostępne są warianty interfejsu użytkownika dostosowane do konkretnych przypadków użycia. Gdy używasz interfejsu API, system Android automatycznie renderuje arkusze dolne uwzględniające kontekst, np. w tych scenariuszach:

  • Potwierdzanie adresu e-mail: interfejs wyświetla selektor kont z zweryfikowanym adresem e-mail i dostawcą tożsamości.
  • Weryfikacja numeru telefonu: interfejs zawiera kartę weryfikacji z reprezentowanymi operatorami sieci.
  • Wiele danych logowania: ten widok zawiera kilka kart i umożliwia grupowanie powiązanych elementów w jednym kliknięciu.
  • Dane logowania do płatności cyfrowych: ten arkusz płatności wyświetla szczegóły karty płatniczej, informacje o sprzedawcy i łączną kwotę transakcji, aby umożliwić natychmiastowe potwierdzenie.
Obraz przedstawiający warianty UX cyfrowych dokumentów tożsamości
Rysunek 2. Warianty interfejsu użytkownika dla danych logowania cyfrowych w scenariuszach potwierdzania adresu e-mail, weryfikacji telefonicznej i wielu danych logowania.

Standardy branżowe

Cyfrowe dane uwierzytelniające opierają się na standardach branżowych, aby zapewnić zgodność na wielu platformach. Powszechnie używane otwarte standardy to:

  • Udostępnianie: dane logowania cyfrowe są żądane zgodnie ze standardem OpenID4VP.
  • Wydawanie: dane logowania cyfrowe są wydawane zgodnie ze standardem OpenID4VCI.
  • Format przechowywania danych logowania: dane logowania cyfrowe są reprezentowane w standardowych formatach utrzymywanych przez różne organizacje normalizacyjne, głównie:

Te standardy są powszechnie używane na wielu platformach i w systemach operacyjnych, co umożliwia bezproblemowe działanie w przeglądarkach internetowych, na urządzeniach mobilnych i innych urządzeniach. Dzięki temu deweloperzy mogą wymieniać dane logowania cyfrowe z innymi aplikacjami niezależnie od platformy.

Wypróbuj

Możesz przetestować proces danych logowania cyfrowych na różnych platformach, instalując przykładowe aplikacje portfela i aplikacje weryfikujące na urządzeniu z Androidem.

Aby przetestować proces, wykonaj te czynności:

  1. Zainstaluj przykładowe aplikacje na urządzeniu z Androidem: zainstaluj aplikacje na pierwszym urządzeniu na jeden z tych sposobów:
    • Użyj gotowych plików APK:
      • Pobierz aplikację portfela: zaloguj się na konto GitHub, otwórz stronę GitHub Actions aplikacji portfela, wybierz najnowszą udaną kompilację i pobierz plik app-debug.apk z sekcji Artifacts (Artefakty). Ta aplikacja nazywa się CMWallet.
      • Pobierz aplikację weryfikującą: w przypadku przykładowej aplikacji weryfikującej pobierz plik APK z repozytorium Identity samples. Następnie zainstaluj plik APK na urządzeniu z Androidem. Ta aplikacja nazywa się Digital Credentials Demo.
    • Skompiluj z kodu źródłowego: sklonuj wymienione repozytoria i zainstaluj aplikację za pomocą Android Studio.
  2. Otwórz przykładową aplikację portfela: otwórz przykładową aplikację portfela. Spowoduje to zarejestrowanie danych logowania portfela w Credential Manager.
  3. Otwórz przykładową aplikację weryfikującą: otwórz przykładową aplikację weryfikującą. Następnie wybierz opcję żądania danych logowania cyfrowych z portfeli. Powinien się pojawić arkusz dolny z dostępnymi danymi logowania z aplikacji CMWallet.
  4. Wybierz dane logowania: wybierz dane logowania, które chcesz wysłać z powrotem do weryfikatora aplikacji. Aplikacja weryfikująca powinna teraz wyświetlać pola z zwróconych danych logowania.

Zasoby