Dossiers cryfs invisibles

Tags: #<Tag:0x00007f58d554abe8>

Bonjour,
Suite à un changement de disque et une réinstallation de debian j’ai tenu copte de l’avertissement à propos de la faille de sécurité dans encfs.
J’ai donc crypté mes dossiers avec cryfs.
Problème lorsque je cherche à les ouvrir la fenêtre est désespéramment vide.
Pourtant les dossiers cryptés apparaissent bien dans un navigateur et lorsque je regarde les propriétés il y a bien des données enregistrées.
Quel est le problème ?
Ou est-ce que je n’ai pas bien compris le fonctionnement de cryfs pour visualiser les dossiers ?
Merci de votre aide.

Bonjour,

C’est un dossier chiffré, pas crypté.
Quelle commande lances-tu pour ouvrir le dossier chiffré ? As-tu un retour d’erreur ?
Que donne la commande si tu utilises l’option -f ?
As-tu des messages dans les journaux ?
Es-tu bien sur la version 11 (bullseye) de Debian ?

Je viens de créer un dossier chiffré avec cryfs et il y a des données chiffrées quand le dossier est vide, est-ce que les données que tu vois ne sont pas celle du dossier vide, par hasard ?
Si tu mets un fichier dans le dossier, démonte le dossier, puis le remonte, le fichier est toujours là ?

Je n’utilise pas la ligne de commande mais sirikali (j’ai essayé de voir avec zulumount s’il y avait une amélioration sans résultat).
Oui j’utilise la version debian 11. Mais les fichiers ont été créés avec testing. (Pourquoi testing 2 raisons : achat d’un très bel appareil photo dont les cartes mémoires et le boitier n’étaient pas reconnus à l’époque par stable, nécessité d’avoir la dernière version de minetest, pour permettre à un jeune de jouer avec ses copains « qui ont un ordinateur normal ». Pourquoi retour à stable : le bel appareil photo a aussi une belle imprimante photo A3+ (canon pixma ip8750) et seul le driver canon, bien qu’âgé, permet d’exploiter toute la surface d’impression.

En même temps les demandes d’amltech m’interrogent sur mon choix d’utiliser cryfs.
Initialement je le faisais avec encfs. A l’occasion de la réinstallation de debian je me suis dit qu’il fallait tenir compte du message d’avertissement sur la faille de sécurité et changer de moyen. Cryfs, m’a paru plus facile que d’autres solutions testées.
Mais est-ce la bonne solution puisqu’il ne s’agit de chiffrer que des dossiers en local sur un disque dur, afin d’éviter d’accéder aux données en cas de vol de l’ordi ?

Toujours penser à essayer d’abord les BACKPORTS avant de passer en testing pour ce type de raison. Tu bénéficie ainsi d’une version stable de Debian, avec des paquets plus avancés.

dans ce cas autant utiliser directement une Debian installée sur un disque chiffré complètement. A moins que tu n’aies des critères de performances disque (bien qu’avec le matériel actuel ce soit parfois discutable).

Je ne comprends pas pourquoi tout le monde galère avec mon pseudo, c’est @Almtesh, tout simplement.

Après, tout dépend de l’utilisation que tu as de ton ordinateur et du niveau de sécurité dont tu as besoin.

Mais, sinon, tu n’as pas répondu, est-ce que tu as mis du contenu que tu ne retrouves pas ?

Concernant le niveau de sécurité, je ne suis pas habilité défense, un simple chiffrage du dossier suffit.
Concernant les données

  • quand j’ouvre le dossier chiffré je vois les sous-dossiers (chiffrés).
  • si je regarde les propriétés du dossier, son poids en Go (28,6) montre qu’il y a de la matière dedans.
  • si j’ouvre le dossier chiffré avec sirikali, ce dernier accepte l’opération et ouvre une fenêtre dans la quelle rien ne s’affiche. C’est là que devraient apparaître mes fichiers . Et rien. Désespéramment Rien.

À tout hasard, je viens de tester de mon côté et la fenêtre ne s’ouvre pas, mais si je vais dans le chemin du montage, je vois bien mes fichiers.
Est-ce que la racine du dossier chiffré est bien constitué d’un paquet conséquent de dossiers avec un nom à trois chiffres hexadécimaux, eux-mêmes composés de plein de fichiers avec un nom à vingt-neuf chiffres hexadécimaux, et un fichier cryfs.config à la racine ?
Si oui, crée un dossier vide quelque part, et lance la commande suivante et donne-nous-en le retour :

cryfs -f <src> <dest>

src est le dossier chiffré et dest est le dossier vide que tu viens de créer.

Oui mon dossier chiffré est bien constitué de dossiers hexadécimaux (000,00A,0A0,0A1,) qui ont chacun un certain poids (environ 7MO).
Il y a également un fichier cryfs.config (qui n’est pas vide mais illisible).

Si je fais ta commande et qu’ensuite j’ouvre le nouveau dossier chiffré il n’y a qu’un dossier hexadecimal qui ne pèse que 16ko (à comparer avec le 28 GO de l’original) et qui a aussi un fichier cryfs.config

pardon
voici ce que sort la commande demandée

Deriving encryption key (this can take some time)...done
[2022-05-11 14:48:05.033] [Log] [error] Assertion [found != CryCiphers::SUPPORTED_CIPHERS.end()] failed in /build/cryfs-GZXYyp/cryfs-0.10.2/src/cryfs/config/CryCipher.cpp:91: Unknown Cipher: xchacha20-poly1305

 0# cpputils::backtrace[abi:cxx11]() in cryfs
 1# cpputils::_assert::format(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) in cryfs
 2# cpputils::_assert::assert_fail_release(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) in cryfs
 3# cryfs::CryCiphers::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in cryfs
 4# cryfs::CryConfigEncryptor::_innerEncryptor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const in cryfs
 5# cryfs::CryConfigEncryptor::decrypt(cpputils::Data const&) const in cryfs
 6# cryfs::CryConfigFile::load(boost::filesystem::path, cryfs::CryKeyProvider*) in cryfs
 7# cryfs::CryConfigLoader::_loadConfig(boost::filesystem::path, bool, bool) in cryfs
 8# cryfs::CryConfigLoader::loadOrCreate(boost::filesystem::path, bool, bool) in cryfs
 9# cryfs_cli::Cli::_loadOrCreateConfigFile(boost::filesystem::path, cryfs::LocalStateDir, boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::optional<unsigned int> const&, bool, boost::optional<bool> const&, bool) in cryfs
10# cryfs_cli::Cli::_loadOrCreateConfig(cryfs_cli::program_options::ProgramOptions const&, cryfs::LocalStateDir const&) in cryfs
11# cryfs_cli::Cli::_runFilesystem(cryfs_cli::program_options::ProgramOptions const&, std::function<void ()>) in cryfs
12# cryfs_cli::Cli::main(int, char const**, cpputils::unique_ref<cpputils::HttpClient, std::default_delete<cpputils::HttpClient> >, std::function<void ()>) in cryfs
13# main in cryfs
14# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
15# _start in cryfs

[2022-05-11 14:48:05.033] [Log] [error] Crashed: Assertion [found != CryCiphers::SUPPORTED_CIPHERS.end()] failed in /build/cryfs-GZXYyp/cryfs-0.10.2/src/cryfs/config/CryCipher.cpp:91: Unknown Cipher: xchacha20-poly1305

 0# cpputils::backtrace[abi:cxx11]() in cryfs
 1# cpputils::_assert::format(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) in cryfs
 2# cpputils::_assert::assert_fail_release(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int) in cryfs
 3# cryfs::CryCiphers::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in cryfs
 4# cryfs::CryConfigEncryptor::_innerEncryptor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const in cryfs
 5# cryfs::CryConfigEncryptor::decrypt(cpputils::Data const&) const in cryfs
 6# cryfs::CryConfigFile::load(boost::filesystem::path, cryfs::CryKeyProvider*) in cryfs
 7# cryfs::CryConfigLoader::_loadConfig(boost::filesystem::path, bool, bool) in cryfs
 8# cryfs::CryConfigLoader::loadOrCreate(boost::filesystem::path, bool, bool) in cryfs
 9# cryfs_cli::Cli::_loadOrCreateConfigFile(boost::filesystem::path, cryfs::LocalStateDir, boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::optional<unsigned int> const&, bool, boost::optional<bool> const&, bool) in cryfs
10# cryfs_cli::Cli::_loadOrCreateConfig(cryfs_cli::program_options::ProgramOptions const&, cryfs::LocalStateDir const&) in cryfs
11# cryfs_cli::Cli::_runFilesystem(cryfs_cli::program_options::ProgramOptions const&, std::function<void ()>) in cryfs
12# cryfs_cli::Cli::main(int, char const**, cpputils::unique_ref<cpputils::HttpClient, std::default_delete<cpputils::HttpClient> >, std::function<void ()>) in cryfs
13# main in cryfs
14# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
15# _start in cryfs

Ah oui, tiens, c’est quoi cet algorithme de chiffrement ?

┌ (almtesh@Thorn + 10) (11/05/22 - 15:18:23) (1.13 - 0%) (~)
└% cryfs --show-ciphers
CryFS Version 0.10.2

aes-256-gcm
aes-256-cfb
aes-128-gcm
aes-128-cfb
twofish-256-gcm
twofish-256-cfb
twofish-128-gcm
twofish-128-cfb
serpent-256-gcm
serpent-256-cfb
serpent-128-gcm
serpent-128-cfb
cast-256-gcm
cast-256-cfb
mars-448-gcm
mars-448-cfb
mars-256-gcm
mars-256-cfb
mars-128-gcm
mars-128-cfb
┌ (almtesh@Thorn + 0) (11/05/22 - 15:18:37) (1.03 - 0%) (~)
└%

Peut-être que la version de cryfs que tu as ne gère pas cet algorithme, comme celle que j’ai.

En fait au changement de DD j’étais en testing et j’ai rétrogradé en stable. La version de cryfs qui a chiffré est 0.11.2-4, celle de sirikali 1.4.8-2, alors que celle qui me sert actuellement à lire est 0.10.2- et 1.4.8-1.
Serait-ce l’explication ? j’ai un ordi qui est resté en testing je transfert les fichiers et je regarde.

C’est l’explication. En utilisant la version cryfs 0.11.2-4 (debian testing) je vois à nouveau les fichiers de mon dossier chiffré.
Ouf (sinon j’avais perdu toutes mes archives)
merci

question subsidiaire
pour retrouver mes archives le plus rapide serait
étape 1 pouvoir upgrader cryfs de la version stable à la version testing
étape 2 ouvrir le dossier chiffré et copier le contenu dans un dossier en clair
étape 3 retrograder cryfs dans la version stable
étape 4 rechiffrer le dossier avec cryfs stable
D’ou ma question : avec debian comment passer un logiciel de la version stable à la version testing ici passer de cryfs 0.10.2 à 0.11.2-4 (il faudra faire aussi sirikali, donc problème de dépendances) ou alors travailler en ligne de commande (y-a-t-il un tutoriel en français et simple ?).
merci