Revocare una credenziale verificabile
Nell'ambito del processo di utilizzo delle credenziali verificabili, si rilasciano le credenziali e talvolta è necessario revocarle. In questo articolo viene esaminata la Status
parte delle proprietà della specifica delle credenziali verificabili. Esaminiamo anche in modo più approfondito il processo di revoca, il motivo per cui vogliamo revocare le credenziali e alcune implicazioni per i dati e la privacy.
Perché revocare una credenziale verificabile?
Ogni cliente ha i propri motivi univoci per revocare una credenziale verificabile. Ecco alcuni scenari comuni:
- ID studente: lo studente non è più uno studente attivo all'università.
- ID dipendente: il dipendente non è più un dipendente attivo.
- Patente di guida di Stato: il conducente non vive più in questo stato.
Come funziona la revoca?
ID verificato di Microsoft Entra implementa W3C StatusList2021. Quando si verifica la presentazione all'API del servizio di richiesta, l'API controlla lo stato di revoca. Il controllo delle revoche avviene tramite una chiamata API anonima all'hub di identità e non contiene dati su chi controlla se le credenziali verificabili sono ancora valide o revocate. Con statusList2021
, ID verificato di Microsoft Entra mantiene un flag in base al valore hash dell'attestazione indicizzata per tenere traccia dello stato di revoca.
Dati delle credenziali verificabili
In ogni credenziale verificabile rilasciata da Microsoft è presente un'attestazione denominata credentialStatus
. Questi dati sono una mappa di navigazione in cui in un blocco di dati questa credenziale verificabile ha il flag di revoca.
Nota
Se la credenziale verificabile è obsoleta ed è stata rilasciata durante il periodo di anteprima, questa attestazione non esiste. La revoca non funzionerà per questa credenziale ed è necessario riemetterla.
...
"credentialStatus": {
"id": "urn:uuid:00aa00aa-bb11-cc22-dd33-44ee44ee44ee?bit-index=31",
"type": "RevocationList2021Status",
"statusListIndex": 31,
"statusListCredential": "did:web:verifiedid.contoso.com?service=IdentityHub&queries=...data..."
...
Endpoint dell'API dell'hub di identità dell'autorità emittente
Nel documento identificatore decentralizzato dell'entità emittente, l'endpoint dell'hub di identità è disponibile nella service
sezione .
didDocument": {
"id": "did:web:verifiedid.contoso.com",
"@context": [
"https://www.w3.org/ns/did/v1",
{
"@base": "did:web:verifiedid.contoso.com"
}
],
"service": [
{
"id": "#linkeddomains",
"type": "LinkedDomains",
"serviceEndpoint": {
"origins": [
"https://verifiedid.contoso.com/"
]
}
},
{
"id": "#hub",
"type": "IdentityHub",
"serviceEndpoint": {
"instances": [
"https://verifiedid.hub.msidentity.com/v1.0/00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
],
"origins": [ ]
}
}
],
Creare credenziali verificabili revocabili
ID verificato di Microsoft Entra non archivia i dati delle credenziali verificabili. L'autorità emittente deve indicizzare un'attestazione per rendere la ricerca delle credenziali. È possibile indicizzare una sola attestazione e, se non esiste, non è possibile revocare le credenziali. L'attestazione selezionata per l'indice viene quindi salata e con hash e non viene archiviata come valore originale.
Nota
L'hashing è un'operazione di crittografia unidirezionale che trasforma un input, denominato preimage
, e produce un output denominato hash con lunghezza fissa. Al momento non è fattibile dal punto di vista computazionale annullare un'operazione hash.
Esempio: nell'esempio seguente è displayName
l'attestazione di indice. È possibile eseguire la ricerca solo tramite il nome completo dell'utente e nient'altro.
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": true
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Importante
È possibile indicizzare un'attestazione solo da un mapping di attestazioni regole. Se non si dispone accidentalmente di attestazioni indicizzate nella definizione delle regole e successivamente si corregge questa supervisione, tutte le credenziali verificabili rilasciate prima della modifica non saranno ricercabili perché sono state rilasciate quando non esiste alcun indice.
Ricerca per categorie revocare una credenziale verificabile?
È possibile usare le attestazioni indicizzate nelle credenziali verificabili per cercare le credenziali verificabili rilasciate e revocarle.
Passare al riquadro ID verificato nel portale di Azure come utente amministratore con l'autorizzazione di firma della chiave per Azure Key Vault.
Selezionare il tipo di credenziale verificabile.
Nel menu a sinistra selezionare Revoca credenziali.
Cercare l'attestazione indicizzata dell'utente da revocare. L'indicizzazione di un'attestazione è un requisito per poter cercare credenziali.
Importante
Viene archiviata solo una versione con hash di un'attestazione indicizzata. Ciò significa che solo corrisponde esattamente al valore archiviato nel lavoro dell'attestazione indicizzata. Quando si immettono informazioni nella casella di testo, viene eseguito l'hashing usando lo stesso algoritmo. Questo valore con hash viene quindi usato per cercare una corrispondenza con l'attestazione hash archiviata. Se non si trova una corrispondenza, è possibile che siano state immesse le informazioni errate o che l'attestazione non sia indicizzata.
Quando viene trovata una corrispondenza, selezionare l'opzione Revoca a destra delle credenziali da revocare.
L'utente amministratore che esegue l'operazione di revoca deve disporre dell'autorizzazione della chiave di firma per Key Vault oppure viene visualizzato il messaggio di errore "Impossibile accedere alla risorsa di Key Vault con credenziali specificate".
Dopo la revoca, viene visualizzato l'aggiornamento dello stato e viene visualizzato un banner verde nella parte superiore della pagina.
L'API del servizio di richiesta indica una credenziale revocata nel presentation_verified
callback come REVOKED
. A seconda che la richiesta di presentazione abbia specificato che consente di presentare le credenziali revocate, la presentazione di una credenziale revocata ha esito positivo o negativo.