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

Uma ligação Sésame Éclair tem este aspeto:

https://eclair.kayzen-lyon.com/s/Q2xhaXJlTGFQb2ludGU#v1.n.k7X…

Tudo o que está antes do sinal # serve para encontrar o segredo. Tudo o que vem depois é a chave necessária para o ler. Esta separação não é uma convenção nossa: faz parte do funcionamento da Web.

O que o navegador nunca envia

A parte de um endereço que se segue ao # chama-se fragmento. A norma dos endereços Web (RFC 3986) mantém-no no navegador: nunca é enviado ao servidor no pedido. Quando o destinatário abre a ligação, o nosso servidor recebe o identificador do segredo, mas não a chave.

O navegador do destinatário lê a chave no fragmento, transfere o bloco cifrado e decifra-o localmente.

O que recebemos quando cria um segredo

Quando cria um segredo, o seu navegador:

  1. gera uma chave aleatória de 256 bits;
  2. cifra o conteúdo com AES-256-GCM, depois de o preencher até um tamanho padrão para não revelar o seu comprimento;
  3. envia-nos apenas o resultado cifrado, a expiração escolhida e o número de leituras autorizadas;
  4. coloca a chave no fragmento da ligação que lhe apresenta.

Guardamos, portanto, um bloco ilegível. Mesmo com acesso total à nossa base de dados, o conteúdo não pode ser recuperado sem a ligação.

E o PIN?

O PIN acrescenta uma segunda chave, derivada do código com Argon2id, uma função deliberadamente lenta que torna as tentativas dispendiosas. O servidor recebe apenas um verificador que não permite reconstituir o código. Após cinco tentativas erradas, o segredo é destruído.

Os limites, com franqueza

  • A ligação é o segredo. Quem a obtiver antes do destinatário pode lê-la. O destinatário saberá, no entanto: verá que a ligação já foi utilizada, e o aviso de leitura informá-lo-á a si. Para credenciais sensíveis, acrescente um PIN e envie-o por outro canal.
  • O fragmento fica no histórico do navegador do destinatário. O segredo não está lá, e a ligação deixa de funcionar após a leitura.
  • A cifragem acontece na página que servimos. A política de segurança do site proíbe qualquer script de terceiros, e o formato está documentado publicamente, com os seus vetores de teste.

Pode ver exatamente o que o nosso servidor recebe na página «O que o servidor vê».

← Todos os artigos

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