Revocación de una credencial verificable que se ha emitido previamente

Nota

Verifiable Credentials de Azure Active Directory es ahora Verified ID de Microsoft Entra y forma parte de la familia de productos Microsoft Entra. Obtenga más información sobre la familia de soluciones de identidad Microsoft Entra y empiece a trabajar en el centro de administración unificado de Microsoft Entra.

Como parte del proceso de trabajo con credenciales verificables (VC), no solo tendrá que emitirlas. En ocasiones, también tendrá que revocarlas. En este artículo se analiza la parte de la propiedad Status de la especificación de VC y se examina con más detalle el proceso de revocación, por qué puede que deseemos revocar las credenciales, y algunas implicaciones en relación con los datos y la privacidad.

¿Por qué querría revocar una credencial verificable?

Cada cliente tendrá su propia razón para revocar una credencial verificable, pero estos son algunos de los motivos comunes que hemos oído hasta ahora.

  • Identificador de alumno: el alumno ya no está en activo en la universidad.
  • Identificador de empleado: el empleado ya no está en activo en la empresa.
  • Permiso de conducir estatal: el conductor ya no reside en ese estado.

¿Cómo se revoca una credencial verificable?

Con la notificación indexada en las credenciales verificables, puede buscar las credenciales verificables emitidas por esa notificación en el portal y revocarlas.

  1. Vaya a la hoja de Verified ID en Azure Portal como usuario administrador con permiso de clave de firma en Azure KeyVault.

  2. Seleccione el tipo de credencial verificable.

  3. En el menú de la izquierda, seleccione Revocación de credencialRevoke a credential

  4. Busque la notificación de índice del usuario que desea revocar. Si no ha indexado una notificación, la búsqueda no funcionará y no podrá revocar la credencial verificable.

    Captura de pantalla de la credencial que se va a revocar

    Nota

    Dado que solo se almacena un hash de la notificación indexada de la credencial verificable, únicamente se incluirá una coincidencia exacta en los resultados de la búsqueda. Lo que se introduce en el cuadro de texto se codifica mediante el mismo algoritmo y se usa como criterio de búsqueda para que coincida con el valor codificado y almacenado.

  5. Cuando se encuentre una coincidencia, seleccione la opción Revocar, situada a la derecha de la credencial que quiere revocar.

    Nota

    El usuario administrador que realiza la operación de revocación debe tener permiso de clave de firma en Azure KeyVault, de lo contrario recibirá el mensaje de error No se puede acceder al recurso de KeyVault con credenciales proporcionadas.

    Captura de pantalla de una advertencia que informa de que el usuario todavía tiene la credencial después de la revocación

  6. Una vez que la revocación se efectúe correctamente, verá la actualización de estado y aparecerá un banner verde en la parte superior de la página.

    Captura de pantalla de un mensaje sobre una credencial verificable revocada correctamente

Ahora, cada vez que se envía una presentación a la API del servicio de solicitudes, se comprobará si se ha revocado la VC.

Cómo configurar una credencial verificable con la posibilidad de revocación

Microsoft no almacena los datos de las credenciales verificables. Por lo tanto, el emisor debe realizar una notificación, la notificación indexada, antes de que se pueda buscar la VC. Solo puede haber una notificación indexada y, si no hay ninguna, no podrá revocar las credenciales. La notificación seleccionada para el índice se cifrar con sal, se aplica un hash y no se almacena como su valor original.

Nota:

Un algoritmo hash es una operación criptográfica unidireccional que convierte una entrada, llamada preimage, y produce una salida llamada "hash" que tiene una longitud fija. En este momento, no es factible desde una perspectiva computacional invertir una operación hash.

Ejemplo: en el ejemplo siguiente, displayName es la notificación de índice y la búsqueda se puede realizar mediante el nombre completo de los usuarios y nada más.

{
  "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"
    ]
  }
}

Nota

Solo se puede indexar una notificación de una asignación de notificaciones de reglas. Si de manera accidental no tiene ninguna notificación indexada en la definición de reglas y, posteriormente, lo corrige, las credenciales verificables que ya se han emitido no se podrán buscar, ya que se emitieron cuando no existía ningún índice.

¿Cómo funciona la revocación?

Verified ID de Microsoft Entra implementa statusList2021 de W3C. Cuando se produzca la presentación en la API del servicio de solicitudes, la API realizará automáticamente la comprobación de revocación. La comprobación de revocación se realiza mediante una llamada API anónima al centro de identidades y no contiene ningún dato que compruebe si la credencial verificable sigue siendo válida o está revocada. Con statusList2021, Verified ID de Microsoft Entra simplemente mantiene una marca con el valor del hash de la notificación indexada para realizar un seguimiento del estado de revocación.

Datos de las credenciales verificables

En cada credencial verificable emitida por Microsoft, hay un atributo llamado credentialStatus. Estos datos son un mapa de navegación sobre donde tiene esta VC su marca de revocación en un bloque de datos.

Nota

Si la credencial verificable es antigua y se emitió durante el período de versión preliminar, es posible que esta notificación no exista. La revocación no funcionará para esta credencial y tendrá que volver a emitirla.

...
"credentialStatus": { 
    "id": "urn:uuid:625dfcad-0000-1111-2222-333444445555?bit-index=31", 
    "type": "RevocationList2021Status", 
    "statusListIndex": 31, 
    "statusListCredential": "did:ion:EiDR0Y6zfvnUy2NjO293XNfe9AOL...<SNIP>...?service=IdentityHub&queries=...data..." 
...

Punto de conexión de la API del centro de identidades de los emisores

En el documento DID de la entidad emisora, el punto de conexión del centro de identidades está disponible en la sección service.

didDocument": {
    "id": "did:ion:EiD...<SNIP>",
    "@context": [
        "https://www.w3.org/ns/did/v1",
        {
            "@base": "did:ion:EiD...<SNIP>..."
        }
     ],
     "service": [
         {
             "id": "#linkeddomains",
             "type": "LinkedDomains",
             "serviceEndpoint": {
             "origins": [
                "https://contoso.com/"
                ]
             }
         },
         {
             "id": "#hub",
             "type": "IdentityHub",
             "serviceEndpoint": {
                "instances": [
                   "https://verifiedid.hub.msidentity.com/v1.0/11111111-2222-3333-4444-000000000000"
                ],
                "origins": [ ]
             }
         }
    ],

Pasos siguientes