1.Ce qui est chiffré
OxNotes protège deux choses, avec deux mécanismes proches mais distincts.
- La sauvegarde Google Drive (facultative) : notes, photos, dessins et enregistrements sont chiffrés sur le téléphone avant d’être envoyés dans le dossier privé de l’application dans votre Drive. Google ne reçoit que des octets chiffrés.
- Les notes protégées : leur contenu et leurs médias sont chiffrés sur le téléphone, et leur ouverture demande l’authentification du téléphone (biométrie ou verrouillage d’écran).
Les notes ordinaires, sur le téléphone, ne sont pas chiffrées par OxNotes : elles reposent sur la protection de l’appareil (chiffrement du stockage Android, verrouillage d’écran). Seules les notes protégées ont leur propre chiffrement local.
2.Algorithmes
| Élément | Choix |
|---|---|
| Chiffrement | AES-256-GCM (chiffrement authentifié), par blocs de 64 Kio, étiquette d’authentification de 128 bits |
| Clé de chaque fichier | HKDF-SHA-256 (RFC 5869) depuis la clé de sauvegarde, avec un sel de 32 octets et un contexte (rôle, génération, empreinte du contenu) |
| Noms des objets sur Drive | HMAC-SHA-256 : le nom ne révèle pas l’empreinte du contenu |
| Aléa | SecureRandom (Android) |
| Bibliothèque | Fournisseur cryptographique Android (JCA) et Android Keystore. Aucune primitive écrite à la main |
Toute modification d’un fichier sur Drive (octet changé, bloc retiré ou réordonné, fichier mélangé avec un autre) fait échouer le déchiffrement : elle est détectée, jamais restaurée silencieusement.
3.Les clés
| Clé | Nature | Où elle vit |
|---|---|---|
| Clé de récupération | 256 bits aléatoires, affichée en 8 groupes de 8 caractères hexadécimaux | Chez vous (papier, gestionnaire de mots de passe). OxNotes ne la conserve pas ; elle n’existe en mémoire que le temps d’une opération. |
| Clé de sauvegarde | 256 bits aléatoires, créée une fois | Sur le téléphone, protégée par l’Android Keystore. Sur Drive, une enveloppe de 108 octets la contient, chiffrée par votre clé de récupération. |
| Clé maître des notes protégées | 256 bits aléatoires | Sur le téléphone, dans le Keystore avec authentification obligatoire. Sur Drive, chiffrée par votre clé de récupération. |
La clé de récupération est une clé aléatoire de 256 bits, pas un mot de passe que l’on choisit : il n’y a donc pas de dérivation lente à contourner, et une attaque par essais successifs sur l’enveloppe est hors de portée. En contrepartie, elle ne peut pas être devinée ni « réinitialisée » : si vous la perdez et que votre téléphone est perdu ou réinitialisé, la sauvegarde est irrécupérable. Il n’existe aucun serveur OxNotes capable de la retrouver.
Vous restaurez sur un autre téléphone en saisissant cette clé. Une clé incorrecte est refusée sans rien modifier.
4.Ce que Drive peut voir
Le contenu est illisible, mais certaines métadonnées ne sont pas chiffrées. C’est assumé, et c’est la liste complète :
- Les noms de fichiers (
oxnotes-manifest-…,oxnotes-obj-…), qui ne contiennent ni nom de note ni nom de fichier d’origine. - Des propriétés techniques : version du format, identifiant public de la clé (16 caractères), libellé de l’appareil, dates, compteurs (notes, notes protégées, corbeille, médias, octets, éléments omis ou en attente).
- La taille de chaque fichier et le nombre de fichiers.
Un observateur peut donc déduire le nombre de notes et de médias et leur taille approximative, pas leur contenu.
5.Qui peut lire quoi
| Qui | Ce qu’il possède | Résultat |
|---|---|---|
| Quelqu’un qui accède à votre Drive (compte compromis, Google) | Les fichiers de sauvegarde | Contenu illisible. Les métadonnées de la section 4 sont visibles. |
| Idem, avec écriture sur votre Drive | Les fichiers, modifiables | Toute altération est détectée. Il peut supprimer des fichiers ou remettre une ancienne copie valide : ce retour en arrière n’est pas détecté. |
| Quelqu’un qui a seulement votre clé de récupération | Le papier | Rien, sans accès à votre Drive. |
| Quelqu’un qui a votre Drive et votre clé de récupération | Tout | Tout est lisible, notes protégées comprises. C’est le rôle de la récupération. Rangez la clé hors du téléphone. |
| Téléphone verrouillé volé | L’appareil | Le stockage est chiffré par Android ; les notes protégées restent fermées sans votre authentification. |
| Téléphone déverrouillé, application ouverte | L’appareil | Les notes ordinaires sont lisibles, comme dans n’importe quelle application. Les notes protégées demandent l’authentification. |
| Logiciel malveillant, téléphone « rooté » | Les clés de l’application | Gain limité : l’historique Drive (jusqu’à 5 générations). Les notes protégées restent fermées. |
6.Limites et ce que nous ne prétendons pas
- Clé perdue = sauvegarde perdue. Nous ne pouvons pas la récupérer.
- Les copies créées par d’anciennes préversions peuvent être en clair. Elles ne sont pas modifiées rétroactivement ; vous pouvez les supprimer explicitement.
- Les noms de libellés et de dossiers des notes protégées sont visibles dans le stockage local.
- Un export ou un partage de note protégée, autorisé après authentification, produit une copie lisible hors du coffre.
- OxNotes ne propose pas de synchronisation entre téléphones : c’est une sauvegarde et une restauration.
7.Questions fréquentes
Pourquoi ne pas simplement utiliser un mot de passe ?
Un mot de passe choisi par l’utilisateur est en général faible, ce qui impose une dérivation lente et laisse une porte aux attaques par essais. Une clé aléatoire de 256 bits n’a pas ce défaut. Le prix à payer est qu’il faut la conserver.
OxNotes peut-il lire mes sauvegardes ?
Non. Nous n’avons pas de serveur de notes et ne recevons ni vos fichiers de sauvegarde ni votre clé de récupération.
Que se passe-t-il si Android perd la clé du Keystore ?
La sauvegarde se met en pause et demande votre clé de récupération, qui permet de rouvrir l’enveloppe portable et de reprendre.
Pourquoi cette page ?
Pour que vous puissiez juger vous-même. Une question ou une faille à signaler : contact@oxnotes.site.