O que é cifração de conhecimento zero? Guia simples
Cifração de conhecimento zero significa que o fornecedor não pode aceder aos seus dados.
Cifração de conhecimento zero é uma arquitetura criptográfica onde o fornecedor não pode aceder aos dados do utilizador, porque as chaves de cifração são derivadas e armazenadas exclusivamente no dispositivo do utilizador e nunca são transmitidas para os servidores do fornecedor. Ao contrário da cifração na nuvem padrão, onde o fornecedor detém as chaves, a cifração de conhecimento zero significa que mesmo com uma ordem judicial, numa violação de dados ou por parte de um funcionário desonesto, o fornecedor não tem nada para entregar. As diretrizes NIST para gestão de chaves (SP 800-57) estabelecem o princípio de que a gestão de chaves determina o acesso aos dados -- a cifração de conhecimento zero leva esse princípio à sua conclusão lógica.
Como funciona a cifração de conhecimento zero
A analogia mais simples: um cofre de hotel onde só você define a combinação e o hotel nunca a fica a saber. Se se esquecer da combinação, o hotel não abre o cofre por si. Isso não é uma falha de design. É o objetivo do design.
Em termos técnicos, a cifração de conhecimento zero funciona em três passos:
Derivação de chave no dispositivo. O utilizador fornece credenciais (palavra-passe, frase de acesso ou padrão). Uma função de derivação de chave (tipicamente PBKDF2 ou Argon2) combina estas credenciais com um sal criptográfico único e produz uma chave de cifração. Isto acontece exclusivamente no dispositivo do utilizador.
Cifração antes da transmissão. Todos os dados são cifrados no dispositivo com a chave derivada antes de saírem do dispositivo para armazenamento na nuvem ou cópia de segurança. O resultado cifrado (texto cifrado) é o que é carregado.
O fornecedor nunca vê a chave. A chave de cifração existe apenas na memória do dispositivo durante o uso ativo. Nunca é transmitida para os servidores do fornecedor. O fornecedor armazena blocos cifrados que são indistinguíveis de dados aleatórios.
A limitação crítica: se o utilizador perder as credenciais e não tiver nenhuma frase de recuperação, os dados ficam permanentemente inacessíveis. Não há fluxo de "esqueci a palavra-passe" que funcione sem um mecanismo de recuperação guardado independentemente. Se um serviço oferece redefinição de palavra-passe por e-mail e os seus dados reaparecem, esse serviço não usa cifração de conhecimento zero. Tem as suas chaves.
Cifração de conhecimento zero vs. outros tipos de cifração
O termo "cifração" aparece nos materiais de marketing de quase todos os serviços na nuvem. As diferenças entre tipos são significativas.
| Tipo | Quem detém a chave | O fornecedor pode ler os dados | Sobrevive a uma violação do fornecedor | Exemplo |
|---|---|---|---|---|
| Sem cifração | Nenhum | Sim | Não | Dropbox (nível padrão) |
| Cifração em trânsito (TLS) | Fornecedor | Sim (em repouso nos servidores) | Não | Google Fotos |
| Cifração em repouso no servidor | Fornecedor | Sim (detém a chave de decifração) | Parcialmente (depende do âmbito da violação) | iCloud (padrão) |
| E2EE gerida pelo fornecedor | Fornecedor gera, utilizador armazena | Tecnicamente não, mas o fornecedor teve acesso na geração | Parcialmente | Proteção de Dados Avançada do iCloud |
| Cifração de conhecimento zero | Só o utilizador (derivada no dispositivo) | Não. Matematicamente impossível. | Sim. Os blocos cifrados são inúteis sem a chave do utilizador. | Signal, Proton Mail, Vaultaire |
A distinção entre "cifração em repouso" e "cifração de conhecimento zero" é a mais confundida com frequência. Com cifração em repouso, o fornecedor cifra os seus dados nos seus servidores usando chaves que controla. Isso protege contra roubo físico do hardware do servidor. Não protege contra o fornecedor ler os seus dados, intimações governamentais para dados e chaves, ou ameaças internas. O fornecedor tem capacidade de decifração.
Com cifração de conhecimento zero, o fornecedor nunca tem capacidade de decifração. Os dados cifrados nos seus servidores são tão opacos para ele como para qualquer atacante externo.
Por que a cifração de conhecimento zero importa
As violações de dados afetam milhares de milhões de registos todos os anos
O Identity Theft Resource Center registou 3.205 comprometimentos de dados nos EUA em 2023, afetando aproximadamente 353 milhões de pessoas. Quando um fornecedor que detém chaves de cifração é comprometido, o atacante obtém potencialmente acesso tanto aos dados cifrados como às chaves para os decifrar. A arquitetura de conhecimento zero elimina completamente este risco. Um servidor comprometido contém apenas texto cifrado que é computacionalmente impraticável de quebrar.
A coação legal é uma ameaça real
Agências governamentais em várias jurisdições podem obrigar fornecedores a entregar dados armazenados. Se o fornecedor detém chaves de cifração, deve cumprir. Com arquitetura de conhecimento zero, a resposta do fornecedor a uma intimação é um bloco cifrado inútil sem as credenciais do utilizador. A Proteção de Dados Avançada da Apple para o iCloud foi nessa direção, mas foi introduzida no iOS 16.2 (dezembro de 2022) e não está ativa por defeito.
"Confie em nós" não é uma arquitetura de segurança
A cifração padrão depende de uma promessa do fornecedor de não aceder aos seus dados. A cifração de conhecimento zero substitui essa promessa por uma garantia matemática. O fornecedor não pode aceder aos dados mesmo que queira, mesmo que um funcionário traia, mesmo que seja adquirido por uma empresa com valores de privacidade diferentes. A arquitetura impõe essa limitação.
O padrão NIST por detrás da criptografia
AES-256-GCM, a cifra mais usada em implementações de conhecimento zero, foi padronizada pelo Instituto Nacional de Normas e Tecnologia em SP 800-38D (2007). O próprio AES foi selecionado pelo NIST através de concurso público 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 sua quebra por força bruta exigiria mais energia do que o sol produz na sua vida útil restante.
GCM (Galois/Counter Mode) acrescenta cifração autenticada, o que significa que o processo de decifração revela qualquer adulteração do texto cifrado. Se um único bit dos dados cifrados for alterado, a decifração falha em vez de produzir um resultado corrompido. Isso impede os atacantes de manipularem dados cifrados sem deteção.
PBKDF2 (Password-Based Key Derivation Function 2), especificado no RFC 8018, converte credenciais fornecidas por humanos numa chave criptográfica através de hashing repetido. Executar a função de hash cem mil vezes torna cada tentativa de adivinhar a palavra-passe computacionalmente dispendiosa, transformando um padrão ou palavra-passe simples numa chave resistente a ataques de força bruta.
Como o Vaultaire implementa a cifração de conhecimento zero
Vaultaire é uma aplicação de cofre para iPhone construída sobre arquitetura de conhecimento zero. Aqui está a implementação em cada camada.
Derivação de chave. O utilizador desenha um padrão numa grelha 5x5 com 25 pontos. A sequência de pontos é processada pelo PBKDF2 com HMAC-SHA512 e um sal criptográfico único por cofre. O resultado é uma chave de cifração AES de 256 bits. O padrão nunca é armazenado no dispositivo. Nem como hash, nem como representação, nem de qualquer forma.
Cifração de ficheiros. Cada ficheiro importado é cifrado com AES-256-GCM usando a chave derivada e um vetor de inicialização (IV) gerado aleatoriamente e único para esse ficheiro. Ficheiros idênticos produzem texto cifrado diferente porque o IV varia.
Cifração de metadados. Nomes de ficheiros, datas de criação e dados de miniaturas são cifrados separadamente com ChaCha20, uma cifra diferente que fornece diversidade criptográfica e elimina ataques de canal lateral por temporização de cache.
Gestão de chaves. O Apple Secure Enclave armazena material de chave num coprocessador de hardware dedicado com a sua própria memória cifrada. As chaves são eliminadas da memória da aplicação quando o Vaultaire fecha ou o utilizador muda para outra aplicação.
Sem registo de cofres. Não há base de dados com lista de cofres, nenhuma contagem, nenhum nome. Cada padrão abre um cofre diferente. A própria aplicação não consegue determinar quantos cofres existem. Leia a arquitetura de segurança completa e a explicação da cifração por padrão.
Como saber se uma aplicação usa mesmo cifração de conhecimento zero
Três testes que demoram menos de um minuto:
Teste da palavra-passe esquecida. Se a aplicação consegue redefinir a sua palavra-passe por e-mail e os seus dados reaparecem, a aplicação detém as suas chaves de cifração. Não é conhecimento zero.
Teste do novo dispositivo. Se iniciar sessão num novo dispositivo e os seus dados aparecem sem transferir chaves do dispositivo antigo ou introduzir uma frase de recuperação, o servidor tem as suas chaves. Não é conhecimento zero.
Teste da conta. Se a aplicação exige um endereço de e-mail ou número de telemóvel, o fornecedor tem uma ligação entre a sua identidade e os seus dados. Por si só não é necessariamente desqualificante, mas em combinação com qualquer um dos testes anteriores confirma que o fornecedor pode aceder aos seus dados.
Aplicações que passam nos três testes: Signal, Proton Mail, Standard Notes, Vaultaire. Aplicações que falham em pelo menos um: a maioria dos serviços de armazenamento na nuvem, a maioria das aplicações de "cofre" na App Store.
Perguntas frequentes
Cifração de conhecimento zero é o mesmo que cifração ponta a ponta?
Sobrepõem-se, mas não são idênticas. Cifração ponta a ponta (E2EE) significa que os dados são cifrados no dispositivo do remetente e só decifrados no dispositivo do destinatário. Cifração de conhecimento zero significa que o fornecedor não pode aceder aos dados. Um serviço pode ter E2EE sem ser de conhecimento zero se o fornecedor gerou ou acedeu às chaves em algum momento. Conhecimento zero é o padrão mais rigoroso.
O que acontece se perder a palavra-passe com cifração de conhecimento zero?
Os seus dados ficam permanentemente inacessíveis. Não há chave mestra, não há porta traseira, não há processo de recuperação que funcione sem uma frase de recuperação guardada separadamente. Este é o compromisso fundamental: privacidade absoluta exige responsabilidade absoluta. Algumas aplicações de conhecimento zero (incluindo o Vaultaire) geram uma frase de recuperação na criação do cofre que pode restaurar a chave de cifração se as credenciais primárias forem perdidas.
A polícia pode aceder a dados cifrados com conhecimento zero?
As autoridades podem obrigar o fornecedor a entregar os dados armazenados. Com cifração de conhecimento zero, o que o fornecedor entrega é um bloco cifrado inútil sem a chave do utilizador. Se as autoridades podem obrigar o utilizador a fornecer a chave é uma questão jurídica separada que depende da jurisdição. Os tribunais dos EUA geralmente decidiram que o acesso biométrico forçado (Face ID, impressões digitais) é admissível, enquanto a divulgação forçada de palavra-passe/padrão é mais contestada ao abrigo da Quinta Emenda.
A cifração de conhecimento zero é mais lenta que a cifração normal?
As operações de cifração e decifração são idênticas. AES-256-GCM corre à mesma velocidade independentemente de quem detém a chave. O único custo adicional é a derivação de chave: executar PBKDF2 com centenas de milhares de iterações demora cerca de 0,5 a 2 segundos num iPhone moderno. Isto acontece uma vez ao desbloquear o cofre, não para cada ficheiro. Na prática, os utilizadores não notam diferença de velocidade.
Conhecimento zero significa que a aplicação não recolhe dados?
Não necessariamente. Conhecimento zero refere-se especificamente à arquitetura de cifração. O fornecedor não pode aceder ao conteúdo cifrado. A aplicação pode continuar a recolher análises anónimas, relatórios de erros ou metadados de utilização com consentimento do utilizador. O que não pode recolher é o conteúdo dos ficheiros cifrados, a chave de cifração ou as credenciais usadas para a derivar. A Política de privacidade do Vaultaire descreve exatamente quais os dados opcionais recolhidos com consentimento do utilizador.
Como difere a cifração de conhecimento zero da Proteção de Dados Avançada da Apple?
A Proteção de Dados Avançada da Apple (PDA), introduzida no iOS 16.2, alarga a cifração ponta a ponta à maioria das categorias de dados do iCloud. Com a PDA ativada, a Apple não pode aceder aos dados protegidos. Principais diferenças em relação a uma aplicação dedicada de conhecimento zero: a PDA é opt-in (desativada por defeito), requer Apple ID e protege dados apenas no ecossistema Apple. Uma aplicação de cofre de conhecimento zero como o Vaultaire funciona independentemente da infraestrutura da Apple, não requer conta e acrescenta funcionalidades como negação plausível e modo de emergência que a PDA não oferece.
Resumo
Cifração de conhecimento zero é uma arquitetura onde o fornecedor matematicamente não pode aceder aos dados do utilizador, porque as chaves de cifração nunca saem do dispositivo do utilizador. Difere da cifração padrão, da cifração em repouso e até de algumas formas de cifração ponta a ponta numa coisa fundamental: a incapacidade do fornecedor de aceder aos dados é imposta pela matemática, não por políticas. O compromisso -- perder a chave significa perder os dados -- não é uma falha. É o mecanismo que torna a garantia real.