Android R może obsługiwać bezpieczne przechowywanie mobilnych praw jazdy na urządzeniach takich jak Google Pixel 2, Google Pixel 3 lub Google Pixel 4.
Aktualizacja 1 (3/6/19 o 20:44 ET): więcej szczegółów na temat planów Google dotyczących interfejsu API IdentityCredential udostępnił Shawn Willden, kierownik zespołu ds. bezpieczeństwa sprzętu Android. Artykuł został zaktualizowany o te szczegóły na końcu. Poniżej znajduje się oryginalny artykuł.
Odkąd zacząłem używać, noszenie portfela stało się dla mnie mniej koniecznością Google Pay zarządzać moimi kartami kredytowymi, ale nadal nie mogę nigdzie podróżować bez prawa jazdy. Znam kilka osób, które używają etui na portfele do przechowywania niewielkiej liczby kart musieć prowadź dalej, ale czekam na dzień, w którym będę mógł legalnie pojechać do Walmartu, mając przy sobie tylko telefon. Cyfrowe prawo jazdy oferuje wiele korzyści w porównaniu z tradycyjnym dowodem osobistym. Nie możesz go zgubić, możesz go zaktualizować zdalnie, dzięki czemu nie musisz stać w kolejce do DMV, możesz go zdalnie wyczyścić, jeśli Twój telefon zostanie skradziony, masz mniejsze szanse na odzyskanie tożsamości skradziony, ponieważ nie musisz nosić portfela z łatwo dostępnymi informacjami, rzadziej zostawiasz telefon w domu i łatwiej będzie Ci go poruszyć wniosek. Władze w całych Stanach Zjednoczonych powoli dostrzegają zalety mobilnego prawa jazdy, dlatego co roku coraz więcej stanów USA testuje jego przyjęcie.
Na przykład mieszkańcy Luizjany mogą pobrać plik Enwok-rozwinięty Portfel Los Angeles aplikacja, która została zatwierdzona przez organy ścigania Los Angeles do weryfikacji licencji i ATC w Los Angeles do transakcji związanych z alkoholem i wyrobami tytoniowymi. Weryfikacja wieku jest szczególnie interesująca, ponieważ użytkownicy mogą ograniczyć aplikację mobilną do pokazywania jedynie niezbędnych informacji sprzedawcy alkoholu lub wyrobów tytoniowych. W innym miejscu firma zajmująca się bezpieczeństwem cyfrowym Gemalto współpracuje z Kolorado, Idaho, Maryland, Waszyngtonem i Wyoming w celu przeprowadzenia programów pilotażowych przed wprowadzeniem rozwiązania w zakresie cyfrowego prawa jazdy. Jednocześnie, Amerykańskie Stowarzyszenie Administratorów Pojazdów Silnikowych pracuje nad standaryzacją tej nowej formy identyfikacji elektronicznej.
Cyfrowe prawo jazdy ma jednak wady. Masz dużą kontrolę nad tym, kto może zobaczyć Twój fizyczny identyfikator, ale masz mniejszą kontrolę nad tym, kto lub Co ma dostęp do jego postaci cyfrowej. Możesz zabezpieczyć swój telefon lub aplikację pobierającą licencję mobilną hasłem lub kodem PIN, ale zawsze istnieje ryzyko, że Twój telefon i wszystkie jego dane mogą zostać naruszone. Ponadto musisz upewnić się, że Twój telefon ma wystarczającą ilość soku, aby zapewnić działanie Androida, aby móc pobrać licencję. Z Interfejs API poświadczeń tożsamości, Google pracuje nad rozwiązaniem obu tych problemów. W przyszłej wersji Androida, być może Androida R, urządzenia z odpowiednim sprzętem będą mogły bezpiecznie przechowywać dane identyfikacyjnych, zwłaszcza cyfrowych praw jazdy, a nawet uzyskiwać do nich dostęp, gdy urządzenie nie ma wystarczającej mocy uruchom Androida.
Interfejs API poświadczeń tożsamości
Na pierwszy rzut oka zatwierdzenie przesłane przez Shawna Willdena, kierownika zespołu magazynu kluczy obsługującego sprzęt Androida, nie wydaje się zbyt interesujące. Jeśli jednak przejrzysz pliki IdentityCredential i IdentityCredentialStore, znajdziesz wiele odniesień do rodzaju „danych uwierzytelniających”, do których odnosi się Google. Na przykład IdentityCredential wykorzystuje protokół wymiany kluczy, który jest „używany przez ISO18013-5 standard dla mobilnych praw jazdy.” Ponadto protokół ten jest stosowany jako „podstawa bieżących prac ISO nad inne standardowe dane uwierzytelniająceChociaż jest mało prawdopodobne, że w najbliższym czasie pojawią się mobilne paszporty, jasne jest, że ten interfejs API jest przeznaczony do czegoś więcej niż tylko mobilnych praw jazdy.
Kopiąc głębiej, Google szczegółowo opisuje typy kluczy podpisywania obsługiwanych przez interfejs API IdentityCredential. Istnieją dwa rodzaje uwierzytelniania danych: statyczne i dynamiczne. Uwierzytelnianie statyczne obejmuje klucze tworzone przez organ wydający, natomiast uwierzytelnianie dynamiczne obejmuje klucze tworzone przez sprzęt zabezpieczający urządzenia (taki jak Tytan M w telefonach Pixel 3 i Pixel 3 XL). Zaletą uwierzytelniania dynamicznego jest to, że atakującemu trudniej jest złamać bezpieczny sprzęt i skopiować dane uwierzytelniające na inne urządzenie. Co więcej, uwierzytelnianie dynamiczne utrudnia powiązanie konkretnego uwierzytelnienia z danymi użytkownika.
Aplikacja na Androida może przedstawić czytelnikowi identyfikator IdentityCredential, prosząc użytkownika o zainicjowanie połączenia bezprzewodowego za pośrednictwem NFC. Zaleca się, aby aplikacje chroniły te transakcje, prosząc użytkownika o pozwolenie w formie okna dialogowego i/lub ochrony hasłem.
Jeśli urządzenie ma obsługiwany sprzęt, dostępny będzie tryb „bezpośredniego dostępu”, który umożliwi przedstawienie identyfikatora tożsamości, nawet jeśli nie ma wystarczającej mocy, aby zapewnić działanie systemu Android. Jest to możliwe tylko wtedy, gdy urządzenie ma dyskretny, bezpieczny sprzęt i wystarczającą moc do obsługi tego sprzętu w celu udostępniania danych uwierzytelniających przez NFC. Urządzenia takie jak Google Pixel 2 i Google Pixel 3 powinny się kwalifikować, ponieważ oba urządzenia tak mają odporne na manipulacje moduły zabezpieczające które są oddzielone od głównego SoC.
Jeśli urządzenie nie ma oddzielnego bezpiecznego procesora, nadal może obsługiwać interfejs API IdentityCredential, aczkolwiek bez obsługi dostępu bezpośredniego. Jeśli magazyn danych uwierzytelniających jest zaimplementowany wyłącznie w oprogramowaniu, może zostać naruszony w wyniku ataku na jądro. Jeśli magazyn danych uwierzytelniających jest zaimplementowany w TEE, może zostać naruszony przez ataki typu side-channel na procesor, takie jak Meltdown i Spectre. Jeśli magazyn danych uwierzytelniających jest zaimplementowany w oddzielnym procesorze osadzonym w tym samym pakiecie co plik main Procesor jest odporny na fizyczne ataki sprzętowe, ale nie można go zasilać bez zasilania głównego PROCESOR.
Wrażliwość dokumentu określi, czy obsługiwana będzie jedna lub więcej implementacji magazynu poświadczeń tożsamości. Deweloperzy mogą sprawdzić certyfikat bezpieczeństwa implementacji magazynu poświadczeń tożsamości. Implementacje magazynu danych uwierzytelniających tożsamość mogą być niecertyfikowane lub mieć poziom pewności oceny równy 4 lub wyższy. EAL informuje twórców aplikacji, jak bezpieczna jest implementacja przed potencjalnymi atakami.
Jak wspomniałem wcześniej, Google zamierza używać tego interfejsu API do dowolnego standardowego typu dokumentu, chociaż jako przykład podaje mobilne prawa jazdy ISO 18013. Typ dokumentu jest niezbędny, aby sprzęt zabezpieczający wiedział, jakiego rodzaju dane uwierzytelniające to dane powinien być obsługiwany tryb bezpośredniego dostępu i aby aplikacje mogły wiedzieć, jakiego typu dokument jest czytelnikiem prosząc.
To wszystkie informacje, jakie mamy do tej pory na temat nowego interfejsu API. Ponieważ jesteśmy tak blisko wydania pierwszej wersji Preview dla deweloperów Androida Q, nie sądzę, że jest prawdopodobne, że zobaczymy obsługę bezpiecznego przechowywania mobilnych praw jazdy w Androidzie Q. Jednak ten interfejs API może być gotowy do czasu wprowadzenia Androida R w 2020 r. Google Pixel 2, Google Pixel 3 i nadchodzący Google Pixel 4 powinny obsługiwać ten interfejs API w trybie bezpośredniego dostępu w systemie Android R, dzięki niezbędnemu, oddzielnemu, bezpiecznemu procesorowi. Poinformujemy Cię, jeśli dowiemy się więcej o tym, co Google zamierza zrobić z tym interfejsem API.
Aktualizacja 1: Więcej szczegółów na temat interfejsu API IdentityCredential
Shawn Willden, autor zatwierdzenia interfejsu API IdentityCredential, udostępnił dodatkowe szczegóły dotyczące interfejsu API w sekcjach komentarzy. Odpowiedział na kilka komentarzy użytkowników, które przytoczymy poniżej:
Użytkownik Munnimi stwierdził:
„A kiedy policja zabierze ci telefon i uda się do radiowozu, będzie mogła sprawdzić, co jest w telefonie”.
Pan Willden odpowiedział:
„To coś, nad czym szczególnie pracuję, aby było to niemożliwe. Celem jest takie zorganizowanie przepływu, aby funkcjonariusz nie mógł w pożyteczny sposób zabrać Twojego telefonu. Pomysł jest taki, że dotykasz NFC telefonem funkcjonariusza, następnie odblokowujesz go za pomocą odcisku palca/hasła, a następnie telefon przechodzi w tryb blokady, podczas gdy dane są przesyłane przez Bluetooth/Wi-Fi. Tryb blokady oznacza, że uwierzytelnianie odcisków palców nie odblokuje go, wymagane jest hasło. Ma to w szczególności na celu wymuszenie powołania się na piątą poprawkę dotyczącą ochrony przed samooskarżeniem, co zdaniem niektórych sądów nie ma miejsca uniemożliwiają policji zmuszanie Cię do odblokowania za pomocą danych biometrycznych, ale wszyscy się zgadzają, uniemożliwiają im zmuszenie Cię do podania hasła (przynajmniej w Stany Zjednoczone).
Pamiętaj, że jest to aspiracja, a nie zobowiązanie. Sposoby, w jakie możemy wymusić przepływ informacji na twórcach aplikacji tożsamości, są ograniczone, ponieważ jeśli posuniemy się za daleko, będzie to możliwe po prostu zdecyduj się nie używać naszych interfejsów API. Możemy jednak ułatwić im wykonywanie właściwych, wrażliwych na prywatność, rzecz."
Użytkownik RobboW stwierdził:
„To jest bezużyteczne w Australii. Podczas prowadzenia pojazdu jesteśmy zobowiązani mieć przy sobie fizyczne, oficjalne prawo jazdy. Kopia cyfrowa jest po prostu gotowa do kradzieży tożsamości.”
Pan Willden odpowiedział:
„Australia jest aktywnym uczestnikiem komitetu ISO 18013-5 i jest bardzo zainteresowana wspieraniem mobilnych praw jazdy. Jeśli chodzi o kradzież tożsamości, istnieje wiele wbudowanych zabezpieczeń przed kradzieżą. W artykule wspomniano o niektórych z nich.”
Użytkownik solitarios.lupus stwierdził:
„Biorąc pod uwagę funkcje tej witryny, myślę, że wszyscy tutaj wiedzą, że to nie zadziała i stanowi ogromny problem bezpieczeństwa dla organów ścigania. Łatwo je sfałszować, sfałszować i zmanipulować.”
Pan Willden odpowiedział:
„Bezpośrednie fałszerstwo będzie prawie niemożliwe, ponieważ wszystkie dane są podpisane cyfrowo. Sfałszowanie poświadczeń wymagałoby sfałszowania podpisu cyfrowego, co albo wymagałoby radykalnego złamania odpowiednich danych kryptografię (która złamałaby TLS i prawie wszystko inne) lub kradzież podpisu organu wydającego Klucze. Nawet modyfikacja poprzez pobranie niektórych podpisanych elementów danych z jednego DL (np. daty urodzenia wskazującej, że masz ukończone 21 lat), a niektórych z innego (np. Twoje prawdziwe zdjęcie) będzie niemożliwe, ponieważ podpisanie obejmuje cały dokument, wiążąc wszystkie elementy w całość.”
Znak użytkownika stwierdził:
„Jeśli kserokopia nigdy nie stanowiła dowodu tożsamości, dlaczego rozmawianie przez telefon robi różnicę? Nawet jeśli Google obiecuje zapewnić bezpieczeństwo, w jaki sposób może to powstrzymać kogoś przed wyświetleniem fałszywej aplikacji?
Mimo to, nawet jeśli nie ma na to odpowiedzi, nadal uważam, że jest to dobra rzecz z powodów podanych w tym artykule. Przydałby mi się do paszportów - niekoniecznie do podróży, ale na inne okazje, gdzie potrzebny jest dowód osobisty (nie prowadzę samochodu, więc mój paszport to mój jedyny dokument tożsamości).
Oczywiście też wolałbym, żeby Wielka Brytania nie przekształcała się w społeczeństwo „proszę o dokumenty”, w którym w niektórych przypadkach trzeba zeskanować paszport, nawet żeby pójść do pubu…”
Pan Willden odpowiedział:
„Podpisy cyfrowe zapewnią bezpieczeństwo. Możesz mieć fałszywą aplikację, ale nie może ona generować prawidłowo podpisanych danych.
Przy okazji, paszporty również mają duże znaczenie w tej pracy. Punktem wyjścia są prawa jazdy, ale protokoły i infrastruktura są starannie projektowane pod kątem obsługi szerokiego zakresu danych uwierzytelniających, w tym zwłaszcza paszportów. Oczywiście będziemy musieli przekonać ICAO do przyjęcia takiego podejścia, ale uważam, że jest to bardzo prawdopodobne”.
Dzięki uznanemu programiście XDA Luca020400 za wskazówkę!