Cryptomator : un outil multiplateforme pour chiffrer vos données stockées dans le « cloud »

Cryptomator : un outil multiplateforme pour chiffrer vos données stockées dans le « cloud »

Gare au client WebDAV de Windows

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

18/08/2017 11 minutes
33

Cryptomator : un outil multiplateforme pour chiffrer vos données stockées dans le « cloud »

De nombreux services de stockage en ligne existent, avec l'intérêt d'une synchronisation entre tous nos appareils. Malgré toutes les promesses de sécurité et de respect de la vie privée, il est légitime de vouloir y ajouter une couche de protection. Cryptomator est justement prévu pour cela.

Pour chiffrer un fichier ou un message, il existe pléthore de solutions. Mais dès que l'on commence à vouloir s'attaquer à un dossier complet, les choses se complexifient.

Chiffrer les données dans les nuages

Heureusement, il existe des outils comme VeraCrypt qui a l'intérêt d'être relativement complet et disponible sur de nombreuses plateformes (voir notre analyse). Mais il reste un cas qui s'avère encore plus complexe : celui du chiffrement de données hébergées dans des services de stockage en ligne.

Car quelle que soit sa composition, un conteneur VeraCrypt prend la forme d'un fichier unique. Si vous le placez dans un répertoire synchronisé, il sera envoyé complètement au moindre changement sur un des fichiers qu'il contient. Si cela ne pose pas de problème sur des conteneurs de quelques dizaines ou centaines de Mo, surtout avec une connexion rapide, il en est tout autrement dès que l'on parle de plusieurs Go.

Certains services comme Dropbox ont une parade : la synchronisation différentielle. Ainsi, lorsqu'un fichier est modifié, seule la partie qui a changé par rapport à la version déjà en ligne est traitée. Mais cette pratique est encore rare, il faut donc le plus souvent trouver une autre solution.

EncFS : c'est compliqué

Si certains travaillent sur le chiffrement homomorphe, qui devrait révolutionner le genre (voir notre analyse), ce n'est pas encore une possibilité à exploiter à court terme :

Historiquement, on pouvait compter sur EncFS. Il s'agissait ici de monter l'équivalent d'un système de fichiers de manière à ce que chaque élément soit chiffré individuellement.

Comme nous l'avions détaillé en 2012, le système d'exploitation voyait ainsi des données chiffrées, alors que l'utilisateur accédait à un lecteur classique contenant ses dossiers et fichiers comme si de rien n'était. Le client de synchronisation, lui, ne s'occupait que des éléments qui étaient modifiés, évitant ainsi un envoi de données massif sans raison.

En 2014, un audit a révélé plusieurs failles de sécurité dans EncFS. Depuis, son développeur d'origine, Valient Gough, a repris le projet afin de l'améliorer. Mais la plupart des soucis relevés sont encore présents et aucune mouture 2.0 ne semble prévue à court terme. Plusieurs alternatives ont donc vu le jour.

Plusieurs alternatives existent...

Sous Windows, le projet Dokany a pris la suite de la bibliothèque Dokan permettant de créer simplement un système de fichiers. Elle était notamment utilisée par la branche classique de Boxcryptor, avant l'arrivée de la version 2.0 qui intègre un modèle par abonnement, une gestion du partage et du travail en équipe.

Dokany est implémenté dans de nombreux outils, notamment dans le système de fichiers du client de Keybase.io. D'autres sont sur les rangs, d'eCryptFS à SecureFS en passant par GoCryptFS. Mais rare sont les solutions simples, complètes et multiplateformes. C'est là que Cryptomator, qui est récemment passé à la version 1.3.0, montre son intérêt.

Cryptomator

... Cryptomator offre une solution multiplaterfomes

Ce petit outil utilise Java 8 (la migration vers la version 9 est en cours), et fonctionne donc parfaitement sous Linux, macOS, Windows mais aussi sur des appareils mobiles sous Android (en bêta) ou iOS. L'application est open source et gratuite, proposant simplement un financement par des dons sur son site, sauf au sein de l'App Store d'Apple. Comptez ainsi 5,49 euros pour la version iOS.

Si l'utilisation de Java peut parfois effrayer, ici elle est relativement transparente, sauf si vous ne disposez pas d'un OS pour lequel il existe une version préparée. Il faudra alors en passer par l'utilisation d'un fichier .jar. Les adeptes de Linux apprécieront l'intégration à l'Archlinux User Repository (AUR), la présence d'un PPA pour Ubuntu et ses dérivés, mais aussi de paquets .deb et .rpm.

WebDAV, AES-256, du sel et quelques clés

Cryptomator repose sur l'utilisation d'un serveur WebDAV, là aussi pour faciliter l'intégration à de nombreux systèmes. Celui-ci n'est accessible que depuis la machine locale (et ne peut pas être utilisé depuis une machine distante), et permet de monter des conteneurs (coffres) à la manière de ce que l'on retrouve ailleurs.

Ceux-ci sont composés de chaque fichier chiffré individuellement, ainsi que leur nom et leurs métadonnées. L'organisation des répertoires est aussi obfusquée, avec un dispositif permettant d'aussi réduire leur longueur, afin d'éviter les problèmes lorsque l'OS impose certaines limites.

  • Cryptomator
  • Cryptomator
  • Cryptomator

L'architecture utilisée est détaillée par ici. Elle repose principalement sur de l'AES-256 avec encapsulation des clés (RFC 3394) qui sont utilisées pour le chiffrement et l'authentification (HMAC). Elles sont propres à chaque conteneur et sont stockées dans un fichier JSON nommé masterkey.cryptomator situé à la racine. Elles sont protégées par une Key-encryption key (KEK) dérivée du mot de passe salé via la fonction Scrypt.

Le code source est diffusé sur GitHub sous licence GPLv3. Les plus attentifs noteront d'ailleurs que l'on rencontre Aeris (développeur chez Cozy Cloud) au sein des contributeurs. Pour le moment, aucun audit complet n'a été mené.

Un outil simple et efficace...

Dans la pratique, l'outil est assez simple à utiliser et traduit en français à travers le service POEditor auquel chacun peut participer. L'interface se compose de deux parties : la liste des conteneurs sur la gauche, avec la possibilité d'en créer, d'en supprimer ou d'en ouvrir, et les différentes options à droite. Quand un conteneur est monté, la vitesse de transfert du contenu (dé)chiffré est affichée sous la forme d'un graphique.

  • Cryptomator
  • Cryptomator
  • Cryptomator
  • Cryptomator

La création d'un conteneur est assez simple : vous indiquez l'emplacement d'un fichier avec l'extension de votre choix, qui peut être le répertoire de synchronisation d'un service de stockage en ligne ou même un partage réseau, ainsi qu'un mot de passe. Un indicateur coloré à cinq éléments vous indiquera la force de ce dernier et vous préviendra que si vous l'oubliez, toutes vos données seront perdues.

Une fois cette phase terminée, vous devrez déverrouiller le conteneur, avec la possibilité d'activer certaines options. Le fait de monter un lecteur est ainsi optionnelle. Vous pourrez décider de le faire dans un second temps ou simplement récupérer l'URL du serveur WebDAV (flèche vers le bas à droite de Verrouiller le coffre) pour l'utiliser avec un client tiers. Une fonctionnalité qui s'avèrera très utile plus loin.

Il est aussi proposé de stocker le mot de passe pour déverrouiller le conteneur automatiquement au démarrage (encore expérimental), ou de choisir une lettre utilisée. Par défaut, elle est sélectionnée automatiquement.

Cryptomator

Les paramètres de l'application permettent de choisir le port du serveur WebDAV et de vérifier les éventuelles mises à jour, mais rien de plus. L'ensemble se veut simple et efficace. De ce point de vue, c'est plutôt réussi.

On appréciera au passage une petite subtilité : la fermeture de l'application sera gérée différemment si au moins un conteneur est monté ou non. Dans le premier cas, elle sera réduite dans la barre des tâches, dans le second, elle sera tout simplement fermée.

... mais pas avec le client WedDAV de Windows

Lorsque l'on parle de stockage chiffré, un point est souvent oublié : celui des performances. En effet, en plus du transfert, le fichier doit être chiffré, ce qui n'est pas forcément transparent. Il est aussi intéressant d'analyser la façon dont se comporte l'outil lors d'une simple copie, d'autant plus lorsqu'il passe par un serveur WebDAV.

Lorsque nous avons commencé à analyser le fonctionnement de Cryptomator, nous étions sous Windows 10. Nous avons effectué une première série de tests avec 320 fichiers pour un total de 710 Mo vers des conteneurs situés sur le SSD principal de la machine, un autre connecté en USB 3.0 puis un NAS DS416Play de Synology relié par un câble RJ45 @ 1 Gb/s.

Nous n'avions alors pas relevé de souci particulier, seulement une chute du débit. Le chiffrement s'opérait simultanément à la copie dans les trois cas, mais l'on passait de 70 à 100 Mo/s sans chiffrement à un résultat situé entre 10 et 22 Mo/s avec, ce qui montre un impact réel. Cela ne gêne pas un usage au quotidien, mais il faut se préparer à souffrir un peu lors du transfert d'un grand nombre de fichiers ou d'opérations de compression.

Notre seconde série de tests était effectuée avec un fichier unique de pas moins de 3,27 Go. Et c'est dans ce cas que nous avons eu une mauvaise surprise : bien que la copie débute, aucune donnée n'est chiffrée dans un premier temps. Cela n'arrive que dans une seconde phase qui démarre au bout d'une vingtaine de secondes et pendant laquelle l'utilisateur peut être amené à se demander ce qu'il se passe. En effet, la fenêtre de copie de Windows parait bloquée à quelques instants de la fin et aucune autre information n'est donnée : 

Cette opération s'effectue à un débit situé entre 35 et 45 Mo/s, mais le résultat pour l'ensemble du transfert est de 26,37 Mo/s, contre 176 Mo/s dans un même espace local non chiffré. À cela, il faut ajouter d'autres comportements gênants.

Ainsi, lors d'un premier accès à un fichier, pour le lire ou même le supprimer, nous constations une lecture préalable de ses données. De quoi retarder la procédure d'une vingtaine de secondes, sans que l'on ne sache ce qu'il se passe (à moins de regarder le graphique intégré à Cryptomator). Une sorte de cache se mettait ensuite en place, mais il n'était valable que jusqu'au prochain verrouillage du conteneur.

Nous avions d'abord pensé que l'architecture de Cryptomator et de son dispositif de chiffrement étaient en cause. Nous avons donc vérifié ce qu'il en était sous Debian 9 et avec un autre client WebDAV sous Windows, et là surprise : tout se passait bien. Ainsi, c'est simplement le comportement du client WebDAV intégré à Windows qui pose problème et ralenti le fonctionnement de l'ensemble.

Si vous voulez accéder à de gros fichiers, vous devrez donc apprendre à vous en passer, surtout qu'il impose une limite à 4 Go pour la taille des fichiers. Malheureusement, il n'existe pas à notre connaissance de client WebDAV gratuit et open source permettant de monter un lecteur. Vous pourrez néanmoins corriger ces problèmes en allant voir du côté de solutions payantes comme ExpanDrive, Netdrive, TNT Drive ou bien Mountain Duck.

Une intégration native à Mountain Duck et CyberDuck

Ce dernier cas est assez spécifique. En effet, l'équipe de Mountain Duck s'est récemment rapprochée de celle de Cryptomator afin de proposer une intégration native dans sa version 2.0 actuellement en bêta (Préférences > Mises à jour).

Ainsi, il peut servir à créer ou ouvrir directement des conteneurs Cryptomator stockés à distance depuis son interface. Pour rappel, ce petit outil vous permet en effet de monter un lecteur en se basant sur différents types de services : (S)FTP, WebDAV, Amazon S3, Azure, Dropbox, Google Drive, OneDrive, etc.

Nous avons néanmoins pu constater que le plus efficace était de continuer à utiliser Cryptomator comme serveur WebDAV et Moutain Duck seulement pour le montage du lecteur. Les performances sont en effet bien meilleures, ce qui s'est vérifié lors de tests avec notre fichier de 3,27 Go au sein d'un conteneur stocké localement :

Cryptomator Benchs

Un outil pratique, mais limité par ses performances

Au final, on ne peut que recommander l'usage de Cryptomator. L'outil est simple, pratique, gratuit et open source. Son dispositif de chiffrement et l'accès aux données sont plutôt bien pensés, le tout étant adapté à un usage complémentaire à des services de stockage en ligne, depuis un ordinateur ou un appareil mobile.

Néanmoins, son impact sur les débits et les limites du fonctionnement de base de Windows ne peuvent que lui nuire et en font un outil assez peu adapté à l'utilisation au quotidien de gros fichiers, surtout avec cet OS. Si vous êtes concernés, nous ne pouvons que vous conseiller de le compléter avec un client WebDAV tiers qui permettra d'éviter les problèmes et de revoir les performances à la hausse. On s'étonne d'ailleurs que l'équipe n'ait pas choisi d'en informer ses utilisateurs clairement afin de leur éviter de rester sur une mauvaise impression. 

Mais excepté ce point négatif, qui sera corrigé à terme par l'intégration de Dokany, Cryptomator est plutôt d'une bonne surprise. Il peut ainsi servir d'alternative à Boxcryptor pour ceux qui ne veulent pas en passer par un abonnement payant pour chiffrer leurs données dans des services de stockage en ligne, sans gestion d'équipe. 

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Chiffrer les données dans les nuages

EncFS : c'est compliqué

Plusieurs alternatives existent...

... Cryptomator offre une solution multiplaterfomes

WebDAV, AES-256, du sel et quelques clés

Un outil simple et efficace...

... mais pas avec le client WedDAV de Windows

Une intégration native à Mountain Duck et CyberDuck

Un outil pratique, mais limité par ses performances

Fermer

Commentaires (33)


Bel article, c’est prometteur !


No cloud, No rain <img data-src=" />



Allez, c’est ‘dredi quoi <img data-src=" />


Merci David!

justement jsuis sur Boxcryptor et c’est un peu pourri.

vais tester ça.


Très bon article <img data-src=" />

&nbsp;

&nbsp;Pour ceux qui ont un serveur, seafile est également un outil intéressant. Il permet le chiffrement de bout en bout côté client et est basé sur les mêmes idées que git, ce qui permet la sauvegarde différentielle et les snapshots.

Le client est un applet qu’il suffit de lancer pour synchroniser les dossiers suivis, un peu comme Dropbox. Et il est multiplateforme :-)


Tu trouves quoi de “pourri” dans BC ? Globalement, il est tout de même plus fonctionnel que Cryptomator (et surtout plus performant), mais ça passe par un abonnement annuel.&nbsp;


Le WebDav Redirector de windows a toujours posé des problèmes sur XP, 7, 8 ….



Il y a tout un tas de timeout configurable dans la base de registre (Services\MRxDAV\Parameters).

Ca ne m’étonnerait pas qu’il y en ait un à 20 secondes. <img data-src=" />



Personnellement, je reste avec la méthode bite-couteau qui consiste a tout chiffrer avec 7zip avant de synchroniser sur le cloud. Avant j’avais des scripts, et puis j’ai découvert “CryptSync” qui fait ca tout seul.



Problème de cette solution simpliste, il faut d’abord tout rapatrier/déchiffrer pour naviguer “en clair” dans son arborescence. Avantage, c’est du 7zip, donc on peut facilement faire des opérations à la main (récupérer/ajouter/chiffrer/déchiffrer un fichier)


Je l’utilise depuis plusieurs mois sur mac et android et c’est juste génial pour stocker des cours, factures et autre document léger mais précieux.


je ne sais pas si ça peut t’aider, mais il y a un outil basé sur Dokan qui permet de monter un FS à base d’une archive 7Zip ;)&nbsphttps://github.com/antiufo/Shaman.Dokan.Archive


Très bon article qui me “rassure”, j’ai testé il y a quelques semaines Cryptomator sous Windows 10 et rencontré des problèmes similaires (lenteur, freeze etc.) ce qui m’a rebuté car je cherchais justement un remplaçant pour mon combo EncFS/Boxcryptor classic.


J’avais entendu dire qu’il était assez facile de casser les mots de passe sur des fichiers 7zip, je n’ai pas pu vérifier dans la pratique (et j’ai pas cherché à creuser la question). Mythe ou réalité ?








David_L a écrit :



je ne sais pas si ça peut t’aider, mais il y a un outil basé sur Dokan qui permet de monter un FS à base d’une archive 7Zip ;)







Ah, non. Je me suis p-e mal exprimé: chaque fichier est individuellement 7zipé (avec la clé de chiffrement).



dossier “Dropbox”, chiffré, synchronizé sur le cloud par le client Dropbox:

Dropbox/ermlerm.7z

Dropbox/asqd/jhkjsdszfdsz.7z



dossier “Data”, en clair, synchronizé avec le dossier “Dropbox” par cyptsync

Data/song.mp3

Data/work/document.doc



Ah ouais, ça doit être à peine lourdingue au quotidien <img data-src=" />


Je comprend le besoin de script ou d’un logiciel pour gérer <img data-src=" />


Bah, en fait, c’est ce que j’ai trouvé de moins lourdingue en terme de maintenance, pérennité, bugs, multi-plateforme, hackabilité et partage entre copains :)



A noter qu’on n’est pas obligé de masquer les noms de fichiers, ca dépend du niveau de paranoia de chacun.


Le souci en général pour le chiffrement des noms de fichiers, c’est que ça rallonge pas mal et tu peux taper la limite des 255 caractères assez facilement (ce qui est assez bien évité par CM).&nbsp; Par contre c’est Windows only non ?&nbsp;


oui, la limite du path sur windows c’est chiant. Ce que tu décris est d’ailleurs expliqué sur la page de CryptSync.



CryptSync lui même est windows only, mais bon c’est 7zip derrière… donc mes scripts nunux fait maison fonctionnent toujours.


Je vois, par contre on retrouve un peu la limite des outils du genre :&nbsp;




  • Colle un fichier de 3 Go, t’as le temps d’aller boire un café&nbsp; <img data-src=" />

  • Pas de gestion MT quand tu colles plein de fichiers c’est un peu dommage




ah bah c’est simpliste au possible, avec les contraintes qui vont avec.



Mais j’utilisais ce principe avant que DropBox existe, je l’utilise toujours (et pas que sur dropbox), et a mon avis je l’utiliserai encore lorsque tous les Dropbox et outils spécialisés auront disparus.



Et puis je suis un vieil habitué de rsync et robocopy, alors j’ai une sorte d’affection pour ce genre de solution basique.


Ah, j’ai oublié de citer “rclone” qui est un rsync pour Cloud Storage et qui supporte aussi le chiffrement.



Je n’utilise pas personnellement, mais ca peut faire le job.


Intéressant, mais je précise tout de même que EncFS reste une solution viable (bon courage pour trouver une exploitation des dites vulnérabilités).



Je le préfère encore à l’usine à gaz qu’est, à mon avis, Cryptmator.








127.0.0.1 a écrit :



Ah, j’ai oublié de citer “rclone” qui est un rsync pour Cloud Storage et qui supporte aussi le chiffrement. Je n’utilise pas personnellement, mais ca peut faire le job.







Je viens de tester et ca fonctionne… du moins ca synchronise en chiffrant/déchiffrant (nom et contenu).



Il y a une option pour créer un point de montage sous linux/windows a base de fuse/winfsp, mais ca a l’air assez limité et expérimental. Je préfère ne pas tenter l’expérience. <img data-src=" />



Franchement CM est assez simple à utiliser, après sous Windows on arrive vite à des limites techniques mais bon. Si tu veux un conteneur avec quelques petits fichiers, ce qui est un usage qu’on rencontre souvent pour protéger des clés et autres BDD de mots de passe par exemple, ça suffit amplement et ça fonctionnera partout. Le problème vient surtout de se reposer sur WebDAV pour le FS je pense, on verra ce que ça donnera avec l’arrivée de Dokany sous Windows à terme.&nbsp;



EncFS reste une alternative, mais comme toutes les solutions du genre qui avancent peu sur le fond, ça n’est pas viable sur le long terme (sans parler du fait que le développeur ne répond jamais trop quand il est interrogé là dessus). Mon vrai regret ça reste que dans son passage à la V2, BoxCryptor a complexifié pas mal son interface pour pas grand chose et il faudrait AMHA scinder un peu plus la version Pro et ses fonctionnalités d’un usage plus classique. C’est d’autant plus dommage que l’outil est assez efficace niveau performances.


Moi j’ai lancé une synchro de fichiers MP3/JPEG avec CryptSync, je pense qu’il en a pour la nuit vu comme c’est parti <img data-src=" />


J’utilise CryptoMator depuis quelques mois, sous Windows et MAC via un google drive (rebackupé sous Hubic), Quelques lenteur au début sous windows (version 1.2.x), avec la 1.3.1 pas de problèmes



&nbsp;


Remarque, comme MP3/JPEG sont déjà compressés, on est dans le worstcase pour 7zip. <img data-src=" />



De mon coté, je commence a bien aimer rclone que je n’avais pas testé depuis longtemps.

C’est dommage que le format de chiffrement soit NaCl/Salsa20 et pas 7zip/AES256.

Si j’avais le courage, je contribuerai au projet pour combler ce défaut. <img data-src=" />


c’est vraiment bien vos articles sur la sécurité, merci&nbsp;<img data-src=" />


bel article,

&nbsp;j’ai appris des trucs



sinon pour la sauvegarde cloud + synchro sur différents appareils + creation de partage publics, j’utilise Spideroak



j’ai un compte gratuit depuis des années (du temps où ils offraient 1GB pour chaque client référencé), ils m’envoient tous les 6 mois un deal pour passer à un compte illimité payant, mais bon 16 Go ça me suffit



le seul problème c’est le manque de logs et d’alertes en cas de problèmes, car leurs serveurs servent juste de gros conteneurs de données, tout le logiciel est coté client, qui chiffre tout avant d’envoyer, et gère le versionning.

ah oui l’autre problème c’est l’espace disque qui est pris dans le profil user pour chiffrer les données, ça monte vite




De nombreux services de stockage en ligne existent, avec l’intérêt d’une synchronisation entre tous nos appareils.





A bien y penser, les cas où l’on a besoin d’avoir à la fois de la “synchronisation” et du “multi-device” sont plutôt rares.





  • Si on est dans le cas “multi-device”, c’est pour accéder à une sorte de librairie online centralisée. On est alors plutot dans un modèle NAS + copie locale “a la demande” (fichier offline/online).



  • Si on est dans le cas “synchronisation”, c’est pour avoir un miroir online. On est alors plutot dans un modèle Backup/Archivage de données.



    C’est quoi les cas d’utilisation où l’on veut des copies locales synchronisées partout et tout le temps ?


Bonjour, je suis complètement novice en la matière. En cas de changement d’ordi ou pour accéder depuis un autre ordinateur aux fichiers cryptés sur mon drive , suffit-il d’y installer l’application?



il est pourri hors abonnement. ^^

et j’ai pas envie de m’abonner. <img data-src=" />








David_L a écrit :



Certains services comme Dropbox ont une parade : la synchronisation différentielle. Ainsi, lorsqu’un fichier est modifié, seule la partie qui a changé par rapport à la version déjà en ligne est traitée.





Je ne connais pas bien Veracrypt, mais cela a-t-il un intérêt dans le cadre d’un conteneur Veracrypt ? En effet autant le différentiel, voire la déduplication a de l’intérêt si le fichier change peu. Hors il est probable que le fichier change assez radicalement avec une simple modification.

A l’image d’un hash qui change totalement en changeant un simple octet du fichier initial. Après Veracrypt, ne modifie peut-etre que peu le contenu du fichier conteneur sur une petite modif



C’est le multi-device que tu décris, sauf que les données sont téléchargées pour au choix:




  • être accessibles même si on a pas internet (train, …)

  • être plus confortable en cas de connexion limitée / gros fichiers (sorte de cache)

  • être rassuré à l’idée que si on se fait bannir de google / whatever, on a encore les données (si on utilise un service cloud pour la librairie centrale)