L’architecture de sécurité de Cryptile, couche par couche
Cryptile chiffre chaque fichier, miniature et index avec AES-256-GCM, avec des clés créées sur votre téléphone à partir du schéma que vous dessinez. Il n’y a ni compte ni serveur, et le développeur ne détient jamais de clés.
Obtenir Cryptile sur l’App Store
Le résumé simple se trouve sur la page Sécurité.
Que dois-je savoir ?
- Votre schéma est la source de toutes les clés. Rien de lisible n’est stocké sans lui.
- Les tailles et le nombre de coffres sont brouillés. Les fichiers sont complétés, et des emplacements leurres cachent le nombre de coffres.
- Vous pouvez le vérifier. Le cœur du chiffrement est publié pour que chacun puisse l’auditer (code source consultable), avec un modèle de menaces et des vecteurs de test : github.com/jasonbrelsford/cryptile-core.
Comment un schéma devient-il une clé ?
- Le schéma est écrit sous la forme de la taille de la grille, suivie des cases touchées, dans l’ordre.
- Il est mélangé à un secret d’appareil de 32 octets, gardé dans le trousseau de l’iPhone pour cet appareil uniquement.
- PBKDF2-HMAC-SHA512 tourne 600 000 fois dessus. Chaque essai coûte autant de travail.
- HKDF-SHA256 divise le résultat en une clé de recherche et une clé d’enveloppe.
- La clé de recherche nomme le fichier d’index du coffre. La clé d’enveloppe l’ouvre.
Dans l’index se trouve la clé maîtresse aléatoire de 256 bits du coffre. HKDF en dérive des sous-clés distinctes pour les fichiers, les miniatures et l’index. Aucune clé ne sert à deux usages.
Comment les fichiers sont-ils chiffrés ?
Les petits éléments, comme les miniatures et l’index, sont scellés d’un seul bloc avec AES-256-GCM et un nonce aléatoire.
Les gros fichiers utilisent une structure STREAM en blocs de 1 Mo. Chaque bloc a son propre nonce et enregistre sa position et s’il est le dernier. Couper, réordonner ou échanger des blocs fait échouer le déchiffrement.
GCM authentifie aussi chaque en-tête : un fichier modifié est rejeté au lieu d’être affiché.
Comment les tailles et le nombre de coffres sont-ils cachés ?
Chaque petit bloc de données et chaque dernier bloc de fichier est complété jusqu’à un multiple de 64 Kio. Quelqu’un qui copie les fichiers voit des tailles approximatives, pas exactes.
Il n’y a pas de liste de coffres. L’app garde au moins 8 emplacements en forme d’index, réels et leurres, et renouvelle les leurres à chaque écriture. Un schéma qui ne désigne aucun emplacement ouvre un coffre vide.
Comment fonctionne la récupération ?
Chaque coffre reçoit une phrase de récupération de 9 mots, soit 96 bits d’aléa. Elle ouvre une copie de récupération distincte du coffre, scellée avec une clé tirée de la phrase.
La sauvegarde iCloud reproduit les fichiers chiffrés tels quels. Le secret d’appareil n’y figure pas par défaut : une sauvegarde seule ne permet pas de deviner des schémas.
Qu’est-ce qui est chiffré, et qu’est-ce qui ne l’est pas ?
Chiffrés : photos, vidéos, fichiers, notes, miniatures, noms, dossiers, favoris, texte reconnu et lieux des photos. Le petit fichier qui suit les leurres et les compteurs de l’offre gratuite est scellé avec une clé d’appareil.
Non chiffrés par Cryptile :
- Les réglages. Le délai de verrouillage automatique, l’ordre de tri et l’interrupteur de sauvegarde ne contiennent aucun secret.
- Les éléments partagés en attente d’ajout. Ils restent sous la protection des fichiers d’iOS jusqu’à ce que vous ouvriez un coffre.
- La taille totale du conteneur et les dates d’écriture. Un coffre de 10 Go ne ressemble pas à un coffre de 10 Mo.
- Tout ce que vous exportez. Une copie enregistrée dans Photos ou Fichiers est hors du coffre.
Contre quoi cela protège-t-il ?
- Quelqu’un qui copie les fichiers de l’app sans votre trousseau. Il obtient du texte chiffré et ne peut pas essayer de schémas.
- Apple, ou une fuite chez Apple. iCloud contient du texte chiffré et aucune clé.
- Les modifications. Des données changées ou réordonnées ne se déchiffrent pas.
- Nous. Nous n’avons aucun serveur et ne détenons aucune clé : nous ne pouvons pas réinitialiser l’accès.
Contre quoi cela ne protège-t-il pas ?
- Les schémas courts. Un schéma est plus faible qu’une phrase secrète. Avec vos fichiers et votre trousseau, un schéma de 6 cases sur une grille 4×4 tombe en quelques minutes sur un GPU. Utilisez 8 cases ou plus.
- Un logiciel malveillant sur un téléphone déverrouillé. Du code qui lit la mémoire pendant qu’un coffre est ouvert échappe à toute app.
- Quelqu’un qui vous regarde dessiner. Dessinez là où personne ne voit votre main.
- La perte du téléphone et de la phrase. Le coffre est perdu. Il n’y a pas de réinitialisation.
Le schéma de panique de Plus détruit le secret d’appareil : aucun coffre du téléphone ne s’ouvre jusqu’à sa restauration.