Sécurité & divulgation
Dernière mise à jour · 2026-05-26
Keyfount est un outil sensible à la sécurité. Cette page décrit le modèle de menace pour lequel le Service est conçu, la construction cryptographique sur laquelle il repose, la procédure de divulgation coordonnée pour signaler une vulnérabilité ainsi que les garanties d'intégrité attachées aux versions publiées.
1. Périmètre
La présente politique couvre l'ensemble des composants publiés par le Projet Keyfount :
l'extension de navigateur, l'application de bureau (macOS, Windows, Linux), les applications
mobiles (iOS, Android), le site keyfount.github.io et le serveur de synchronisation auto-hébergeable
optionnel.
2. Modèle de menace — ce contre quoi le Service protège
- Fuites de coffre. Il n'y a pas de coffre. Les mots de passe dérivés sont calculés à la demande et jamais persistés.
- Compromission d'un service de synchronisation. Par défaut, le Service ne réalise aucune synchronisation. Lorsque le serveur de synchronisation auto-hébergé optionnel est utilisé, l'authentification s'appuie sur OPAQUE (RFC 9807) et toutes les valeurs stockées sont des cryptogrammes opaques : un vidage complet de la base de données ne révèle rien qu'un attaquant puisse utiliser pour récupérer le maître hors ligne.
- Observateurs réseau. L'extension de navigateur et les applications de bureau et mobiles n'effectuent aucun appel réseau sortant par défaut. Le site n'effectue aucune requête après le chargement initial de la page.
- Réutilisation de mots de passe entre sites. Les mots de passe dérivés sont uniques par site par construction ; une fuite sur un site ne peut pas être rejouée sur un autre.
- Compromission serveur d'un déploiement de synchronisation auto-hébergé. Même un attaquant disposant d'un accès complet en lecture/écriture à la base de données ne peut apprendre ni le mot de passe maître, ni les domaines des sites, ni les identifiants de compte, ni les profils de dérivation, qui sont chiffrés côté client avant transmission.
3. Ce contre quoi le Service ne protège pas
- Un appareil compromis. Un keylogger ou un logiciel malveillant s'exécutant avec vos droits utilisateur peut lire votre mot de passe maître pendant que vous le tapez. Maintenez votre système d'exploitation, votre navigateur et vos correctifs de sécurité à jour.
- Un mot de passe maître faible. Un attaquant qui récupère un mot de passe dérivé sur un site fuité et qui connaît déjà l'email et le domaine utilisés sur ce site peut tenter de récupérer le maître hors ligne. Argon2id élève considérablement le coût, mais un maître court ou commun reste récupérable. Choisissez un mot de passe maître long, unique et non dérivé d'informations publiques vous concernant.
- Le phishing. L'extension remplit le champ de mot de passe de l'onglet actif, y compris sur des domaines similaires. Vérifiez la barre d'URL avant de remplir.
- L'observation par-dessus l'épaule et l'accès physique. Le Service propose une minuterie de verrouillage automatique et un indice chiffré optionnel, mais il ne peut se défendre contre un attaquant disposant d'un accès physique prolongé à un appareil déverrouillé.
- La compromission de l'exploitant d'un déploiement auto-hébergé. La confidentialité des métadonnées synchronisées face à un exploitant malveillant dépend de l'intégrité du client au moment de son exécution. N'utilisez que des builds clients en lesquels vous avez confiance.
4. Construction cryptographique
La dérivation des mots de passe utilise Argon2id (RFC 9106), la fonction mémoire-intensive recommandée par l'OWASP pour le hachage de mots de passe. Paramètres : 3 itérations, 64 Mio de mémoire, parallélisme 1, sortie de 32 octets. Le sel est construit à partir du domaine racine du site, de l'identifiant de compte utilisé sur ce site et d'un compteur par site. La sortie est mise en forme pour correspondre au profil propre au site.
Les secrets locaux stockés au repos (l'indice optionnel chiffré du mot de passe maître et, le cas échéant, l'index local des comptes) sont chiffrés par AES-256-GCM avec une clé d'enveloppement dérivée de votre mot de passe maître via PBKDF2-SHA-256. L'authentification auprès du serveur de synchronisation auto-hébergé optionnel utilise OPAQUE, un protocole asymétrique d'échange de clés authentifié par mot de passe.
5. Intégrité des versions
- Versions taguées. Chaque version publiée correspond à un tag Git dans le dépôt public.
- Builds reproductibles. Le bundle publié sur chaque canal de distribution est construit à partir du tag correspondant. Vous pouvez faire un checkout du tag, lancer la commande de build documentée et comparer le bundle résultant à celui publié par le canal.
- Images conteneur signées. Les images conteneur du serveur sont publiées sur le GitHub Container Registry depuis la CI automatisée du Projet ; l'empreinte de l'image est reproductible à partir des sources publiées.
6. Signaler une vulnérabilité
Si vous pensez avoir trouvé une vulnérabilité de sécurité dans l'un des composants du Projet, sur le site, dans la construction cryptographique ou dans le pipeline de build, signalez-la en privé plutôt que d'ouvrir un ticket public.
- Canal recommandé. Signalement privé de vulnérabilité de GitHub : github.com/Keyfount/extension/security/advisories/new, ou la page d'advisory équivalente sur tout autre dépôt Keyfount.
- Canal alternatif. Email à security-keyfount@loule.me.
- Éléments à fournir. Une description claire du problème, les étapes de reproduction, la version concernée (visible dans le panneau « À propos » de l'application), une évaluation de l'impact et toute mesure d'atténuation suggérée.
7. Nos engagements
- Nous accusons réception des nouveaux signalements sous 72 heures.
- Nous fournissons un premier tri et une évaluation de criticité sous 7 jours.
- Nous visons un correctif sous 90 jours après confirmation, avec un objectif plus court pour les vulnérabilités critiques.
- Nous coordonnons la divulgation avec le rapporteur et le créditons dans les notes de version et l'advisory de sécurité, sauf s'il préfère rester anonyme.
- Nous n'engagerons aucune action en justice à l'encontre des chercheurs en sécurité de bonne foi qui suivent la présente procédure de divulgation coordonnée et qui n'accèdent à, ne modifient ni ne détruisent les données d'autres utilisateurs.
8. Hors périmètre
- Les constats qui requièrent un appareil déjà compromis, des privilèges root ou administrateur, ou une extension de navigateur malveillante exécutée en parallèle du Service.
- Les signalements qui se limitent à la sortie d'un scanner automatisé sans impact de sécurité démontré.
- Les vulnérabilités de services tiers (magasins de navigateurs, hébergeurs, dépendances maintenues par d'autres projets) — veuillez les signaler au mainteneur concerné.
- La posture de sécurité d'un déploiement de serveur de synchronisation auto-hébergé, qui relève de la responsabilité de son exploitant.
9. Advisories publiques
Les vulnérabilités confirmées sont documentées dans les GitHub Security Advisories du dépôt concerné, avec un CVE attribué le cas échéant. Abonnez-vous aux releases du dépôt pour être notifié des nouvelles advisories.