Modèle de menaces
Cette page résume le modèle de menaces public du dépôt vaultkeepr-public. Le document complet couvre les paquets SDK open source et les contrats Solidity tels qu’utilisés par les clients VaultKeepR ; les applications clientes vivent dans un dépôt privé.
Biens protégés et comment
Section intitulée « Biens protégés et comment »| Bien | Protection | Où il vit |
|---|---|---|
| Coffre en clair | AEAD XChaCha20-Poly1305, clé dérivée côté client | Ne quitte jamais l’appareil en clair |
| Mot de passe maître | Argon2id (t=3, m=64 MiB, p=4), jamais transmis ni stocké | Mémoire de l’utilisateur uniquement |
| Clé de chiffrement du coffre | Dérivée côté client, copies de session en mémoire uniquement | Mémoire de l’appareil |
| Instantanés de coffre chiffrés | Chiffré adressé par contenu sur IPFS / stockage compatible S3 | Par CID |
| Fragments de récupération | Découpage Shamir, fragments chiffrés | IPFS + pointeurs on-chain |
| Pointeurs de localisation | Publics par conception ; ils référencent du chiffré, pas du clair | VaultKeeperCidRegistry sur Base L2 |
| Instructions d’héritage | Verrouillées on-chain, charges chiffrées des bénéficiaires | VaultKeeperLegacy sur Base L2 |
Adversaires
Section intitulée « Adversaires »- Un observateur réseau passif voit les blobs chiffrés, les CIDs et les métadonnées de trafic. Il apprend qu’un coffre existe, quand il change et sa taille. Il n’apprend rien sur le contenu.
- Un opérateur de stockage (passerelle IPFS, hôte S3) détient du chiffré et ne peut pas le déchiffrer. Il peut retenir, corrompre ou censurer les données. C’est une menace de disponibilité, pas de confidentialité ; l’adressage par contenu rend la falsification détectable.
- Un analyste on-chain lit les registres publics sur Base : écritures, pointeurs de fragments, plannings d’héritage, horodatages, adresses émettrices. L’activité est corrélable.
- Un client ou une dépendance malveillante (un build SDK compromis, une injection supply-chain) pourrait exfiltrer les clés. Les atténuations incluent des primitives
@noble/*épinglées, une liste anti-hameçonnage intégrée au moment du build, un logger qui masque les données sensibles, et la CI à chaque push. - L’opérateur du serveur du service commercial ne traite que du chiffré ; compromettre le backend ne déchiffre pas les coffres.
- Un attaquant avec accès physique ou malware sur votre appareil est hors de portée cryptographique.
Limites acceptées
Section intitulée « Limites acceptées »Lisez ces points avant de confier quoi que ce soit de critique au produit.
- Les métadonnées ne sont pas protégées. Timing, taille, fréquence, motifs d’accès aux CID sur les passerelles et activité on-chain sont observables. Un adversaire peut corréler les mises à jour du coffre avec des événements réels.
- Un point d’accès compromis, un coffre compromis. Keyloggers, extracteurs de mémoire et capture d’écran neutralisent la crypto client de n’importe quel gestionnaire de mots de passe. Le modèle de menaces s’arrête à la frontière de l’OS.
- La force du mot de passe maître est un risque utilisateur. Argon2id augmente le coût des attaques hors ligne mais ne sauve pas un mot de passe faible. L’estimateur d’entropie intégré informe ; il n’impose rien.
- La disponibilité dépend de l’économie du stockage. Les passerelles IPFS et les services d’épinglage peuvent tomber ou disparaître. Les fragments de récupération atténuent ce risque, mais exigent que vous déteniez le seuil.
- Les enregistrements on-chain sont permanents et publics. Les entrées de registre et les plannings d’héritage ne peuvent pas être cachés ou retirés une fois écrits. Traitez les adresses de chaîne comme pseudonymes, pas anonymes.
- Les fenêtres d’héritage sont visibles on-chain. Les délais des bénéficiaires fuient, même si les charges des bénéficiaires restent chiffrées.
Fichiers sources
Section intitulée « Fichiers sources »- docs/THREAT_MODEL.md
- SECURITY_ASSESSMENT.md — niveaux de vraisemblance et d’impact par risque