O Que É Criptografia Zero-Knowledge? Um Guia Simples

O Que É Criptografia Zero-Knowledge? Um Guia Simples

A criptografia zero-knowledge significa que o provedor não pode acessar seus dados.

A criptografia zero-knowledge é uma arquitetura criptográfica onde o provedor de serviço não pode acessar dados do usuário porque as chaves de criptografia são derivadas e armazenadas exclusivamente no dispositivo do usuário e nunca são transmitidas aos servidores do provedor. Ao contrário da criptografia em nuvem padrão onde o provedor detém as chaves, a criptografia zero-knowledge significa que mesmo com uma ordem judicial, uma violação de dados ou um funcionário desonesto, o provedor não tem nada a entregar. As diretrizes do NIST sobre gerenciamento de chaves (SP 800-57) estabelecem o princípio de que a custódia de chaves determina o acesso aos dados — a criptografia zero-knowledge leva isso à sua conclusão lógica.

Como Funciona a Criptografia Zero-Knowledge

A analogia mais simples: um cofre de hotel onde apenas você define a combinação, e o hotel nunca a aprende. Se você esquecer a combinação, o hotel não pode abrir o cofre para você. Isso não é uma falha no design. Esse é o design.

Em termos técnicos, a criptografia zero-knowledge funciona em três etapas:

  1. Derivação de chave no dispositivo. O usuário fornece uma credencial (uma senha, frase ou padrão). Uma função de derivação de chave (normalmente PBKDF2 ou Argon2) combina essa credencial com um salt criptográfico único para produzir uma chave de criptografia. Isso acontece inteiramente no dispositivo do usuário.

  2. Criptografia antes da transmissão. Todos os dados são criptografados no dispositivo usando a chave derivada antes de sair do dispositivo para armazenamento em nuvem ou backup. A saída criptografada (texto cifrado) é o que é carregado.

  3. O provedor nunca vê a chave. A chave de criptografia existe apenas na memória do dispositivo durante o uso ativo. Ela nunca é transmitida aos servidores do provedor. O provedor armazena blobs criptografados que são indistinguíveis de dados aleatórios.

A restrição crítica: se o usuário perder sua credencial e não tiver uma frase de recuperação, os dados são permanentemente inacessíveis. Não há fluxo de "esqueci a senha" que funcione sem um mecanismo de recuperação armazenado independentemente. Se um serviço oferece redefinição de senha por e-mail e seus dados reaparecem, esse serviço não usa criptografia zero-knowledge. Ele detém suas chaves.

Criptografia Zero-Knowledge vs. Outros Tipos de Criptografia

O termo "criptografia" aparece em materiais de marketing de quase todo serviço em nuvem. As diferenças entre os tipos são substanciais.

Tipo Quem Detém a Chave Provedor Pode Ler Dados Sobrevive à Violação do Provedor Exemplo
Sem criptografia N/D Sim Não Dropbox (nível padrão)
Criptografia em trânsito (TLS) Provedor Sim (em repouso nos servidores) Não Google Fotos
Criptografia no servidor em repouso Provedor Sim (detêm a chave de descriptografia) Parcialmente (depende do escopo da violação) iCloud (padrão)
Criptografia E2E gerenciada pelo provedor Provedor gera, usuário armazena Tecnicamente não, mas o provedor teve acesso na geração de chave Parcialmente iCloud com Proteção de Dados Avançada
Criptografia zero-knowledge Somente usuário (derivada no dispositivo) Não. Matematicamente impossível. Sim. Blobs criptografados são inúteis sem a chave do usuário. Signal, Proton Mail, Vaultaire

A distinção entre "criptografia em repouso" e "criptografia zero-knowledge" é a mais comumente confundida. Com criptografia em repouso, o provedor criptografa seus dados em seus servidores usando chaves que controla. Isso protege contra roubo físico do hardware do servidor. Não protege contra o provedor lendo seus dados, uma intimação do governo pelos dados e chaves ou uma ameaça interna. O provedor tem a capacidade de descriptografar.

Com criptografia zero-knowledge, o provedor nunca tem a capacidade de descriptografar. Os dados criptografados em seus servidores são tão opacos para eles quanto para qualquer atacante externo.

Por Que a Criptografia Zero-Knowledge Importa

Violações de Dados Expõem Bilhões de Registros Anualmente

O Identity Theft Resource Center relatou 3.205 comprometimentos de dados nos Estados Unidos em 2023, afetando aproximadamente 353 milhões de indivíduos. Quando um provedor que detém chaves de criptografia é violado, o atacante potencialmente ganha acesso tanto aos dados criptografados quanto às chaves para descriptografá-los. A arquitetura zero-knowledge elimina esse risco completamente. O servidor violado contém apenas texto cifrado computacionalmente inviável de descriptografar.

A Compulsão Legal É uma Ameaça Real

Agências governamentais em múltiplas jurisdições podem obrigar provedores a entregar dados armazenados. Se o provedor detém chaves de criptografia, ele deve cumprir. Sob arquitetura zero-knowledge, a resposta do provedor a uma intimação é o blob criptografado, que é inútil sem a credencial do usuário. A Proteção de Dados Avançada da Apple para o iCloud avança nessa direção, mas foi introduzida apenas no iOS 16.2 (dezembro de 2022) e não está habilitada por padrão.

"Confie em Nós" Não É uma Arquitetura de Segurança

A criptografia padrão depende da promessa do provedor de não acessar seus dados. A criptografia zero-knowledge substitui essa promessa por uma garantia matemática. O provedor não pode acessar os dados mesmo que queira, mesmo se um funcionário for desonesto, mesmo se for adquirido por uma empresa com valores de privacidade diferentes. A arquitetura impõe a restrição.

O Padrão NIST por Trás da Criptografia

O AES-256-GCM, a cifra mais comumente usada em implementações zero-knowledge, foi padronizado pelo National Institute of Standards and Technology no SP 800-38D (2007). O próprio AES foi selecionado pelo NIST por meio de uma competição pública em 2001, substituindo o envelhecido padrão DES. O "256" refere-se ao comprimento da chave em bits — uma chave de 256 bits tem 2^256 valores possíveis, um número tão grande que a força bruta exigiria mais energia do que o sol produzirá em sua vida útil restante.

O GCM (Galois/Counter Mode) adiciona criptografia autenticada, o que significa que o processo de descriptografia detecta qualquer adulteração com o texto cifrado. Se um único bit dos dados criptografados for alterado, a descriptografia falha em vez de produzir saída corrompida. Isso impede que atacantes manipulem dados criptografados sem detecção.

O PBKDF2 (Password-Based Key Derivation Function 2), especificado no RFC 8018, converte uma credencial fornecida pelo usuário em uma chave criptográfica por meio de hashing repetido. Executar a função hash centenas de milhares de vezes torna cada tentativa de senha computacionalmente cara, transformando um padrão ou senha simples em uma chave que resiste a ataques de força bruta.

Como o Vaultaire Implementa a Criptografia Zero-Knowledge

O Vaultaire é um app cofre para iPhone construído sobre arquitetura zero-knowledge. Veja como a implementação funciona em cada camada.

Derivação de chave. O usuário desenha um padrão em uma grade 5x5 de 25 pontos. A sequência de pontos, em ordem, alimenta o PBKDF2 com HMAC-SHA512 e um salt criptográfico único por cofre. A saída é uma chave de criptografia AES de 256 bits. O padrão nunca é armazenado no dispositivo. Não como um hash, não como uma representação, não de qualquer forma.

Criptografia de arquivo. Cada arquivo importado é criptografado com AES-256-GCM usando a chave derivada e um vetor de inicialização (IV) gerado aleatoriamente e único para esse arquivo. Arquivos idênticos produzem texto cifrado diferente porque o IV difere.

Criptografia de metadados. Nomes de arquivo, datas de criação e dados de miniatura são criptografados separadamente usando ChaCha20, uma cifra diferente que fornece diversidade criptográfica e elimina ataques de canal lateral de temporização de cache.

Gerenciamento de chaves. O Secure Enclave da Apple armazena material de chave em um coprocessador de hardware dedicado com sua própria memória criptografada. As chaves são apagadas da memória do app quando o Vaultaire fecha ou o usuário muda para outro app.

Sem registro de cofres. Não há banco de dados listando cofres, sem contagem, sem nomes. Cada padrão abre um cofre diferente. O próprio app não pode determinar quantos cofres existem. Veja a arquitetura de segurança completa e a explicação da criptografia por padrão.

Como Saber Se um App Usa Criptografia Zero-Knowledge Real

Três testes que levam menos de um minuto:

  1. O teste de senha esquecida. Se o app pode redefinir sua senha por e-mail e seus dados reaparecem, o app detém suas chaves de criptografia. Não é zero-knowledge.

  2. O teste de novo dispositivo. Se você fizer login em um novo dispositivo e seus dados aparecerem sem transferir chaves do dispositivo antigo ou inserir uma frase de recuperação, o servidor tem suas chaves. Não é zero-knowledge.

  3. O teste de conta. Se o app exige um endereço de e-mail ou número de telefone, o provedor tem um link entre sua identidade e seus dados. Isso não é necessariamente desqualificador, mas combinado com qualquer um dos itens acima, confirma que o provedor pode acessar seus dados.

Apps que passam nos três testes: Signal, Proton Mail, Standard Notes, Vaultaire. Apps que falham em pelo menos um: a maioria dos serviços de armazenamento em nuvem, a maioria dos apps "cofre" na App Store.

Perguntas Frequentes

A criptografia zero-knowledge é o mesmo que criptografia de ponta a ponta?

Elas se sobrepõem, mas não são idênticas. A criptografia de ponta a ponta (E2EE) significa que os dados são criptografados no dispositivo do remetente e descriptografados apenas no dispositivo do destinatário. A criptografia zero-knowledge significa que o provedor não pode acessar os dados. Um serviço pode ser criptografado de ponta a ponta sem ser zero-knowledge se o provedor gerou ou tem acesso às chaves em algum momento. A criptografia zero-knowledge é o padrão mais rigoroso.

O que acontece se eu perder minha senha com criptografia zero-knowledge?

Seus dados se tornam permanentemente inacessíveis. Não há chave mestra, backdoor ou processo de recuperação que funcione sem uma frase de recuperação armazenada separadamente. Este é o trade-off fundamental: privacidade absoluta exige responsabilidade absoluta. Alguns apps zero-knowledge (incluindo o Vaultaire) geram uma frase de recuperação na criação do cofre que pode regenerar a chave de criptografia se a credencial principal for perdida.

As autoridades policiais podem acessar dados criptografados com zero-knowledge?

As autoridades policiais podem obrigar o provedor a entregar dados armazenados. Com criptografia zero-knowledge, os dados que o provedor entrega são um blob criptografado inútil sem a chave do usuário. Se as autoridades podem obrigar o usuário a fornecer a chave é uma questão legal separada que varia por jurisdição. Os tribunais nos EUA geralmente decidiram que o desbloqueio biométrico compelido (Face ID, impressões digitais) é permitido, enquanto a divulgação compelida de senha/padrão é mais contestada sob a Quinta Emenda.

A criptografia zero-knowledge é mais lenta do que a criptografia regular?

As operações de criptografia e descriptografia são idênticas. O AES-256-GCM roda na mesma velocidade independentemente de quem detém a chave. O único custo adicional é a derivação de chave: executar o PBKDF2 com centenas de milhares de iterações leva aproximadamente 0,5-2 segundos em um iPhone moderno. Isso acontece uma vez no desbloqueio do cofre, não por arquivo. Na prática, os usuários não notam diferença de velocidade.

Zero-knowledge significa que o app não coleta nenhum dado?

Não necessariamente. Zero-knowledge refere-se especificamente à arquitetura de criptografia. O provedor não pode acessar os conteúdos criptografados. O app ainda pode coletar análises anônimas, relatórios de crash ou metadados de uso se o usuário optar por isso. O que ele não pode coletar é o conteúdo de arquivos criptografados, a chave de criptografia ou a credencial usada para derivá-la. A política de privacidade do Vaultaire detalha exatamente quais dados opcionais são coletados com permissão do usuário.

Como a criptografia zero-knowledge se compara à Proteção de Dados Avançada da Apple?

A Proteção de Dados Avançada (PDA) da Apple, introduzida no iOS 16.2, estende a criptografia de ponta a ponta para a maioria das categorias de dados do iCloud. Com a PDA habilitada, a Apple não pode acessar os dados protegidos. As principais diferenças em relação a um app zero-knowledge dedicado: a PDA é opt-in (desativada por padrão), requer um Apple ID e protege dados apenas dentro do ecossistema da Apple. Um app cofre zero-knowledge como o Vaultaire funciona independentemente da infraestrutura da Apple, não requer conta e adiciona recursos como negabilidade plausível e modo de coerção que a PDA não fornece.

Resumo

A criptografia zero-knowledge é a arquitetura onde o provedor matematicamente não pode acessar dados do usuário porque as chaves de criptografia nunca saem do dispositivo do usuário. Ela difere da criptografia padrão, da criptografia em repouso e até de algumas formas de criptografia de ponta a ponta em um aspecto crítico: a incapacidade do provedor de acessar dados é aplicada pela matemática, não pela política. O trade-off — perder a chave significa perder os dados — não é um bug. É o mecanismo que torna a garantia real.

Leia a arquitetura de segurança