Saltar para o conteúdo principal

Prova de Conhecimento Zero

(Zero-Knowledge Proof)

Uma prova de conhecimento zero é um método criptográfico para provar que uma afirmação é verdadeira, como "o titular tem mais de 18 anos", sem revelar nenhum dos dados subjacentes em que a afirmação se baseia, como a data de nascimento real.

Enquanto a divulgação seletiva permite a um titular revelar afirmações escolhidas tal como estão, uma prova de conhecimento zero não revela nada: o verificador aprende apenas que a afirmação é verdadeira, respaldada por uma prova que pode confirmar em relação à assinatura do emissor. Esta é uma garantia de privacidade mais forte do que a divulgação seletiva, e uma área ativa de normalização para futuros formatos de credencial usados no ecossistema da EUDI Wallet. A prova é construída de modo que qualquer pessoa possa confirmá-la em relação a parâmetros públicos e à assinatura do emissor, mas nenhuma combinação de provas entregues a diferentes verificadores pode ser associada de volta à mesma credencial ou entre si, o que elimina o risco de correlação que surge de mostrar repetidamente o mesmo valor assinado. Uma credencial simples com divulgação seletiva ainda permite que dois verificadores em conluio comparem uma afirmação cifrada e concluam que foi o mesmo titular que visitou ambos, enquanto uma prova de conhecimento zero da mesma afirmação parece diferente de cada vez que é gerada. O custo é a complexidade e o poder de processamento: gerar e verificar uma prova de conhecimento zero exige mais capacidade de processamento do que confirmar uma assinatura simples, e os esquemas criptográficos envolvidos, como as assinaturas BBS+ ou os zk-SNARKs, são mais recentes e menos normalizados do que a divulgação seletiva baseada em hash já implantada no SD-JWT. Várias implementações de referência e pilotos da EUDI Wallet estão a avaliar técnicas de conhecimento zero como uma futura via de evolução para atributos em que a não vinculabilidade é mais importante, como as verificações de idade ou nacionalidade repetidas em muitos serviços não relacionados.

Usar uma prova de conhecimento zero significa que o verificador tem de confiar cegamente no titular?

Não. O verificador continua a basear-se na criptografia e não na confiança no titular. A prova liga matematicamente a afirmação à assinatura original do emissor, para que um verificador possa ter a certeza de que uma afirmação é genuína e não foi alterada, mesmo sem nunca ver os dados subjacentes, a mesma garantia que uma verificação de assinatura normal dá, só que sem expor o valor por trás dela.

Voltar ao glossário