Google sta lavorando per archiviare in modo sicuro le patenti di guida digitali in Android

Android R potrebbe supportare l'archiviazione sicura delle patenti di guida mobili su dispositivi come Google Pixel 2, Google Pixel 3 o Google Pixel 4.

Aggiornamento 1 (6/3/19 alle 20:44 ET): Maggiori dettagli sui piani di Google per l'API IdentityCredential sono stati condivisi da Shawn Willden, responsabile del team di sicurezza supportato da hardware Android. L'articolo è stato aggiornato con questi dettagli alla fine. Segue l'articolo originale.

Portare un portafoglio è diventato meno necessario per me da quando ho iniziato a usarlo GooglePay per gestire le mie carte di credito, ma non riesco ancora a viaggiare ovunque senza la patente di guida. Conosco alcune persone che usano custodie a portafoglio per contenere le poche carte che hanno dovere portare avanti la loro persona, ma sto aspettando il giorno in cui potrò legalmente guidare fino a Walmart con solo il mio telefono con me. Una patente di guida digitale offre molteplici vantaggi rispetto alla tradizionale carta d'identità. Non puoi perderlo, puoi aggiornarlo da remoto in modo da non dover fare la fila al DMV, puoi cancellarlo da remoto se il tuo telefono viene rubato, avrai meno probabilità di ottenere la tua identità rubato poiché non è necessario portare con sé un portafoglio con informazioni facilmente accessibili, è meno probabile che lasci il telefono a casa e ti sarà più facile portarlo su richiesta. Le autorità degli Stati Uniti stanno lentamente riconoscendo i vantaggi di una patente di guida mobile, motivo per cui sentiamo che sempre più stati degli Stati Uniti ne testano l'adozione ogni anno.

Ad esempio, i residenti in Louisiana possono scaricare il file Inviato-sviluppato Portafoglio di Los Angeles app che è stata approvata dalle forze dell'ordine di Los Angeles per la verifica della licenza e L'ATC di Los Angeles per le transazioni relative ad alcol e tabacco. La verifica dell'età è particolarmente interessante poiché gli utenti possono limitare l'app mobile a mostrare solo le informazioni necessarie a un venditore di alcol o tabacco. Altrove, società di sicurezza digitale Gemalto sta collaborando con Colorado, Idaho, Maryland, Washington D.C. e Wyoming per eseguire programmi pilota prima di implementare la soluzione per la patente di guida digitale. Allo stesso tempo, il Associazione americana degli amministratori di veicoli a motore sta lavorando per standardizzare questa nuova forma di identificazione elettronica.

Un'immagine di esempio di una patente di guida digitale a cui si accede tramite l'app LA Wallet. Fonte: Inv

Ci sono però degli svantaggi nella patente di guida digitale. Hai molto controllo su chi può vedere il tuo documento d'identità fisico, ma hai meno controllo su chi o Che cosa ha accesso alla sua forma digitalizzata. Puoi proteggere con password o PIN il tuo telefono o l'app che recupera la tua licenza mobile, ma c'è sempre la possibilità che il tuo telefono e tutti i suoi dati possano essere compromessi. Inoltre, devi assicurarti che il tuo telefono abbia abbastanza carica per mantenere Android in esecuzione in modo da poter ottenere la licenza. Con il API IdentityCredential, Google sta lavorando per risolvere entrambi questi problemi. In una futura versione di Android, forse Android R, i dispositivi con l'hardware giusto saranno in grado di archiviare in modo sicuro carte d'identità, in particolare patenti di guida digitali, e accedervi anche quando il dispositivo non ha abbastanza energia per farlo avviare Android.

API IdentityCredential

A prima vista, il commit, presentato da Shawn Willden, responsabile del team Keystore supportato da hardware di Android, non sembra molto interessante. Tuttavia, se visualizzi i file IdentityCredential e IdentityCredentialStore, troverai più riferimenti ai tipi di "credenziali di identità" a cui fa riferimento Google. Ad esempio, IdentityCredential utilizza un protocollo di scambio di chiavi che viene "utilizzato da ISO18013-5 standard per le patenti di guida mobili." Inoltre, questo protocollo viene utilizzato come "la base per il lavoro ISO in corso su altre credenziali di identità standardizzate." Anche se è improbabile che vedremo presto passaporti mobili, è chiaro che questa API è destinata a qualcosa di più delle semplici patenti di guida mobili.

Scavando più a fondo, Google approfondisce i tipi di chiavi di firma supportate dall'API IdentityCredential. Esistono due tipi di autenticazione dei dati: statica e dinamica. L'autenticazione statica coinvolge le chiavi create da un'autorità emittente, mentre l'autenticazione dinamica coinvolge le chiavi create dall'hardware di sicurezza del dispositivo (come il Titano M in Pixel 3 e Pixel 3 XL.) Il vantaggio dell'autenticazione dinamica è che è più difficile per un utente malintenzionato compromettere l'hardware sicuro per copiare le credenziali su un altro dispositivo. Inoltre, l'autenticazione dinamica rende più difficile collegare una particolare credenziale ai dati di un utente.

Un'app Android può presentare un IdentityCredential a un lettore chiedendo all'utente di avviare una connessione wireless tramite NFC. Si consiglia alle app di proteggere queste transazioni richiedendo l'autorizzazione dell'utente sotto forma di finestra di dialogo e/o protezione tramite password.

Se un dispositivo dispone dell'hardware supportato, sarà disponibile la modalità di "accesso diretto" per consentire la presentazione di un IdentityCredential anche se non c'è abbastanza energia per mantenere Android in esecuzione. Ciò è possibile solo quando il dispositivo dispone di hardware sicuro e discreto e di potenza sufficiente per far funzionare tale hardware e condividere le credenziali tramite NFC. Dispositivi come Google Pixel 2 e Google Pixel 3 dovrebbero essere idonei poiché entrambi i dispositivi lo hanno moduli di sicurezza antimanomissione separati dal SoC principale.

Se il dispositivo non dispone di una CPU sicura e discreta, può comunque supportare l'API IdentityCredential anche se senza supporto per l'accesso diretto. Se l'archivio credenziali è implementato solo nel software, può essere compromesso da un attacco al kernel. Se l'archivio credenziali è implementato nel TEE, può essere compromesso da attacchi del canale laterale sulla CPU come Fusione e Spettro. Se l'archivio credenziali è implementato in una CPU separata incorporata nello stesso pacchetto di main CPU, è resistente agli attacchi hardware fisici ma non può essere alimentata senza alimentare anche l'unità principale PROCESSORE.

La sensibilità del documento determinerà se una o più di queste implementazioni dell'archivio credenziali di identità saranno supportate. Gli sviluppatori possono verificare la certificazione di sicurezza dell'implementazione dell'archivio credenziali di identità. Le implementazioni dell'archivio credenziali di identità possono non essere certificate o avere un livello di garanzia della valutazione pari o superiore a 4. L'EAL indica agli sviluppatori di app quanto è sicura l'implementazione contro potenziali attacchi.

Come ho detto prima, Google intende che questa API venga utilizzata per qualsiasi tipo di documento standardizzato, sebbene elenchino come esempio le patenti di guida mobili ISO 18013. Il tipo di documento è necessario affinché l'hardware di sicurezza sappia di che tipo di credenziale si tratta dovrebbe essere supportata la modalità di accesso diretto e consentire alle app di sapere che tipo di documento è un lettore richiedente.

Queste sono tutte le informazioni che abbiamo finora su questa nuova API. Dato che siamo così vicini al rilascio della prima anteprima per sviluppatori di Android Q, non penso che vedremo il supporto per l'archiviazione sicura delle patenti di guida mobili in Android Q. Tuttavia, questa API potrebbe essere pronta quando Android R verrà lanciato nel 2020. Google Pixel 2, Google Pixel 3 e il prossimo Google Pixel 4 dovrebbero supportare questa API con modalità di accesso diretto in Android R, grazie alla necessaria CPU discreta e sicura. Ti faremo sapere se otteniamo ulteriori informazioni su ciò che Google intende fare con questa API.


Aggiornamento 1: maggiori dettagli sull'API IdentityCredential

Shawn Willden, l'autore del commit dell'API IdentityCredential, ha condiviso ulteriori dettagli sull'API nelle sezioni dei commenti. Ha risposto ad alcuni commenti degli utenti, che riproponiamo di seguito:

L'utente Munnimi ha dichiarato:

"E quando la polizia prende il tuo telefono e va alla macchina della polizia, può controllare cosa c'è nel telefono."

Il signor Willden ha risposto:

"Questo è qualcosa su cui sto lavorando specificatamente per renderlo impossibile. L'intenzione è strutturare il flusso in modo tale che l'ufficiale non possa utilmente prendere il tuo telefono. L'idea è di toccare NFC con il telefono dell'ufficiale, quindi sbloccarlo con l'impronta digitale/password, quindi il telefono entra in modalità di blocco mentre i dati vengono trasferiti tramite Bluetooth/Wifi. La modalità di blocco significa che l'autenticazione tramite impronta digitale non lo sbloccherà, è richiesta una password. Questo è specificamente per forzare l'invocazione della protezione del quinto emendamento contro l'autoincriminazione, cosa che alcuni tribunali hanno ritenuto non valida impediscono alla polizia di obbligarti a sbloccare con i dati biometrici, ma tutti sono d'accordo nell'impedire che ti obblighino a fornire la tua password (almeno in gli Stati Uniti).

Tieni presente che questa è un'aspirazione, non un impegno. I modi in cui possiamo forzare il flusso sugli sviluppatori di app di identità sono limitati, perché se andiamo troppo oltre, possono farlo scegli semplicemente di non utilizzare le nostre API. Ma quello che possiamo fare è rendere più semplice per loro agire in modo giusto, rispettoso della privacy e cosa."

L'utente RobboW ha dichiarato:

"Questo è inutile in Australia. Siamo tenuti ad avere con noi la nostra patente di guida fisica e ufficiale durante la guida. Una copia digitale è perfetta per il furto di identità."

Il signor Willden ha risposto:

"L'Australia partecipa attivamente al comitato ISO 18013-5 ed è molto interessata a supportare le patenti di guida mobili. Per quanto riguarda il furto di identità, ci sono molte protezioni contro questo furto integrato. L'articolo ne menziona alcuni."

L'utente solitarios.lupus ha dichiarato:

"Considerando ciò che fa questo sito, penso che tutti qui sappiano che non funzionerà e che costituisce un enorme problema di sicurezza per le forze dell'ordine. Facilmente forgiabile, falsificabile e manipolabile."

Il signor Willden ha risposto:

"La falsificazione totale sarà quasi impossibile, perché i dati sono tutti firmati digitalmente. La falsificazione di una credenziale richiederebbe la falsificazione della firma digitale che richiederebbe una rottura radicale della relativa crittografia (che romperebbe TLS e praticamente tutto il resto) oppure rubando la firma dell'autorità emittente chiavi. Anche alterazione, prelevando alcuni dati firmati da un DL (ad esempio una data di nascita che dimostri che hai più di 21 anni) e alcuni da un altro (ad esempio la tua vera foto) sarà impossibile, perché la firma copre l'intero documento, legando insieme tutti gli elementi."

Marchio dell'utente dichiarato:

"Se una fotocopia non è mai stata valida come documento d'identità, perché essere al telefono fa la differenza? Anche se Google promettesse di renderlo sicuro, come potrebbe impedire a qualcuno di mostrare un'applicazione falsa?

Tuttavia, anche se non ci sono risposte a questa domanda, penso comunque che sia una buona cosa per le ragioni esposte in questo articolo. Mi piacerebbe per i passaporti, non necessariamente per viaggiare, ma per altre occasioni in cui è necessaria la carta d'identità (non guido, quindi il mio passaporto è la mia unica carta d'identità).

Naturalmente, preferirei anche che il Regno Unito non si trasformasse in una società "papers please", dove in alcuni casi è necessario farsi scansionare il passaporto anche solo per andare in un pub..."

Il signor Willden ha risposto:

"Le firme digitali lo renderanno sicuro. Puoi avere un'applicazione falsa, ma non può produrre dati firmati correttamente.

Anche i passaporti sono molto utili per questo lavoro, a proposito. Le patenti di guida rappresentano il punto di partenza, ma i protocolli e le infrastrutture vengono progettati attentamente per supportare un’ampia gamma di credenziali di identità, compresi in particolare i passaporti. Naturalmente dovremo convincere l'ICAO ad adottare questo approccio, ma penso che sia molto probabile."


Grazie allo sviluppatore riconosciuto XDA luca020400 per la mancia!