Google jobber med sikker lagring av digitale førerkort i Android

Android R kan støtte sikker lagring av mobile førerkort på enheter som Google Pixel 2, Google Pixel 3 eller Google Pixel 4.

Oppdatering 1 (3/6/19 @ 20:44 ET): Flere detaljer om Googles planer for IdentityCredential API har blitt delt av Shawn Willden, leder for Android-maskinvarestøttet sikkerhetsteam. Artikkelen er oppdatert med disse detaljene på slutten. Den opprinnelige artikkelen følger.

Å ha med lommebok har blitt mindre nødvendig for meg siden jeg begynte å bruke Google Pay for å administrere kredittkortene mine, men det er fortsatt ingen måte jeg kan reise hvor som helst uten førerkortet mitt. Jeg kjenner noen få personer som bruker lommebokvesker for å holde de få kortene de  Fortsett med personen deres, men jeg venter på dagen da jeg lovlig kan kjøre til Walmart med bare telefonen på meg. Et digitalt førerkort gir flere fordeler fremfor det tradisjonelle ID-kortet. Du kan ikke miste den, du kan oppdatere den eksternt slik at du ikke trenger å stå i kø ved DMV, du kan fjernslette den hvis telefonen din blir stjålet, det er mindre sannsynlig at du får identiteten din stjålet siden du ikke trenger å bære en lommebok med lett tilgjengelig informasjon, er det mindre sannsynlig at du lar telefonen være hjemme, og du vil ha lettere for å ta den opp på be om. Myndigheter over hele USA erkjenner sakte fordelene med et mobilt førerkort, og det er grunnen til at vi hører flere amerikanske stater tester bruken av dem hvert år.

For eksempel kan innbyggere i Louisiana laste ned Envoc-utviklet LA lommebok app som er godkjent av LAs rettshåndhevelse for lisensverifisering og LAs ATC for alkohol- og tobakkstransaksjoner. Aldersverifisering er spesielt interessant siden brukere kan begrense mobilappen til kun å vise nødvendig informasjon til en leverandør av alkohol eller tobakk. Andre steder, digitalt sikkerhetsselskap Gemalto samarbeider med Colorado, Idaho, Maryland, Washington D.C. og Wyoming for å kjøre pilotprogrammer før de ruller ut deres digitale førerkortløsning. Samtidig er American Association of Motor Vehicle Administrators arbeider med å standardisere denne nye formen for elektronisk identifikasjon.

Et eksempelbilde av et digitalt førerkort som er tilgjengelig via LA Wallet-appen. Kilde: Envoc

Det er imidlertid ulemper med det digitale førerkortet. Du har mye kontroll over hvem som får se din fysiske ID, men du har mindre kontroll over hvem eller hva har tilgang til sitt digitaliserte skjema. Du kan passord- eller PIN-beskytte telefonen din eller appen som henter mobillisensen din, men det er alltid en sjanse for at telefonen din og alle dens data kan bli kompromittert. I tillegg må du sørge for at telefonen har nok juice til å holde Android i gang, slik at du kan hente lisensen. Med IdentityCredential API, jobber Google med å løse begge disse problemene. I en fremtidig versjon av Android, kanskje Android R, vil enheter med riktig maskinvare kunne lagres sikkert ID-kort, spesielt digitale førerkort, og til og med få tilgang til dem når enheten ikke har nok strøm til å boot Android.

IdentityCredential API

Ved første øyekast virker ikke forpliktelsen, sendt inn av Shawn Willden, leder av Androids maskinvarestøttede Keystore-team, veldig interessant. Men hvis du ser på IdentityCredential- og IdentityCredentialStore-filene, vil du finne flere referanser til hva slags "identitetslegitimasjon" Google referer til. For eksempel bruker IdentityCredential en protokoll for nøkkelutvekslinger som "brukes av ISO18013-5 standard for mobile førerkort." Videre brukes denne protokollen som "grunnlag for pågående ISO-arbeid med andre standardiserte identitetsopplysninger." Selv om det er usannsynlig at vi snart vil se mobilpass, er det klart at denne API-en er ment for mer enn bare mobile førerkort.

Når Google graver dypere, utdyper de typene signeringsnøkler som støttes av IdentityCredential API. Det finnes to typer dataautentisering: statisk og dynamisk. Statisk autentisering involverer nøkler opprettet av en utstedende myndighet, mens dynamisk autentisering involverer nøkler opprettet av enhetens sikkerhetsmaskinvare (som f.eks. Titan M i Pixel 3 og Pixel 3 XL.) Fordelen med dynamisk autentisering er at det er vanskeligere for en angriper å kompromittere den sikre maskinvaren for å kopiere legitimasjonen til en annen enhet. Videre gjør dynamisk autentisering det vanskeligere å koble en bestemt legitimasjon med en brukers data.

En Android-app kan presentere en IdentityCredential til en leser ved å be brukeren om å starte en trådløs tilkobling via NFC. Apper anbefales for å beskytte disse transaksjonene ved å be om brukertillatelse i form av en dialogboks og/eller passordbeskyttelse.

Hvis en enhet har støttet maskinvare, vil "direkte tilgang"-modusen være tilgjengelig for å tillate at en IdentityCredential kan presenteres selv om det ikke er nok strøm til å holde Android i gang. Dette er bare mulig når enheten har diskret sikker maskinvare og nok strøm til å betjene den maskinvaren til å dele legitimasjonen over NFC. Enheter som Google Pixel 2 og Google Pixel 3 bør kvalifisere siden begge enhetene har manipulasjonssikre sikkerhetsmoduler som er atskilt fra hoved-SoC.

Hvis enheten ikke har en diskret sikker CPU, kan den fortsatt støtte IdentityCredential API, om enn uten støtte for direkte tilgang. Hvis legitimasjonslageret bare er implementert i programvare, kan det bli kompromittert av et angrep på kjernen. Hvis legitimasjonslageret er implementert i TEE, kan det bli kompromittert av sidekanalangrep på CPU som f.eks. Meltdown og Spectre. Hvis legitimasjonslageret er implementert i en separat CPU innebygd i samme pakke som hovedenheten CPU, den er motstandsdyktig mot fysiske maskinvareangrep, men kan ikke drives uten også å drive strømnettet PROSESSOR.

Følsomheten til dokumentet vil avgjøre om én eller flere av disse implementeringene av identitetslager vil bli støttet. Utviklere kan sjekke sikkerhetssertifiseringen av implementeringen av identitetslegitimasjonslageret. Identitetslegitimasjonsbutikkimplementeringer kan være usertifisert eller ha et Evaluation Assurance Level på 4 eller høyere. EAL forteller apputviklere hvor sikker implementeringen er mot potensielle angrep.

Som jeg nevnte før, har Google til hensikt at denne API-en skal brukes for alle standardiserte dokumenttyper, selv om de viser ISO 18013 mobile førerkort som et eksempel. Dokumenttypen er nødvendig slik at sikkerhetsmaskinvaren vet hvilken type legitimasjon det er i tilfelle direkte tilgangsmodus bør støttes, og for å tillate apper å vite hvilken type dokument en leser er ber om.

Det er all informasjonen vi har så langt om denne nye API-en. Siden vi er så nær utgivelsen av den første Android Q Developer Preview, tror jeg ikke det er sannsynlig at vi vil se støtte for sikker lagring av mobile førerkort i Android Q. Imidlertid kan denne API-en være klar når Android R rulles ut i 2020. Google Pixel 2, Google Pixel 3 og kommende Google Pixel 4 bør støtte denne API-en med direkte tilgangsmodus i Android R, takket være den nødvendige diskrete sikre CPU. Vi gir deg beskjed hvis vi får mer informasjon om hva Google har til hensikt å gjøre med denne API-en.


Oppdatering 1: Flere detaljer om IdentityCredential API

Shawn Willden, forfatteren av IdentityCredential API-forpliktelsen, delte ytterligere detaljer om API-en i kommentarfeltet. Han svarte på noen få kommentarer fra brukere, som vi vil gjengi nedenfor:

Bruker Munnimi uttalte:

"Og når politiet tar telefonen din og går til politibilen, kan de sjekke hva som er i telefonen."

Mr. Willden svarte:

«Det er noe jeg spesifikt jobber for å gjøre umulig. Hensikten er å strukturere flyten slik at betjenten ikke med fordel kan ta telefonen din. Tanken er at du trykker på NFC med offiserens telefon, låser opp med fingeravtrykk/passord, så går telefonen i låsemodus mens dataene overføres over bluetooth/Wifi. Låsemodus betyr at fingeravtrykkautentisering ikke låser den opp, et passord kreves. Dette er spesifikt for å fremtvinge påkallelse av den femte endringen beskyttelse mot selvinkriminering, som noen domstoler har funnet ikke hindre politiet i å tvinge deg til å låse opp med biometri, men alle er enige om at hindrer dem i å tvinge deg til å oppgi passordet ditt (i hvert fall i USA).

Merk at det er en ambisjon, ikke en forpliktelse. Måtene vi kan tvinge flyten på identitetsapputviklere er begrenset, for hvis vi går for langt kan de bare velg å ikke bruke våre APIer. Men det vi kan gjøre er å gjøre det lettere for dem å gjøre det rette, personvernsensitive, ting."

Bruker RobboW uttalte:

"Dette er ubrukelig i Australia. Vi er pålagt å ha vårt fysiske, offisielle førerkort med oss ​​mens vi kjører. En digital kopi er bare moden for identitetstyveri."

Mr. Willden svarte:

«Australia er en aktiv deltaker i ISO 18013-5-komiteen, og veldig interessert i å støtte mobile førerkort. Når det gjelder identitetstyveri, er det mange beskyttelser mot at det er innebygd. Artikkelen nevner noen av dem."

Bruker solitarios.lupus uttalte:

"Med tanke på hva denne siden gjør, tror jeg alle her vet at dette ikke vil fungere og er et stort sikkerhetsproblem for rettshåndhevelse. Å lett forfalske, forfalske og manipulere."

Mr. Willden svarte:

"Retint forfalskning vil være nesten umulig, fordi alle dataene er digitalt signert. Å forfalske en legitimasjon vil kreve å forfalske den digitale signaturen, som enten krever et radikalt brudd på den relevante kryptografi (som ville bryte TLS og stort sett alt annet) eller ellers stjele den utstedende myndighetens signering nøkler. Jevn endring, ved å ta noen signerte dataelementer fra en DL (f.eks. en fødselsdato som viser at du er over 21) og noen fra en annen (f.eks. ditt ekte bilde) vil være umulig, fordi signeringen dekker hele dokumentet, og binder alle elementene sammen."

Brukermerket sa:

"Hvis en fotokopi aldri var gyldig for ID, hvorfor gjør det en forskjell å være på en telefon? Selv om Google lover å gjøre det sikkert, hvordan hindrer det noen i å vise en falsk applikasjon?

Likevel, selv om det ikke finnes svar på det, tror jeg fortsatt at det er en god ting av grunnene gitt i denne artikkelen. Jeg vil gjerne ha det for pass - ikke for å reise nødvendigvis, men andre anledninger der ID er nødvendig (jeg kjører ikke, så passet mitt er min eneste ID).

Selvfølgelig ville jeg også foretrekke det hvis Storbritannia ikke var i ferd med å bli et "papirer vær så snill"-samfunn, der du trenger å få et pass skannet selv bare for å gå på en pub i noen tilfeller..."

Mr. Willden svarte:

«Digitale signaturer vil gjøre det sikkert. Du kan ha en falsk applikasjon, men den kan ikke produsere riktig signert data.

Pass er også mye i omfang for dette arbeidet, forresten. Førerkort er utgangspunktet, men protokollene og infrastrukturen blir nøye utformet for å støtte et bredt spekter av identitetsopplysninger, spesielt inkludert pass. Selvfølgelig må vi overbevise ICAO om å ta i bruk tilnærmingen, men jeg tror det er svært sannsynlig."


Takk til XDA Recognized Developer luca020400 for tipset!