EncFS : le chiffrement de fichiers sans partition dédiée
Chiffrer ses données sur Linux a toujours signifié LUKS, dm-crypt, une partition dédiée, une réinstallation. EncFS casse ce schéma: c’est un filesystem FUSE qui chiffre fichier par fichier, dans un répertoire normal, sans partition dédiée, sans réinstaller et sans droit root après le premier montage.
Le principe
EncFS crée deux répertoires: le cipher (les fichiers chiffrés, avec des noms chiffrés aussi) et le plain (le point de montage, où les fichiers apparaissent en clair). Tout ce que vous écrivez dans le plain est chiffré à la volée et stocké dans le cipher. Tout ce que vous lisez dans le plain est déchiffré à la volée depuis le cipher. Démontez le plain et il ne reste que le cipher: des noms illisibles, du contenu chiffré.
L’installation
apt-get install encfs
FUSE est un prérequis (encfs est un client FUSE, il tourne en userspace, pas dans le kernel). C’est pour ça que ça marche sans root: le montage est un mount FUSE, pas un mount kernel.
La création
encfs ~/.cipher ~/.plain
# Répondre aux questions (paranoid mode = AES-256, taille de bloc 1024)
# Entrer une passphrase
Le mode parano est le plus sécurisé: AES-256, IV dérivé du nom de fichier (les deux fichiers avec le même contenu ne produisent pas le même chiffrement), taille de bloc réduite pour éviter les fuites par taille de fichier.
Le montage
encfs ~/.cipher ~/.plain
# Entrer la passphrase
# Les fichiers apparaissent dans ~/.plain en clair
Et pour démonter:
fusermount -u ~/.plain
Le contenu de ~/.cipher reste chiffré. Un ls ~/.cipher montre des noms illisibles du type Xk3jHf9sL2m,4NpQ.
Ce que ça sert
Trois cas que j’ai rencontrés cette année:
- La clé USB chiffrée: le portknocking
lit les fonctions kssh/kscp depuis une clé USB montée en encfs (le
smountdans le .bashrc). La clé contient les fonctions, la passphrase n’est demandée qu’au montage et si la clé est perdue, la combinaison de ports n’est pas compromise. - Les données d’un serveur partagé: un répertoire chiffré dans un home partagé, sans demander à l’admin de créer une partition LUKS.
- Le backup chiffré: un rsync vers un répertoire encfs et le backup distant ne contient que du chiffré.
Ce que ça ne fait pas
EncFS ne chiffre pas le swap, ne chiffre pas les fichiers temporaires de vos applications (tmp/) et ne protège pas contre un keylogger pendant que le plain est monté. C’est du chiffrement au repos, pas du chiffrement en cours d’utilisation.
EncFS est aussi vulnérable à l’analyse de métadonnées: le nombre de fichiers, leur taille, les timestamps du cipher, tout ça est visible sans la passphrase. Le mode parano réduit la fuite (blocs de taille fixe), mais le nombre de fichiers reste visible.
[edit: 2026] EncFS a été audité par Taylor Hornby (Defuse Security) en 2014 et des vulnérabilités ont été identifiées. Le projet est en mode maintenance et les alternatives modernes sont gocryptfs (Go, plus rapide, audit sûr) et fscrypt (kernel natif). Le principe du chiffrement sans partition reste valable, mais EncFS a été remplacé dans la pratique.