100 % gratuit, pour toujours — sans carte bancaire, sans compte, sans publicité. Quitter 1Password en 2 minutes →
Carte de contact

KAYZEN Tarek BELHADJ (EI)

Éditeur de Sésame — Agence web KAYZEN

Scanner un QR code

QR code ouvrant le site de Sésame (https://sesame.kayzen-lyon.com)

Ouvrir le site de Sésame sur un autre appareil.

Livre blanc sécurité · version 2.0

Comment Sésame protège votre coffre

Ce document décrit précisément ce que fait Sésame avec vos données, y compris lorsque vous synchronisez vos appareils ou partagez un coffre. Le code source est ouvert (licence GPL-3.0) : chacun peut le vérifier.

1. Principe : zero-knowledge et local-first

Votre coffre est chiffré et déchiffré uniquement sur vos appareils. Sans synchronisation, il n'existe que dans le stockage de votre navigateur ou de l'application (IndexedDB). Si vous activez la synchronisation, le serveur ne reçoit que le coffre déjà chiffré. Votre mot de passe maître n'est jamais écrit sur disque ni transmis, à personne.

2. Dérivation de clé

La clé du coffre est « enveloppée » par la KEK. Changer de mot de passe maître ne ré-enveloppe que cette clé : l'opération est instantanée et sûre.

3. Chiffrement des données

Le contenu du coffre est chiffré avec AES-256-GCM, un chiffrement authentifié : toute modification du fichier chiffré est détectée et refusée. Un vecteur d'initialisation aléatoire de 96 bits est utilisé à chaque sauvegarde, et des données associées (AAD) lient chaque bloc à son rôle. Toute la cryptographie repose sur WebCrypto (implémentation native du navigateur) et sur Argon2 en WebAssembly.

4. Protection pendant l'utilisation

5. Synchronisation chiffrée : ce que voit le serveur

La synchronisation est optionnelle. Le serveur est hébergé dans l'Union européenne (Paris). Il sert de boîte aux lettres pour des données qu'il ne peut pas lire.

6. Partage familial : chiffré pour chaque membre

Un coffre partagé possède sa propre clé AES-256, aléatoire. Cette clé est chiffrée séparément pour chaque membre avec ECIES sur X25519 (échange de clés éphémère, HKDF-SHA256 puis AES-256-GCM). Le serveur ne stocke que ces clés enveloppées et le contenu chiffré.

7. Clés d'accès (passkeys)

Sésame enregistre vos clés d'accès WebAuthn comme n'importe quel autre élément : la clé privée est stockée chiffrée dans votre coffre, synchronisée chiffrée si vous l'avez activé, et utilisée via l'extension. L'origine du site est vérifiée avant toute signature, et une passkey n'est jamais présentée à un autre domaine que celui pour lequel elle a été créée.

8. Extension de navigateur

9. Vérification des fuites (facultative)

Sésame utilise l'API Have I Been Pwned avec le k-anonymat : il calcule l'empreinte SHA-1 du mot de passe, n'envoie que ses 5 premiers caractères, puis compare localement la liste reçue. Le service ne peut pas savoir quel mot de passe a été vérifié. Les réponses sont « rembourrées » pour masquer leur taille.

10. Générateur aléatoire

Les mots de passe sont tirés avec crypto.getRandomValues et un échantillonnage par rejet, qui élimine le biais modulo. Chaque classe de caractères choisie est garantie, et l'entropie réelle est affichée. Essayez-le sur la page d'accueil.

11. Audits internes et corrections

Avant la version 2.0, cinq audits internes approfondis ont porté sur la cryptographie, les protocoles de synchronisation et de partage, le serveur, l'application et l'extension navigateur. Tous les points relevés ont été corrigés et sont couverts par des tests de non-régression, notamment :

Un audit externe indépendant est en préparation : le dossier destiné aux auditeurs est prêt. Son rapport sera publié ici. Le détail des revues figure dans le dépôt du projet (dossier docs).

12. Limites connues

La transparence fait partie de la sécurité. Un appareil compromis (logiciel espion, extension malveillante) pendant que le coffre est déverrouillé peut lire vos données : c'est vrai pour tout gestionnaire de mots de passe. Le serveur de synchronisation connaît des métadonnées techniques (taille du coffre, dates, adresse IP de connexion). Sans synchronisation, effacer les données du navigateur supprime le coffre local : faites des sauvegardes chiffrées régulières. Enfin, tant que l'audit externe n'a pas eu lieu, nos garanties reposent sur nos propres revues et sur le code ouvert.

13. Signaler une vulnérabilité

Merci de signaler toute faille de façon responsable, en privé, via l'onglet « Security » du dépôt GitHub du projet (signaler une vulnérabilité) ou via le formulaire de contact (sujet « Sécurité »). N'ouvrez pas de ticket public pour une faille non corrigée.

  • Décrivez le problème, la version concernée et les étapes pour le reproduire.
  • Laissez-nous un délai raisonnable pour corriger avant toute publication.
  • N'accédez jamais aux données d'autres personnes lors de vos tests.