• Introduction

EncFS permet de chiffrer très simplement des données.
En gros, 2 répertoires sont utilisés:

Le répertoire dans lequel sont stoquées les données chiffrées.

Le répertoire dans lequel on monte les données en clair pour y accéder.

  • Installation
sudo apt-get install encfs fuse-utils

Charger tout de suite le module fuse avec:

sudo modprobe fuse

Activer le chargement au démarrage en ajoutant fuse dans le fichier /etc/modules

Ajouter l’utilisateur au groupe fuse avec sudo adduser <NomUser> fuse

Puis réouvrir une session avec su - <user>

Vérification par la commande groups

  • Initialisation
encfs /home/yannick/.crypt/ /home/yannick/crypt/

Cette commande permet la 1ère fois qu’elle est lancée de tout paramétrer pour stoquer les données chiffrées dans le répertoire .crypt/ et de monter les données en clair dans le répertoire crypt/ …Tout ceci avec le mot de passe demandé, et avec l’algo choisi:
A noter qu’il est nécessaire d’indiquer des chemins complets !

$ encfs /home/yannick/.crypt/ /home/yannick/crypt  
The directory "/home/yannick/.crypt/" does not exist. Should it be created? (y,n) y  
The directory "/home/yannick/crypt" does not exist. Should it be created? (y,n) y  
Création d'un nouveau volume chiffré.  
Veuillez choisir au moins une des options suivantes :  
entrez "x" pour le mode de configuration expert,  
entrez "p" pour un mode pré-configuré paranoïaque,  
n'importe quoi d'autre ou une ligne vide sélectionnera le mode standard.  
?> p  

Configuration paranoïaque sélectionnée.  

Configuration terminée. Le système de fichiers sur le  
point d'être créé a les caractéristiques suivantes :  
Chiffrement de système de fichiers "ssl/aes", version 2:1:1  
Encodage du nom de fichier : "nameio/block", version 3:0:1  
Taille de clé : 256 bits  
Taille de bloc : 512 octets, y compris 8 octets d'en-tête MAC  
Chaque fichier comprend un en-tête de 8 octets avec des données IV uniques.  
Nom de fichiers chiffrés en utilisant le mode de chaînage IV.  
L'IV des données du fichier est chaînée à l'IV du nom de fichier.  

Vous allez maintenant devoir entrer un mot de passe  
pour votre système de fichiers.  
Vous allez devoir absolument vous souvenir de ce mot de passe,  
comme il n'y a aucun mécanisme de secours.  
Cependant, le mot de passe pourra être changé plus tard  
en utilisant encfsctl.  

Nouveau mot de passe EncFS:   
Vérifiez le mot de passe EncFS:   
$
  • Utilisation

Pour ne plus pouvoir accéder au données en clair, il suffit de démonter le répertoire:

fusermount -u /home/yannick/crypt

Pour accéder au données en clair, il suffit de réutiliser la même commande qu’au début.
(Maintenant EncFS voit qu’une initialisation a déja été faite sur ces répertoires et ne redemande plus de choisir un nouveau mot de passe ou de choix d’algo)
(Il demande simplement le mot de passe choisi à l’étape précédente).

encfs /home/yannick/.crypt/ /home/yannick/crypt/

Toute donnée copiée (en clair donc) dans le répertoire crypt/ sera automatiquement stoquée chiffrée dans .crypt/

  • Exemple
$ echo tutu > crypt/toto  
$ ll crypt  
total 20K  
drwx------ 2 yannick yannick 4,0K 2006-05-15 17:39 .  
drwxr-xr-x 154 yannick yannick 8,0K 2006-05-15 17:02 ..  
-rw-r--r-- 1 yannick yannick 5 2006-05-15 17:39 toto  
$   
$ ll .crypt/  
total 24K  
drwx------ 2 yannick yannick 4,0K 2006-05-15 17:39 .  
drwxr-xr-x 154 yannick yannick 8,0K 2006-05-15 17:02 ..  
-rw-r----- 1 yannick yannick 239 2006-05-15 17:01 .encfs5  
-rw-r--r-- 1 yannick yannick 21 2006-05-15 17:39 kFt9KLjUCdpWHJfyabKjfD0k  

$ cat .crypt/kFt9KLjUCdpWHJfyabKjfD0k  
i¥Æ1ýúð  
ã?DmDNò7ó$   
$   
$ fusermount -u crypt  
$ ll crypt  
total 16K  
drwx------ 2 yannick yannick 4,0K 2006-05-15 17:00 .  
drwxr-xr-x 154 yannick yannick 8,0K 2006-05-15 17:02 ..  
$
  • Conclusion/Divers

Il existe beaucoup d’autres méthodes pour chiffrer les données sous GNU/Linux, mais celle ci a, je trouve, le plus d’avantages.

Cette méthode ne nécessite pas par exemple, de créer un fichier d’une taille définie dédiée à l’espace chiffré…par contre on peut voir le nombre de fichiers chiffrés , leur taille, leurs droits … ceci étant un avantage lors de l’utilisation de backups incrémentaux par exemple…

Les performances semblent correctes (contrairement à d’autres solutions)..
J’ai fait un test de lecture de divx par exemple… je n’ai noté aucun ralentissement…

Dans le cas ou le module fuse n’est pas trouvé au moment du chargement, il se peut qu’il faille modifier le noyau (cas de ma sarge en 2.4).
Dans ce cas faire un:

sudo apt-get install module-assistant
sudo module-assistant

Puis prepare, select, fuse, build, puis enter au moment du The source package may not be installed... , puis exit

Et la le modprobe fuse devrait être ok…

Ne pas hésiter à utiliser des alias pour simplifier le montage et le démontage…

Pour pouvoir accéder au données en clair, est nécessaire en plus du mot de passe de bien avoir le fichier .encfs5 à la racine du répertoire chiffré…

Cette autre page est interressante à lire en plus du man

Bref… une installation en 3/4 commandes, une utilisation en 2 commandes… çà serait vraiment dommage de ne pas en profiter surtout sur un PC portable où les données sont particulièrement exposées…

PS: Suite à un commentaire, il est a noter que les liens (hard) ne peuvent pas etre copiés dans le répertoire chiffré en mode “paranoiaque”.

EDIT: Ajout de ce billet sur le Wiki d’Ubuntu-fr