Gratuito, sem conta, cifrado ponto a pontoPedir um segredo →

O princípio

O seu segredo é cifrado no seu navegador com uma chave aleatória de 256 bits. Essa chave é colocada na ligação, depois do sinal #. Os navegadores nunca enviam essa parte do endereço: os nossos servidores recebem apenas um bloco cifrado que não conseguem decifrar. Mesmo com acesso total aos nossos servidores e à base de dados, ninguém consegue ler um segredo sem a ligação completa.

Anatomia de uma ligação

https://eclair.kayzen-lyon.com/s/35fZoy72KMhzS86v9fUxog#v1.p.8BJ3ft…
  • /s/{id}: Identificador aleatório de 128 bits, enviado ao servidor para encontrar o texto cifrado.
  • #v1: Versão do formato.
  • n ou p: Sem ou com PIN.
  • {key}: Chave de 256 bits. Nunca enviada, nunca registada.

Primitivas criptográficas

UtilizaçãoConstruçãoImplementação
ConteúdoAES-256-GCM, IV aleatório de 96 bits, dados associados ligados ao identificador do segredoWebCrypto
DerivaçãoHKDF-SHA-256, cadeias de contexto com o prefixo «eclair v1»WebCrypto
PINArgon2id (64 MiB, 3 passagens) seguido de HKDF; verificador HMAC-SHA-256 derivado da chave da ligaçãohash-wasm
ComprimentoConteúdo preenchido por patamares (1, 4, 16, 64 KiB…) para ocultar o seu tamanho real—

Porque é que o servidor não pode testar os seus PIN

O verificador enviado ao servidor é calculado a partir do código E da chave da ligação. Sem a chave, o servidor não pode verificar nem experimentar um código. Limita-se a contar as falhas e destrói o segredo à quinta tentativa.

Contra o que protegemos

  • Uma fuga da nossa base de dados ou do nosso alojamento: Contém apenas blocos cifrados e algumas datas.
  • Pré-visualizadores de ligações (Slack, Teams, Outlook): A página da ligação não contém o segredo; este só é entregue após um clique, através de um pedido POST.
  • Duas aberturas simultâneas: A leitura e a eliminação ocorrem numa única operação atómica, testada com 100 leituras simultâneas.
  • Enumeração de ligações: 128 bits aleatórios, limitação de pedidos, resposta idêntica para ligações desconhecidas, expiradas ou já lidas.
  • Um script adulterado: Sem scripts de terceiros, política de segurança de conteúdo rigorosa baseada em nonce, dependências fixadas e auditadas.

Os limites, com franqueza

  • Um atacante que tenha a ligação e uma cópia da nossa base de dados pode testar PIN curtos offline. Para um segredo crítico, escolha uma frase-passe.
  • A cifragem numa página web pressupõe que o código servido pelo nosso site está intacto. A extensão e as aplicações assinadas, em preparação, vão reduzir este risco.
  • Vemos metadados: datas, patamar de tamanho, número de leituras.
  • Um destinatário pode sempre copiar o segredo depois de o ler.
  • O serviço ainda não foi auditado por terceiros. A auditoria está prevista antes da versão 1.0 e o respetivo relatório será publicado.

Verifique por si

Ver o pedido enviado ao servidor

Comunicar uma vulnerabilidade

Escreva-nos seguindo o nosso ficheiro security.txt. Nunca tomaremos medidas contra quem comunique uma falha de boa-fé. security.txt · contact@kayzen-lyon.fr

Tradução automática, em revisão.