Aprendizado e descoberta 3min de Leitura - 21 de dezembro de 2022

Provas de conhecimento zero

provas de conhecimento zero

This post is also available in: Português Español

Existe um problema com diversos métodos tradicionais de validação de informações: eles exigem dados demais para confirmar se algo é verdadeiro ou não. E isso pode causar problemas de privacidade.

O motivo é que muitas Informações de Identificação Pessoal (PII, na sigla em inglês) compartilhadas com serviços de terceiros são armazenadas em bancos de dados, não estando totalmente livres de ações de cibercriminosos. Com o roubo de identidade se tornando um problema cada vez maior, há espaço para a aplicação de mais meios de proteção da privacidade.

Está aí o motivo para o crescimento no uso das Provas de Conhecimento Zero. Trata-se de uma maneira de provar a validade de uma afirmação sem revelar a afirmação em si. Nele, o ‘provador’ é a parte que tenta provar uma reivindicação, enquanto o verificador é responsável por validar essa reivindicação.

Nesse contexto, uma prova de conhecimento zero age como um método de validação onde alguém pode provar à outra parte (pessoa ou sistema) que algo é verdadeiro – sem revelar nenhuma informação a mais. Assim, usa-se a declaração (chamada de ‘testemunha’) como entrada para gerar uma prova sucinta de sua validade. Essa prova oferece garantias suficientes de que uma afirmação é verdadeira, sem precisar expor os dados usados para criá-la.

Portanto, uma prova de conhecimento zero é um método no qual um usuário consegue comprovar a outro que conhece um valor absoluto, sem precisar compartilhar informações extras.

Então, o provador consegue mostrar que conhece o valor X para o verificador sem dar a ele nenhum outro dado além do fato de ele saber o valor de X. Assim, a grande sacada é mostrar que você sabe da existência de algo sem dizer o que é esse algo.

Exemplo clássico

Apesar de ser algo com ares de novidade, a Prova de Conhecimento Zero não é tão nova. Inclusive, um artigo publicado há exatos 30 anos buscava explicar o conceito da forma mais simples possível. Assinado pelos pesquisadores Louis Guilou, Jean Jacques Quisquater e Thomas Berson, o documento tinha o nome de “Como explicar o protocolo de zero conhecimento para seus filhos”.

Para isso, apelou para o exemplo da caverna de Ali Babá e a palavra mágica que abre sua porta. Os autores usaram personagens fictícios chamados de Maria e Roberto, onde Maria queria provar a Roberto que conhecia a palavra mágica. Contudo, ela não queria falar qual palavra era, mas apenas mostrar que sabia de sua existência.

Eles então vão para a caverna, onde existe o caminho 1 e o caminho 2, que se conectam apenas através da porta. Roberto pede que Maria passe pelo 1 ou pelo 2 enquanto aguarda na entrada. Para conseguir retornar à entrada fazendo o caminho completo, Maria obrigatoriamente precisa conhecer a palavra mágica. E provou isso ao conseguir fazer o trajeto sem nem precisar falar a Roberto qual era a palavra mágica.

Dentro do mundo da segurança digital, a prova de zero conhecimento é usada em bancos, por exemplo. Um deles é o holandês ING. A empresa possui uma versão modificada do sistema, chamada de prova de intervalo de zero conhecimento.

Um dos usos é na área de financiamentos. Os clientes podem provar que possuem salário suficiente para ter o financiamento liberado sem revelar o quanto ganham.

Estrutura

Para operar no modo proposto, os protocolos de conhecimento zero dependem de algoritmos que recebem alguns dados como entrada e retornam verdadeiro ou falso como saída. Assim, deve satisfazer três critérios.

O primeiro deles é a completude, ou seja, a característica de ser completo e íntegro. Se a entrada for válida, o protocolo de conhecimento zero sempre retorna “verdadeiro”. Portanto, se a afirmação for autêntica, a prova pode ser aceita.

Em seguida, vem a solidez. Esse ponto abrange o fato de que, se a entrada for inválida, é teoricamente impossível enganar o protocolo de conhecimento zero para retornar “verdadeiro”. Portanto, um falso provador não conseguiria enganar um verificador honesto fazendo-o acreditar que uma declaração errada é válida. Afinal, a margem de erro desse sistema é extremamente baixa devido à sua própria natureza.

O terceiro critério é o que dá o nome ao sistema: conhecimento zero: O verificador não sabe nada sobre uma declaração além de sua validade ou falsidade. Por isso, tem zero conhecimento sobre o conteúdo. Este requisito também impede que o verificador deduza, ou tente adivinhar, o conteúdo original da prova.

Onde utilizar

Um dos primeiros usos a se pensar remete ao exemplo usado no começo do texto: proteção de identidade. As provas de conhecimento zero podem ajudar as pessoas a validarem a identidade enquanto protegem detalhes confidenciais, já que não há necessidade de revelar mais detalhes.

É algo de grande utilidade também em identidades descentralizadas, que dão às pessoas a capacidade de controlar o acesso a identificadores pessoais. Comprovar a cidadania sem revelar detalhes do passaporte é um bom exemplo de como a tecnologia de conhecimento zero permite a identidade descentralizada.

Outro bom uso é na autenticação. A utilização de muitos serviços online exige a comprovação de identidade para liberar o acesso. Isso geralmente requer o fornecimento de informações como endereço de e-mail, data de nascimento, CEP e CPF.

Provas de conhecimento zero, no entanto, podem simplificar a autenticação para plataformas e usuários. Depois que uma prova de ZK (sigla inglesa para Conhecimento Zero) foi gerada usando entradas públicas (por exemplo, dados que atestam a associação do usuário à plataforma) e entradas privadas (por exemplo, detalhes do usuário), a pessoa pode simplesmente apresentá-la para autenticar sua identidade quando precisar acessar o serviço. Isso melhora a experiência dos usuários e libera as organizações da necessidade de armazenar grandes quantidades de informações dos clientes.

This post is also available in: Português Español