Le credenziali digitali sono documenti verificabili tramite crittografia che possono essere utilizzati per autenticare, autorizzare o fornire in altro modo informazioni su un utente. In genere si tratta di documenti come patenti di guida, passaporti digitali, tessere di imbarco e così via. Si trovano in contenitori virtuali chiamati portafogli digitali e fanno parte di uno standard W3C che specifica come accedervi e recuperarli. Questo standard è implementato per i casi d'uso web con l'API W3C Credential Management e su Android con l'API DigitalCredential di Credential Manager.
Informazioni sulle credenziali digitali
Nel mondo fisico, una persona potrebbe tenere il proprio documento di identità nel portafoglio e presentarlo a chi lo richiede:
In questo caso, in genere un utente ha un unico portafoglio e recupera le credenziali richieste dal portafoglio per presentarle all'autore della richiesta. I portafogli sono per lo più intercambiabili e in genere possono memorizzare le stesse cose.
Le credenziali digitali presentano alcune differenze principali:
- Gli utenti dovrebbero avere più portafogli che possono contenere varie credenziali diverse. I portafogli determinano quali credenziali possono essere memorizzate al loro interno.
- Ora il richiedente è un'applicazione anziché una persona reale e viene chiamato verificatore.
- La presentazione delle credenziali avviene nel software, il che significa che un'interfaccia API recupera e presenta le credenziali. In Android, si tratta di Credential Manager.
Di conseguenza, Gestore delle credenziali assume diversi ruoli precedentemente gestiti dall'utente:
- Su Android, i portafogli devono registrare i metadati delle credenziali con Credential Manager per essere elencati nell'interfaccia utente di Credential Manager.
- Credential Manager associa le credenziali tra i portafogli in base alla richiesta e presenta un elenco da selezionare per l'utente.
- Quando l'utente seleziona una credenziale nell'elenco, Gestore delle credenziali invoca il portafoglio, che gestisce il resto della transazione (visualizzazione delle UI e così via) e restituisce la credenziale all'applicazione.
Questo flusso è mostrato qui:
Esperienza utente
Come mostrato nel flusso di Android, l'utente deve interagire una sola volta con l'UI di Gestore delle credenziali per selezionare la credenziale appropriata. Ecco un esempio di come appare il selettore:

Standard
Le richieste di credenziali digitali vengono create utilizzando lo standard OpenID4VP. Puoi vedere richieste di esempio sul sito di dimostrazione delle credenziali digitali.
Le risposte alle credenziali digitali vengono in genere restituite in un formato standardizzato. Questi sono gestiti da diversi enti di standardizzazione e includono W3C Verifiable Credentials, sd-jwt e mdoc.
Sono possibili anche protocolli personalizzati, anche se consigliamo di utilizzare uno dei protocolli standard nella tua applicazione.
Prova
Puoi testare il flusso delle credenziali digitali tra le piattaforme con un portafoglio Android e un verificatore basato sul web:
- Installa l'esempio pubblico CMWallet sul tuo smartphone Android.
Per farlo, puoi eseguire il pull dal repository e installare direttamente da Android Studio oppure visitare la pagina https://github.com/digitalcredentialsdev/CMWallet/actions e selezionare la build più recente per accedere all'ultimo file
app-debug.apk
. - Apri CMWallet per registrare i metadati in Credential Manager. Assicurati che il Bluetooth sia attivo per consentire ai dispositivi di connettersi tra loro.
- Vai alla pagina https://digital-credentials.dev/ e seleziona
Request Credentials (OpenID4VP)
. - Accetta le richieste di avviso e scansiona il codice QR con lo smartphone, quindi seleziona "Usa passkey" e tocca la conferma per visualizzare le credenziali disponibili.
- Seleziona la credenziale da CMWallet per tornare al browser. Il browser dovrebbe mostrare la credenziale restituita.
Vedi anche
- Per scoprire di più sull'utilizzo di Gestore delle credenziali per richiedere credenziali digitali nella tua app, leggi la pagina API Credential Verifier.
- Per scoprire di più su come creare un portafoglio digitale utilizzando Gestore delle credenziali, consulta la pagina API Titolare della credenziale.