Sécurité
Sécurité
Comment VaultWell protège ce que vous y gardez, en termes simples. Y compris ce qu’il ne peut pas protéger, et ce que nous n’avons pas encore fait.
Contre qui et contre quoi nous protégeons
VaultWell est conçu pour les menaces du quotidien, celles que la plupart des gens rencontrent vraiment.
- Quelqu’un prend votre téléphone. Un partenaire, un proche, un collègue, ou un inconnu qui le trouve. Sans le chemin, le coffre reste fermé, même si cette personne connaît le code de votre téléphone.
- Quelqu’un vous pousse à déverrouiller. Vous pouvez ouvrir un coffre ordinaire ou le coffre leurre. Rien à l’écran ne montre que d’autres coffres existent.
- Quelqu’un copie les fichiers de l’app. Les clés sont liées au matériel de sécurité de votre téléphone : impossible donc de tester des essais sur un ordinateur rapide.
- Quelqu’un modifie les fichiers stockés. Chaque élément chiffré est authentifié : les modifications sont détectées au lieu d’être affichées.
Il n’est pas conçu pour résister à un attaquant qui a déjà installé un logiciel malveillant sur votre téléphone, qui vous regarde tracer votre chemin, ou qui peut vous forcer à révéler tous vos chemins. Aucune app ne peut promettre cela.
Comment fonctionne le chiffrement
- Chemin. L’ordre des cases que vous tracez sur les alvéoles (au moins huit, sans répétition) devient la donnée d’entrée.
- Argon2id. Cette entrée est renforcée avec Argon2id, avec 64 MiB de mémoire et deux passes : chaque essai demande donc un vrai temps de calcul et de la mémoire.
- Liaison matérielle. Le résultat est combiné à un secret conservé dans la Secure Enclave sur iPhone, ou dans l’Android Keystore (StrongBox si disponible). Ce secret ne peut pas être exporté : la clé ne peut donc être calculée que sur votre téléphone.
- Clé maîtresse. Chaque coffre a une clé maîtresse aléatoire de 256 bits, stockée uniquement sous forme chiffrée par la clé issue de votre chemin.
- AES-GCM par blocs. Les éléments sont chiffrés en AES-256-GCM par blocs de 1 MiB. Chaque bloc est lié à son élément et à sa position : impossible d’échanger, de réordonner ou de tronquer des blocs sans échec. Les miniatures, la liste des éléments et les réglages sont aussi chiffrés.
Il n’y a ni compte ni serveur. Vos clés ne quittent jamais votre téléphone, et rien de vos coffres ne nous est envoyé.
Les coffres cachés, et ce qu’un examen pourrait encore révéler
À l’écran, VaultWell ne trahit rien. L’écran de verrouillage n’affiche que les alvéoles. Un mauvais chemin et un chemin jamais utilisé se ressemblent. Il n’y a ni liste ni compteur de coffres. Le fichier de réglages de chaque coffre est complété jusqu’à une taille identique : les options d’un coffre, y compris le fait qu’il soit le coffre leurre, ne peuvent pas être devinées de l’extérieur.
Sur le stockage, nous tenons à être précis. Chaque coffre est enregistré dans son propre dossier chiffré. Une personne ayant un accès complet aux fichiers bruts de l’app, par exemple via une extraction forensique d’un téléphone déverrouillé, pourrait compter ces dossiers, et compter combien de coffres ont une phrase de récupération. Elle ne pourrait ni les ouvrir ni voir leur contenu, mais pourrait en déduire qu’il existe plus d’un coffre. Nous prévoyons de réduire ce point, par exemple avec des entrées leurres, et publierons les détails quand cela changera.
À l’écran
Ne trahit rien
- Seules les alvéoles s’affichent
- Ni liste ni nombre de coffres
- Un mauvais chemin ressemble à un chemin jamais utilisé
Dans les fichiers bruts, avec un accès complet
Pourrait être compté
- Combien de dossiers de coffre chiffrés existent
- Combien de coffres ont une phrase de récupération
Reste illisible
- Ce que contient un coffre
- Quel coffre est le coffre leurre
Le coffre leurre
Quand le coffre leurre est ouvert avec son chemin, VaultWell supprime d’abord le fichier de clé de chaque autre coffre et leurs fichiers de récupération, puis supprime les dossiers de ces coffres. Sans les fichiers de clé, les données ne peuvent pas être déchiffrées. Ensuite, le coffre leurre s’ouvre comme n’importe quel autre, sans aucun message à l’écran.
- L’effacement est définitif sur le téléphone. Impossible de l’annuler.
- Ouvrir le coffre leurre avec sa phrase de récupération n’efface rien.
- Les sauvegardes et partages conservés ailleurs ne sont pas touchés.
Sauvegardes et partages
Les sauvegardes (.vwbackup) doivent pouvoir s’ouvrir sur un nouveau téléphone : elles ne peuvent donc pas utiliser le matériel de l’ancien. À la place, chaque sauvegarde verrouille la clé maîtresse du coffre avec Argon2id à partir de votre chemin (et de la phrase, si elle est définie), avec un nouveau sel aléatoire. Les éléments restent chiffrés exactement comme ils sont stockés. La sécurité d’une sauvegarde repose sur la solidité de votre chemin ou de votre phrase : gardez donc vos fichiers de sauvegarde privés.
Les partages (.vwshare) utilisent une nouvelle clé aléatoire, verrouillée par une phrase de partage distincte. Les éléments y sont rechiffrés : le destinataire ne connaît donc jamais la clé de votre coffre. Les limites d’ouvertures, d’expiration et d’enregistrement sont appliquées par l’app, non par la cryptographie, car il n’y a pas de serveur. Une personne déterminée qui possède la phrase pourrait tout de même copier ce qu’elle voit.
Ce que nous ne prétendons pas
- Pas encore d’audit réalisé. Un audit de sécurité indépendant est prévu avant le lancement. Nous en publierons les résultats.
- Pas invisible. L’app est visible sur votre téléphone, même avec une icône de camouflage, et un examen forensique peut montrer que plusieurs coffres existent.
- Pas à l’abri des captures d’écran sur iPhone. VaultWell protège contre la capture d’écran, mais iOS ne permet pas aux apps de bloquer les captures ; VaultWell vous prévient quand une capture est faite. Aucune app ne peut empêcher de photographier l’écran.
- Aucune récupération de notre part. Si vous perdez votre chemin et votre phrase, nous ne pouvons rien faire. Nous ne les avons jamais.
Signaler un problème
Si vous découvrez un problème de sécurité, nous vous serions reconnaissants de nous en parler d’abord en privé, et nous vous citerons si vous le souhaitez. Les coordonnées seront ajoutées avant le lancement.