Gratuit, sans compte, chiffré de bout en boutDemander un secret →

Un lien Sésame Éclair ressemble à ceci :

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

Tout ce qui précède le signe # sert à retrouver le secret. Tout ce qui le suit est la clé qui permet de le lire. Cette séparation n'est pas une convention de notre part : elle est inscrite dans le fonctionnement même du Web.

Ce que le navigateur n'envoie jamais

La partie d'une adresse placée après # s'appelle le fragment. La norme des adresses Web (RFC 3986) prévoit qu'elle reste dans le navigateur : elle n'est jamais transmise au serveur dans la requête. Quand votre destinataire ouvre le lien, notre serveur reçoit donc l'identifiant du secret, mais pas la clé.

C'est le navigateur du destinataire qui lit la clé dans le fragment, télécharge le bloc chiffré et le déchiffre sur place.

Ce que nous recevons à la création

Quand vous créez un secret, votre navigateur :

  1. tire une clé aléatoire de 256 bits ;
  2. chiffre le contenu avec AES-256-GCM, après l'avoir complété à une taille standard pour ne pas trahir sa longueur ;
  3. nous envoie uniquement le résultat chiffré, l'expiration choisie et le nombre de lectures autorisées ;
  4. place la clé dans le fragment du lien qu'il vous affiche.

Nous stockons donc un bloc illisible. Même avec un accès complet à notre base de données, il est impossible de retrouver le contenu sans le lien.

Et le code PIN ?

Le code PIN ajoute une seconde clé, dérivée du code avec Argon2id, une fonction volontairement lente qui rend les essais en série coûteux. Le serveur ne reçoit qu'un vérificateur qui ne permet pas de retrouver le code. Après cinq erreurs, le secret est détruit.

Les limites, honnêtement

  • Le lien est le secret. Quiconque l'obtient avant votre destinataire peut le lire. En revanche, votre destinataire le saura : il verra que le lien a déjà été utilisé, et l'accusé de lecture vous préviendra. Pour les accès sensibles, ajoutez un code PIN et transmettez-le par un autre canal.
  • Le fragment reste dans l'historique du navigateur du destinataire. Le secret n'y est pas, et le lien ne fonctionne plus après la lecture.
  • Le chiffrement a lieu dans la page que nous servons. La politique de sécurité du site interdit tout script tiers, et le format est décrit publiquement, avec ses vecteurs de test.

Vous pouvez voir exactement ce que notre serveur reçoit sur la page « Ce que voit le serveur ».

← Tous les articles