Infobidouille

BoxCryptor Free : activer le chiffrement des noms de fichier

Depuis bientôt un an, j’utilise BoxCryptor pour sauvegarder mes documents les plus importants dans mon espace Google Drive et pouvoir y accéder depuis mon smartphone, sans que Google puisse aller mettre son nez dedans. Initialement, la version gratuite de BoxCryptor limitait la taille du volume chiffré à 2 Go, mais autorisait le chiffrement des noms de fichiers. Cette dernière option n’est malheureusement plus proposée aujourd’hui…

En effet, depuis quelques temps, l’éditeur du logiciel a levé la restriction sur la taille du volume chiffré, mais à désactivé l’option permettant d’activer le chiffrement des noms de fichiers. Il s’agit là d’une régression notable en terme de sécurité : pour un attaquant éventuel, connaître le nom du fichier, c’est se faire une bonne idée de ce que l’en-tête du fichier doit contenir. Ce qui offre donc une direction pour la recherche de la clé…

Après avoir longtemps gardé l’ancienne version de BoxCryptor, je me suis décidé il y a quelques jours à passer à la nouvelle version, pour faire sauter la limite des 2 Go, que j’ai presque atteint.

Surprise, la nouvelle version monte sans problème mon ancien conteneur BoxCryptor, dont les noms de fichiers étaient chiffrés, et continue de chiffrer les noms des nouveaux fichiers ajoutés Visiblement, l’éditeur n’a désactivé le chiffrement des noms de fichiers que dans l’interface graphique, pas dans le moteur de l’application (basé sur un produit open-source, EncFS). J’en ai conclus que l’information est stockée dans le conteneur, et qu’il devait donc y avoir moyen d’activer ce chiffrement aussi sur un volume fraichement créé.

Un conteneur vide contient deux fichiers : un fichier texte purement informatif, et un fichier .encfs6.xml, qui contient les paramètres du conteneur. C’est bien entendu dans celui-ci que se trouve la clé du problème. Voici celui d’un conteneur vierge fraichement créé :

Pas besoin d’aller bien loin pour repérer le tag nameAlg, qui a la même structure que le tag cipherAlg, et qui pourrait donc bien correspondre au descripteur de l’algorithme de chiffrement des noms de fichier, null signifiant donc qu’ils ne sont pas chiffrés. Une comparaison avec le conteneur créé avec l’ancienne version de BoxCryptor tend à le confirmer, puisqu’il y a justement une différence sur ce tag :

Il n’y a plus qu’à effectuer la modification, puis à remonter le volume BoxCryptor et à y déposer un fichier, pour vérifier que le nom est bien chiffré : bingo, ça marche Vous savez ce qu’il vous reste à faire.

Attention quand même à une chose : il faut le faire sur un volume vierge, sinon l’accès aux fichiers déjà stockés dans le volume sera perdu.

Bien entendu, cette solution soulève deux questions : sa légalité et sa pérennité.

Pour le premier point, mon avis est que c’est légal. En effet, contrairement à un crack de BoxCryptor, qui irait modifier le logiciel pour réactiver l’option, cette solution ne modifie aucun fichier soumis à droit d’auteur. Le fichier .encfs6.xml est un simple fichier de configuration, dont la logique est issue du projet EncFS, donc sous licence libre, et je vois donc mal comment sa modification pourrait être considérée comme illégale. J’ai de plus un peu de mal avec l’idée que l’éditeur de BoxCryptor se permette de désactiver une fonctionnalité de la base open-source sur laquelle il s’appuie, dans le but de vendre des licences réactivant cette fonction… Les ventes de licences devraient à mon sens ne s’appuyer que sur la promesse de fonctionnalités exclusives au niveau de l’application, pas de ses fondations communautaires. Du coup, je n’ai absolument aucun scrupule à réactiver la fonction.

La pérennité est pour sa part un peu plus sujette à caution. Plusieurs hypothèses peuvent expliquer le fait que le chiffrement des noms fonctionne sur la version gratuite suite à la modification du fichier de configuration. Il peut tout simplement s’agir d’un oubli, les développeurs n’ayant pas pensé à désactiver cette possibilité au niveau du moteur EncFS embarqué dans l’application. Il s’agit peut-être aussi d’un choix de leur part, pour garder la compatibilité avec les conteneurs créés avec l’ancienne version de BoxCryptor, avec la version payante, ou toute autre application basée sur EncFS. Dans les deux cas, il se pourrait donc qu’une future version désactive cette possibilité. Et attention, cela pourrait donc rendre inaccessibles les données stockées dans votre conteneur ! Prenez donc soin de conserver l’installeur de la version actuelle de BoxCryptor, au cas où une mise à jour future rendait inutilisable le chiffrement des noms de fichiers…