Revogar uma credencial verificável
Como parte do processo de trabalho com credenciais verificáveis, você emite credenciais e, às vezes, precisa revogá-las. Neste artigo, analisamos a Status
parte da propriedade da especificação de credencial verificável. 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 suas próprias razões exclusivas para querer revogar uma credencial verificável. Aqui estão alguns cenários comuns:
- Cartão de estudante: O estudante não é mais um estudante ativo na universidade.
- ID do funcionário: o funcionário não é mais um funcionário ativo.
- Carteira de motorista estadual: O motorista não mora mais nesse estado.
Como funciona a revogação?
O Microsoft Entra Verified ID implementa o W3C StatusList2021. Quando a apresentação para a API do Serviço de Solicitação acontece, a API verifica o status de revogação. A verificação de revogação acontece por meio de uma chamada anônima de API para o Identity Hub e não contém dados sobre quem está verificando se a credencial verificável ainda é válida ou revogada. Com statusList2021
o , o Microsoft Entra Verified ID mantém um sinalizador pelo valor em 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 seu sinalizador de revogação.
Nota
Se a credencial verificável for antiga e tiver sido emitida durante o período de visualização, essa declaração não existirá. A revogação não funcionará para essa credencial e você terá que 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 Identity Hub do emissor
No documento de identificador descentralizado da parte emissora, o ponto de extremidade do Identity Hub está disponível na service
seção.
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 revogável verificável
A ID Verificada do Microsoft Entra não armazena dados de credenciais 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, você não poderá revogar credenciais. A declaração selecionada para indexar é então salgada e hashada e não é armazenada como seu valor original.
Nota
Hashing é 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. Não é computacionalmente viável, neste momento, 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ê só pode indexar uma declaração de um mapeamento de declarações de regras. Se você acidentalmente não tiver nenhuma declaração indexada em sua definição de regras e posteriormente corrigir essa supervisão, todas as credenciais verificáveis emitidas antes da alteração não poderão ser pesquisadas porque foram emitidas quando não existia índice.
Como posso revogar uma credencial verificável?
Você pode usar declarações indexadas em credenciais verificáveis para procurar credenciais verificáveis emitidas e revogá-las.
Vá para o painel ID Verificada no portal do Azure como um usuário administrador com permissão de chave de assinatura para o Cofre de Chaves do Azure.
Selecione 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. A indexação de uma declaração é um requisito para poder procurar uma credencial.
Importante
Armazenamos apenas uma versão em 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, elas são colocadas em hash usando o mesmo algoritmo. Esse valor em hash é usado para procurar uma correspondência com a declaração de hash armazenada. Se não encontrar uma correspondência, é possível que tenha introduzido as informações erradas ou que a declaração não esteja indexada.
Quando 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 para o Cofre da Chave ou então a mensagem de erro "Não é possível acessar o recurso do Cofre da Chave com credenciais fornecidas" aparece.
Após a revogação bem-sucedida, você verá a atualização de status e um banner verde aparecerá na parte superior da página.
A API do Serviço de Solicitação indica uma credencial revogada no retorno de presentation_verified
chamada como REVOKED
. Dependendo se a solicitação de apresentação especificou que permite que credenciais revogadas sejam apresentadas, a apresentação de uma credencial revogada será bem-sucedida ou falhará.