Saltar para o conteúdo principal

Emissão de credenciais explicada: da oferta à credencial aceite

O OpenID4VCI é a norma europeia para colocar uma credencial na wallet de alguém: um diploma, um registo comercial, um certificado de inspeção. Entregar uma parece um único momento para o titular, mas várias coisas têm de encaixar por detrás, e cada uma delas pode falhar à sua maneira. Esta página percorre isso, usando uma transportadora como exemplo.

Duas formas de começar uma emissão

A maior parte das emissões começa com o emissor a oferecer uma credencial, normalmente como código QR ou ligação. Se o titular tem depois de se autenticar depende de uma coisa: o emissor já sabe com quem está a lidar. Ambos os caminhos terminam no mesmo sítio, com a credencial na wallet.

O titular já é conhecido

1. Issuer

Já sabe com quem está a lidar e oferece a credencial ali mesmo

2. Wallet

Aceita a oferta, por vezes confirmando um código curto enviado à parte

3. Wallet

Recolhe a credencial e liga-a a este dispositivo

O titular tem de se autenticar primeiro

1. Wallet

Começa a partir de uma oferta, ou vai ao emissor por iniciativa do titular

2. Autenticação do emissor

Conduz o titular pela autenticação e pela aceitação do que vai ser emitido

3. Wallet

Recolhe a credencial e liga-a a este dispositivo

O ciclo de vida completo de uma oferta de credencial

Uma emissão percorre os passos abaixo. Cada um pode falhar por si, e são essas falhas que uma linha de apoio acaba por tratar, por isso vale a pena saber onde se situam antes de desenhar o processo à sua volta.

Oferta criada
um código QR ou uma ligação abre a wallet
Oferta recebida
o titular aceita
Oferta aceite
a wallet prova que é o dispositivo certo
Credencial solicitada
o emissor assina a credencial
Credencial emitida
a wallet verifica-a e guarda-a
Guardada na wallet
Onde pode falhar, pela ordem em que os passos ocorrem:
A oferta expirou antes de ser usada
O emissor recusou o titular
Não foi possível produzir a credencial
O titular optou por não a guardar

Um exemplo prático: um certificado de inspeção para uma frota de transporte de mercadorias

Um centro de inspeção de veículos emite um certificado de inspeção para a business wallet de uma transportadora após uma inspeção de rotina. O inspetor já confirmou presencialmente quem é o gestor de frota no centro de inspeção, pelo que não há razão para o obrigar a autenticar-se de novo.

1. A oferta

O terminal no centro de inspeção mostra um código QR

Lê-lo abre a wallet e mostra que credencial está a ser oferecida

2. O que está a ser oferecido

A wallet lê a descrição da credencial publicada pelo emissor

Assim o gestor de frota vê o que o certificado contém antes de aceitar seja o que for

3. Confirmação

A wallet confirma um código curto que o centro de inspeção enviou por SMS ao gestor de frota

Quem fotografa o código QR por cima do ombro continua a não conseguir recolher o certificado

4. Ligá-la à wallet

A wallet prova que detém um segredo que nunca sai do dispositivo

O certificado está ligado a esse segredo, pelo que uma cópia dele não vale nada noutro dispositivo

5. Emitido e guardado

O centro de inspeção assina o certificado e a wallet guarda-o

A partir daqui a transportadora pode mostrá-lo a um cliente ou a um agente fiscalizador em segundos

Quando a credencial ainda não está pronta

O exemplo acima pressupõe que o resultado da inspeção é definitivo. Se um resultado limite tiver de passar primeiro por um inspetor sénior, o certificado não pode ser entregue no momento. A norma cobre esse caso em vez de obrigar o gestor de frota a voltar.

Emitida no momento

O titular sai com a credencial na sua wallet, de uma só vez.

Emitida mais tarde

O emissor diz que precisa de mais tempo, e a wallet recolhe a credencial assim que ela estiver pronta. O titular não tem de começar de novo nem de voltar presencialmente.

Fechar o ciclo

Depois da emissão, a wallet pode dizer ao emissor como ela terminou. Isto é opcional para ambos os lados e a entrega não é garantida, pelo que é útil para detetar um fluxo avariado, mas um emissor não pode concluir nada de uma mensagem que nunca chega.

Wallet

Pode dizer ao emissor como terminou a emissão

Guardada

A credencial está na wallet e pronta a usar

Falhou

Algo correu mal, por exemplo a credencial não passou na verificação

Recusada

O titular optou por não a guardar

O que isto significa para si

Issuer

Uma forma normalizada de entregar credenciais que todas as wallets conformes aceitam, sem integração por wallet e sem um portal onde os titulares tenham de se autenticar.

Titular

Vê o que lhe está a ser dado antes de o aceitar, e fica ligado ao seu dispositivo e não a uma autenticação que possa perder.

Verificador

As credenciais chegam já verificadas e já ligadas à wallet que as apresenta, pelo que aceitar uma é uma verificação e não uma investigação.

Aprofundamento técnico

Esta página explica o que a tecnologia faz e a quem diz respeito. A nossa documentação para programadores cobre a implementação em si: as mensagens, os campos e os exemplos práticos de que uma equipa de integração precisa.

Ler a documentação técnica

Termos relacionados

Perguntas frequentes

Quando é que o titular tem de se autenticar e quando não?

Depende de o emissor já saber com quem está a lidar. Um inspetor que acabou de verificar presencialmente um veículo não precisa que o gestor de frota se autentique outra vez, pelo que a credencial é oferecida no momento. Um serviço online que nunca se cruzou com o titular fá-lo passar primeiro pela sua própria autenticação. A própria oferta indica qual dos dois casos se aplica.

Como é que a wallet sabe o que está prestes a receber?

Cada emissor publica uma descrição daquilo que emite, e a wallet lê-a antes de mais nada. É isso que permite à wallet mostrar ao titular o que a credencial é e o que contém, para que o consentimento signifique alguma coisa. Significa também que um emissor pode acrescentar um novo tipo de credencial sem que todas as wallets precisem de atualização.

O que impede alguém de copiar uma credencial para outro dispositivo?

Antes de emitir, a wallet prova que detém um segredo que nunca sai do dispositivo, e o emissor liga a credencial a esse segredo. Mais tarde, um verificador pode pedir à wallet que prove o mesmo outra vez. Uma cópia da credencial sem esse segredo não passa na verificação, pelo que copiar o ficheiro não serve de nada.

E se a credencial não puder ser emitida de imediato?

Algumas verificações demoram mais do que uma pessoa está disposta a esperar: uma análise manual ou uma consulta a um registo externo lento. O emissor pode dizê-lo, e a wallet recolhe a credencial assim que ela estiver pronta. O titular não tem de começar de novo nem de voltar presencialmente.

O emissor fica a saber se a credencial foi efetivamente guardada?

Pode, mas apenas por cortesia. A wallet pode comunicar que a credencial foi guardada, que o titular a recusou ou que algo falhou. Nenhuma das partes é obrigada a suportar isto e a entrega não é garantida, pelo que um emissor deve tratá-lo como um sinal útil e nunca como um registo do que aconteceu.

Fontes

  1. OpenID for Verifiable Credential Issuance 1.0
  2. OpenID4VC High Assurance Interoperability Profile 1.0
  3. EUDI Wallet Architecture and Reference Framework

Esta página tem caráter meramente informativo e não constitui aconselhamento jurídico. Para orientações oficiais, consulte diretamente a OpenID Foundation e a Comissão Europeia.

Fale connosco sobre a integração com a EUDI Wallet