CryptSync : chiffrement et synchronisation automatisés... à l'ancienne

CryptSync : chiffrement et synchronisation automatisés… à l’ancienne

Le chiffrement, façon tank

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

22/08/2017 6 minutes
41

CryptSync : chiffrement et synchronisation automatisés... à l'ancienne

Si de nouveaux outils promettant un chiffrement toujours plus efficace de vos fichiers voient régulièrement le jour, il existe aussi de petites applications qui offrent de procéder de manière plus basique. C'est notamment le cas de CryptSync.

Il y a quelques jours, nous vous avons présenté Cryptomator, un outil de chiffrement pensé pour un usage complémentaire aux services de stockage en ligne. Suite à la publication de cet article, l'un de nos lecteurs nous a parlé de son utilisation de CryptSync, un petit outil qui se propose de combiner chiffrement et synchronisation.

Disponible uniquement sous Windows, celui-ci est open source (licence GPL v2). Il est développé par Stefan Küng qui propose nombre de petits outils du genre et travaille sur le projet TortoiseSVN. Il se veut assez basique dans sa façon de procéder, un choix qui implique quelques limites mais qui permet surtout d'assurer une assez bonne compatibilité des fichiers chiffrés. Nous avons décidé de voir ce qu'il a dans le ventre.

CryptSync : ça juste marche

Le premier avantage de CryptSync, c'est que c'est un outil plutôt compact : 2,3 Mo. Disponible uniquement en anglais, il s'installe facilement et prend la forme d'une fenêtre unique. 

On y retrouve quelques options comme la possibilité de démarrer l'application avec Windows, d'ignorer certains fichiers, l'accès aux logs, ou le temps qui sépare chaque scan complet des répertoires. Car la fonctionnalité principale reste la synchronisation, qui prend la forme d'une liste de Folder pairs, où vous retrouverez aussi le nombre de problèmes éventuellement rencontrés :

CryptSyncCryptSync

Pour en ajouter, il suffit de cliquer sur le bouton New Pair... qui ouvrira une nouvelle fenêtre (voir ci-dessus). Celle-ci vous invitera à choisir un dossier source et un autre de destination qui contiendra les fichiers chiffrés.

Il peut s'agir d'un dossier local ou distant, tout comme celui utilisé par un service de stockage en ligne pour sa propre synchronisation. Ainsi, vous pouvez disposer d'un répertoire de travail puis d'un autre qui sera chiffré puis sauvegardé dans le « cloud ». Le service en ligne ne verra jamais les fichiers déchiffrés.

Différence de taille avec d'autres systèmes comme Boxcryptor ou Cryptomator : vous aurez de l'espace occupé par le dossier en clair et le dossier chiffré, qui coexistent constamment. Cela peut être un problème si vos dossiers contiennent beaucoup de données, cela peut être intéressant pour avoir une copie locale en clair et une copie chiffrée stockée sur votre NAS (qui pourra ensuite effectuer une synchronisation avec un service en ligne) par exemple.

Notez que si vous êtes un adepte de la ligne de commande, vous pouvez utiliser l'application ainsi. Utile pour ceux qui veulent l'automatiser, ou limiter son fonctionnement à certaines heures de la journée par exemple. 

AES ou GPG pour le chiffrement

Un mot de passe est nécessaire, puisqu'il s'agit ici de chiffrement symétrique (voir notre dossier), comme souvent dans ce genre de cas. Par défaut, c'est l'algorithme AES de 7-Zip qui sera utilisé, mais il est aussi possible d'utiliser GPG, qui propose un fonctionnement symétrique via l'argument --symmetric.

Un choix de l'équipe qui vous permettra de déchiffrer vos messages depuis n'importe quel système via 7-Zip ou GPG, qui sont disponibles sur de multiples plateformes. Attention tout de même, dans le second cas il faut avoir conscience que les performances seront très basses, GPG n'étant pas accéléré matériellement ou optimisé multi-cœurs.

Quelques options complémentaires sont proposées pour améliorer les performances avec les systèmes de fichiers FAT, utiliser une extension .7z ou .cryptsync, établir une liste de fichiers à ne pas chiffrer ou à ne pas synchroniser. Vous pourrez aussi choisir de n'effectuer la synchronisation que dans un sens.

Le chiffrement des noms de fichiers est aussi proposé mais il faudra ici faire attention, car certains systèmes peuvent poser problème en imposant une limite à 255 caractères dans le chemin d'accès aux fichiers. Stefan Küng conseille ainsi de ne pas dépasser les 120 caractères pour le fichier d'origine, cette valeur étant doublée en cas de chiffrement.

Un outil gourmand : gare aux performances

Une fois l'élément créé vous aurez plusieurs possibilités : en ajouter d'autres (ou les modifier/supprimer), effectuer une synchronisation et quitter l'application ou la laisser tourner en tâche de fond. Cette dernière possibilité vous permettra d'assurer une synchronisation constante. Mais attention, cela peut rapidement nuire aux performances de votre machine.

Car le chiffrement et la synchronisation à l'ancienne sont peut-être simples et multiplateformes, mais ils sont gourmands et l'impact sur votre machine va principalement dépendre de l'efficacité de votre processeur. On regrettera ainsi de ne pas pouvoir limiter nativement le fonctionnement de l'outil à certaines heures ou à certains jours.

Pour voir ce qu'il en est nous avons effectué un test sur une machine équipée d'un Core i5-4250U et de 8 Go de DDR3. Nous avons chiffré 270 photos pour un total de 506 Mo avec la dernière version de CryptSync (1.2.7), Cryptomator (1.3.1) utilisé avec MountainDuck (1.9.9) et Boxcryptor (2.17.635). Afin de reproduire un usage similaire, nous avons utilisé Synkron (1.6.2) pour assurer la synchronisation dans le cas de CryptSync et Cryptomator.

Les données chiffrées étaient stockées dans un répertoire placé sur le même SSD (Samsung 580 EVO mSATA de 500 Go) que le système. Le tout était testé sous Windows 10 dans sa version Creators Update (1703) :

CryptSync Benchmark results

Comme on peut le voir, la différence est flagrante entre les trois solutions. Ainsi, Boxcryptor montre un débit moyen de 36,14 Mo/s contre 14,06 Mo/s pour Cryptomator et 3,40 Mo/s pour CryptSync.

Et encore, les résultats de ce dernier empirent si l'on utilise GPG, comme l'on pouvait s'y attendre. Il nous a ainsi fallu pas moins de 27 minutes pour arriver à bout de notre répertoire. En tâche de fond, cela peut passer, mais il ne faut clairement pas être pressé ou faire cela sur un dossier accédé de manière régulière en pleine journée.

Un outil intéressant, mais qui ne sera pas toujours le meilleur choix

Bref, CryptSync est un outil plutôt pratique, simple et rapide à utiliser, qui a l'avantage de chiffrer du contenu via des outils qu'il est facile d'avoir sous la main sur différents systèmes. Mais il ne sera pas adapté à des cas où vous avez de nombreux fichiers à chiffrer de manière régulière, ou si vous vous attaquez à des morceaux de plusieurs Go. 

Pour des quantités de données raisonnable, ou si la rapidité n'est pas du tout votre besoin premier (en le faisant tourner la nuit par exemple), il peut très bien faire l'affaire. Il pourra ainsi s'avérer être une solution utile dans certaines situations, le tout en ayant l'avantage d'être gratuit, sans nécessiter l'utilisation de multiples outils ou interfaces.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

CryptSync : ça juste marche

AES ou GPG pour le chiffrement

Un outil gourmand : gare aux performances

Un outil intéressant, mais qui ne sera pas toujours le meilleur choix

Fermer

Commentaires (41)


c’est peut-être pas le même usage, mais mettre les photos dans un zip/rar/tar.gz et chiffrer le tout n’irait pas plus vite ? <img data-src=" />


Quid de l’utilisation du CPU pendant le chiffrement ?



Je me dit que même en tâche de fond, suivant l’utilisation du CPU ce n’est pas forcément une solution très rentable imho.




Suite à la publication de cet article, l’un de nos lecteurs nous a parlé de son utilisation de CryptSync, un petit outil qui se propose de combiner chiffrement et synchronisation.





Si c’est comme ca, je ne dirais plus rien. :-)





Un outil gourmand : gare aux performances (…) mais qui ne sera pas toujours le meilleur choix





C’est clair que c’est pas fait pour du mirroring temps-réel transparent. Perso l’outil est lancé par mon script quotidien de backup (= copie en locale + NAS + Cloud… oui je suis psychopathe), donc en dehors des heures d’utilisation du PC.



CryptSync.x64.exe /src %srcpath% /dst %dstpath% /pw %passwd% /encnames /mirror /use7z /syncall



D’un autre coté, ca m’a souvent sauvé de pouvoir aller récupérer juste un seul fichier sur le cloud et d’avoir simplement à le dézipper (par exemple, besoin d’un fichier perso quand on est sur le PC d’un ami).


ça change quoi du coup à part devoir tout décompresser pour accéder à une photo ?








jb18v a écrit :



c’est peut-être pas le même usage, mais mettre les photos dans un zip/rar/tar.gz et chiffrer le tout n’irait pas plus vite ? <img data-src=" />





Je ne pense pas, étant donné qu’une photo c’est déjà un fichier un peu gros (ici ~2 M), on n’a pas la question de chiffrer des myriades de fichiers de quelques octets qu’il faut tous ouvrir (ce qui a un coût en temps).







Guitouille a écrit :



Quid de l’utilisation du CPU pendant le chiffrement ?

Je me dit que même en tâche de fond, suivant l’utilisation du CPU ce n’est pas forcément une solution très rentable imho.





Si c’est en tâche de fond, par définition ça ne te prend pas de CPU utile quand tu t’en sers (ta ou tes tâches sont largement prioritaires).



ça tourne en général dans les 6070 % quelle que soit l’application, sauf GPG qui occupe moins de CPU. Après comme dit, ça couvre des usages/besoin précis, il y a juste le cas de GPG qu’il faut oublier direct vu les performances.&nbsp;









127.0.0.1 a écrit :



Si c’est comme ca, je ne dirais plus rien. :-)



C’est clair que c’est pas fait pour du mirroring temps-réel transparent. Perso l’outil est lancé par mon script quotidien de backup (= copie en locale + NAS + Cloud… oui je suis psychopathe), donc en dehors des heures d’utilisation du PC.



D’un autre coté, ca m’a souvent sauvé de pouvoir aller récupérer juste un seul fichier sur le cloud et d’avoir simplement à le dézipper (par exemple, besoin d’un fichier perso quand on est sur le PC d’un ami).







  1. Bah si, c’est toujours intéressant de découvrir de nouvelles solutions ;)

  2. Oui comme évoqué dans l’article je vois bien ça pour de la copie sur FTP (monté en lecteur par exemple) ou pour de la backup le soir ou à travers un NAS par exemple. Mais pour les cas plus courants de synchro ce n’est clairement pas le plus adapté.









David_L a écrit :



ça change quoi du coup à part devoir tout décompresser pour accéder à une photo ?





le fait que si tu ne verrouille pas une archive, il n’est pas nécessaire de tout décompresser même si tu crypte le contenu et les noms de fichiers….

de plus cela peut être relativement rapide si tu utilise un niveau de compression faible voire nul



Je n’ai jamais utilisé l’option “mirrorback”… ca me ferait mal que mes données locales soient effacées si des fichiers disparaissaient mystérieusement du cloud <img data-src=" />








nikon56 a écrit :



le fait que si tu ne verrouille pas une archive, il n’est pas nécessaire de tout décompresser même si tu crypte le contenu et les noms de fichiers…





Heu si, à partir du moment où tu regroupes les fichiers dans un “tar” ou un “zip”, si tu chiffres ensuite l’archive, il faut ensuite la déchiffrer puis la décompresser au moins jusqu’à tomber sur le fichier désiré, et selon la position du fichier ça peut être long. Même si tu le fais à la Unix, en “pipant” le flux déchiffré dans l’extracteur (comme tar), tu n’as pas besoin de tout déchiffrer mais ça prend du temps. Et avec un “zip”, la décompression n’est pas possible sans avoir tout le fichier il me semble.



Oui évidemment, mais en fait je n’ai pas été assez précis, je pensais surtout en terme de consommation de courant pour le côté rentable.


Bien pensé le coup d’utiliser des algos utilisables par d’autres softs.

Ca permet de retrouver ses fichiers sur d’autres systèmes. :)



Soft qui peut être pas mal pour stocker dans le cloud des fichiers bureautiques.&nbsp;


indeed <img data-src=" />.



C’était un de mes problèmes pour retrouver un fichier parmi mille quand les noms sont chiffrés.



Heureusement, comme c’est open-source, on peut trouver comment les noms étaient chiffrés (RC4 avec password hashé md5). Je m’étais même fait un petit utilitaire pour déchiffrer les noms.



Sinon, on peut retrouver la correspondance nom clair/chiffré dans le fichier log de l’outil, mais c’est un peu galère de maintenir à jour cette liste quand on fait des backups quotidiens ou seulement quelques fichiers changent.


Moi j’utilise Arq avec Amazon Cloud Drive sur mon macbook (sachant que ça tourne aussi sur windows). Il est vraiment très robuste et fait versionning en plus du chiffrement.


Je cherche la même chose sous nunux, pour pouvoir aussi dire “ça juste marche” <img data-src=" /> <img data-src=" />


Si je comprends bien c’est surtout de la backup plus que de l’accès temps réel sur un espace de stockage monté non ? Après le combo closed source + accès aux services tiers de stockage + accès au mot de passe… faut avoir confiance tout de même <img data-src=" />


très bon pour du backup, notamment vers hubic&nbsp;<img data-src=" />

faut juste titiller un peu l’install, mais après ça juste marche !

&nbsp;http://www.yvangodard.me/hubic-backup-duplicity-backend-pyrax/


rclone… fonctionne sur windows et linux (j’ai testé !).


Au passage y’a pas une GUI sympa pour Rclone ? :p


Don à la communauté…





String decryptFilename(String encFilename, String password) throws Exception {

byte[] input_bytes = new byte[encFilename.length()/2];

for (int i = 0; i &lt; encFilename.length(); i+=2)



 input\_bytes[i/2]=(byte) Integer.parseInt(encFilename.substring(i, i + 2), 16);   



byte[] pass_bytes = password.getBytes(“UTF-16LE”);

byte[] hash = MessageDigest.getInstance(“MD5”).digest(pass_bytes);

Cipher rc4 = Cipher.getInstance(“RC4”);

rc4.init(Cipher.DECRYPT_MODE, new SecretKeySpec(hash, “RC4”));

byte[] output_bytes = rc4.doFinal(input_bytes);

return new String(output_bytes,“UTF-8”);

}





(ca manque d’une balise PRE)


rclone config



ca affiche une jolie interface question/réponse en texte. <img data-src=" />


<img data-src=" />


Welcome to Zork



go north

hit troll

hit troll

go south

go south

go south


Merci pour cette news, j’aime bien que l’on présente des petits outils peu connus mais qui peuvent être utiles dans certains cas.


Non mais ça va j’ai trouvé un truc qui semble assez pratique, du coup je vais sans doute en parle aussi <img data-src=" />


&nbsp;TortoiseSVN&nbsp;: j’ai cru lire TorroristeSVN. Ouais dans le noir…



<img data-src=" />


Ah, ce petit truc va me servir.



Ma config, rien de super top : un dossier sur chaque PC, et Resilio Sync pour synchro tout ça.



Pas besoin d’avoir un truc dans le cloud, mais là du coup, ça peut le faire vers un dossier Dropbox en back up.



Si vous avez de meilleures idées.








David_L a écrit :



Non mais ça va j’ai trouvé un truc qui semble assez pratique, du coup je vais sans doute en parle aussi <img data-src=" />







au hasard… rclone browser ?




Très content de voir ce type d’article. Déjà les rédacteurs lisent et répondent aux commentaires. Et quand quelque chose est digne d’intérêt comme ici, le produit ou logiciel est testé (un test sérieux en plus !) et présenté à tous.

J’espère que cet esprit communauté puisse rester ainsi ! Vive NxI et merci à tous ceux qui commentent les news. J’ai découvert plein de choses ici et compte bien y rester.








linkin623 a écrit :



Ah, ce petit truc va me servir.



Ma config, rien de super top : un dossier sur chaque PC, et Resilio Sync pour synchro tout ça.



Pas besoin d’avoir un truc dans le cloud, mais là du coup, ça peut le faire vers un dossier Dropbox en back up.



Si vous avez de meilleures idées.





Pourquoi pas Cryptomator/BoxCryptor du coup ?

&nbsp;



127.0.0.1 a écrit :



au hasard… rclone browser ?





Yep. C’est pas parfait (surtout sous Windows), mais ça marche bien&nbsp;

&nbsp;



Flogik a écrit :



Très content de voir ce type d’article. Déjà les rédacteurs lisent et répondent aux commentaires. Et quand quelque chose est digne d’intérêt comme ici, le produit ou logiciel est testé (un test sérieux en plus !) et présenté à tous.

J’espère que cet esprit communauté puisse rester ainsi ! Vive NxI et merci à tous ceux qui commentent les news. J’ai découvert plein de choses ici et compte bien y rester.





<img data-src=" />









David_L a écrit :



Duplicity ?&nbsp;http://duplicity.nongnu.org/index.html



&nbsp;







127.0.0.1 a écrit :



rclone… fonctionne sur windows et linux (j’ai testé !).







&nbsp;J’ai utilisé Déja-dup, qui est l’interface graphique de Duplicity. Et je suis bloqué par des bugs qui existent depuis un bout de temps mais n’ont jamais été corrigés.



rclone c’est rsync ? Je l’utilise pour du backup sur mon NAS, mais c’est très très long à sauvegarder, même peu de fichiers. Jamais réussi à savoir si cela venait du programme ou du NAS, en tout cas je l’utilise rarement. Et puis il manque une GUI, je ne suis pas geek au point de tout faire en commande <img data-src=" />



<img data-src=" /><img data-src=" /> <img data-src=" />



C’est pour ça qu’on vous aime <img data-src=" /><img data-src=" />



(dis comme ça, j’ai l’impression que tu l’as rédigé pour moi <img data-src=" />)


J’avoue que le fait de pouvoir lire les document chiffrés avec WinRaR/7zip , et que j’ai un dossier “en clair” sur le PC, ça me botte.



Mais j’ai ptre manqué des choses sur Cryptomator/BoxCryptor non ?


Ah Ah disons que ça me semble toujours sympa de répondre aux problématiques concrètes qu’on nous remonte. M’enfin ça peut servir et Guén m’avait parlé d’Rclone il y a quelques temps ;)








David_L a écrit :



Si je comprends bien c’est surtout de la backup plus que de l’accès temps réel sur un espace de stockage monté non ? Après le combo closed source + accès aux services tiers de stockage + accès au mot de passe… faut avoir confiance tout de même <img data-src=" />





En effet, c’est plus pour de la sauvegarde de donnée (j’utilisais timemachine de MacOS avant).

Après même si c’est closed source, faut qu’en même remettre dans le contexte: c’est un développeur unique (pas une multinationale) qui bosse sur son software depuis 8 ans (robustesse). En plus, le format de compression est ouvert et documenté pour pouvoir restaurer ses données sans leur software. Il mette à dispo un outil en ligne de commande open-source, et la communauté en a développé un autre.



Après, tout ce que je mets (ou mettrais) de critique sur mon Amazon Cloud Drive sera crypté (avec un autre outil si je veux faire autre chose que de la backup), donc ça ne pose pas problème qu’il est accès au cloud drive.



Je préfère la partition Teracrypt montée avec Keepass (voir un de vos précédents article), synchronisation avec un script .bat se basant sur cwrync.


Le problème c’est d’avoir un Cloud Storage qui permet le transfert “par morceaux” de “très gros” fichiers.


J’utilise Syncthing plutôt que Resilio Sync, c’est open-source.








127.0.0.1 a écrit :



Le problème c’est d’avoir un Cloud Storage qui permet le transfert “par morceaux” de “très gros” fichiers.





Pas de cloud pour moi, question de sécurité, quand bien même c’est crypté. J’utilise des disques durs externes, dont un disque déposé chez mes parents, par sécurité.&nbsp;



<img data-src=" /> Mais jamais pu le configurer pour mon Android.



Entre PC ça tourne nickel, mais sur Android pas moyen de faire avec <img data-src=" />