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.
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.
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:
- IETF selective disclosure of JSON web tokens (sd-jwt) VC
- ISO MDoc
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:
- 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.apkz 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.
- Pobierz aplikację portfela: zaloguj się na konto GitHub,
otwórz stronę GitHub Actions aplikacji portfela,
wybierz najnowszą udaną kompilację i pobierz plik
- Skompiluj z kodu źródłowego: sklonuj wymienione repozytoria i zainstaluj aplikację za pomocą Android Studio.
- Użyj gotowych plików APK:
- Otwórz przykładową aplikację portfela: otwórz przykładową aplikację portfela. Spowoduje to zarejestrowanie danych logowania portfela w Credential Manager.
- 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.
- 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
- Więcej informacji o wydawaniu danych logowania cyfrowych znajdziesz w przewodniku dla wystawców.
- Więcej informacji o aplikacjach portfeli znajdziesz w przewodniku dla portfeli.
- Więcej informacji o weryfikowaniu użytkowników na podstawie danych logowania cyfrowych znajdziesz w przewodniku dla aplikacji weryfikujących.
- Więcej informacji o danych logowania cyfrowych w internecie znajdziesz w artykule Dane logowania cyfrowe w internecie.