EncSend EncSend
Conceito de seguranca

Modelo de seguranca do EncSend

Esta pagina descreve a implementacao atual: que dados sao cifrados no cliente, como os links e as chaves sao tratados, que controlos de acesso estao ativos e onde estao os limites do modelo.

Criptografia no cliente primeiro

As mensagens sao cifradas no navegador com Web Crypto (AES-GCM). O servidor armazena apenas texto cifrado e metadados.

Chaves em fragmentos de URL

As chaves de decifragem sao transportadas em fragmentos de URL como #k ou #rk e nao sao enviadas ao servidor.

Camada opcional de palavra-passe

Links protegidos por palavra-passe usam hashes no servidor mais um wrapping adicional de chave no cliente com PBKDF2-SHA-256.

Controlos de tempo de vida

Expiracao, limites de abertura ou submissao e politicas de leitura unica restringem o acesso a conteudos sensiveis.

Fluxo de dados: envio de segredo

  1. O navegador gera material de chave do link com 256 bits.
  2. A mensagem e cifrada com uma chave de payload aleatoria atraves de AES-GCM.
  3. A chave de payload e wrapped com uma chave derivada da chave do link via HKDF-SHA-256.
  4. Opcionalmente, esta chave wrapped e ainda cifrada com uma camada baseada em palavra-passe (PBKDF2-SHA-256).
  5. O servidor armazena apenas encrypted_payload, encrypted_key, metadados criptograficos e campos de politica de acesso.
  6. Apos a decifragem local bem-sucedida, o cliente confirma a visualizacao; com leitura unica, o segredo e depois marcado como destruido.

Fluxo de dados: pedido de mensagem segura

  1. O proprietario gera uma URL de pedido com um token publico aleatorio.
  2. Remetentes externos cifram localmente no navegador com material de chave obtido do fragmento da URL.
  3. O servidor armazena submissoes como texto cifrado e aplica limites de submissao e expiracao.
  4. O proprietario le as submissoes atraves de decifragem local; o texto em claro nao e processado no servidor.
  5. Para leitura entre dispositivos, a chave do pedido pode tambem ser armazenada como artefacto owner-wrapped.

Controlo de acesso e resistencia a abuso

Os tokens de acesso publicos sao gerados aleatoriamente, armazenados apenas como hashes SHA-256 na base de dados e validados via hash_equals.

As palavras-passe dos links nunca sao armazenadas em texto simples e sao verificadas contra hashes do servidor. As sessoes de palavra-passe para links publicos sao limitadas no tempo e configuraveis.

Rate limiting esta ativo em endpoints criticos, incluindo verificacoes de palavra-passe, submissoes publicas, login e fluxos de verificacao.

As operacoes do proprietario sao protegidas por autenticacao, estado de e-mail verificado e politicas de autorizacao; mutacoes sensiveis de recuperacao exigem confirmacao recente de palavra-passe.

Recuperacao do proprietario e key vault

O EncSend fornece artefactos de recuperacao cifrados opcionais para cenarios entre dispositivos:

  • Perfil criptografico do proprietario: chave mestra cifrada (AES-GCM), baseada em passphrase com PBKDF2-SHA-256.
  • Key vault do utilizador: copia de seguranca cifrada das chaves de segredos e pedidos guardadas localmente.
  • Chaves de pedido owner-wrapped por pedido e chaves de segredo owner-wrapped por segredo; batches de rotacao de chaves de pedido incluem suporte de repeticao.

Auditoria e rastreabilidade

Acoes relevantes para a seguranca sao registadas, por exemplo emissao de links, acesso negado, passos de desafio por palavra-passe, criacao de submissao e atualizacoes de recuperacao.

  • As tabelas de eventos de acesso guardam tipo de evento, timestamp, user-agent e metadados contextuais.
  • Os logs de auditoria podem ser consultados por utilizadores finais (eventos proprios) e administradores (vista global).
  • Uma migracao dedicada remove colunas de endereco IP das tabelas relacionadas com sessoes e eventos.

Limites importantes do modelo

  • A seguranca do navegador continua critica: chaves locais ficam em cache no armazenamento do navegador e exigem um ambiente cliente endurecido.
  • JavaScript e Web Crypto sao obrigatorios para fluxos seguros de criacao e decifragem local.
  • A seguranca do transporte (HTTPS, hardening do reverse proxy e politica TLS) deve ser aplicada ao nivel da infraestrutura.
  • O hashing de palavras-passe protege o armazenamento no servidor, mas nao substitui palavras-passe fortes.