Compartilhar via


Revogar uma credencial verificável emitida anteriormente

Como parte do processo de trabalho com as credenciais verificáveis, você precisa emitir credenciais. Às vezes você também tem que revogá-los. Neste artigo, revisamos a parte de propriedade Status da especificação de credenciais verificáveis. Também analisamos mais de perto o processo de revogação, por que queremos revogar credenciais e algumas implicações de dados e privacidade.

Por que você deseja revogar uma credencial verificável?

Cada cliente tem seus próprios motivos exclusivos para desejar revogar uma credencial verificável. Confira alguns dos temas comuns:

  • ID do aluno: o aluno não é mais um aluno ativo na universidade.
  • ID do funcionário: o funcionário não é mais um funcionário ativo.
  • Carteira de habilitação estadual: o motorista não reside mais nesse estado.

Como fazer para revogar um cartão de credencial verificável?

Ao usar a declaração indexada em credenciais verificáveis, você pode pesquisar credenciais verificáveis emitidas por essa declaração no portal e revogá-la.

  1. Vá até o painel ID Verificada no portal do Azure como um usuário administrador com permissão de chave de assinatura no Azure Key Vault.

  2. Selecionar o tipo de credencial verificável.

  3. No menu mais à esquerda, selecione Revogar uma credencial.

    Captura de tela que mostra a revogação de credenciais.

  4. Procure a declaração do índice do usuário que você deseja revogar. Indexar uma declaração é um requisito para pesquisar uma credencial.

    Captura de tela que mostra a credencial a ser revogada.

    Como estamos armazenando apenas um hash da declaração indexada da credencial verificável, apenas uma correspondência exata preenche os resultados da pesquisa. As informações inseridas na caixa de texto são codificadas em hash usando o mesmo algoritmo. Ele é usado como um critério de pesquisa para corresponder ao valor de hash armazenado.

  5. Depois que uma correspondência for encontrada, selecione a opção Revogar à direita da credencial que você deseja revogar.

    O usuário administrador que executa a operação de revogação deve ter permissão de chave de assinatura no Azure Key Vault, caso contrário, uma mensagem de erro “Não é possível acessar o recurso Key Vault com as credenciais fornecidas” aparece.

    Captura de tela que mostra um aviso informando que após a revogação o usuário ainda tem a credencial.

  6. Após a revogação bem-sucedida, você verá a atualização de status e uma faixa verde na parte superior da página.

    Captura de tela que mostra uma mensagem de credencial verificável revogada com êxito.

A API de Serviço de Solicitação indica uma credencial revogada no presentation_verifiedretorno de chamada como REVOKED. Dependendo de se a solicitação de apresentação especificar que permite que as credenciais revogadas sejam apresentadas, a apresentação de uma credencial revogada será bem-sucedida ou falhará.

Configurar uma credencial verificável com a capacidade de revogação

A ID verificada do Microsoft Entra não armazena dados de credencial verificáveis. O emissor precisa indexar uma declaração para tornar a credencial pesquisável. Apenas uma declaração pode ser indexada e, se não houver nenhuma, você não poderá revogar as credenciais. É incluído sal e código hash na declaração selecionada a ser indexada, e ela não é armazenada como o valor original.

Observação

O hash é uma operação criptográfica unidirecional que transforma uma entrada, chamada de preimage, e produz uma saída chamada hash que tem um comprimento fixo. No momento, não é computacionalmente viável reverter uma operação de hash.

Exemplo: no exemplo a seguir, displayName é a declaração de índice. Você pode pesquisar apenas através do nome completo do usuário e nada mais.

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

Você somente pode indexar uma declaração de um mapeamento de declaração de regras. Se você acidentalmente não tiver nenhuma declaração indexada em sua definição de regras e, posteriormente, corrigir essa supervisão, as credenciais verificáveis já emitidas não serão pesquisáveis, pois elas foram emitidas quando nenhum índice existia.

Como funciona a revogação?

A ID Verificada do Microsoft Entra implementa a W3C StatusList2021. Quando ocorrer a apresentação da API do Serviço de Solicitação, a API verificará o status de revogação. A verificação de revogação ocorre em uma chamada à API anônima para o Hub de Identidade e não contém nenhum dado que esteja verificando se a credencial verificável ainda é válida ou revogada. Com a statusList2021, a ID Verificada do Microsoft Entra mantém um sinalizador pelo valor hash da declaração indexada para acompanhar o status de revogação.

Dados de credenciais verificáveis

Em cada credencial verificável emitida pela Microsoft, há uma declaração chamada credentialStatus. Esses dados são um mapa de navegação para onde em um bloco de dados essa credencial verificável tem o sinalizador de revogação.

Observação

Se a credencial verificável for antiga e tiver sido emitida durante o período de versão prévia, essa declaração não existe. A revogação não funcionará para essa credencial e você precisará reemiti-la.

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

Ponto de extremidade da API do Hub de Identidade dos emissores

No documento do identificador descentralizado da parte emissora, o ponto de extremidade do Hub de Identidade está disponível na seção service.

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": [ ]
             }
         }
    ],

Próximas etapas