O que é Arquitetura zero-knowledge?
A arquitetura zero-knowledge é um design de sistema em que o provedor do serviço não tem nenhuma capacidade de acessar, ler ou descriptografar os dados que armazena em nome dos usuários, porque todas as operações de criptografia e descriptografia acontecem no lado do cliente.
Também conhecido como: ZK, zero-knowledge encryption, zero-knowledge proof, ZKA
Em um sistema zero-knowledge, o servidor atua puramente como armazenamento criptografado. Ele recebe dados que o cliente já criptografou e os devolve quando solicitado, mas nunca possui as chaves necessárias para dar sentido a esses dados. Isso contrasta com a maioria dos serviços em nuvem, em que o provedor mantém as chaves de criptografia e poderia, em teoria, acessar os dados do usuário, seja por meio de um funcionário mal-intencionado, de uma intimação judicial ou de uma violação de segurança.
O termo "zero-knowledge" nesse contexto é distinto das provas zero-knowledge em criptografia, embora ambos compartilhem o princípio de não revelar nada além do estritamente necessário. Um serviço zero-knowledge sabe que os dados existem e pode aplicar controles de acesso como expiração ou limites de visualização, mas não consegue determinar o que os dados realmente contêm.
A arquitetura zero-knowledge transforma o modelo de confiança pela raiz. Em vez de confiar que o operador do serviço protegerá seus dados e agirá com honestidade, você só precisa confiar no código do lado do cliente que roda no seu navegador. Isso representa uma melhoria de segurança significativa porque elimina toda uma categoria de ameaças: violações no lado do servidor, acesso interno e divulgação forçada deixam de ser eficazes quando o servidor genuinamente não consegue ler o que armazena.
Como o Vaulted usa Arquitetura zero-knowledge
A Vaulted foi construída como um sistema zero-knowledge desde a sua base. Toda a criptografia e a descriptografia acontecem no seu navegador por meio da Web Crypto API. O servidor recebe e armazena apenas o texto cifrado, o vetor de inicialização e metadados como o número de visualizações e a expiração. A chave de criptografia AES-256-GCM é incorporada ao fragmento da URL, que os navegadores nunca enviam aos servidores, conforme o RFC 3986. Mesmo que o servidor ou o banco de dados da Vaulted fossem totalmente comprometidos, um atacante obteria apenas blocos criptografados, sem nenhuma forma de descriptografá-los.