Informazioni sulle credenziali digitali

Le credenziali digitali sono documenti digitali verificabili tramite crittografia che gli utenti possono utilizzare per fornire informazioni su di sé e per autenticarsi o autorizzarsi. Le credenziali digitali si basano sullo standard di settore dell'API Digital Credentials W3C aperta. Su Android, questa API viene implementata tramite l'API Digital Credentials di Credential Manager.

Immagine che mostra il flusso di utilizzo di una credenziale digitale
Figura 1. Utilizzo di una credenziale digitale in un'app di esempio.

Vantaggi delle credenziali digitali

Le credenziali digitali offrono diversi vantaggi rispetto alle credenziali fisiche e ai documenti digitali non standardizzati:

  • Maggiore sicurezza e attendibilità: le credenziali digitali sono criptate, il che garantisce l'integrità e l'autenticità dei dati. In questo modo, si ha la certezza che la credenziale sia stata emessa da una fonte verificabile e che non sia stata manomessa.
  • Maggiore privacy: molti formati di credenziali digitali supportano la divulgazione selettiva, che consente agli utenti di condividere solo le informazioni necessarie. Ad esempio, un utente potrebbe condividere la prova della qualifica di guida senza rivelare la data di nascita.
  • Archiviazione consolidata: gli utenti possono archiviare varie credenziali di diversi emittenti in portafogli digitali, tutto sul proprio dispositivo, riducendo la necessità di portare con sé le carte fisiche.
  • Interoperabilità: grazie agli standard aperti, le credenziali digitali possono funzionare su diversi sistemi operativi, dispositivi e piattaforme.

Casi d'uso

L'API Digital Credentials può essere utilizzata in un'ampia gamma di casi d'uso, ad esempio:

  • Accettare documenti di identità rilasciati dal governo: le app possono richiedere e utilizzare gli attributi dei documenti ufficiali del governo per i flussi, tra cui la verifica dell'età, il recupero dell'account e la procedura Know-Your-Customer (KYC).
  • Verificare i numeri di telefono: le app possono utilizzare l'API per la verifica dei numeri di telefono, scambiando le credenziali digitali derivate dalla scheda SIM del telefono direttamente con l'operatore dell'utente. In questo modo, non è più necessario utilizzare le password monouso (OTP), la sicurezza viene migliorata e i costi di trasmissione vengono ridotti. Per ulteriori informazioni, consulta la guida alla verifica del numero di telefono.
  • Verificare gli indirizzi email: l'API consente alla tua app di recuperare le email verificate direttamente dal dispositivo dell'utente, eliminando la necessità di utilizzare le OTP per la registrazione, l'accesso e il recupero dell'account senza problemi. Per ulteriori informazioni, consulta la guida alla verifica dell'email.
  • Credenziali personalizzate: l'estensibilità dell'API consente a qualsiasi app di iniziare a emettere le proprie credenziali digitali personalizzate, che i verificatori corrispondenti possono richiedere.
  • Confermare le credenziali di pagamento e le transazioni: l'API consente di proteggere le autorizzazioni di pagamento e le credenziali di pagamento digitale (DPC) con la conferma del portafoglio nativa e associata tramite crittografia.

Come funzionano le credenziali digitali

L'ecosistema delle credenziali digitali comprende tre categorie principali di app:

  • Emittenti: le app che creano ed emettono credenziali in modo sicuro.
  • Titolari (portafogli): le app sul dispositivo di un utente che archiviano le credenziali. Devono essere in grado di condividere queste credenziali con le app che le richiedono tramite una procedura di presentazione.
  • Verificatori: le app che verificano e utilizzano le credenziali digitali.

L'API Digital Credentials di Credential Manager orchestra l'interazione tra le app emittenti, titolari e verificatrici.

Quando un verificatore effettua una richiesta di credenziali digitali, invia una richiesta al sistema Android tramite l'API. Credential Manager mostra quindi le credenziali digitali idonee di vari titolari all'interno di un'interfaccia utente di sistema attendibile. Una volta che l'utente accetta di procedere, Gestore delle credenziali richiama il titolare corrispondente per generare la risposta.

Esperienza utente

Analogamente a come Credential Manager ha interfacce utente integrate per i flussi di autenticazione, ad esempio con passkey, password e Accedi con Google, esistono anche interfacce standardizzate per i vari casi d'uso dell'API Digital Credentials.

Esistono varianti dell'interfaccia utente personalizzate per casi d'uso specifici. Quando utilizzi l'API, il sistema Android esegue automaticamente il rendering dei fogli inferiori sensibili al contesto, ad esempio per i seguenti scenari:

  • Verifica dell'email: l'interfaccia mostra un selettore di account con l'indirizzo email verificato e il provider di identità.
  • Verifica del numero di telefono: l'interfaccia include una scheda di verifica con gli operatori di rete rappresentati.
  • Più credenziali: questa visualizzazione impila più schede e consente di raggruppare gli elementi correlati in un unico tocco.
  • Credenziali di pagamento digitale: questo foglio di pagamento mostra i dettagli della carta di pagamento , le informazioni sul commerciante e l'importo totale della transazione per la conferma immediata.
Immagine che mostra le varianti UX delle credenziali digitali
Figura 2. Le varianti UX per le credenziali digitali per la verifica email, la verifica telefonica e gli scenari con più credenziali.

Standard di settore

Le credenziali digitali si basano su standard di settore per garantire la compatibilità multipiattaforma. Gli standard aperti di uso comune sono:

  • Condivisione: le credenziali digitali vengono richieste utilizzando lo standard OpenID4VP .
  • Emissione: le credenziali digitali vengono emesse utilizzando lo standard OpenID4VCI .
  • Formato di archiviazione delle credenziali: le credenziali digitali sono rappresentate in formati standardizzati gestiti da diversi organismi di standardizzazione, principalmente i seguenti:

Questi standard sono ampiamente utilizzati su più piattaforme e sistemi operativi, consentendo un funzionamento senza problemi su browser web, dispositivi mobili e altri fattori di forma. In questo modo, gli sviluppatori possono scambiare credenziali digitali con altre app indipendentemente dalla piattaforma su cui si trovano.

Prova

Puoi testare il flusso di credenziali digitali multipiattaforma installando le app di esempio per titolari e verificatori su un dispositivo con Android.

Per testare il flusso, completa i seguenti passaggi:

  1. Installa le app di esempio sul dispositivo con Android: utilizza uno dei seguenti metodi per installare le app sul primo dispositivo:
    • Utilizza gli APK precompilati:
      • Scarica l'app per titolari: accedi al tuo account GitHub, vai alla pagina Azioni GitHub dell'app per titolari, seleziona l'ultima build riuscita e scarica il app-debug.apk file dalla sezione Artifacts. Questa app si chiama CMWallet.
      • Scarica l'app per verificatori: per l'app di esempio per verificatori, scarica l' APK dal repository di esempi di identità. Quindi, installa l'APK sul tuo dispositivo con Android. Questa app si chiama Digital Credentials Demo.
    • Compila dal codice sorgente: clona i repository menzionati e installa l' app utilizzando Android Studio.
  2. Apri l'app di esempio per titolari: apri l'app di esempio per titolari. In questo modo, le credenziali del titolare vengono registrate in Credential Manager.
  3. Apri l'app di esempio per verificatori: apri l'app di esempio per verificatori. Quindi, seleziona l'opzione per richiedere le credenziali digitali dai portafogli. Dovrebbe essere visualizzato un foglio inferiore con le credenziali disponibili di CMWallet.
  4. Seleziona una credenziale: seleziona una credenziale da inviare all'app per verificatori. L'app per verificatori dovrebbe ora mostrare i campi della credenziale restituita.

Risorse