Por que a criptografia do lado do cliente é importante para o compartilhamento de segredos
Por Maxim Novak
A criptografia do lado do cliente é importante para o compartilhamento de segredos porque garante que o servidor nunca veja seus dados em texto puro. Com a criptografia do lado do servidor, o serviço pode ler seus segredos — e qualquer pessoa que comprometa a infraestrutura dele também pode. Ferramentas do lado do cliente como o Vaulted criptografam os dados no seu navegador usando AES-256-GCM antes de enviar qualquer coisa.
O problema da criptografia do lado do servidor
As ferramentas tradicionais de compartilhamento de segredos seguem este fluxo:
- Você digita seu segredo em um formulário
- Seu navegador envia o texto puro para o servidor
- O servidor o criptografa e armazena o texto cifrado
- Um link é gerado para o destinatário
O problema está no passo 2. Seu segredo trafega pela rede em texto puro (protegido por TLS, mas totalmente visível para o servidor). O serviço tem acesso aos seus dados, ainda que apenas por um breve momento.
Isso significa que:
- Um servidor comprometido expõe todos os segredos em trânsito — um vazamento de dados prestes a acontecer
- Funcionários do serviço poderiam, em tese, acessar seus dados
- As autoridades policiais ou solicitações judiciais poderiam obrigar o serviço a entregar os segredos
- Os logs do servidor poderiam capturar dados em texto puro de forma involuntária
Como a criptografia do lado do cliente resolve isso
O Vaulted adota uma abordagem diferente. A criptografia acontece inteiramente no seu navegador:
- Você digita seu segredo em um formulário
- Seu navegador gera uma chave AES-256-GCM e criptografa o segredo localmente
- Apenas o texto cifrado criptografado é enviado para o servidor
- A chave de criptografia é colocada no fragmento da URL (
#), que os navegadores nunca enviam para os servidores
O servidor só vê dados criptografados. Ele não consegue descriptografar seu segredo porque nunca tem a chave.
Por que o fragmento da URL é importante
O fragmento da URL — tudo o que vem depois do símbolo # — tem uma propriedade especial: os navegadores não o incluem nas requisições HTTP. Quando alguém abre seu link do Vaulted, o fragmento permanece no navegador dessa pessoa. O servidor recebe uma requisição pelo ID do segredo, mas nunca vê a chave de descriptografia.
Isso não é um protocolo personalizado nem uma gambiarra. É a forma como os navegadores sempre funcionaram, definida na RFC 3986.
O que isso significa na prática
Com a criptografia do lado do cliente, mesmo que os servidores do Vaulted fossem completamente comprometidos, um invasor obteria apenas blocos criptografados — inúteis sem as chaves que existem somente nos links compartilhados. Esse é o princípio fundamental da arquitetura de conhecimento zero.
Nenhuma confiança é necessária. A criptografia fala por si só.
Pronto para compartilhar um segredo com segurança? Experimente o Vaulted — é grátis.
Relacionados
- O que é criptografia do lado do cliente? — definição completa no glossário
- Laboratório de criptografia — veja a criptografia AES-256-GCM passo a passo
- O que é arquitetura de conhecimento zero? — por que o servidor nunca pode ler seus dados