Saltar para o conteúdo principal

WUA explicado: como uma carteira se identifica perante um emissor

Antes de uma organização colocar uma credencial na EUDI Wallet de alguém, quer saber que a wallet é genuína e que o que ela guarda não pode ser copiado para fora. Uma Wallet Unit Attestation é a forma de a wallet provar isso. Não é um documento, mas dois, ambos assinados pelo fornecedor da wallet: um sobre a aplicação, outro sobre o armazenamento seguro no dispositivo.

O problema que um WUA resolve

Uma organização prestes a emitir uma credencial de identidade ou de registo comercial não tem forma própria de distinguir uma wallet certificada de uma aplicação modificada, ou de um script que finge sê-lo. Também não consegue ver se a credencial que está prestes a entregar ficará presa a esse dispositivo, ou se ficará algures de onde pode simplesmente ser copiada.

A WUA fecha ambas as falhas fazendo com que outra entidade responda por isso. O fornecedor da wallet responde pela aplicação e pelo armazenamento seguro, e é supervisionado e listado a nível europeu para o fazer. O emissor verifica ambas as declarações antes de emitir, e continua a verificá-las depois, para poder retirar o que emitiu se a wallet vier a revelar-se comprometida.

Uma WUA só é usada durante a recolha de uma credencial. Uma wallet não pode mostrar uma a uma empresa que aceita uma credencial, o que mantém os detalhes sobre o telemóvel e a wallet do titular fora das transações do dia a dia.

Os intervenientes e quem confia em quem

Estão envolvidas cinco partes, e apenas quatro delas chegam a lidar com uma WUA. O armazenamento seguro no dispositivo guarda o segredo, o Wallet Provider responde pela aplicação e por esse armazenamento, e o emissor apoia-se nisso em vez de avaliar cada wallet por si.

Fornecedor de Carteira

Responde pela aplicação e pelo armazenamento seguro por detrás dela, e mantém ambas as declarações atualizadas

Unidade de Carteira

Mostra ambas as declarações ao emissor quando recolhe uma credencial, e usa um par novo de cada vez

Armazenamento seguro no dispositivo

Guarda o segredo que liga uma credencial a esta wallet em concreto, e nunca o deixa sair

PID Provider ou Attestation Provider

Verifica ambas as declarações antes de emitir e continua a verificá-las depois, para poder retirar o que emitiu

Relying Party

Nunca recebe uma WUA. Verifica a própria credencial e se ela continua válida

Os emissores podem confiar numa WUA porque o Wallet Provider que a assinou consta da Trusted List oficial da UE para Wallet Providers, e porque o próprio produto de wallet foi certificado por um organismo de avaliação independente.

Duas declarações sob um só nome

A especificação europeia divide a atestação em duas porque a aplicação e o armazenamento seguro são coisas diferentes. São verificados por partes diferentes e são retirados por razões diferentes: uma quando um telemóvel se perde, a outra quando uma classe inteira de dispositivos se revela fraca.

Wallet Instance Attestation (WIA)

Responde por
A própria aplicação de wallet: uma cópia genuína e não modificada de um produto certificado
Validade
Menos de 24 horas
Pode ser retirada quando
Esta instalação é reportada como perdida, roubada ou adulterada
Necessário para
Todas as credenciais que a wallet recolhe

Key Attestation (KA)

Responde por
O armazenamento seguro no dispositivo, e o quanto resiste a ataques
Validade
Definida pelo Wallet Provider, e pode ser mais longa do que uma WIA
Pode ser retirada quando
É descoberta uma fraqueza nesse tipo de armazenamento seguro
Necessário para
Credenciais ligadas ao dispositivo, o que inclui todos os PID

Ambas são assinadas pelo Wallet Provider e ambas são usadas uma vez e depois descartadas. Isso é intencional: significa que dois emissores não podem cruzar informação e concluir que estão a lidar com a mesma wallet.

Como uma wallet obtém estas declarações

Isto acontece dentro de um produto de wallet, pelo que cada fornecedor o faz à sua maneira. O que as regras exigem é fixo: o fornecedor tem de se certificar de que a aplicação não foi adulterada e de que o segredo está mesmo no armazenamento seguro que indica. A maioria dos fornecedores usa para isso as verificações de integridade que a Google e a Apple já oferecem.

1. Unidade de Carteira

Pede ao armazenamento seguro no dispositivo um novo segredo

pedido

2. Armazenamento seguro no dispositivo

Cria-o e devolve a prova, vinda do dispositivo, de que foi criado ali

prova do dispositivo

3. Fornecedor de Carteira

Verifica que a aplicação é genuína e que a prova é sólida, e depois assina ambas as declarações

declarações assinadas

4. Unidade de Carteira

Mantém uma pequena reserva de declarações novas e usa uma nova para cada credencial que recolhe

O ciclo de vida do WUA

Estas declarações são de curta duração e de uso único, de propósito. A possibilidade de as retirar, porém, dura muito mais do que elas. As três primeiras fases abaixo são rotina; a quarta só acontece quando algo corre mal.

1. Verificada

O Wallet Provider assina as duas declarações só depois de ter verificado a aplicação e o armazenamento seguro

2. Usada uma vez

Cada declaração serve a recolha de uma única credencial, pelo que a wallet vai buscando novas continuamente

3. Reverificada

Um PID Provider volta a verificar pelo menos uma vez por dia e retira o PID se alguma das declarações tiver sido retirada

4. Retirada

Só quando algo corre mal: um telemóvel perdido ou roubado, ou uma fraqueza descoberta num tipo de armazenamento seguro

Fora do ecossistema EUDI Wallet, alguns fornecedores de wallets emitem declarações semelhantes que simplesmente expiram e nunca podem ser retiradas. As regras europeias não o permitem. Embora a declaração sobre a aplicação dure menos de um dia, ambas as declarações têm de continuar a poder ser retiradas durante pelo menos mais 31 dias, porque é isso que permite a um emissor recuperar uma credencial muito depois de a ter emitido.

WUA, WIA e KA: o que significa cada termo

A terminologia mudou à medida que as especificações amadureceram, pelo que artigos mais antigos usam estas três siglas de forma diferente do uso atual. Este é o significado atual.

WUA

O termo abrangente para as outras duas declarações, mostradas apenas a emissores

WIA

A declaração sobre a própria aplicação de wallet

KA

A declaração sobre o armazenamento seguro no dispositivo

O que isto significa para si

Emissor

Pode emitir para wallets que nunca avaliou, porque um fornecedor supervisionado responde por cada uma e pode retirar o que emitiu se isso mudar.

Verificador

Nada de extra a fazer. O trabalho acontece antes de a credencial chegar até si, e uma wallet comprometida perde as suas credenciais em vez de ser assinalada ao seu balcão.

Titular da wallet

Perder o telemóvel não entrega as suas credenciais, e nada sobre a sua wallet é revelado às empresas a quem mostra credenciais.

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

Um WUA é o mesmo que um Wallet Instance Attestation?

Não. Desde a versão 1.5 do TS3, WUA é o termo abrangente para duas declarações: a Wallet Instance Attestation (WIA), sobre a aplicação, e a Key Attestation (KA), sobre o armazenamento seguro no dispositivo. Artigos mais antigos usam WUA para aquilo a que hoje se chama Key Attestation, razão pela qual os termos são muitas vezes confundidos.

Um verificador chega alguma vez a ver o WUA?

Não, e não lhe é permitido pedir uma. Uma wallet pode mostrar estas declarações a um emissor enquanto recolhe uma credencial, nunca a uma empresa que aceita uma. O verificador verifica antes a credencial: quem a assinou, se pertence a esta wallet e se continua válida. Se uma wallet for comprometida, o emissor retira as credenciais que lhe emitiu, e o verificador vê isso através da própria credencial.

Durante quanto tempo é válido um WUA?

A declaração sobre a aplicação dura menos de 24 horas; a do armazenamento seguro pode durar mais. Independentemente disso, o Wallet Provider compromete-se a continuar a reportar se cada uma foi retirada durante pelo menos mais 31 dias, porque os emissores dependem disso muito depois de a própria declaração ter expirado.

O que acontece se uma wallet for perdida ou comprometida?

O Wallet Provider marca essa instalação como retirada ou, quando um tipo inteiro de armazenamento seguro se revela fraco, marca esse. Os emissores voltam a verificar pelo menos uma vez por dia e retiram as credenciais que lhe emitiram. O que protege o titular é essa retirada, não a expiração da declaração.

Isto permite ao Wallet Provider ver o que faço com a minha wallet?

Não. As declarações dizem que tipo de wallet é esta, não a quem pertence, e é usada uma nova para cada credencial recolhida, pelo que um emissor não consegue reconhecer por elas uma wallet que regressa. O Wallet Provider assina-as antecipadamente e não está envolvido na troca entre a wallet e o emissor.

Fontes

  1. TS3: Wallet Unit Attestations utilizados na emissão de PID e atestados
  2. EUDI Wallet Architecture and Reference Framework
  3. OpenID for Verifiable Credential Issuance 1.0
  4. OpenID4VC High Assurance Interoperability Profile 1.0
  5. Token Status List

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

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