Revogar uma Credencial verificável
Como parte do processo de trabalho com as credenciais verificáveis, você emite credenciais e, às vezes, você também precisa revogá-las. 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 revogar uma credencial verificável?
Cada cliente tem seus próprios motivos exclusivos para desejar revogar uma credencial verificável. Confira alguns cenários 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 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": [ ]
}
}
],
Criar uma credencial verificável revogável
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"
]
}
}
Importante
Você pode indexar somente 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 emitidas antes da alteração não serão pesquisáveis, pois elas foram emitidas quando nenhum índice existia.
Como fazer para revogar um cartão de credencial verificável?
Você pode usar declarações indexadas em credenciais verificáveis para pesquisar credenciais verificáveis emitidas e revogá-las.
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.
Selecionar o tipo de credencial verificável.
No menu mais à esquerda, selecione Revogar uma credencial.
Procure a declaração indexada do usuário que você deseja revogar. Indexar uma declaração é um requisito para pesquisar uma credencial.
Importante
Armazenamos apenas uma versão hash de uma declaração indexada. Isso significa que apenas correspondências exatas do valor armazenado na declaração indexada funcionam. Quando você insere informações na caixa de texto, ela é verificada por hash usando o mesmo algoritmo. Esse valor de hash é usado para pesquisar uma correspondência com a declaração de hash armazenada. Se você não encontrar uma correspondência, talvez tenha inserido as informações erradas ou a declaração pode não estar indexada.
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.
Após a revogação bem-sucedida, você verá a atualização de status e uma faixa verde na parte superior da página.
A API de Serviço de Solicitação indica uma credencial revogada no presentation_verified
retorno 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á.