Revocare una credenziale verificabile rilasciata in precedenza

Come parte del processo di utilizzo delle credenziali verificabili, è necessario rilasciare le credenziali. A volte devi anche revocarli. 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é si vuole revocare una credenziale verificabile?

Ogni cliente ha i propri motivi univoci per revocare una credenziale verificabile. Ecco alcuni dei temi 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.

Ricerca per categorie revocare una credenziale verificabile?

Usando l'attestazione indicizzata nelle credenziali verificabili, è possibile cercare le credenziali verificabili rilasciate da tale attestazione nel portale e revocarla.

  1. Passare al riquadro ID verificato nel portale di Azure come utente amministratore con l'autorizzazione di firma della chiave per Azure Key Vault.

  2. Selezionare il tipo di credenziale verificabile.

  3. Nel menu a sinistra selezionare Revoca credenziali.

    Screenshot che mostra la revoca delle credenziali.

  4. Cercare l'attestazione di indice dell'utente da revocare. L'indicizzazione di un'attestazione è un requisito per poter cercare credenziali.

    Screenshot che mostra le credenziali da revocare.

    Poiché viene archiviato solo un hash dell'attestazione indicizzata dalle credenziali verificabili, solo una corrispondenza esatta popola i risultati della ricerca. Le informazioni immesse nella casella di testo vengono con hashing usando lo stesso algoritmo. Viene usato come criterio di ricerca per trovare la corrispondenza con il valore con hash archiviato.

  5. 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".

    Screenshot che mostra un avviso che indica che dopo la revoca l'utente ha ancora le credenziali.

  6. Dopo la revoca, viene visualizzato l'aggiornamento dello stato e viene visualizzato un banner verde nella parte superiore della pagina.

    Screenshot che mostra un messaggio di credenziale verificabile revocato correttamente.

L'API del servizio di richiesta indica una credenziale revocata nel presentation_verifiedcallback 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.

Configurare una credenziale verificabile con la possibilità di revocare

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. In questo momento non è fattibile a livello di calcolo 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": "8d5b446e-22b2-4e01-bb2e-9070f6b20c90",
        "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"
    ]
  }
}

È possibile indicizzare una sola attestazione da un mapping di attestazioni regole. Se non si dispone accidentalmente di attestazioni indicizzate nella definizione delle regole e successivamente si corregge questa supervisione, le credenziali verificabili già rilasciate non saranno ricercabili perché sono state rilasciate quando non esiste alcun indice.

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:625dfcad-0000-1111-2222-333444445555?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/11111111-2222-3333-4444-000000000000"
                ],
                "origins": [ ]
             }
         }
    ],

Passaggi successivi