Architecture de Sécurité — Anonymisation Hors Ligne à Connaissance Nulle
Modèle de menace, architecture de chiffrement et divulgation responsable pour anonym.plus.
Principes de Conception
anonym.plus repose sur trois principes de sécurité :
- Hors Ligne d'abord : Le pipeline entier de détection et d'anonymisation des IDP s'exécute localement. Les documents ne sont jamais téléchargés sur un serveur.
- À Connaissance Nulle : Votre mot de passe ne quitte jamais votre appareil. Seules des preuves cryptographiques sont envoyées lors de l'authentification. Le serveur ne peut pas accéder au contenu de votre coffre.
- Défense en Profondeur : Chiffrement au repos (AES-256-GCM), dérivation de clé via Argon2id, verrouillage automatique du coffre et une phrase de récupération BIP39 à 24 mots fournissent une protection multicouche.
Modèle de Menace
Le tableau suivant décrit ce qu'anonym.plus protège et ce qui se situe en dehors de l'étendue de ses garanties de sécurité.
| Menace | Atténuation | Statut |
|---|---|---|
| Documents envoyés à des serveurs externes | Tout le traitement s'exécute localement via Presidio + spaCy intégrés. Aucun appel réseau pour la détection ou l'anonymisation des IDP. | Atténuée |
| Données du coffre accessibles par un attaquant ayant accès au disque | Coffre chiffré avec AES-256-GCM. Clé dérivée du mot de passe utilisateur via Argon2id (64 Mo de mémoire, 3 itérations). Sans PIN ou phrase de récupération, les données sont illisibles. | Atténuée |
| Compromission du serveur exposant les mots de passe utilisateur | Authentification à connaissance nulle. Les mots de passe sont hachés côté client avant toute communication serveur. Le serveur stocke uniquement des preuves cryptographiques. | Atténuée |
| Clés de chiffrement extraites de la mémoire | Le matériel clé est effacé de la mémoire lorsque le coffre se verrouille. Le verrouillage automatique se déclenche après 15 minutes d'inactivité. | Atténuée |
| Attaque de l'homme du milieu sur la communication API | Toute communication API sur HTTPS/TLS. L'épinglage de certificat n'est pas implémenté (TLS du navigateur/Tauri standard). | Partiellement atténuée |
| Malware sur l'appareil de l'utilisateur | Hors de portée. Si un attaquant a l'exécution du code sur votre machine, aucune application de bureau ne peut garantir la sécurité. Utilisez les protections au niveau du système d'exploitation. | Hors de portée |
| La détection PNL manque des entités d'IDP | Presidio + spaCy utilisent à la fois NER (apprentissage automatique) et des motifs regex. Seuils de confiance configurables et étape d'examen manuel. Les faux négatifs sont possibles — vérifiez toujours les résultats. | Partiellement atténuée |
Architecture de Chiffrement
Chiffrement du Coffre
Toutes les données locales (historique de traitement, clés de chiffrement, paramètres) sont stockées dans un coffre chiffré.
- Algorithme
- AES-256-GCM (chiffrement authentifié avec données associées)
- Dérivation de Clé
- Argon2id avec 64 Mo de coût mémoire, 3 itérations, sortie 32 octets
- Phrase de Récupération
- Mnémonique BIP39 à 24 mots (256 bits d'entropie), généré lors de la première configuration
- Déverrouillage Rapide
- PIN optionnel de 4-8 chiffres pour plus de commodité. Après 3 tentatives échouées, phrase de récupération requise.
- Verrouillage Automatique
- Le coffre se verrouille après 15 minutes d'inactivité (aucun événement souris, clavier ou défilement)
- Effacement de Clé
- Le matériel clé de chiffrement est effacé de la mémoire lorsque le coffre se verrouille
Chiffrement de Document (Anonymisation Réversible)
Lors de l'utilisation de l'opérateur d'anonymisation « Chiffrer », les entités IDP sont chiffrées avec AES-256-GCM par clé afin qu'elles puissent être déchiffrées ultérieurement via la fonction Désanonymiser.
- Algorithme
- AES-256-GCM avec nonce aléatoire par entité
- Longueurs de Clé
- 128-bit, 192-bit ou 256-bit (256-bit recommandés et par défaut)
- Stockage de Clé
- À connaissance nulle : les valeurs de clé ne quittent jamais le backend Rust. Le frontend ne référence les clés que par ID.
- Rotation de Clé
- Génère un nouveau matériel clé. L'ancienne valeur de clé est remplacée de manière permanente. Les documents chiffrés avec l'ancienne clé nécessitent l'ancienne valeur de clé pour le déchiffrement.
Authentification
- Gestion du Mot de Passe
- Les mots de passe sont hachés côté client en utilisant Argon2id + HKDF + SHA-256 avant toute communication serveur. Le serveur ne reçoit jamais les mots de passe en texte clair.
- Jetons de Session
- JWT avec secrets séparés pour l'authentification utilisateur et administrateur. Jetons stockés dans sessionStorage (effacés à la fermeture de l'onglet).
- Authentification Administrateur
- Secret JWT séparé (ADMIN_JWT_SECRET). Mot de passe minimum 12 caractères. Authentification à deux facteurs basée sur TOTP.
Ce que le Serveur Voit
Le serveur anonym.plus gère la gestion de compte, les licences et l'achat de licences. Voici exactement ce qu'il peut et ne peut pas accéder :
- Peut accéder : Adresse e-mail, statut de licence, activations machine, tickets de support, métadonnées de paiement (via Stripe/PayPal).
- Ne peut pas accéder : Vos documents, résultats de détection d'IDP, résultats anonymisés, clés de chiffrement, contenu du coffre, historique de traitement ou mot de passe.
Pour une ventilation complète des données collectées, consultez la Politique de Confidentialité.
Divulgation Responsable
Signaler une Vulnérabilité de Sécurité
Si vous découvrez une vulnérabilité de sécurité dans anonym.plus, nous encourageons une divulgation responsable. Veuillez la signaler via notre formulaire de contact avec la catégorie « Sécurité ».
Lors de votre signalement, veuillez inclure : une description de la vulnérabilité, les étapes pour la reproduire, la version affectée et l'impact potentiel.
Nous visons à accuser réception des rapports dans les 48 heures et à fournir un calendrier de correction dans les 7 jours. Nous ne prendrons pas d'action en justice contre les chercheurs qui suivent les pratiques de divulgation responsable.
Notre information de contact de sécurité est également disponible à /.well-known/security.txt (RFC 9116).
Composants Open Source
anonym.plus utilise les composants open source suivants pour ses fonctions critiques de sécurité :
- Microsoft Presidio — Moteur de détection d'IDP (Apache 2.0)
- spaCy — Modèles PNL pour la reconnaissance d'entités nommées (MIT)
- Tesseract OCR — Extraction de texte d'image (Apache 2.0)
- Tauri — Framework d'application de bureau avec backend Rust (MIT/Apache 2.0)
- Argon2 — Hachage de mot de passe / dérivation de clé (CC0)
Références
- Microsoft Presidio — Référentiel GitHub
- spaCy — PNL de niveau industriel
- RFC 5116 — Spécification de chiffrement authentifié AES-GCM
- RFC 9106 — Spécification de fonction à mémoire intensive Argon2
- BIP39 — Spécification de code mnémonique
- RGPD — Texte complet du Règlement Général sur la Protection des Données